@liveblocks/node
Version:
A server-side utility that lets you set up a Liveblocks authentication endpoint. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.
1 lines • 166 kB
Source Map (JSON)
{"version":3,"sources":["/home/runner/work/liveblocks/liveblocks/packages/liveblocks-node/dist/index.cjs","../src/index.ts","../src/version.ts","../src/client.ts","../src/lib/itertools.ts","../src/lib/ndjson.ts","../src/lib/xwarn.ts","../src/Session.ts","../src/utils.ts","../src/webhooks.ts"],"names":["url","LiveObject"],"mappings":"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","file":"/home/runner/work/liveblocks/liveblocks/packages/liveblocks-node/dist/index.cjs","sourcesContent":[null,"import { detectDupes } from \"@liveblocks/core\";\n\nimport { PKG_FORMAT, PKG_NAME, PKG_VERSION } from \"./version\";\n\ndetectDupes(PKG_NAME, PKG_VERSION, PKG_FORMAT);\n\nexport type {\n AiCopilot,\n CreateAiCopilotOptions,\n CreateFileKnowledgeSourceOptions,\n CreateRoomOptions,\n CreateWebKnowledgeSourceOptions,\n GetAiCopilotsOptions,\n GetInboxNotificationsOptions,\n GetKnowledgeSourcesOptions,\n GetRoomsOptions,\n GetWebKnowledgeSourceLinksOptions,\n InboxNotificationsQueryCriteria,\n KnowledgeSource,\n LiveblocksOptions,\n MassMutateStorageCallback,\n MassMutateStorageOptions,\n MutateStorageCallback,\n MutateStorageOptions,\n Page,\n PaginationOptions,\n RoomAccesses,\n RoomData,\n RoomPermission,\n RoomsQueryCriteria,\n RoomUser,\n SetPresenceOptions,\n ThreadParticipants,\n UpdateAiCopilotOptions,\n UpdateRoomOptions,\n UpsertRoomOptions,\n WebKnowledgeSourceLink,\n} from \"./client\";\nexport { Liveblocks, LiveblocksError } from \"./client\";\nexport type {\n CommentCreatedEvent,\n CommentDeletedEvent,\n CommentEditedEvent,\n CommentReactionAdded,\n CommentReactionRemoved,\n CustomNotificationEvent,\n NotificationEvent,\n RoomCreatedEvent,\n RoomDeletedEvent,\n StorageUpdatedEvent,\n TextMentionNotificationEvent,\n ThreadCreatedEvent,\n ThreadDeletedEvent,\n ThreadMarkedAsResolvedEvent,\n ThreadMarkedAsUnresolvedEvent,\n ThreadMetadataUpdatedEvent,\n ThreadNotificationEvent,\n UserEnteredEvent,\n UserLeftEvent,\n WebhookEvent,\n WebhookRequest,\n YDocUpdatedEvent,\n} from \"./webhooks\";\nexport {\n isCustomNotificationEvent,\n isTextMentionNotificationEvent,\n isThreadNotificationEvent,\n WebhookHandler,\n} from \"./webhooks\";\nexport type {\n CommentBody,\n CommentBodyBlockElement,\n CommentBodyElement,\n CommentBodyInlineElement,\n CommentBodyLink,\n CommentBodyLinkElementArgs,\n CommentBodyMention,\n CommentBodyMentionElementArgs,\n CommentBodyParagraph,\n CommentBodyParagraphElementArgs,\n CommentBodyText,\n CommentBodyTextElementArgs,\n CommentData,\n CommentUserReaction,\n IUserInfo,\n Json,\n JsonArray,\n JsonObject,\n JsonScalar,\n LiveStructure,\n Lson,\n LsonObject,\n PlainLsonObject,\n ResolveUsersArgs,\n StringifyCommentBodyElements,\n StringifyCommentBodyOptions,\n ThreadData,\n User,\n} from \"@liveblocks/core\";\nexport {\n getMentionsFromCommentBody,\n isNotificationChannelEnabled,\n LiveList,\n LiveMap,\n LiveObject,\n stringifyCommentBody,\n} from \"@liveblocks/core\";\n","declare const __VERSION__: string;\ndeclare const TSUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/node\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof TSUP_FORMAT === \"string\" && TSUP_FORMAT;\n","/**\n * NOTE: only types should be imported from @liveblocks/core.\n * This is because this package is made to be used in Node.js, and\n * @liveblocks/core has browser-specific code.\n */\nimport type {\n Awaitable,\n BaseMetadata,\n BaseUserMeta,\n ClientMsg,\n ClientWireOp,\n CommentBody,\n CommentData,\n CommentDataPlain,\n CommentUserReaction,\n CommentUserReactionPlain,\n DAD,\n DCM,\n DE,\n DS,\n DTM,\n DU,\n GroupData,\n GroupDataPlain,\n GroupScopes,\n InboxNotificationData,\n InboxNotificationDataPlain,\n Json,\n JsonObject,\n KDAD,\n LsonObject,\n NotificationSettings,\n NotificationSettingsPlain,\n Op,\n OptionalTupleUnless,\n PartialNotificationSettings,\n PartialUnless,\n Patchable,\n PlainLsonObject,\n QueryMetadata,\n QueryParams,\n RoomSubscriptionSettings,\n StorageNode,\n StorageUpdate,\n SubscriptionData,\n SubscriptionDataPlain,\n ThreadData,\n ThreadDataPlain,\n ToImmutable,\n URLSafeString,\n UserRoomSubscriptionSettings,\n UserSubscriptionData,\n UserSubscriptionDataPlain,\n} from \"@liveblocks/core\";\nimport {\n checkBounds,\n ClientMsgCode,\n convertToCommentData,\n convertToCommentUserReaction,\n convertToGroupData,\n convertToInboxNotificationData,\n convertToSubscriptionData,\n convertToThreadData,\n convertToUserSubscriptionData,\n createManagedPool,\n createNotificationSettings,\n isPlainObject,\n LiveObject,\n makeAbortController,\n objectToQuery,\n tryParseJson,\n url,\n urljoin,\n} from \"@liveblocks/core\";\n\nimport { asyncConsume, runConcurrently } from \"./lib/itertools\";\nimport { LineStream, NdJsonStream } from \"./lib/ndjson\";\nimport { xwarn } from \"./lib/xwarn\";\nimport { Session } from \"./Session\";\nimport {\n assertNonEmpty,\n assertSecretKey,\n fetchPolyfill,\n getBaseUrl,\n normalizeStatusCode,\n} from \"./utils\";\n\n// Recursively convert ReadonlyMap<K, V> to { [key: K]: V }\ntype SerializeMaps<T> =\n T extends ReadonlyMap<infer K, infer V>\n ? K extends string\n ? { readonly [P in K]: SerializeMaps<V> }\n : { readonly [key: string]: SerializeMaps<V> }\n : T extends object\n ? { readonly [P in keyof T]: SerializeMaps<T[P]> }\n : T;\n\ntype ToSimplifiedJson<S extends LsonObject> = LsonObject extends S\n ? JsonObject\n : // ToImmutable converts LiveMap instances to ReadonlyMap versions, but\n // the \"simplified JSON\" format actually requires (because of serialization)\n // and converts the maps to plain objects.\n SerializeMaps<ToImmutable<S>>;\n\nexport type LiveblocksOptions = {\n /**\n * The Liveblocks secret key. Must start with \"sk_\".\n * Get it from https://liveblocks.io/dashboard/apikeys\n */\n secret: string;\n\n /** Point the client to an alternative Liveblocks server. */\n baseUrl?: string;\n};\n\ntype DateToString<T> = {\n [P in keyof T]: Date extends T[P] ? string : T[P];\n};\n\nexport type CreateSessionOptions<U extends BaseUserMeta = DU> =\n //\n PartialUnless<U[\"info\"], { userInfo: U[\"info\"] }> & {\n /**\n * @deprecated Use `organizationId` instead.\n */\n tenantId?: string;\n organizationId?: string;\n };\n\nexport type IdentifyUserOptions<U extends BaseUserMeta = DU> =\n //\n PartialUnless<U[\"info\"], { userInfo: U[\"info\"] }>;\n\nexport type AuthResponse = {\n status: number;\n body: string;\n error?: Error;\n};\n\ntype Identity = {\n userId: string;\n groupIds: string[];\n /**\n * @deprecated Use `organizationId` instead.\n */\n tenantId?: string;\n organizationId?: string;\n};\n\nexport type ThreadParticipants = {\n participantIds: string[];\n};\n\nexport type CreateThreadOptions<\n TM extends BaseMetadata,\n CM extends BaseMetadata,\n> = {\n roomId: string;\n data: {\n comment: {\n userId: string;\n createdAt?: Date;\n body: CommentBody;\n } & PartialUnless<CM, { metadata: CM }>; // Comment metadata (data.comment.metadata)\n } & PartialUnless<TM, { metadata: TM }>; // Thread metadata (data.metadata)\n};\n\nexport type CreateCommentOptions<CM extends BaseMetadata> = {\n roomId: string;\n threadId: string;\n data: {\n userId: string;\n createdAt?: Date;\n body: CommentBody;\n } & PartialUnless<CM, { metadata: CM }>;\n};\n\nexport type RoomPermission =\n | []\n | [\"room:write\"]\n | [\"room:read\", \"room:presence:write\"]\n | [\"room:read\", \"room:presence:write\", \"comments:write\"];\nexport type RoomAccesses = Record<\n string,\n | [\"room:write\"]\n | [\"room:read\", \"room:presence:write\"]\n | [\"room:read\", \"room:presence:write\", \"comments:write\"]\n>;\nexport type RoomMetadata = Record<string, string | string[]>;\ntype QueryRoomMetadata = Record<string, string>;\n\nexport type RoomData = {\n type: \"room\";\n id: string;\n createdAt: Date;\n lastConnectionAt?: Date;\n organizationId: string;\n defaultAccesses: RoomPermission;\n usersAccesses: RoomAccesses;\n groupsAccesses: RoomAccesses;\n metadata: RoomMetadata;\n};\n\ntype RoomDataPlain = DateToString<RoomData>;\n\ntype AiCopilotProviderSettings = {\n maxTokens?: number;\n temperature?: number;\n topP?: number;\n topK?: number;\n frequencyPenalty?: number;\n presencePenalty?: number;\n stopSequences?: string[];\n seed?: number;\n maxRetries?: number;\n};\n\ntype OpenAiModel =\n | \"o1\"\n | \"o1-mini\"\n | \"o3\"\n | \"o3-mini\"\n | \"o4-mini\"\n | \"gpt-4.1\"\n | \"gpt-4.1-mini\"\n | \"gpt-4.1-nano\"\n | \"gpt-4o\"\n | \"gpt-4o-mini\"\n | \"gpt-4-turbo\"\n | \"gpt-4\"\n | \"gpt-5\"\n | \"gpt-5-mini\"\n | \"gpt-5-nano\"\n | \"gpt-5-chat-latest\"\n | \"gpt-5.1\"\n | \"gpt-5.1-mini\"\n | \"gpt-5.1-chat-latest\";\n\ntype OpenAiProviderOptions = {\n openai: {\n reasoningEffort?: \"low\" | \"medium\" | \"high\";\n webSearch?: {\n allowedDomains?: string[];\n };\n };\n};\n\ntype AnthropicModel =\n | \"claude-sonnet-4-5-20250929\"\n | \"claude-haiku-4-5-20251001\"\n | \"claude-opus-4-1-20250805\"\n | \"claude-4-opus-20250514\"\n | \"claude-4-sonnet-20250514\"\n | \"claude-3-7-sonnet-20250219\"\n | \"claude-3-5-sonnet-latest\"\n | \"claude-3-5-haiku-latest\"\n | \"claude-3-opus-latest\";\ntype AnthropicProviderOptions = {\n anthropic: {\n thinking?:\n | {\n type: \"enabled\";\n budgetTokens: number;\n }\n | {\n type: \"disabled\";\n };\n webSearch?: {\n allowedDomains?: string[];\n };\n };\n};\n\ntype GoogleModel =\n | \"gemini-2.5-flash\"\n | \"gemini-2.5-pro\"\n | \"gemini-2.0-flash-001\"\n | \"gemini-1.5-flash\"\n | \"gemini-1.5-pro\";\ntype GoogleProviderOptions = {\n google: {\n thinkingConfig?: {\n thinkingBudget?: number;\n };\n };\n};\n\nexport type AiCopilot = {\n type: \"copilot\";\n id: string;\n name: string;\n description?: string;\n\n systemPrompt: string;\n knowledgePrompt?: string;\n alwaysUseKnowledge: boolean;\n\n createdAt: Date;\n updatedAt: Date;\n lastUsedAt?: Date;\n\n settings?: AiCopilotProviderSettings;\n} & (\n | {\n provider: \"openai\";\n providerModel: OpenAiModel;\n providerOptions?: OpenAiProviderOptions;\n }\n | {\n provider: \"anthropic\";\n providerModel: AnthropicModel;\n providerOptions?: AnthropicProviderOptions;\n }\n | {\n provider: \"google\";\n providerModel: GoogleModel;\n providerOptions?: GoogleProviderOptions;\n }\n | {\n provider: \"openai-compatible\";\n providerModel: string;\n compatibleProviderName: string;\n providerBaseUrl: string;\n }\n);\n\ntype AiCopilotPlain = DateToString<AiCopilot>;\nexport type RoomUser<U extends BaseUserMeta = DU> = {\n type: \"user\";\n id: string | null;\n connectionId: number;\n info: U[\"info\"];\n};\n\ntype RequestStorageMutationResponse = {\n actor: number;\n nodes: StorageNode[];\n};\n\nexport type MutateStorageCallback = (context: {\n root: LiveObject<S>;\n}) => Awaitable<void>;\nexport type MutateStorageOptions = RequestOptions;\n\nexport type MassMutateStorageCallback = (context: {\n room: RoomData;\n root: LiveObject<S>;\n}) => Awaitable<void>;\n\n// prettier-ignore\nexport type MassMutateStorageOptions =\n & MutateStorageOptions\n & { concurrency?: number };\n\n// NOTE: We should _never_ rely on using the default types (DS, DU, DE, ...)\n// inside the Liveblocks implementation. We should only rely on the type\n// \"params\" (S, U, E, ...) instead, where the concrete type is bound to the\n// class. In this case, we're not doing that at the class level, but globally.\n// The idea is that we \"start small\" and could always add them in at the class\n// level later.\ntype E = DE;\ntype TM = DTM;\ntype CM = DCM;\ntype S = DS;\ntype U = DU;\n\nexport type RoomsQueryCriteria = {\n /**\n * @deprecated Use `organizationId` instead.\n */\n tenantId?: string;\n organizationId?: string;\n userId?: string;\n groupIds?: string[];\n /**\n * The query to filter rooms by. It is based on our query language.\n * @example\n * ```\n * {\n * query: 'metadata[\"status\"]:\"open\" AND roomId^\"liveblocks:\"'\n * }\n * ```\n * @example\n * ```\n * {\n * query: {\n * metadata: {\n * status: \"open\",\n * },\n * roomId: {\n * startsWith: \"liveblocks:\"\n * }\n * }\n * }\n * ```\n */\n query?:\n | string\n | {\n metadata?: QueryRoomMetadata;\n roomId?: {\n startsWith: string;\n };\n };\n};\n\nexport type InboxNotificationsQueryCriteria = {\n userId: string;\n /**\n * @deprecated Use `organizationId` instead.\n */\n tenantId?: string;\n organizationId?: string;\n /**\n * The query to filter inbox notifications by. It is based on our query language.\n *\n * @example\n * ```\n * {\n * query: \"unread:true\"\n * }\n * ```\n *\n * @example\n * ```\n * {\n * query: {\n * unread: true\n * }\n * }\n * ```\n *\n */\n query?: string | { unread: boolean };\n};\n\nexport type PaginationOptions = {\n limit?: number;\n startingAfter?: string;\n};\n\nexport type Page<T> = {\n nextCursor: string | null;\n data: T[];\n};\n\n// prettier-ignore\nexport type GetRoomsOptions =\n & RoomsQueryCriteria\n & PaginationOptions\n\n// prettier-ignore\nexport type GetInboxNotificationsOptions =\n & InboxNotificationsQueryCriteria\n & PaginationOptions;\n\nexport type CreateRoomOptions = {\n defaultAccesses: RoomPermission;\n groupsAccesses?: RoomAccesses;\n usersAccesses?: RoomAccesses;\n metadata?: RoomMetadata;\n /**\n * @deprecated Use `organizationId` instead.\n */\n tenantId?: string;\n organizationId?: string;\n\n /**\n * Preferred storage engine version to use when creating the room. Only takes\n * effect if the room doesn't exist yet. Version 2 can support larger\n * documents, is more performant, and will become the default in the future.\n */\n engine?: 1 | 2;\n};\n\nexport type UpdateRoomOptions = {\n defaultAccesses?: RoomPermission | null;\n groupsAccesses?: Record<\n string,\n [\"room:write\"] | [\"room:read\", \"room:presence:write\"] | null\n >;\n usersAccesses?: Record<\n string,\n [\"room:write\"] | [\"room:read\", \"room:presence:write\"] | null\n >;\n metadata?: Record<string, string | string[] | null>;\n};\n\nexport type UpsertRoomOptions = {\n update: UpdateRoomOptions;\n create?: CreateRoomOptions;\n};\n\nexport type GetAiCopilotsOptions = PaginationOptions;\n\nexport type CreateAiCopilotOptions = {\n name: string;\n description?: string;\n\n systemPrompt: string;\n knowledgePrompt?: string;\n alwaysUseKnowledge?: boolean;\n\n settings?: AiCopilotProviderSettings;\n\n providerApiKey: string;\n} & (\n | {\n provider: \"openai\";\n providerModel: OpenAiModel;\n\n providerOptions?: OpenAiProviderOptions;\n }\n | {\n provider: \"anthropic\";\n providerModel: AnthropicModel;\n providerOptions?: AnthropicProviderOptions;\n }\n | {\n provider: \"google\";\n providerModel: GoogleModel;\n providerOptions?: GoogleProviderOptions;\n }\n | {\n provider: \"openai-compatible\";\n providerModel: string;\n compatibleProviderName: string;\n providerBaseUrl: string;\n }\n);\n\nexport type UpdateAiCopilotOptions = {\n name?: string;\n description?: string | null;\n\n systemPrompt?: string;\n knowledgePrompt?: string | null;\n alwaysUseKnowledge?: boolean;\n\n settings?: AiCopilotProviderSettings | null;\n\n providerApiKey?: string;\n} & (\n | {\n provider?: \"openai\";\n /**\n * The provider model to use.\n */\n providerModel?: OpenAiModel;\n /**\n * The provider options to use. Replaces the entire existing provider options; no deep merge of the nested fields occurs.\n */\n providerOptions?: OpenAiProviderOptions | null;\n compatibleProviderName?: never;\n providerBaseUrl?: never;\n }\n | {\n provider?: \"anthropic\";\n /**\n * The provider model to use.\n */\n providerModel?: AnthropicModel;\n /**\n * The provider options to use. Replaces the entire existing provider options; no deep merge of the nested fields occurs..\n */\n providerOptions?: AnthropicProviderOptions | null;\n compatibleProviderName?: never;\n providerBaseUrl?: never;\n }\n | {\n provider?: \"google\";\n /**\n * The provider model to use.\n */\n providerModel?: GoogleModel;\n /**\n * The provider options to use. Replaces the entire existing provider options; no deep merge of the nested fields occurs.\n */\n providerOptions?: GoogleProviderOptions | null;\n compatibleProviderName?: never;\n providerBaseUrl?: never;\n }\n | {\n provider?: \"openai-compatible\";\n /**\n * The provider model to use.\n */\n providerModel?: string;\n compatibleProviderName?: string;\n providerBaseUrl?: string;\n providerOptions?: never;\n }\n);\nexport type CreateWebKnowledgeSourceOptions = {\n copilotId: string;\n url: string;\n type: \"individual_link\" | \"crawl\" | \"sitemap\";\n};\n\nexport type CreateFileKnowledgeSourceOptions = {\n copilotId: string;\n file: File;\n};\n\nexport type GetKnowledgeSourcesOptions = {\n copilotId: string;\n} & PaginationOptions;\n\nexport type GetWebKnowledgeSourceLinksOptions = {\n copilotId: string;\n knowledgeSourceId: string;\n} & PaginationOptions;\n\ntype KnowledgeSourcePlain = DateToString<KnowledgeSource>;\n\nexport type KnowledgeSource = (\n | {\n type: \"ai-knowledge-web-source\";\n link: {\n url: string;\n type: \"individual_link\" | \"crawl\" | \"sitemap\";\n };\n }\n | {\n type: \"ai-knowledge-file-source\";\n file: {\n name: string;\n mimeType: string;\n };\n }\n) & {\n id: string;\n createdAt: Date;\n updatedAt: Date;\n lastIndexedAt: Date;\n} & (\n | { status: \"ingesting\" | \"ready\" }\n | { status: \"error\"; errorMessage: string }\n );\n\ntype WebKnowledgeSourceLinkPlain = DateToString<WebKnowledgeSourceLink>;\n\nexport type WebKnowledgeSourceLink = {\n id: string;\n url: string;\n status: \"ingesting\" | \"ready\" | \"error\";\n createdAt: Date;\n lastIndexedAt: Date;\n};\n\nexport type RequestOptions = {\n signal?: AbortSignal;\n};\n\nexport type SetPresenceOptions = {\n userId: string;\n data: JsonObject;\n userInfo?: {\n name?: string;\n avatar?: string;\n color?: string;\n [key: string]: Json | undefined;\n };\n ttl?: number;\n};\n\n/**\n * Converts ISO-formatted date strings to Date instances on RoomDataPlain\n * values.\n */\nfunction inflateRoomData(room: RoomDataPlain): RoomData {\n const createdAt = new Date(room.createdAt);\n const lastConnectionAt = room.lastConnectionAt\n ? new Date(room.lastConnectionAt)\n : undefined;\n\n return {\n ...room,\n createdAt,\n lastConnectionAt,\n };\n}\n\nfunction inflateAiCopilot(copilot: AiCopilotPlain): AiCopilot {\n return {\n ...copilot,\n createdAt: new Date(copilot.createdAt),\n updatedAt: new Date(copilot.updatedAt),\n lastUsedAt: copilot.lastUsedAt ? new Date(copilot.lastUsedAt) : undefined,\n };\n}\n\nfunction inflateKnowledgeSource(source: KnowledgeSourcePlain): KnowledgeSource {\n return {\n ...source,\n createdAt: new Date(source.createdAt),\n updatedAt: new Date(source.updatedAt),\n lastIndexedAt: new Date(source.lastIndexedAt),\n };\n}\n\nfunction inflateWebKnowledgeSourceLink(\n link: WebKnowledgeSourceLinkPlain\n): WebKnowledgeSourceLink {\n return {\n ...link,\n createdAt: new Date(link.createdAt),\n lastIndexedAt: new Date(link.lastIndexedAt),\n };\n}\n\n/**\n * Interact with the Liveblocks API from your Node.js backend.\n */\nexport class Liveblocks {\n readonly #secret: string;\n readonly #baseUrl: URL;\n /** Only used as a hint to produce better error messages. */\n readonly #localDev: boolean;\n /**\n * Interact with the Liveblocks API from your Node.js backend.\n */\n constructor(options: LiveblocksOptions) {\n const options_ = options as Record<string, unknown>;\n const secret = options_.secret;\n assertSecretKey(secret, \"secret\");\n this.#secret = secret;\n this.#baseUrl = new URL(getBaseUrl(options.baseUrl));\n this.#localDev =\n !!options.baseUrl && /^https?:\\/\\/localhost[:/]/.test(options.baseUrl);\n }\n\n async #post(\n path: URLSafeString,\n json: Json,\n options?: RequestOptions\n ): Promise<Response> {\n const url = urljoin(this.#baseUrl, path);\n const headers = {\n Authorization: `Bearer ${this.#secret}`,\n \"Content-Type\": \"application/json\",\n };\n const fetch = await fetchPolyfill();\n const res = await fetch(url, {\n method: \"POST\",\n headers,\n body: JSON.stringify(json),\n signal: options?.signal,\n });\n xwarn(res, \"POST\", path);\n return res;\n }\n\n async #putBinary(\n path: URLSafeString,\n body: Uint8Array,\n params?: QueryParams,\n options?: RequestOptions\n ): Promise<Response> {\n const url = urljoin(this.#baseUrl, path, params);\n const headers = {\n Authorization: `Bearer ${this.#secret}`,\n \"Content-Type\": \"application/octet-stream\",\n };\n const fetch = await fetchPolyfill();\n const res = await fetch(url, {\n method: \"PUT\",\n headers,\n body: body as Uint8Array<ArrayBuffer>,\n signal: options?.signal,\n });\n xwarn(res, \"PUT\", path);\n return res;\n }\n\n async #delete(\n path: URLSafeString,\n params?: QueryParams,\n options?: RequestOptions\n ): Promise<Response> {\n const url = urljoin(this.#baseUrl, path, params);\n const headers = {\n Authorization: `Bearer ${this.#secret}`,\n };\n const fetch = await fetchPolyfill();\n const res = await fetch(url, {\n method: \"DELETE\",\n headers,\n signal: options?.signal,\n });\n xwarn(res, \"DELETE\", path);\n return res;\n }\n\n async #get(\n path: URLSafeString,\n params?: QueryParams,\n options?: RequestOptions\n ): Promise<Response> {\n const url = urljoin(this.#baseUrl, path, params);\n const headers = {\n Authorization: `Bearer ${this.#secret}`,\n };\n const fetch = await fetchPolyfill();\n const res = await fetch(url, {\n method: \"GET\",\n headers,\n signal: options?.signal,\n });\n xwarn(res, \"GET\", path);\n return res;\n }\n\n /* -------------------------------------------------------------------------------------------------\n * Authentication\n * -----------------------------------------------------------------------------------------------*/\n\n /**\n * Prepares a new session to authorize a user to access Liveblocks.\n *\n * IMPORTANT:\n * Always make sure that you trust the user making the request to your\n * backend before calling .prepareSession()!\n *\n * @param userId Tell Liveblocks the user ID of the user to authorize. Must\n * uniquely identify the user account in your system. The uniqueness of this\n * value will determine how many MAUs will be counted/billed.\n *\n * @param options.organizationId (optional) The organization ID to authorize the user for.\n *\n * @param options.userInfo Custom metadata to attach to this user. Data you\n * add here will be visible to all other clients in the room, through the\n * `other.info` property.\n *\n */\n prepareSession(\n userId: string,\n ...rest: OptionalTupleUnless<\n CreateSessionOptions<U>,\n [options: CreateSessionOptions<U>]\n >\n ): Session {\n const options = rest[0];\n return new Session(\n this.#post.bind(this),\n userId,\n options?.userInfo,\n options?.organizationId ?? options?.tenantId,\n this.#localDev\n );\n }\n\n /**\n * Call this to authenticate the user as an actor you want to allow to use\n * Liveblocks.\n *\n * You should use this method only if you want to manage your permissions\n * through the Liveblocks Permissions API. This method is more complicated to\n * set up, but allows for finer-grained specification of permissions.\n *\n * Calling `.identifyUser()` only lets you securely identify a user (and what\n * groups they be