[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-azure-web-pubsub-ts":3,"mdc-298ny1-key":46,"related-repo-microsoft-azure-web-pubsub-ts":6746,"related-org-microsoft-azure-web-pubsub-ts":6856},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":29,"repoUrl":30,"updatedAt":31,"license":32,"forks":33,"topics":34,"repo":41,"sourceUrl":44,"mdContent":45},"azure-web-pubsub-ts","build real-time messaging apps with Web PubSub","Build real-time messaging applications using Azure Web PubSub SDKs for JavaScript (@azure\u002Fweb-pubsub, @azure\u002Fweb-pubsub-client). Use when implementing WebSocket-based real-time features, pub\u002Fsub messaging, group chat, or live notifications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,19,22,23,26],{"name":13,"slug":14,"type":15},"Azure","azure","tag",{"name":17,"slug":18,"type":15},"WebSockets","websockets",{"name":20,"slug":21,"type":15},"TypeScript","typescript",{"name":9,"slug":8,"type":15},{"name":24,"slug":25,"type":15},"Messaging","messaging",{"name":27,"slug":28,"type":15},"Real-time","real-time",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-05-13T06:14:29.330362","MIT",315,[35,36,14,37,38,39,40],"agent-skills","agents","foundry","mcp","sdk","skills",{"repoUrl":30,"stars":29,"forks":33,"topics":42,"description":43},[35,36,14,37,38,39,40],"Skills, MCP servers, Custom Agents, Agents.md for SDKs to ground Coding Agents","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills\u002Ftree\u002FHEAD\u002F.github\u002Fplugins\u002Fazure-sdk-typescript\u002Fskills\u002Fazure-web-pubsub-ts","---\nname: azure-web-pubsub-ts\ndescription: Build real-time messaging applications using Azure Web PubSub SDKs for JavaScript (@azure\u002Fweb-pubsub, @azure\u002Fweb-pubsub-client). Use when implementing WebSocket-based real-time features, pub\u002Fsub messaging, group chat, or live notifications.\nlicense: MIT\nmetadata:\n  author: Microsoft\n  version: \"1.0.0\"\n  package: '@azure\u002Fweb-pubsub, @azure\u002Fweb-pubsub-client'\n---\n\n# Azure Web PubSub SDKs for TypeScript\n\nReal-time messaging with WebSocket connections and pub\u002Fsub patterns.\n\n## Installation\n\n```bash\n# Server-side management\nnpm install @azure\u002Fweb-pubsub @azure\u002Fidentity\n\n# Client-side real-time messaging\nnpm install @azure\u002Fweb-pubsub-client\n\n# Express middleware for event handlers\nnpm install @azure\u002Fweb-pubsub-express\n```\n\n## Environment Variables\n\n```bash\nWEBPUBSUB_CONNECTION_STRING=Endpoint=https:\u002F\u002F\u003Cresource>.webpubsub.azure.com;AccessKey=\u003Ckey>;Version=1.0;\nWEBPUBSUB_ENDPOINT=https:\u002F\u002F\u003Cresource>.webpubsub.azure.com\nAZURE_TOKEN_CREDENTIALS=prod # Required only if DefaultAzureCredential is used in production\n```\n\n## Server-Side: WebPubSubServiceClient\n\n### Authentication\n\n```typescript\nimport { WebPubSubServiceClient, AzureKeyCredential } from \"@azure\u002Fweb-pubsub\";\nimport { DefaultAzureCredential, ManagedIdentityCredential } from \"@azure\u002Fidentity\";\n\n\u002F\u002F Local dev: DefaultAzureCredential. Production: set AZURE_TOKEN_CREDENTIALS=prod or AZURE_TOKEN_CREDENTIALS=\u003Cspecific_credential>\nconst credential = new DefaultAzureCredential({requiredEnvVars: [\"AZURE_TOKEN_CREDENTIALS\"]});\n\u002F\u002F Or use a specific credential directly in production:\n\u002F\u002F See https:\u002F\u002Flearn.microsoft.com\u002Fjavascript\u002Fapi\u002Foverview\u002Fazure\u002Fidentity-readme?view=azure-node-latest#credential-classes\n\u002F\u002F const credential = new ManagedIdentityCredential();\n\n\u002F\u002F Connection string\nconst client = new WebPubSubServiceClient(\n  process.env.WEBPUBSUB_CONNECTION_STRING!,\n  \"chat\"  \u002F\u002F hub name\n);\n\n\u002F\u002F Microsoft Entra Token Credential (recommended)\nconst client2 = new WebPubSubServiceClient(\n  process.env.WEBPUBSUB_ENDPOINT!,\n  credential,\n  \"chat\"\n);\n\n\u002F\u002F AzureKeyCredential\nconst client3 = new WebPubSubServiceClient(\n  process.env.WEBPUBSUB_ENDPOINT!,\n  new AzureKeyCredential(\"\u003Caccess-key>\"),\n  \"chat\"\n);\n```\n\n### Generate Client Access Token\n\n```typescript\n\u002F\u002F Basic token\nconst token = await client.getClientAccessToken();\nconsole.log(token.url);  \u002F\u002F wss:\u002F\u002F...?access_token=...\n\n\u002F\u002F Token with user ID\nconst userToken = await client.getClientAccessToken({\n  userId: \"user123\",\n});\n\n\u002F\u002F Token with permissions\nconst permToken = await client.getClientAccessToken({\n  userId: \"user123\",\n  roles: [\n    \"webpubsub.joinLeaveGroup\",\n    \"webpubsub.sendToGroup\",\n    \"webpubsub.sendToGroup.chat-room\",  \u002F\u002F specific group\n  ],\n  groups: [\"chat-room\"],  \u002F\u002F auto-join on connect\n  expirationTimeInMinutes: 60,\n});\n```\n\n### Send Messages\n\n```typescript\n\u002F\u002F Broadcast to all connections in hub\nawait client.sendToAll({ message: \"Hello everyone!\" });\nawait client.sendToAll(\"Plain text\", { contentType: \"text\u002Fplain\" });\n\n\u002F\u002F Send to specific user (all their connections)\nawait client.sendToUser(\"user123\", { message: \"Hello!\" });\n\n\u002F\u002F Send to specific connection\nawait client.sendToConnection(\"connectionId\", { data: \"Direct message\" });\n\n\u002F\u002F Send with filter (OData syntax)\nawait client.sendToAll({ message: \"Filtered\" }, {\n  filter: \"userId ne 'admin'\",\n});\n```\n\n### Group Management\n\n```typescript\nconst group = client.group(\"chat-room\");\n\n\u002F\u002F Add user\u002Fconnection to group\nawait group.addUser(\"user123\");\nawait group.addConnection(\"connectionId\");\n\n\u002F\u002F Remove from group\nawait group.removeUser(\"user123\");\n\n\u002F\u002F Send to group\nawait group.sendToAll({ message: \"Group message\" });\n\n\u002F\u002F Close all connections in group\nawait group.closeAllConnections({ reason: \"Maintenance\" });\n```\n\n### Connection Management\n\n```typescript\n\u002F\u002F Check existence\nconst userExists = await client.userExists(\"user123\");\nconst connExists = await client.connectionExists(\"connectionId\");\n\n\u002F\u002F Close connections\nawait client.closeConnection(\"connectionId\", { reason: \"Kicked\" });\nawait client.closeUserConnections(\"user123\");\nawait client.closeAllConnections();\n\n\u002F\u002F Permissions\nawait client.grantPermission(\"connectionId\", \"sendToGroup\", { targetName: \"chat\" });\nawait client.revokePermission(\"connectionId\", \"sendToGroup\", { targetName: \"chat\" });\n```\n\n## Client-Side: WebPubSubClient\n\n### Connect\n\n```typescript\nimport { WebPubSubClient } from \"@azure\u002Fweb-pubsub-client\";\n\n\u002F\u002F Direct URL\nconst client = new WebPubSubClient(\"\u003Cclient-access-url>\");\n\n\u002F\u002F Dynamic URL from negotiate endpoint\nconst client2 = new WebPubSubClient({\n  getClientAccessUrl: async () => {\n    const response = await fetch(\"\u002Fnegotiate\");\n    const { url } = await response.json();\n    return url;\n  },\n});\n\n\u002F\u002F Register handlers BEFORE starting\nclient.on(\"connected\", (e) => {\n  console.log(`Connected: ${e.connectionId}`);\n});\n\nclient.on(\"group-message\", (e) => {\n  console.log(`${e.message.group}: ${e.message.data}`);\n});\n\nawait client.start();\n```\n\n### Send Messages\n\n```typescript\n\u002F\u002F Join group first\nawait client.joinGroup(\"chat-room\");\n\n\u002F\u002F Send to group\nawait client.sendToGroup(\"chat-room\", \"Hello!\", \"text\");\nawait client.sendToGroup(\"chat-room\", { type: \"message\", content: \"Hi\" }, \"json\");\n\n\u002F\u002F Send options\nawait client.sendToGroup(\"chat-room\", \"Hello\", \"text\", {\n  noEcho: true,        \u002F\u002F Don't echo back to sender\n  fireAndForget: true, \u002F\u002F Don't wait for ack\n});\n\n\u002F\u002F Send event to server\nawait client.sendEvent(\"userAction\", { action: \"typing\" }, \"json\");\n```\n\n### Event Handlers\n\n```typescript\n\u002F\u002F Connection lifecycle\nclient.on(\"connected\", (e) => {\n  console.log(`Connected: ${e.connectionId}, User: ${e.userId}`);\n});\n\nclient.on(\"disconnected\", (e) => {\n  console.log(`Disconnected: ${e.message}`);\n});\n\nclient.on(\"stopped\", () => {\n  console.log(\"Client stopped\");\n});\n\n\u002F\u002F Messages\nclient.on(\"group-message\", (e) => {\n  console.log(`[${e.message.group}] ${e.message.fromUserId}: ${e.message.data}`);\n});\n\nclient.on(\"server-message\", (e) => {\n  console.log(`Server: ${e.message.data}`);\n});\n\n\u002F\u002F Rejoin failure\nclient.on(\"rejoin-group-failed\", (e) => {\n  console.log(`Failed to rejoin ${e.group}: ${e.error}`);\n});\n```\n\n## Express Event Handler\n\n```typescript\nimport express from \"express\";\nimport { WebPubSubEventHandler } from \"@azure\u002Fweb-pubsub-express\";\n\nconst app = express();\n\nconst handler = new WebPubSubEventHandler(\"chat\", {\n  path: \"\u002Fapi\u002Fwebpubsub\u002Fhubs\u002Fchat\u002F\",\n  \n  \u002F\u002F Blocking: approve\u002Freject connection\n  handleConnect: (req, res) => {\n    if (!req.claims?.sub) {\n      res.fail(401, \"Authentication required\");\n      return;\n    }\n    res.success({\n      userId: req.claims.sub[0],\n      groups: [\"general\"],\n      roles: [\"webpubsub.sendToGroup\"],\n    });\n  },\n  \n  \u002F\u002F Blocking: handle custom events\n  handleUserEvent: (req, res) => {\n    console.log(`Event from ${req.context.userId}:`, req.data);\n    res.success(`Received: ${req.data}`, \"text\");\n  },\n  \n  \u002F\u002F Non-blocking\n  onConnected: (req) => {\n    console.log(`Client connected: ${req.context.connectionId}`);\n  },\n  \n  onDisconnected: (req) => {\n    console.log(`Client disconnected: ${req.context.connectionId}`);\n  },\n});\n\napp.use(handler.getMiddleware());\n\n\u002F\u002F Negotiate endpoint\napp.get(\"\u002Fnegotiate\", async (req, res) => {\n  const token = await serviceClient.getClientAccessToken({\n    userId: req.user?.id,\n  });\n  res.json({ url: token.url });\n});\n\napp.listen(8080);\n```\n\n## Key Types\n\n```typescript\n\u002F\u002F Server\nimport {\n  WebPubSubServiceClient,\n  WebPubSubGroup,\n  GenerateClientTokenOptions,\n  HubSendToAllOptions,\n} from \"@azure\u002Fweb-pubsub\";\n\n\u002F\u002F Client\nimport {\n  WebPubSubClient,\n  WebPubSubClientOptions,\n  OnConnectedArgs,\n  OnGroupDataMessageArgs,\n} from \"@azure\u002Fweb-pubsub-client\";\n\n\u002F\u002F Express\nimport {\n  WebPubSubEventHandler,\n  ConnectRequest,\n  UserEventRequest,\n  ConnectResponseHandler,\n} from \"@azure\u002Fweb-pubsub-express\";\n```\n\n## Best Practices\n\n1. **Use Microsoft Entra Token Credential** - Use `DefaultAzureCredential` for local development; use `ManagedIdentityCredential` or `WorkloadIdentityCredential` for production\n2. **Register handlers before start** - Don't miss initial events\n3. **Use groups for channels** - Organize messages by topic\u002Froom\n4. **Handle reconnection** - Client auto-reconnects by default\n5. **Validate in handleConnect** - Reject unauthorized connections early\n6. **Use noEcho** - Prevent message echo back to sender when needed\n",{"data":47,"body":51},{"name":4,"description":6,"license":32,"metadata":48},{"author":9,"version":49,"package":50},"1.0.0","@azure\u002Fweb-pubsub, @azure\u002Fweb-pubsub-client",{"type":52,"children":53},"root",[54,63,69,76,196,202,357,363,370,981,987,1442,1448,1907,1913,2288,2294,2787,2793,2799,3482,3487,4013,4019,4953,4959,6335,6341,6644,6650,6740],{"type":55,"tag":56,"props":57,"children":59},"element","h1",{"id":58},"azure-web-pubsub-sdks-for-typescript",[60],{"type":61,"value":62},"text","Azure Web PubSub SDKs for TypeScript",{"type":55,"tag":64,"props":65,"children":66},"p",{},[67],{"type":61,"value":68},"Real-time messaging with WebSocket connections and pub\u002Fsub patterns.",{"type":55,"tag":70,"props":71,"children":73},"h2",{"id":72},"installation",[74],{"type":61,"value":75},"Installation",{"type":55,"tag":77,"props":78,"children":83},"pre",{"className":79,"code":80,"language":81,"meta":82,"style":82},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Server-side management\nnpm install @azure\u002Fweb-pubsub @azure\u002Fidentity\n\n# Client-side real-time messaging\nnpm install @azure\u002Fweb-pubsub-client\n\n# Express middleware for event handlers\nnpm install @azure\u002Fweb-pubsub-express\n","bash","",[84],{"type":55,"tag":85,"props":86,"children":87},"code",{"__ignoreMap":82},[88,100,126,136,145,162,170,179],{"type":55,"tag":89,"props":90,"children":93},"span",{"class":91,"line":92},"line",1,[94],{"type":55,"tag":89,"props":95,"children":97},{"style":96},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[98],{"type":61,"value":99},"# Server-side management\n",{"type":55,"tag":89,"props":101,"children":103},{"class":91,"line":102},2,[104,110,116,121],{"type":55,"tag":89,"props":105,"children":107},{"style":106},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[108],{"type":61,"value":109},"npm",{"type":55,"tag":89,"props":111,"children":113},{"style":112},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[114],{"type":61,"value":115}," install",{"type":55,"tag":89,"props":117,"children":118},{"style":112},[119],{"type":61,"value":120}," @azure\u002Fweb-pubsub",{"type":55,"tag":89,"props":122,"children":123},{"style":112},[124],{"type":61,"value":125}," @azure\u002Fidentity\n",{"type":55,"tag":89,"props":127,"children":129},{"class":91,"line":128},3,[130],{"type":55,"tag":89,"props":131,"children":133},{"emptyLinePlaceholder":132},true,[134],{"type":61,"value":135},"\n",{"type":55,"tag":89,"props":137,"children":139},{"class":91,"line":138},4,[140],{"type":55,"tag":89,"props":141,"children":142},{"style":96},[143],{"type":61,"value":144},"# Client-side real-time messaging\n",{"type":55,"tag":89,"props":146,"children":148},{"class":91,"line":147},5,[149,153,157],{"type":55,"tag":89,"props":150,"children":151},{"style":106},[152],{"type":61,"value":109},{"type":55,"tag":89,"props":154,"children":155},{"style":112},[156],{"type":61,"value":115},{"type":55,"tag":89,"props":158,"children":159},{"style":112},[160],{"type":61,"value":161}," @azure\u002Fweb-pubsub-client\n",{"type":55,"tag":89,"props":163,"children":165},{"class":91,"line":164},6,[166],{"type":55,"tag":89,"props":167,"children":168},{"emptyLinePlaceholder":132},[169],{"type":61,"value":135},{"type":55,"tag":89,"props":171,"children":173},{"class":91,"line":172},7,[174],{"type":55,"tag":89,"props":175,"children":176},{"style":96},[177],{"type":61,"value":178},"# Express middleware for event handlers\n",{"type":55,"tag":89,"props":180,"children":182},{"class":91,"line":181},8,[183,187,191],{"type":55,"tag":89,"props":184,"children":185},{"style":106},[186],{"type":61,"value":109},{"type":55,"tag":89,"props":188,"children":189},{"style":112},[190],{"type":61,"value":115},{"type":55,"tag":89,"props":192,"children":193},{"style":112},[194],{"type":61,"value":195}," @azure\u002Fweb-pubsub-express\n",{"type":55,"tag":70,"props":197,"children":199},{"id":198},"environment-variables",[200],{"type":61,"value":201},"Environment Variables",{"type":55,"tag":77,"props":203,"children":205},{"className":79,"code":204,"language":81,"meta":82,"style":82},"WEBPUBSUB_CONNECTION_STRING=Endpoint=https:\u002F\u002F\u003Cresource>.webpubsub.azure.com;AccessKey=\u003Ckey>;Version=1.0;\nWEBPUBSUB_ENDPOINT=https:\u002F\u002F\u003Cresource>.webpubsub.azure.com\nAZURE_TOKEN_CREDENTIALS=prod # Required only if DefaultAzureCredential is used in production\n",[206],{"type":55,"tag":85,"props":207,"children":208},{"__ignoreMap":82},[209,302,335],{"type":55,"tag":89,"props":210,"children":211},{"class":91,"line":92},[212,218,224,229,233,238,243,248,253,258,263,268,273,278,283,288,292,297],{"type":55,"tag":89,"props":213,"children":215},{"style":214},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[216],{"type":61,"value":217},"WEBPUBSUB_CONNECTION_STRING",{"type":55,"tag":89,"props":219,"children":221},{"style":220},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[222],{"type":61,"value":223},"=",{"type":55,"tag":89,"props":225,"children":226},{"style":214},[227],{"type":61,"value":228},"Endpoint",{"type":55,"tag":89,"props":230,"children":231},{"style":220},[232],{"type":61,"value":223},{"type":55,"tag":89,"props":234,"children":235},{"style":112},[236],{"type":61,"value":237},"https:\u002F\u002F",{"type":55,"tag":89,"props":239,"children":240},{"style":220},[241],{"type":61,"value":242},"\u003C",{"type":55,"tag":89,"props":244,"children":245},{"style":112},[246],{"type":61,"value":247},"resource",{"type":55,"tag":89,"props":249,"children":250},{"style":220},[251],{"type":61,"value":252},">",{"type":55,"tag":89,"props":254,"children":255},{"style":112},[256],{"type":61,"value":257},".webpubsub.azure.com",{"type":55,"tag":89,"props":259,"children":260},{"style":220},[261],{"type":61,"value":262},";",{"type":55,"tag":89,"props":264,"children":265},{"style":214},[266],{"type":61,"value":267},"AccessKey",{"type":55,"tag":89,"props":269,"children":270},{"style":220},[271],{"type":61,"value":272},"=\u003C",{"type":55,"tag":89,"props":274,"children":275},{"style":112},[276],{"type":61,"value":277},"key",{"type":55,"tag":89,"props":279,"children":280},{"style":220},[281],{"type":61,"value":282},">;",{"type":55,"tag":89,"props":284,"children":285},{"style":214},[286],{"type":61,"value":287},"Version",{"type":55,"tag":89,"props":289,"children":290},{"style":220},[291],{"type":61,"value":223},{"type":55,"tag":89,"props":293,"children":294},{"style":112},[295],{"type":61,"value":296},"1.0",{"type":55,"tag":89,"props":298,"children":299},{"style":220},[300],{"type":61,"value":301},";\n",{"type":55,"tag":89,"props":303,"children":304},{"class":91,"line":102},[305,310,314,318,322,326,330],{"type":55,"tag":89,"props":306,"children":307},{"style":214},[308],{"type":61,"value":309},"WEBPUBSUB_ENDPOINT",{"type":55,"tag":89,"props":311,"children":312},{"style":220},[313],{"type":61,"value":223},{"type":55,"tag":89,"props":315,"children":316},{"style":112},[317],{"type":61,"value":237},{"type":55,"tag":89,"props":319,"children":320},{"style":220},[321],{"type":61,"value":242},{"type":55,"tag":89,"props":323,"children":324},{"style":112},[325],{"type":61,"value":247},{"type":55,"tag":89,"props":327,"children":328},{"style":220},[329],{"type":61,"value":252},{"type":55,"tag":89,"props":331,"children":332},{"style":112},[333],{"type":61,"value":334},".webpubsub.azure.com\n",{"type":55,"tag":89,"props":336,"children":337},{"class":91,"line":128},[338,343,347,352],{"type":55,"tag":89,"props":339,"children":340},{"style":214},[341],{"type":61,"value":342},"AZURE_TOKEN_CREDENTIALS",{"type":55,"tag":89,"props":344,"children":345},{"style":220},[346],{"type":61,"value":223},{"type":55,"tag":89,"props":348,"children":349},{"style":112},[350],{"type":61,"value":351},"prod",{"type":55,"tag":89,"props":353,"children":354},{"style":96},[355],{"type":61,"value":356}," # Required only if DefaultAzureCredential is used in production\n",{"type":55,"tag":70,"props":358,"children":360},{"id":359},"server-side-webpubsubserviceclient",[361],{"type":61,"value":362},"Server-Side: WebPubSubServiceClient",{"type":55,"tag":364,"props":365,"children":367},"h3",{"id":366},"authentication",[368],{"type":61,"value":369},"Authentication",{"type":55,"tag":77,"props":371,"children":374},{"className":372,"code":373,"language":21,"meta":82,"style":82},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { WebPubSubServiceClient, AzureKeyCredential } from \"@azure\u002Fweb-pubsub\";\nimport { DefaultAzureCredential, ManagedIdentityCredential } from \"@azure\u002Fidentity\";\n\n\u002F\u002F Local dev: DefaultAzureCredential. Production: set AZURE_TOKEN_CREDENTIALS=prod or AZURE_TOKEN_CREDENTIALS=\u003Cspecific_credential>\nconst credential = new DefaultAzureCredential({requiredEnvVars: [\"AZURE_TOKEN_CREDENTIALS\"]});\n\u002F\u002F Or use a specific credential directly in production:\n\u002F\u002F See https:\u002F\u002Flearn.microsoft.com\u002Fjavascript\u002Fapi\u002Foverview\u002Fazure\u002Fidentity-readme?view=azure-node-latest#credential-classes\n\u002F\u002F const credential = new ManagedIdentityCredential();\n\n\u002F\u002F Connection string\nconst client = new WebPubSubServiceClient(\n  process.env.WEBPUBSUB_CONNECTION_STRING!,\n  \"chat\"  \u002F\u002F hub name\n);\n\n\u002F\u002F Microsoft Entra Token Credential (recommended)\nconst client2 = new WebPubSubServiceClient(\n  process.env.WEBPUBSUB_ENDPOINT!,\n  credential,\n  \"chat\"\n);\n\n\u002F\u002F AzureKeyCredential\nconst client3 = new WebPubSubServiceClient(\n  process.env.WEBPUBSUB_ENDPOINT!,\n  new AzureKeyCredential(\"\u003Caccess-key>\"),\n  \"chat\"\n);\n",[375],{"type":55,"tag":85,"props":376,"children":377},{"__ignoreMap":82},[378,436,486,493,501,586,594,602,610,618,627,657,689,712,724,732,741,770,798,812,829,841,849,858,887,915,953,969],{"type":55,"tag":89,"props":379,"children":380},{"class":91,"line":92},[381,387,392,397,402,407,412,417,422,427,432],{"type":55,"tag":89,"props":382,"children":384},{"style":383},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[385],{"type":61,"value":386},"import",{"type":55,"tag":89,"props":388,"children":389},{"style":220},[390],{"type":61,"value":391}," {",{"type":55,"tag":89,"props":393,"children":394},{"style":214},[395],{"type":61,"value":396}," WebPubSubServiceClient",{"type":55,"tag":89,"props":398,"children":399},{"style":220},[400],{"type":61,"value":401},",",{"type":55,"tag":89,"props":403,"children":404},{"style":214},[405],{"type":61,"value":406}," AzureKeyCredential",{"type":55,"tag":89,"props":408,"children":409},{"style":220},[410],{"type":61,"value":411}," }",{"type":55,"tag":89,"props":413,"children":414},{"style":383},[415],{"type":61,"value":416}," from",{"type":55,"tag":89,"props":418,"children":419},{"style":220},[420],{"type":61,"value":421}," \"",{"type":55,"tag":89,"props":423,"children":424},{"style":112},[425],{"type":61,"value":426},"@azure\u002Fweb-pubsub",{"type":55,"tag":89,"props":428,"children":429},{"style":220},[430],{"type":61,"value":431},"\"",{"type":55,"tag":89,"props":433,"children":434},{"style":220},[435],{"type":61,"value":301},{"type":55,"tag":89,"props":437,"children":438},{"class":91,"line":102},[439,443,447,452,456,461,465,469,473,478,482],{"type":55,"tag":89,"props":440,"children":441},{"style":383},[442],{"type":61,"value":386},{"type":55,"tag":89,"props":444,"children":445},{"style":220},[446],{"type":61,"value":391},{"type":55,"tag":89,"props":448,"children":449},{"style":214},[450],{"type":61,"value":451}," DefaultAzureCredential",{"type":55,"tag":89,"props":453,"children":454},{"style":220},[455],{"type":61,"value":401},{"type":55,"tag":89,"props":457,"children":458},{"style":214},[459],{"type":61,"value":460}," ManagedIdentityCredential",{"type":55,"tag":89,"props":462,"children":463},{"style":220},[464],{"type":61,"value":411},{"type":55,"tag":89,"props":466,"children":467},{"style":383},[468],{"type":61,"value":416},{"type":55,"tag":89,"props":470,"children":471},{"style":220},[472],{"type":61,"value":421},{"type":55,"tag":89,"props":474,"children":475},{"style":112},[476],{"type":61,"value":477},"@azure\u002Fidentity",{"type":55,"tag":89,"props":479,"children":480},{"style":220},[481],{"type":61,"value":431},{"type":55,"tag":89,"props":483,"children":484},{"style":220},[485],{"type":61,"value":301},{"type":55,"tag":89,"props":487,"children":488},{"class":91,"line":128},[489],{"type":55,"tag":89,"props":490,"children":491},{"emptyLinePlaceholder":132},[492],{"type":61,"value":135},{"type":55,"tag":89,"props":494,"children":495},{"class":91,"line":138},[496],{"type":55,"tag":89,"props":497,"children":498},{"style":96},[499],{"type":61,"value":500},"\u002F\u002F Local dev: DefaultAzureCredential. Production: set AZURE_TOKEN_CREDENTIALS=prod or AZURE_TOKEN_CREDENTIALS=\u003Cspecific_credential>\n",{"type":55,"tag":89,"props":502,"children":503},{"class":91,"line":147},[504,510,515,519,524,529,534,539,545,550,555,559,563,567,572,577,582],{"type":55,"tag":89,"props":505,"children":507},{"style":506},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[508],{"type":61,"value":509},"const",{"type":55,"tag":89,"props":511,"children":512},{"style":214},[513],{"type":61,"value":514}," credential ",{"type":55,"tag":89,"props":516,"children":517},{"style":220},[518],{"type":61,"value":223},{"type":55,"tag":89,"props":520,"children":521},{"style":220},[522],{"type":61,"value":523}," new",{"type":55,"tag":89,"props":525,"children":527},{"style":526},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[528],{"type":61,"value":451},{"type":55,"tag":89,"props":530,"children":531},{"style":214},[532],{"type":61,"value":533},"(",{"type":55,"tag":89,"props":535,"children":536},{"style":220},[537],{"type":61,"value":538},"{",{"type":55,"tag":89,"props":540,"children":542},{"style":541},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[543],{"type":61,"value":544},"requiredEnvVars",{"type":55,"tag":89,"props":546,"children":547},{"style":220},[548],{"type":61,"value":549},":",{"type":55,"tag":89,"props":551,"children":552},{"style":214},[553],{"type":61,"value":554}," [",{"type":55,"tag":89,"props":556,"children":557},{"style":220},[558],{"type":61,"value":431},{"type":55,"tag":89,"props":560,"children":561},{"style":112},[562],{"type":61,"value":342},{"type":55,"tag":89,"props":564,"children":565},{"style":220},[566],{"type":61,"value":431},{"type":55,"tag":89,"props":568,"children":569},{"style":214},[570],{"type":61,"value":571},"]",{"type":55,"tag":89,"props":573,"children":574},{"style":220},[575],{"type":61,"value":576},"}",{"type":55,"tag":89,"props":578,"children":579},{"style":214},[580],{"type":61,"value":581},")",{"type":55,"tag":89,"props":583,"children":584},{"style":220},[585],{"type":61,"value":301},{"type":55,"tag":89,"props":587,"children":588},{"class":91,"line":164},[589],{"type":55,"tag":89,"props":590,"children":591},{"style":96},[592],{"type":61,"value":593},"\u002F\u002F Or use a specific credential directly in production:\n",{"type":55,"tag":89,"props":595,"children":596},{"class":91,"line":172},[597],{"type":55,"tag":89,"props":598,"children":599},{"style":96},[600],{"type":61,"value":601},"\u002F\u002F See https:\u002F\u002Flearn.microsoft.com\u002Fjavascript\u002Fapi\u002Foverview\u002Fazure\u002Fidentity-readme?view=azure-node-latest#credential-classes\n",{"type":55,"tag":89,"props":603,"children":604},{"class":91,"line":181},[605],{"type":55,"tag":89,"props":606,"children":607},{"style":96},[608],{"type":61,"value":609},"\u002F\u002F const credential = new ManagedIdentityCredential();\n",{"type":55,"tag":89,"props":611,"children":613},{"class":91,"line":612},9,[614],{"type":55,"tag":89,"props":615,"children":616},{"emptyLinePlaceholder":132},[617],{"type":61,"value":135},{"type":55,"tag":89,"props":619,"children":621},{"class":91,"line":620},10,[622],{"type":55,"tag":89,"props":623,"children":624},{"style":96},[625],{"type":61,"value":626},"\u002F\u002F Connection string\n",{"type":55,"tag":89,"props":628,"children":630},{"class":91,"line":629},11,[631,635,640,644,648,652],{"type":55,"tag":89,"props":632,"children":633},{"style":506},[634],{"type":61,"value":509},{"type":55,"tag":89,"props":636,"children":637},{"style":214},[638],{"type":61,"value":639}," client ",{"type":55,"tag":89,"props":641,"children":642},{"style":220},[643],{"type":61,"value":223},{"type":55,"tag":89,"props":645,"children":646},{"style":220},[647],{"type":61,"value":523},{"type":55,"tag":89,"props":649,"children":650},{"style":526},[651],{"type":61,"value":396},{"type":55,"tag":89,"props":653,"children":654},{"style":214},[655],{"type":61,"value":656},"(\n",{"type":55,"tag":89,"props":658,"children":660},{"class":91,"line":659},12,[661,666,671,676,680,684],{"type":55,"tag":89,"props":662,"children":663},{"style":214},[664],{"type":61,"value":665},"  process",{"type":55,"tag":89,"props":667,"children":668},{"style":220},[669],{"type":61,"value":670},".",{"type":55,"tag":89,"props":672,"children":673},{"style":214},[674],{"type":61,"value":675},"env",{"type":55,"tag":89,"props":677,"children":678},{"style":220},[679],{"type":61,"value":670},{"type":55,"tag":89,"props":681,"children":682},{"style":214},[683],{"type":61,"value":217},{"type":55,"tag":89,"props":685,"children":686},{"style":220},[687],{"type":61,"value":688},"!,\n",{"type":55,"tag":89,"props":690,"children":692},{"class":91,"line":691},13,[693,698,703,707],{"type":55,"tag":89,"props":694,"children":695},{"style":220},[696],{"type":61,"value":697},"  \"",{"type":55,"tag":89,"props":699,"children":700},{"style":112},[701],{"type":61,"value":702},"chat",{"type":55,"tag":89,"props":704,"children":705},{"style":220},[706],{"type":61,"value":431},{"type":55,"tag":89,"props":708,"children":709},{"style":96},[710],{"type":61,"value":711},"  \u002F\u002F hub name\n",{"type":55,"tag":89,"props":713,"children":715},{"class":91,"line":714},14,[716,720],{"type":55,"tag":89,"props":717,"children":718},{"style":214},[719],{"type":61,"value":581},{"type":55,"tag":89,"props":721,"children":722},{"style":220},[723],{"type":61,"value":301},{"type":55,"tag":89,"props":725,"children":727},{"class":91,"line":726},15,[728],{"type":55,"tag":89,"props":729,"children":730},{"emptyLinePlaceholder":132},[731],{"type":61,"value":135},{"type":55,"tag":89,"props":733,"children":735},{"class":91,"line":734},16,[736],{"type":55,"tag":89,"props":737,"children":738},{"style":96},[739],{"type":61,"value":740},"\u002F\u002F Microsoft Entra Token Credential (recommended)\n",{"type":55,"tag":89,"props":742,"children":744},{"class":91,"line":743},17,[745,749,754,758,762,766],{"type":55,"tag":89,"props":746,"children":747},{"style":506},[748],{"type":61,"value":509},{"type":55,"tag":89,"props":750,"children":751},{"style":214},[752],{"type":61,"value":753}," client2 ",{"type":55,"tag":89,"props":755,"children":756},{"style":220},[757],{"type":61,"value":223},{"type":55,"tag":89,"props":759,"children":760},{"style":220},[761],{"type":61,"value":523},{"type":55,"tag":89,"props":763,"children":764},{"style":526},[765],{"type":61,"value":396},{"type":55,"tag":89,"props":767,"children":768},{"style":214},[769],{"type":61,"value":656},{"type":55,"tag":89,"props":771,"children":773},{"class":91,"line":772},18,[774,778,782,786,790,794],{"type":55,"tag":89,"props":775,"children":776},{"style":214},[777],{"type":61,"value":665},{"type":55,"tag":89,"props":779,"children":780},{"style":220},[781],{"type":61,"value":670},{"type":55,"tag":89,"props":783,"children":784},{"style":214},[785],{"type":61,"value":675},{"type":55,"tag":89,"props":787,"children":788},{"style":220},[789],{"type":61,"value":670},{"type":55,"tag":89,"props":791,"children":792},{"style":214},[793],{"type":61,"value":309},{"type":55,"tag":89,"props":795,"children":796},{"style":220},[797],{"type":61,"value":688},{"type":55,"tag":89,"props":799,"children":801},{"class":91,"line":800},19,[802,807],{"type":55,"tag":89,"props":803,"children":804},{"style":214},[805],{"type":61,"value":806},"  credential",{"type":55,"tag":89,"props":808,"children":809},{"style":220},[810],{"type":61,"value":811},",\n",{"type":55,"tag":89,"props":813,"children":815},{"class":91,"line":814},20,[816,820,824],{"type":55,"tag":89,"props":817,"children":818},{"style":220},[819],{"type":61,"value":697},{"type":55,"tag":89,"props":821,"children":822},{"style":112},[823],{"type":61,"value":702},{"type":55,"tag":89,"props":825,"children":826},{"style":220},[827],{"type":61,"value":828},"\"\n",{"type":55,"tag":89,"props":830,"children":832},{"class":91,"line":831},21,[833,837],{"type":55,"tag":89,"props":834,"children":835},{"style":214},[836],{"type":61,"value":581},{"type":55,"tag":89,"props":838,"children":839},{"style":220},[840],{"type":61,"value":301},{"type":55,"tag":89,"props":842,"children":844},{"class":91,"line":843},22,[845],{"type":55,"tag":89,"props":846,"children":847},{"emptyLinePlaceholder":132},[848],{"type":61,"value":135},{"type":55,"tag":89,"props":850,"children":852},{"class":91,"line":851},23,[853],{"type":55,"tag":89,"props":854,"children":855},{"style":96},[856],{"type":61,"value":857},"\u002F\u002F AzureKeyCredential\n",{"type":55,"tag":89,"props":859,"children":861},{"class":91,"line":860},24,[862,866,871,875,879,883],{"type":55,"tag":89,"props":863,"children":864},{"style":506},[865],{"type":61,"value":509},{"type":55,"tag":89,"props":867,"children":868},{"style":214},[869],{"type":61,"value":870}," client3 ",{"type":55,"tag":89,"props":872,"children":873},{"style":220},[874],{"type":61,"value":223},{"type":55,"tag":89,"props":876,"children":877},{"style":220},[878],{"type":61,"value":523},{"type":55,"tag":89,"props":880,"children":881},{"style":526},[882],{"type":61,"value":396},{"type":55,"tag":89,"props":884,"children":885},{"style":214},[886],{"type":61,"value":656},{"type":55,"tag":89,"props":888,"children":890},{"class":91,"line":889},25,[891,895,899,903,907,911],{"type":55,"tag":89,"props":892,"children":893},{"style":214},[894],{"type":61,"value":665},{"type":55,"tag":89,"props":896,"children":897},{"style":220},[898],{"type":61,"value":670},{"type":55,"tag":89,"props":900,"children":901},{"style":214},[902],{"type":61,"value":675},{"type":55,"tag":89,"props":904,"children":905},{"style":220},[906],{"type":61,"value":670},{"type":55,"tag":89,"props":908,"children":909},{"style":214},[910],{"type":61,"value":309},{"type":55,"tag":89,"props":912,"children":913},{"style":220},[914],{"type":61,"value":688},{"type":55,"tag":89,"props":916,"children":918},{"class":91,"line":917},26,[919,924,928,932,936,941,945,949],{"type":55,"tag":89,"props":920,"children":921},{"style":220},[922],{"type":61,"value":923},"  new",{"type":55,"tag":89,"props":925,"children":926},{"style":526},[927],{"type":61,"value":406},{"type":55,"tag":89,"props":929,"children":930},{"style":214},[931],{"type":61,"value":533},{"type":55,"tag":89,"props":933,"children":934},{"style":220},[935],{"type":61,"value":431},{"type":55,"tag":89,"props":937,"children":938},{"style":112},[939],{"type":61,"value":940},"\u003Caccess-key>",{"type":55,"tag":89,"props":942,"children":943},{"style":220},[944],{"type":61,"value":431},{"type":55,"tag":89,"props":946,"children":947},{"style":214},[948],{"type":61,"value":581},{"type":55,"tag":89,"props":950,"children":951},{"style":220},[952],{"type":61,"value":811},{"type":55,"tag":89,"props":954,"children":956},{"class":91,"line":955},27,[957,961,965],{"type":55,"tag":89,"props":958,"children":959},{"style":220},[960],{"type":61,"value":697},{"type":55,"tag":89,"props":962,"children":963},{"style":112},[964],{"type":61,"value":702},{"type":55,"tag":89,"props":966,"children":967},{"style":220},[968],{"type":61,"value":828},{"type":55,"tag":89,"props":970,"children":972},{"class":91,"line":971},28,[973,977],{"type":55,"tag":89,"props":974,"children":975},{"style":214},[976],{"type":61,"value":581},{"type":55,"tag":89,"props":978,"children":979},{"style":220},[980],{"type":61,"value":301},{"type":55,"tag":364,"props":982,"children":984},{"id":983},"generate-client-access-token",[985],{"type":61,"value":986},"Generate Client Access Token",{"type":55,"tag":77,"props":988,"children":990},{"className":372,"code":989,"language":21,"meta":82,"style":82},"\u002F\u002F Basic token\nconst token = await client.getClientAccessToken();\nconsole.log(token.url);  \u002F\u002F wss:\u002F\u002F...?access_token=...\n\n\u002F\u002F Token with user ID\nconst userToken = await client.getClientAccessToken({\n  userId: \"user123\",\n});\n\n\u002F\u002F Token with permissions\nconst permToken = await client.getClientAccessToken({\n  userId: \"user123\",\n  roles: [\n    \"webpubsub.joinLeaveGroup\",\n    \"webpubsub.sendToGroup\",\n    \"webpubsub.sendToGroup.chat-room\",  \u002F\u002F specific group\n  ],\n  groups: [\"chat-room\"],  \u002F\u002F auto-join on connect\n  expirationTimeInMinutes: 60,\n});\n",[991],{"type":55,"tag":85,"props":992,"children":993},{"__ignoreMap":82},[994,1002,1046,1086,1093,1101,1142,1171,1186,1193,1201,1241,1268,1285,1306,1326,1351,1363,1405,1427],{"type":55,"tag":89,"props":995,"children":996},{"class":91,"line":92},[997],{"type":55,"tag":89,"props":998,"children":999},{"style":96},[1000],{"type":61,"value":1001},"\u002F\u002F Basic token\n",{"type":55,"tag":89,"props":1003,"children":1004},{"class":91,"line":102},[1005,1009,1014,1018,1023,1028,1032,1037,1042],{"type":55,"tag":89,"props":1006,"children":1007},{"style":506},[1008],{"type":61,"value":509},{"type":55,"tag":89,"props":1010,"children":1011},{"style":214},[1012],{"type":61,"value":1013}," token ",{"type":55,"tag":89,"props":1015,"children":1016},{"style":220},[1017],{"type":61,"value":223},{"type":55,"tag":89,"props":1019,"children":1020},{"style":383},[1021],{"type":61,"value":1022}," await",{"type":55,"tag":89,"props":1024,"children":1025},{"style":214},[1026],{"type":61,"value":1027}," client",{"type":55,"tag":89,"props":1029,"children":1030},{"style":220},[1031],{"type":61,"value":670},{"type":55,"tag":89,"props":1033,"children":1034},{"style":526},[1035],{"type":61,"value":1036},"getClientAccessToken",{"type":55,"tag":89,"props":1038,"children":1039},{"style":214},[1040],{"type":61,"value":1041},"()",{"type":55,"tag":89,"props":1043,"children":1044},{"style":220},[1045],{"type":61,"value":301},{"type":55,"tag":89,"props":1047,"children":1048},{"class":91,"line":128},[1049,1054,1058,1063,1068,1072,1077,1081],{"type":55,"tag":89,"props":1050,"children":1051},{"style":214},[1052],{"type":61,"value":1053},"console",{"type":55,"tag":89,"props":1055,"children":1056},{"style":220},[1057],{"type":61,"value":670},{"type":55,"tag":89,"props":1059,"children":1060},{"style":526},[1061],{"type":61,"value":1062},"log",{"type":55,"tag":89,"props":1064,"children":1065},{"style":214},[1066],{"type":61,"value":1067},"(token",{"type":55,"tag":89,"props":1069,"children":1070},{"style":220},[1071],{"type":61,"value":670},{"type":55,"tag":89,"props":1073,"children":1074},{"style":214},[1075],{"type":61,"value":1076},"url)",{"type":55,"tag":89,"props":1078,"children":1079},{"style":220},[1080],{"type":61,"value":262},{"type":55,"tag":89,"props":1082,"children":1083},{"style":96},[1084],{"type":61,"value":1085},"  \u002F\u002F wss:\u002F\u002F...?access_token=...\n",{"type":55,"tag":89,"props":1087,"children":1088},{"class":91,"line":138},[1089],{"type":55,"tag":89,"props":1090,"children":1091},{"emptyLinePlaceholder":132},[1092],{"type":61,"value":135},{"type":55,"tag":89,"props":1094,"children":1095},{"class":91,"line":147},[1096],{"type":55,"tag":89,"props":1097,"children":1098},{"style":96},[1099],{"type":61,"value":1100},"\u002F\u002F Token with user ID\n",{"type":55,"tag":89,"props":1102,"children":1103},{"class":91,"line":164},[1104,1108,1113,1117,1121,1125,1129,1133,1137],{"type":55,"tag":89,"props":1105,"children":1106},{"style":506},[1107],{"type":61,"value":509},{"type":55,"tag":89,"props":1109,"children":1110},{"style":214},[1111],{"type":61,"value":1112}," userToken ",{"type":55,"tag":89,"props":1114,"children":1115},{"style":220},[1116],{"type":61,"value":223},{"type":55,"tag":89,"props":1118,"children":1119},{"style":383},[1120],{"type":61,"value":1022},{"type":55,"tag":89,"props":1122,"children":1123},{"style":214},[1124],{"type":61,"value":1027},{"type":55,"tag":89,"props":1126,"children":1127},{"style":220},[1128],{"type":61,"value":670},{"type":55,"tag":89,"props":1130,"children":1131},{"style":526},[1132],{"type":61,"value":1036},{"type":55,"tag":89,"props":1134,"children":1135},{"style":214},[1136],{"type":61,"value":533},{"type":55,"tag":89,"props":1138,"children":1139},{"style":220},[1140],{"type":61,"value":1141},"{\n",{"type":55,"tag":89,"props":1143,"children":1144},{"class":91,"line":172},[1145,1150,1154,1158,1163,1167],{"type":55,"tag":89,"props":1146,"children":1147},{"style":541},[1148],{"type":61,"value":1149},"  userId",{"type":55,"tag":89,"props":1151,"children":1152},{"style":220},[1153],{"type":61,"value":549},{"type":55,"tag":89,"props":1155,"children":1156},{"style":220},[1157],{"type":61,"value":421},{"type":55,"tag":89,"props":1159,"children":1160},{"style":112},[1161],{"type":61,"value":1162},"user123",{"type":55,"tag":89,"props":1164,"children":1165},{"style":220},[1166],{"type":61,"value":431},{"type":55,"tag":89,"props":1168,"children":1169},{"style":220},[1170],{"type":61,"value":811},{"type":55,"tag":89,"props":1172,"children":1173},{"class":91,"line":181},[1174,1178,1182],{"type":55,"tag":89,"props":1175,"children":1176},{"style":220},[1177],{"type":61,"value":576},{"type":55,"tag":89,"props":1179,"children":1180},{"style":214},[1181],{"type":61,"value":581},{"type":55,"tag":89,"props":1183,"children":1184},{"style":220},[1185],{"type":61,"value":301},{"type":55,"tag":89,"props":1187,"children":1188},{"class":91,"line":612},[1189],{"type":55,"tag":89,"props":1190,"children":1191},{"emptyLinePlaceholder":132},[1192],{"type":61,"value":135},{"type":55,"tag":89,"props":1194,"children":1195},{"class":91,"line":620},[1196],{"type":55,"tag":89,"props":1197,"children":1198},{"style":96},[1199],{"type":61,"value":1200},"\u002F\u002F Token with permissions\n",{"type":55,"tag":89,"props":1202,"children":1203},{"class":91,"line":629},[1204,1208,1213,1217,1221,1225,1229,1233,1237],{"type":55,"tag":89,"props":1205,"children":1206},{"style":506},[1207],{"type":61,"value":509},{"type":55,"tag":89,"props":1209,"children":1210},{"style":214},[1211],{"type":61,"value":1212}," permToken ",{"type":55,"tag":89,"props":1214,"children":1215},{"style":220},[1216],{"type":61,"value":223},{"type":55,"tag":89,"props":1218,"children":1219},{"style":383},[1220],{"type":61,"value":1022},{"type":55,"tag":89,"props":1222,"children":1223},{"style":214},[1224],{"type":61,"value":1027},{"type":55,"tag":89,"props":1226,"children":1227},{"style":220},[1228],{"type":61,"value":670},{"type":55,"tag":89,"props":1230,"children":1231},{"style":526},[1232],{"type":61,"value":1036},{"type":55,"tag":89,"props":1234,"children":1235},{"style":214},[1236],{"type":61,"value":533},{"type":55,"tag":89,"props":1238,"children":1239},{"style":220},[1240],{"type":61,"value":1141},{"type":55,"tag":89,"props":1242,"children":1243},{"class":91,"line":659},[1244,1248,1252,1256,1260,1264],{"type":55,"tag":89,"props":1245,"children":1246},{"style":541},[1247],{"type":61,"value":1149},{"type":55,"tag":89,"props":1249,"children":1250},{"style":220},[1251],{"type":61,"value":549},{"type":55,"tag":89,"props":1253,"children":1254},{"style":220},[1255],{"type":61,"value":421},{"type":55,"tag":89,"props":1257,"children":1258},{"style":112},[1259],{"type":61,"value":1162},{"type":55,"tag":89,"props":1261,"children":1262},{"style":220},[1263],{"type":61,"value":431},{"type":55,"tag":89,"props":1265,"children":1266},{"style":220},[1267],{"type":61,"value":811},{"type":55,"tag":89,"props":1269,"children":1270},{"class":91,"line":691},[1271,1276,1280],{"type":55,"tag":89,"props":1272,"children":1273},{"style":541},[1274],{"type":61,"value":1275},"  roles",{"type":55,"tag":89,"props":1277,"children":1278},{"style":220},[1279],{"type":61,"value":549},{"type":55,"tag":89,"props":1281,"children":1282},{"style":214},[1283],{"type":61,"value":1284}," [\n",{"type":55,"tag":89,"props":1286,"children":1287},{"class":91,"line":714},[1288,1293,1298,1302],{"type":55,"tag":89,"props":1289,"children":1290},{"style":220},[1291],{"type":61,"value":1292},"    \"",{"type":55,"tag":89,"props":1294,"children":1295},{"style":112},[1296],{"type":61,"value":1297},"webpubsub.joinLeaveGroup",{"type":55,"tag":89,"props":1299,"children":1300},{"style":220},[1301],{"type":61,"value":431},{"type":55,"tag":89,"props":1303,"children":1304},{"style":220},[1305],{"type":61,"value":811},{"type":55,"tag":89,"props":1307,"children":1308},{"class":91,"line":726},[1309,1313,1318,1322],{"type":55,"tag":89,"props":1310,"children":1311},{"style":220},[1312],{"type":61,"value":1292},{"type":55,"tag":89,"props":1314,"children":1315},{"style":112},[1316],{"type":61,"value":1317},"webpubsub.sendToGroup",{"type":55,"tag":89,"props":1319,"children":1320},{"style":220},[1321],{"type":61,"value":431},{"type":55,"tag":89,"props":1323,"children":1324},{"style":220},[1325],{"type":61,"value":811},{"type":55,"tag":89,"props":1327,"children":1328},{"class":91,"line":734},[1329,1333,1338,1342,1346],{"type":55,"tag":89,"props":1330,"children":1331},{"style":220},[1332],{"type":61,"value":1292},{"type":55,"tag":89,"props":1334,"children":1335},{"style":112},[1336],{"type":61,"value":1337},"webpubsub.sendToGroup.chat-room",{"type":55,"tag":89,"props":1339,"children":1340},{"style":220},[1341],{"type":61,"value":431},{"type":55,"tag":89,"props":1343,"children":1344},{"style":220},[1345],{"type":61,"value":401},{"type":55,"tag":89,"props":1347,"children":1348},{"style":96},[1349],{"type":61,"value":1350},"  \u002F\u002F specific group\n",{"type":55,"tag":89,"props":1352,"children":1353},{"class":91,"line":743},[1354,1359],{"type":55,"tag":89,"props":1355,"children":1356},{"style":214},[1357],{"type":61,"value":1358},"  ]",{"type":55,"tag":89,"props":1360,"children":1361},{"style":220},[1362],{"type":61,"value":811},{"type":55,"tag":89,"props":1364,"children":1365},{"class":91,"line":772},[1366,1371,1375,1379,1383,1388,1392,1396,1400],{"type":55,"tag":89,"props":1367,"children":1368},{"style":541},[1369],{"type":61,"value":1370},"  groups",{"type":55,"tag":89,"props":1372,"children":1373},{"style":220},[1374],{"type":61,"value":549},{"type":55,"tag":89,"props":1376,"children":1377},{"style":214},[1378],{"type":61,"value":554},{"type":55,"tag":89,"props":1380,"children":1381},{"style":220},[1382],{"type":61,"value":431},{"type":55,"tag":89,"props":1384,"children":1385},{"style":112},[1386],{"type":61,"value":1387},"chat-room",{"type":55,"tag":89,"props":1389,"children":1390},{"style":220},[1391],{"type":61,"value":431},{"type":55,"tag":89,"props":1393,"children":1394},{"style":214},[1395],{"type":61,"value":571},{"type":55,"tag":89,"props":1397,"children":1398},{"style":220},[1399],{"type":61,"value":401},{"type":55,"tag":89,"props":1401,"children":1402},{"style":96},[1403],{"type":61,"value":1404},"  \u002F\u002F auto-join on connect\n",{"type":55,"tag":89,"props":1406,"children":1407},{"class":91,"line":800},[1408,1413,1417,1423],{"type":55,"tag":89,"props":1409,"children":1410},{"style":541},[1411],{"type":61,"value":1412},"  expirationTimeInMinutes",{"type":55,"tag":89,"props":1414,"children":1415},{"style":220},[1416],{"type":61,"value":549},{"type":55,"tag":89,"props":1418,"children":1420},{"style":1419},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1421],{"type":61,"value":1422}," 60",{"type":55,"tag":89,"props":1424,"children":1425},{"style":220},[1426],{"type":61,"value":811},{"type":55,"tag":89,"props":1428,"children":1429},{"class":91,"line":814},[1430,1434,1438],{"type":55,"tag":89,"props":1431,"children":1432},{"style":220},[1433],{"type":61,"value":576},{"type":55,"tag":89,"props":1435,"children":1436},{"style":214},[1437],{"type":61,"value":581},{"type":55,"tag":89,"props":1439,"children":1440},{"style":220},[1441],{"type":61,"value":301},{"type":55,"tag":364,"props":1443,"children":1445},{"id":1444},"send-messages",[1446],{"type":61,"value":1447},"Send Messages",{"type":55,"tag":77,"props":1449,"children":1451},{"className":372,"code":1450,"language":21,"meta":82,"style":82},"\u002F\u002F Broadcast to all connections in hub\nawait client.sendToAll({ message: \"Hello everyone!\" });\nawait client.sendToAll(\"Plain text\", { contentType: \"text\u002Fplain\" });\n\n\u002F\u002F Send to specific user (all their connections)\nawait client.sendToUser(\"user123\", { message: \"Hello!\" });\n\n\u002F\u002F Send to specific connection\nawait client.sendToConnection(\"connectionId\", { data: \"Direct message\" });\n\n\u002F\u002F Send with filter (OData syntax)\nawait client.sendToAll({ message: \"Filtered\" }, {\n  filter: \"userId ne 'admin'\",\n});\n",[1452],{"type":55,"tag":85,"props":1453,"children":1454},{"__ignoreMap":82},[1455,1463,1526,1604,1611,1619,1696,1703,1711,1790,1797,1805,1863,1892],{"type":55,"tag":89,"props":1456,"children":1457},{"class":91,"line":92},[1458],{"type":55,"tag":89,"props":1459,"children":1460},{"style":96},[1461],{"type":61,"value":1462},"\u002F\u002F Broadcast to all connections in hub\n",{"type":55,"tag":89,"props":1464,"children":1465},{"class":91,"line":102},[1466,1471,1475,1479,1484,1488,1492,1497,1501,1505,1510,1514,1518,1522],{"type":55,"tag":89,"props":1467,"children":1468},{"style":383},[1469],{"type":61,"value":1470},"await",{"type":55,"tag":89,"props":1472,"children":1473},{"style":214},[1474],{"type":61,"value":1027},{"type":55,"tag":89,"props":1476,"children":1477},{"style":220},[1478],{"type":61,"value":670},{"type":55,"tag":89,"props":1480,"children":1481},{"style":526},[1482],{"type":61,"value":1483},"sendToAll",{"type":55,"tag":89,"props":1485,"children":1486},{"style":214},[1487],{"type":61,"value":533},{"type":55,"tag":89,"props":1489,"children":1490},{"style":220},[1491],{"type":61,"value":538},{"type":55,"tag":89,"props":1493,"children":1494},{"style":541},[1495],{"type":61,"value":1496}," message",{"type":55,"tag":89,"props":1498,"children":1499},{"style":220},[1500],{"type":61,"value":549},{"type":55,"tag":89,"props":1502,"children":1503},{"style":220},[1504],{"type":61,"value":421},{"type":55,"tag":89,"props":1506,"children":1507},{"style":112},[1508],{"type":61,"value":1509},"Hello everyone!",{"type":55,"tag":89,"props":1511,"children":1512},{"style":220},[1513],{"type":61,"value":431},{"type":55,"tag":89,"props":1515,"children":1516},{"style":220},[1517],{"type":61,"value":411},{"type":55,"tag":89,"props":1519,"children":1520},{"style":214},[1521],{"type":61,"value":581},{"type":55,"tag":89,"props":1523,"children":1524},{"style":220},[1525],{"type":61,"value":301},{"type":55,"tag":89,"props":1527,"children":1528},{"class":91,"line":128},[1529,1533,1537,1541,1545,1549,1553,1558,1562,1566,1570,1575,1579,1583,1588,1592,1596,1600],{"type":55,"tag":89,"props":1530,"children":1531},{"style":383},[1532],{"type":61,"value":1470},{"type":55,"tag":89,"props":1534,"children":1535},{"style":214},[1536],{"type":61,"value":1027},{"type":55,"tag":89,"props":1538,"children":1539},{"style":220},[1540],{"type":61,"value":670},{"type":55,"tag":89,"props":1542,"children":1543},{"style":526},[1544],{"type":61,"value":1483},{"type":55,"tag":89,"props":1546,"children":1547},{"style":214},[1548],{"type":61,"value":533},{"type":55,"tag":89,"props":1550,"children":1551},{"style":220},[1552],{"type":61,"value":431},{"type":55,"tag":89,"props":1554,"children":1555},{"style":112},[1556],{"type":61,"value":1557},"Plain text",{"type":55,"tag":89,"props":1559,"children":1560},{"style":220},[1561],{"type":61,"value":431},{"type":55,"tag":89,"props":1563,"children":1564},{"style":220},[1565],{"type":61,"value":401},{"type":55,"tag":89,"props":1567,"children":1568},{"style":220},[1569],{"type":61,"value":391},{"type":55,"tag":89,"props":1571,"children":1572},{"style":541},[1573],{"type":61,"value":1574}," contentType",{"type":55,"tag":89,"props":1576,"children":1577},{"style":220},[1578],{"type":61,"value":549},{"type":55,"tag":89,"props":1580,"children":1581},{"style":220},[1582],{"type":61,"value":421},{"type":55,"tag":89,"props":1584,"children":1585},{"style":112},[1586],{"type":61,"value":1587},"text\u002Fplain",{"type":55,"tag":89,"props":1589,"children":1590},{"style":220},[1591],{"type":61,"value":431},{"type":55,"tag":89,"props":1593,"children":1594},{"style":220},[1595],{"type":61,"value":411},{"type":55,"tag":89,"props":1597,"children":1598},{"style":214},[1599],{"type":61,"value":581},{"type":55,"tag":89,"props":1601,"children":1602},{"style":220},[1603],{"type":61,"value":301},{"type":55,"tag":89,"props":1605,"children":1606},{"class":91,"line":138},[1607],{"type":55,"tag":89,"props":1608,"children":1609},{"emptyLinePlaceholder":132},[1610],{"type":61,"value":135},{"type":55,"tag":89,"props":1612,"children":1613},{"class":91,"line":147},[1614],{"type":55,"tag":89,"props":1615,"children":1616},{"style":96},[1617],{"type":61,"value":1618},"\u002F\u002F Send to specific user (all their connections)\n",{"type":55,"tag":89,"props":1620,"children":1621},{"class":91,"line":164},[1622,1626,1630,1634,1639,1643,1647,1651,1655,1659,1663,1667,1671,1675,1680,1684,1688,1692],{"type":55,"tag":89,"props":1623,"children":1624},{"style":383},[1625],{"type":61,"value":1470},{"type":55,"tag":89,"props":1627,"children":1628},{"style":214},[1629],{"type":61,"value":1027},{"type":55,"tag":89,"props":1631,"children":1632},{"style":220},[1633],{"type":61,"value":670},{"type":55,"tag":89,"props":1635,"children":1636},{"style":526},[1637],{"type":61,"value":1638},"sendToUser",{"type":55,"tag":89,"props":1640,"children":1641},{"style":214},[1642],{"type":61,"value":533},{"type":55,"tag":89,"props":1644,"children":1645},{"style":220},[1646],{"type":61,"value":431},{"type":55,"tag":89,"props":1648,"children":1649},{"style":112},[1650],{"type":61,"value":1162},{"type":55,"tag":89,"props":1652,"children":1653},{"style":220},[1654],{"type":61,"value":431},{"type":55,"tag":89,"props":1656,"children":1657},{"style":220},[1658],{"type":61,"value":401},{"type":55,"tag":89,"props":1660,"children":1661},{"style":220},[1662],{"type":61,"value":391},{"type":55,"tag":89,"props":1664,"children":1665},{"style":541},[1666],{"type":61,"value":1496},{"type":55,"tag":89,"props":1668,"children":1669},{"style":220},[1670],{"type":61,"value":549},{"type":55,"tag":89,"props":1672,"children":1673},{"style":220},[1674],{"type":61,"value":421},{"type":55,"tag":89,"props":1676,"children":1677},{"style":112},[1678],{"type":61,"value":1679},"Hello!",{"type":55,"tag":89,"props":1681,"children":1682},{"style":220},[1683],{"type":61,"value":431},{"type":55,"tag":89,"props":1685,"children":1686},{"style":220},[1687],{"type":61,"value":411},{"type":55,"tag":89,"props":1689,"children":1690},{"style":214},[1691],{"type":61,"value":581},{"type":55,"tag":89,"props":1693,"children":1694},{"style":220},[1695],{"type":61,"value":301},{"type":55,"tag":89,"props":1697,"children":1698},{"class":91,"line":172},[1699],{"type":55,"tag":89,"props":1700,"children":1701},{"emptyLinePlaceholder":132},[1702],{"type":61,"value":135},{"type":55,"tag":89,"props":1704,"children":1705},{"class":91,"line":181},[1706],{"type":55,"tag":89,"props":1707,"children":1708},{"style":96},[1709],{"type":61,"value":1710},"\u002F\u002F Send to specific connection\n",{"type":55,"tag":89,"props":1712,"children":1713},{"class":91,"line":612},[1714,1718,1722,1726,1731,1735,1739,1744,1748,1752,1756,1761,1765,1769,1774,1778,1782,1786],{"type":55,"tag":89,"props":1715,"children":1716},{"style":383},[1717],{"type":61,"value":1470},{"type":55,"tag":89,"props":1719,"children":1720},{"style":214},[1721],{"type":61,"value":1027},{"type":55,"tag":89,"props":1723,"children":1724},{"style":220},[1725],{"type":61,"value":670},{"type":55,"tag":89,"props":1727,"children":1728},{"style":526},[1729],{"type":61,"value":1730},"sendToConnection",{"type":55,"tag":89,"props":1732,"children":1733},{"style":214},[1734],{"type":61,"value":533},{"type":55,"tag":89,"props":1736,"children":1737},{"style":220},[1738],{"type":61,"value":431},{"type":55,"tag":89,"props":1740,"children":1741},{"style":112},[1742],{"type":61,"value":1743},"connectionId",{"type":55,"tag":89,"props":1745,"children":1746},{"style":220},[1747],{"type":61,"value":431},{"type":55,"tag":89,"props":1749,"children":1750},{"style":220},[1751],{"type":61,"value":401},{"type":55,"tag":89,"props":1753,"children":1754},{"style":220},[1755],{"type":61,"value":391},{"type":55,"tag":89,"props":1757,"children":1758},{"style":541},[1759],{"type":61,"value":1760}," data",{"type":55,"tag":89,"props":1762,"children":1763},{"style":220},[1764],{"type":61,"value":549},{"type":55,"tag":89,"props":1766,"children":1767},{"style":220},[1768],{"type":61,"value":421},{"type":55,"tag":89,"props":1770,"children":1771},{"style":112},[1772],{"type":61,"value":1773},"Direct message",{"type":55,"tag":89,"props":1775,"children":1776},{"style":220},[1777],{"type":61,"value":431},{"type":55,"tag":89,"props":1779,"children":1780},{"style":220},[1781],{"type":61,"value":411},{"type":55,"tag":89,"props":1783,"children":1784},{"style":214},[1785],{"type":61,"value":581},{"type":55,"tag":89,"props":1787,"children":1788},{"style":220},[1789],{"type":61,"value":301},{"type":55,"tag":89,"props":1791,"children":1792},{"class":91,"line":620},[1793],{"type":55,"tag":89,"props":1794,"children":1795},{"emptyLinePlaceholder":132},[1796],{"type":61,"value":135},{"type":55,"tag":89,"props":1798,"children":1799},{"class":91,"line":629},[1800],{"type":55,"tag":89,"props":1801,"children":1802},{"style":96},[1803],{"type":61,"value":1804},"\u002F\u002F Send with filter (OData syntax)\n",{"type":55,"tag":89,"props":1806,"children":1807},{"class":91,"line":659},[1808,1812,1816,1820,1824,1828,1832,1836,1840,1844,1849,1853,1858],{"type":55,"tag":89,"props":1809,"children":1810},{"style":383},[1811],{"type":61,"value":1470},{"type":55,"tag":89,"props":1813,"children":1814},{"style":214},[1815],{"type":61,"value":1027},{"type":55,"tag":89,"props":1817,"children":1818},{"style":220},[1819],{"type":61,"value":670},{"type":55,"tag":89,"props":1821,"children":1822},{"style":526},[1823],{"type":61,"value":1483},{"type":55,"tag":89,"props":1825,"children":1826},{"style":214},[1827],{"type":61,"value":533},{"type":55,"tag":89,"props":1829,"children":1830},{"style":220},[1831],{"type":61,"value":538},{"type":55,"tag":89,"props":1833,"children":1834},{"style":541},[1835],{"type":61,"value":1496},{"type":55,"tag":89,"props":1837,"children":1838},{"style":220},[1839],{"type":61,"value":549},{"type":55,"tag":89,"props":1841,"children":1842},{"style":220},[1843],{"type":61,"value":421},{"type":55,"tag":89,"props":1845,"children":1846},{"style":112},[1847],{"type":61,"value":1848},"Filtered",{"type":55,"tag":89,"props":1850,"children":1851},{"style":220},[1852],{"type":61,"value":431},{"type":55,"tag":89,"props":1854,"children":1855},{"style":220},[1856],{"type":61,"value":1857}," },",{"type":55,"tag":89,"props":1859,"children":1860},{"style":220},[1861],{"type":61,"value":1862}," {\n",{"type":55,"tag":89,"props":1864,"children":1865},{"class":91,"line":691},[1866,1871,1875,1879,1884,1888],{"type":55,"tag":89,"props":1867,"children":1868},{"style":541},[1869],{"type":61,"value":1870},"  filter",{"type":55,"tag":89,"props":1872,"children":1873},{"style":220},[1874],{"type":61,"value":549},{"type":55,"tag":89,"props":1876,"children":1877},{"style":220},[1878],{"type":61,"value":421},{"type":55,"tag":89,"props":1880,"children":1881},{"style":112},[1882],{"type":61,"value":1883},"userId ne 'admin'",{"type":55,"tag":89,"props":1885,"children":1886},{"style":220},[1887],{"type":61,"value":431},{"type":55,"tag":89,"props":1889,"children":1890},{"style":220},[1891],{"type":61,"value":811},{"type":55,"tag":89,"props":1893,"children":1894},{"class":91,"line":714},[1895,1899,1903],{"type":55,"tag":89,"props":1896,"children":1897},{"style":220},[1898],{"type":61,"value":576},{"type":55,"tag":89,"props":1900,"children":1901},{"style":214},[1902],{"type":61,"value":581},{"type":55,"tag":89,"props":1904,"children":1905},{"style":220},[1906],{"type":61,"value":301},{"type":55,"tag":364,"props":1908,"children":1910},{"id":1909},"group-management",[1911],{"type":61,"value":1912},"Group Management",{"type":55,"tag":77,"props":1914,"children":1916},{"className":372,"code":1915,"language":21,"meta":82,"style":82},"const group = client.group(\"chat-room\");\n\n\u002F\u002F Add user\u002Fconnection to group\nawait group.addUser(\"user123\");\nawait group.addConnection(\"connectionId\");\n\n\u002F\u002F Remove from group\nawait group.removeUser(\"user123\");\n\n\u002F\u002F Send to group\nawait group.sendToAll({ message: \"Group message\" });\n\n\u002F\u002F Close all connections in group\nawait group.closeAllConnections({ reason: \"Maintenance\" });\n",[1917],{"type":55,"tag":85,"props":1918,"children":1919},{"__ignoreMap":82},[1920,1973,1980,1988,2033,2077,2084,2092,2136,2143,2151,2211,2218,2226],{"type":55,"tag":89,"props":1921,"children":1922},{"class":91,"line":92},[1923,1927,1932,1936,1940,1944,1949,1953,1957,1961,1965,1969],{"type":55,"tag":89,"props":1924,"children":1925},{"style":506},[1926],{"type":61,"value":509},{"type":55,"tag":89,"props":1928,"children":1929},{"style":214},[1930],{"type":61,"value":1931}," group ",{"type":55,"tag":89,"props":1933,"children":1934},{"style":220},[1935],{"type":61,"value":223},{"type":55,"tag":89,"props":1937,"children":1938},{"style":214},[1939],{"type":61,"value":1027},{"type":55,"tag":89,"props":1941,"children":1942},{"style":220},[1943],{"type":61,"value":670},{"type":55,"tag":89,"props":1945,"children":1946},{"style":526},[1947],{"type":61,"value":1948},"group",{"type":55,"tag":89,"props":1950,"children":1951},{"style":214},[1952],{"type":61,"value":533},{"type":55,"tag":89,"props":1954,"children":1955},{"style":220},[1956],{"type":61,"value":431},{"type":55,"tag":89,"props":1958,"children":1959},{"style":112},[1960],{"type":61,"value":1387},{"type":55,"tag":89,"props":1962,"children":1963},{"style":220},[1964],{"type":61,"value":431},{"type":55,"tag":89,"props":1966,"children":1967},{"style":214},[1968],{"type":61,"value":581},{"type":55,"tag":89,"props":1970,"children":1971},{"style":220},[1972],{"type":61,"value":301},{"type":55,"tag":89,"props":1974,"children":1975},{"class":91,"line":102},[1976],{"type":55,"tag":89,"props":1977,"children":1978},{"emptyLinePlaceholder":132},[1979],{"type":61,"value":135},{"type":55,"tag":89,"props":1981,"children":1982},{"class":91,"line":128},[1983],{"type":55,"tag":89,"props":1984,"children":1985},{"style":96},[1986],{"type":61,"value":1987},"\u002F\u002F Add user\u002Fconnection to group\n",{"type":55,"tag":89,"props":1989,"children":1990},{"class":91,"line":138},[1991,1995,2000,2004,2009,2013,2017,2021,2025,2029],{"type":55,"tag":89,"props":1992,"children":1993},{"style":383},[1994],{"type":61,"value":1470},{"type":55,"tag":89,"props":1996,"children":1997},{"style":214},[1998],{"type":61,"value":1999}," group",{"type":55,"tag":89,"props":2001,"children":2002},{"style":220},[2003],{"type":61,"value":670},{"type":55,"tag":89,"props":2005,"children":2006},{"style":526},[2007],{"type":61,"value":2008},"addUser",{"type":55,"tag":89,"props":2010,"children":2011},{"style":214},[2012],{"type":61,"value":533},{"type":55,"tag":89,"props":2014,"children":2015},{"style":220},[2016],{"type":61,"value":431},{"type":55,"tag":89,"props":2018,"children":2019},{"style":112},[2020],{"type":61,"value":1162},{"type":55,"tag":89,"props":2022,"children":2023},{"style":220},[2024],{"type":61,"value":431},{"type":55,"tag":89,"props":2026,"children":2027},{"style":214},[2028],{"type":61,"value":581},{"type":55,"tag":89,"props":2030,"children":2031},{"style":220},[2032],{"type":61,"value":301},{"type":55,"tag":89,"props":2034,"children":2035},{"class":91,"line":147},[2036,2040,2044,2048,2053,2057,2061,2065,2069,2073],{"type":55,"tag":89,"props":2037,"children":2038},{"style":383},[2039],{"type":61,"value":1470},{"type":55,"tag":89,"props":2041,"children":2042},{"style":214},[2043],{"type":61,"value":1999},{"type":55,"tag":89,"props":2045,"children":2046},{"style":220},[2047],{"type":61,"value":670},{"type":55,"tag":89,"props":2049,"children":2050},{"style":526},[2051],{"type":61,"value":2052},"addConnection",{"type":55,"tag":89,"props":2054,"children":2055},{"style":214},[2056],{"type":61,"value":533},{"type":55,"tag":89,"props":2058,"children":2059},{"style":220},[2060],{"type":61,"value":431},{"type":55,"tag":89,"props":2062,"children":2063},{"style":112},[2064],{"type":61,"value":1743},{"type":55,"tag":89,"props":2066,"children":2067},{"style":220},[2068],{"type":61,"value":431},{"type":55,"tag":89,"props":2070,"children":2071},{"style":214},[2072],{"type":61,"value":581},{"type":55,"tag":89,"props":2074,"children":2075},{"style":220},[2076],{"type":61,"value":301},{"type":55,"tag":89,"props":2078,"children":2079},{"class":91,"line":164},[2080],{"type":55,"tag":89,"props":2081,"children":2082},{"emptyLinePlaceholder":132},[2083],{"type":61,"value":135},{"type":55,"tag":89,"props":2085,"children":2086},{"class":91,"line":172},[2087],{"type":55,"tag":89,"props":2088,"children":2089},{"style":96},[2090],{"type":61,"value":2091},"\u002F\u002F Remove from group\n",{"type":55,"tag":89,"props":2093,"children":2094},{"class":91,"line":181},[2095,2099,2103,2107,2112,2116,2120,2124,2128,2132],{"type":55,"tag":89,"props":2096,"children":2097},{"style":383},[2098],{"type":61,"value":1470},{"type":55,"tag":89,"props":2100,"children":2101},{"style":214},[2102],{"type":61,"value":1999},{"type":55,"tag":89,"props":2104,"children":2105},{"style":220},[2106],{"type":61,"value":670},{"type":55,"tag":89,"props":2108,"children":2109},{"style":526},[2110],{"type":61,"value":2111},"removeUser",{"type":55,"tag":89,"props":2113,"children":2114},{"style":214},[2115],{"type":61,"value":533},{"type":55,"tag":89,"props":2117,"children":2118},{"style":220},[2119],{"type":61,"value":431},{"type":55,"tag":89,"props":2121,"children":2122},{"style":112},[2123],{"type":61,"value":1162},{"type":55,"tag":89,"props":2125,"children":2126},{"style":220},[2127],{"type":61,"value":431},{"type":55,"tag":89,"props":2129,"children":2130},{"style":214},[2131],{"type":61,"value":581},{"type":55,"tag":89,"props":2133,"children":2134},{"style":220},[2135],{"type":61,"value":301},{"type":55,"tag":89,"props":2137,"children":2138},{"class":91,"line":612},[2139],{"type":55,"tag":89,"props":2140,"children":2141},{"emptyLinePlaceholder":132},[2142],{"type":61,"value":135},{"type":55,"tag":89,"props":2144,"children":2145},{"class":91,"line":620},[2146],{"type":55,"tag":89,"props":2147,"children":2148},{"style":96},[2149],{"type":61,"value":2150},"\u002F\u002F Send to group\n",{"type":55,"tag":89,"props":2152,"children":2153},{"class":91,"line":629},[2154,2158,2162,2166,2170,2174,2178,2182,2186,2190,2195,2199,2203,2207],{"type":55,"tag":89,"props":2155,"children":2156},{"style":383},[2157],{"type":61,"value":1470},{"type":55,"tag":89,"props":2159,"children":2160},{"style":214},[2161],{"type":61,"value":1999},{"type":55,"tag":89,"props":2163,"children":2164},{"style":220},[2165],{"type":61,"value":670},{"type":55,"tag":89,"props":2167,"children":2168},{"style":526},[2169],{"type":61,"value":1483},{"type":55,"tag":89,"props":2171,"children":2172},{"style":214},[2173],{"type":61,"value":533},{"type":55,"tag":89,"props":2175,"children":2176},{"style":220},[2177],{"type":61,"value":538},{"type":55,"tag":89,"props":2179,"children":2180},{"style":541},[2181],{"type":61,"value":1496},{"type":55,"tag":89,"props":2183,"children":2184},{"style":220},[2185],{"type":61,"value":549},{"type":55,"tag":89,"props":2187,"children":2188},{"style":220},[2189],{"type":61,"value":421},{"type":55,"tag":89,"props":2191,"children":2192},{"style":112},[2193],{"type":61,"value":2194},"Group message",{"type":55,"tag":89,"props":2196,"children":2197},{"style":220},[2198],{"type":61,"value":431},{"type":55,"tag":89,"props":2200,"children":2201},{"style":220},[2202],{"type":61,"value":411},{"type":55,"tag":89,"props":2204,"children":2205},{"style":214},[2206],{"type":61,"value":581},{"type":55,"tag":89,"props":2208,"children":2209},{"style":220},[2210],{"type":61,"value":301},{"type":55,"tag":89,"props":2212,"children":2213},{"class":91,"line":659},[2214],{"type":55,"tag":89,"props":2215,"children":2216},{"emptyLinePlaceholder":132},[2217],{"type":61,"value":135},{"type":55,"tag":89,"props":2219,"children":2220},{"class":91,"line":691},[2221],{"type":55,"tag":89,"props":2222,"children":2223},{"style":96},[2224],{"type":61,"value":2225},"\u002F\u002F Close all connections in group\n",{"type":55,"tag":89,"props":2227,"children":2228},{"class":91,"line":714},[2229,2233,2237,2241,2246,2250,2254,2259,2263,2267,2272,2276,2280,2284],{"type":55,"tag":89,"props":2230,"children":2231},{"style":383},[2232],{"type":61,"value":1470},{"type":55,"tag":89,"props":2234,"children":2235},{"style":214},[2236],{"type":61,"value":1999},{"type":55,"tag":89,"props":2238,"children":2239},{"style":220},[2240],{"type":61,"value":670},{"type":55,"tag":89,"props":2242,"children":2243},{"style":526},[2244],{"type":61,"value":2245},"closeAllConnections",{"type":55,"tag":89,"props":2247,"children":2248},{"style":214},[2249],{"type":61,"value":533},{"type":55,"tag":89,"props":2251,"children":2252},{"style":220},[2253],{"type":61,"value":538},{"type":55,"tag":89,"props":2255,"children":2256},{"style":541},[2257],{"type":61,"value":2258}," reason",{"type":55,"tag":89,"props":2260,"children":2261},{"style":220},[2262],{"type":61,"value":549},{"type":55,"tag":89,"props":2264,"children":2265},{"style":220},[2266],{"type":61,"value":421},{"type":55,"tag":89,"props":2268,"children":2269},{"style":112},[2270],{"type":61,"value":2271},"Maintenance",{"type":55,"tag":89,"props":2273,"children":2274},{"style":220},[2275],{"type":61,"value":431},{"type":55,"tag":89,"props":2277,"children":2278},{"style":220},[2279],{"type":61,"value":411},{"type":55,"tag":89,"props":2281,"children":2282},{"style":214},[2283],{"type":61,"value":581},{"type":55,"tag":89,"props":2285,"children":2286},{"style":220},[2287],{"type":61,"value":301},{"type":55,"tag":364,"props":2289,"children":2291},{"id":2290},"connection-management",[2292],{"type":61,"value":2293},"Connection Management",{"type":55,"tag":77,"props":2295,"children":2297},{"className":372,"code":2296,"language":21,"meta":82,"style":82},"\u002F\u002F Check existence\nconst userExists = await client.userExists(\"user123\");\nconst connExists = await client.connectionExists(\"connectionId\");\n\n\u002F\u002F Close connections\nawait client.closeConnection(\"connectionId\", { reason: \"Kicked\" });\nawait client.closeUserConnections(\"user123\");\nawait client.closeAllConnections();\n\n\u002F\u002F Permissions\nawait client.grantPermission(\"connectionId\", \"sendToGroup\", { targetName: \"chat\" });\nawait client.revokePermission(\"connectionId\", \"sendToGroup\", { targetName: \"chat\" });\n",[2298],{"type":55,"tag":85,"props":2299,"children":2300},{"__ignoreMap":82},[2301,2309,2366,2423,2430,2438,2515,2559,2586,2593,2601,2695],{"type":55,"tag":89,"props":2302,"children":2303},{"class":91,"line":92},[2304],{"type":55,"tag":89,"props":2305,"children":2306},{"style":96},[2307],{"type":61,"value":2308},"\u002F\u002F Check existence\n",{"type":55,"tag":89,"props":2310,"children":2311},{"class":91,"line":102},[2312,2316,2321,2325,2329,2333,2337,2342,2346,2350,2354,2358,2362],{"type":55,"tag":89,"props":2313,"children":2314},{"style":506},[2315],{"type":61,"value":509},{"type":55,"tag":89,"props":2317,"children":2318},{"style":214},[2319],{"type":61,"value":2320}," userExists ",{"type":55,"tag":89,"props":2322,"children":2323},{"style":220},[2324],{"type":61,"value":223},{"type":55,"tag":89,"props":2326,"children":2327},{"style":383},[2328],{"type":61,"value":1022},{"type":55,"tag":89,"props":2330,"children":2331},{"style":214},[2332],{"type":61,"value":1027},{"type":55,"tag":89,"props":2334,"children":2335},{"style":220},[2336],{"type":61,"value":670},{"type":55,"tag":89,"props":2338,"children":2339},{"style":526},[2340],{"type":61,"value":2341},"userExists",{"type":55,"tag":89,"props":2343,"children":2344},{"style":214},[2345],{"type":61,"value":533},{"type":55,"tag":89,"props":2347,"children":2348},{"style":220},[2349],{"type":61,"value":431},{"type":55,"tag":89,"props":2351,"children":2352},{"style":112},[2353],{"type":61,"value":1162},{"type":55,"tag":89,"props":2355,"children":2356},{"style":220},[2357],{"type":61,"value":431},{"type":55,"tag":89,"props":2359,"children":2360},{"style":214},[2361],{"type":61,"value":581},{"type":55,"tag":89,"props":2363,"children":2364},{"style":220},[2365],{"type":61,"value":301},{"type":55,"tag":89,"props":2367,"children":2368},{"class":91,"line":128},[2369,2373,2378,2382,2386,2390,2394,2399,2403,2407,2411,2415,2419],{"type":55,"tag":89,"props":2370,"children":2371},{"style":506},[2372],{"type":61,"value":509},{"type":55,"tag":89,"props":2374,"children":2375},{"style":214},[2376],{"type":61,"value":2377}," connExists ",{"type":55,"tag":89,"props":2379,"children":2380},{"style":220},[2381],{"type":61,"value":223},{"type":55,"tag":89,"props":2383,"children":2384},{"style":383},[2385],{"type":61,"value":1022},{"type":55,"tag":89,"props":2387,"children":2388},{"style":214},[2389],{"type":61,"value":1027},{"type":55,"tag":89,"props":2391,"children":2392},{"style":220},[2393],{"type":61,"value":670},{"type":55,"tag":89,"props":2395,"children":2396},{"style":526},[2397],{"type":61,"value":2398},"connectionExists",{"type":55,"tag":89,"props":2400,"children":2401},{"style":214},[2402],{"type":61,"value":533},{"type":55,"tag":89,"props":2404,"children":2405},{"style":220},[2406],{"type":61,"value":431},{"type":55,"tag":89,"props":2408,"children":2409},{"style":112},[2410],{"type":61,"value":1743},{"type":55,"tag":89,"props":2412,"children":2413},{"style":220},[2414],{"type":61,"value":431},{"type":55,"tag":89,"props":2416,"children":2417},{"style":214},[2418],{"type":61,"value":581},{"type":55,"tag":89,"props":2420,"children":2421},{"style":220},[2422],{"type":61,"value":301},{"type":55,"tag":89,"props":2424,"children":2425},{"class":91,"line":138},[2426],{"type":55,"tag":89,"props":2427,"children":2428},{"emptyLinePlaceholder":132},[2429],{"type":61,"value":135},{"type":55,"tag":89,"props":2431,"children":2432},{"class":91,"line":147},[2433],{"type":55,"tag":89,"props":2434,"children":2435},{"style":96},[2436],{"type":61,"value":2437},"\u002F\u002F Close connections\n",{"type":55,"tag":89,"props":2439,"children":2440},{"class":91,"line":164},[2441,2445,2449,2453,2458,2462,2466,2470,2474,2478,2482,2486,2490,2494,2499,2503,2507,2511],{"type":55,"tag":89,"props":2442,"children":2443},{"style":383},[2444],{"type":61,"value":1470},{"type":55,"tag":89,"props":2446,"children":2447},{"style":214},[2448],{"type":61,"value":1027},{"type":55,"tag":89,"props":2450,"children":2451},{"style":220},[2452],{"type":61,"value":670},{"type":55,"tag":89,"props":2454,"children":2455},{"style":526},[2456],{"type":61,"value":2457},"closeConnection",{"type":55,"tag":89,"props":2459,"children":2460},{"style":214},[2461],{"type":61,"value":533},{"type":55,"tag":89,"props":2463,"children":2464},{"style":220},[2465],{"type":61,"value":431},{"type":55,"tag":89,"props":2467,"children":2468},{"style":112},[2469],{"type":61,"value":1743},{"type":55,"tag":89,"props":2471,"children":2472},{"style":220},[2473],{"type":61,"value":431},{"type":55,"tag":89,"props":2475,"children":2476},{"style":220},[2477],{"type":61,"value":401},{"type":55,"tag":89,"props":2479,"children":2480},{"style":220},[2481],{"type":61,"value":391},{"type":55,"tag":89,"props":2483,"children":2484},{"style":541},[2485],{"type":61,"value":2258},{"type":55,"tag":89,"props":2487,"children":2488},{"style":220},[2489],{"type":61,"value":549},{"type":55,"tag":89,"props":2491,"children":2492},{"style":220},[2493],{"type":61,"value":421},{"type":55,"tag":89,"props":2495,"children":2496},{"style":112},[2497],{"type":61,"value":2498},"Kicked",{"type":55,"tag":89,"props":2500,"children":2501},{"style":220},[2502],{"type":61,"value":431},{"type":55,"tag":89,"props":2504,"children":2505},{"style":220},[2506],{"type":61,"value":411},{"type":55,"tag":89,"props":2508,"children":2509},{"style":214},[2510],{"type":61,"value":581},{"type":55,"tag":89,"props":2512,"children":2513},{"style":220},[2514],{"type":61,"value":301},{"type":55,"tag":89,"props":2516,"children":2517},{"class":91,"line":172},[2518,2522,2526,2530,2535,2539,2543,2547,2551,2555],{"type":55,"tag":89,"props":2519,"children":2520},{"style":383},[2521],{"type":61,"value":1470},{"type":55,"tag":89,"props":2523,"children":2524},{"style":214},[2525],{"type":61,"value":1027},{"type":55,"tag":89,"props":2527,"children":2528},{"style":220},[2529],{"type":61,"value":670},{"type":55,"tag":89,"props":2531,"children":2532},{"style":526},[2533],{"type":61,"value":2534},"closeUserConnections",{"type":55,"tag":89,"props":2536,"children":2537},{"style":214},[2538],{"type":61,"value":533},{"type":55,"tag":89,"props":2540,"children":2541},{"style":220},[2542],{"type":61,"value":431},{"type":55,"tag":89,"props":2544,"children":2545},{"style":112},[2546],{"type":61,"value":1162},{"type":55,"tag":89,"props":2548,"children":2549},{"style":220},[2550],{"type":61,"value":431},{"type":55,"tag":89,"props":2552,"children":2553},{"style":214},[2554],{"type":61,"value":581},{"type":55,"tag":89,"props":2556,"children":2557},{"style":220},[2558],{"type":61,"value":301},{"type":55,"tag":89,"props":2560,"children":2561},{"class":91,"line":181},[2562,2566,2570,2574,2578,2582],{"type":55,"tag":89,"props":2563,"children":2564},{"style":383},[2565],{"type":61,"value":1470},{"type":55,"tag":89,"props":2567,"children":2568},{"style":214},[2569],{"type":61,"value":1027},{"type":55,"tag":89,"props":2571,"children":2572},{"style":220},[2573],{"type":61,"value":670},{"type":55,"tag":89,"props":2575,"children":2576},{"style":526},[2577],{"type":61,"value":2245},{"type":55,"tag":89,"props":2579,"children":2580},{"style":214},[2581],{"type":61,"value":1041},{"type":55,"tag":89,"props":2583,"children":2584},{"style":220},[2585],{"type":61,"value":301},{"type":55,"tag":89,"props":2587,"children":2588},{"class":91,"line":612},[2589],{"type":55,"tag":89,"props":2590,"children":2591},{"emptyLinePlaceholder":132},[2592],{"type":61,"value":135},{"type":55,"tag":89,"props":2594,"children":2595},{"class":91,"line":620},[2596],{"type":55,"tag":89,"props":2597,"children":2598},{"style":96},[2599],{"type":61,"value":2600},"\u002F\u002F Permissions\n",{"type":55,"tag":89,"props":2602,"children":2603},{"class":91,"line":629},[2604,2608,2612,2616,2621,2625,2629,2633,2637,2641,2645,2650,2654,2658,2662,2667,2671,2675,2679,2683,2687,2691],{"type":55,"tag":89,"props":2605,"children":2606},{"style":383},[2607],{"type":61,"value":1470},{"type":55,"tag":89,"props":2609,"children":2610},{"style":214},[2611],{"type":61,"value":1027},{"type":55,"tag":89,"props":2613,"children":2614},{"style":220},[2615],{"type":61,"value":670},{"type":55,"tag":89,"props":2617,"children":2618},{"style":526},[2619],{"type":61,"value":2620},"grantPermission",{"type":55,"tag":89,"props":2622,"children":2623},{"style":214},[2624],{"type":61,"value":533},{"type":55,"tag":89,"props":2626,"children":2627},{"style":220},[2628],{"type":61,"value":431},{"type":55,"tag":89,"props":2630,"children":2631},{"style":112},[2632],{"type":61,"value":1743},{"type":55,"tag":89,"props":2634,"children":2635},{"style":220},[2636],{"type":61,"value":431},{"type":55,"tag":89,"props":2638,"children":2639},{"style":220},[2640],{"type":61,"value":401},{"type":55,"tag":89,"props":2642,"children":2643},{"style":220},[2644],{"type":61,"value":421},{"type":55,"tag":89,"props":2646,"children":2647},{"style":112},[2648],{"type":61,"value":2649},"sendToGroup",{"type":55,"tag":89,"props":2651,"children":2652},{"style":220},[2653],{"type":61,"value":431},{"type":55,"tag":89,"props":2655,"children":2656},{"style":220},[2657],{"type":61,"value":401},{"type":55,"tag":89,"props":2659,"children":2660},{"style":220},[2661],{"type":61,"value":391},{"type":55,"tag":89,"props":2663,"children":2664},{"style":541},[2665],{"type":61,"value":2666}," targetName",{"type":55,"tag":89,"props":2668,"children":2669},{"style":220},[2670],{"type":61,"value":549},{"type":55,"tag":89,"props":2672,"children":2673},{"style":220},[2674],{"type":61,"value":421},{"type":55,"tag":89,"props":2676,"children":2677},{"style":112},[2678],{"type":61,"value":702},{"type":55,"tag":89,"props":2680,"children":2681},{"style":220},[2682],{"type":61,"value":431},{"type":55,"tag":89,"props":2684,"children":2685},{"style":220},[2686],{"type":61,"value":411},{"type":55,"tag":89,"props":2688,"children":2689},{"style":214},[2690],{"type":61,"value":581},{"type":55,"tag":89,"props":2692,"children":2693},{"style":220},[2694],{"type":61,"value":301},{"type":55,"tag":89,"props":2696,"children":2697},{"class":91,"line":659},[2698,2702,2706,2710,2715,2719,2723,2727,2731,2735,2739,2743,2747,2751,2755,2759,2763,2767,2771,2775,2779,2783],{"type":55,"tag":89,"props":2699,"children":2700},{"style":383},[2701],{"type":61,"value":1470},{"type":55,"tag":89,"props":2703,"children":2704},{"style":214},[2705],{"type":61,"value":1027},{"type":55,"tag":89,"props":2707,"children":2708},{"style":220},[2709],{"type":61,"value":670},{"type":55,"tag":89,"props":2711,"children":2712},{"style":526},[2713],{"type":61,"value":2714},"revokePermission",{"type":55,"tag":89,"props":2716,"children":2717},{"style":214},[2718],{"type":61,"value":533},{"type":55,"tag":89,"props":2720,"children":2721},{"style":220},[2722],{"type":61,"value":431},{"type":55,"tag":89,"props":2724,"children":2725},{"style":112},[2726],{"type":61,"value":1743},{"type":55,"tag":89,"props":2728,"children":2729},{"style":220},[2730],{"type":61,"value":431},{"type":55,"tag":89,"props":2732,"children":2733},{"style":220},[2734],{"type":61,"value":401},{"type":55,"tag":89,"props":2736,"children":2737},{"style":220},[2738],{"type":61,"value":421},{"type":55,"tag":89,"props":2740,"children":2741},{"style":112},[2742],{"type":61,"value":2649},{"type":55,"tag":89,"props":2744,"children":2745},{"style":220},[2746],{"type":61,"value":431},{"type":55,"tag":89,"props":2748,"children":2749},{"style":220},[2750],{"type":61,"value":401},{"type":55,"tag":89,"props":2752,"children":2753},{"style":220},[2754],{"type":61,"value":391},{"type":55,"tag":89,"props":2756,"children":2757},{"style":541},[2758],{"type":61,"value":2666},{"type":55,"tag":89,"props":2760,"children":2761},{"style":220},[2762],{"type":61,"value":549},{"type":55,"tag":89,"props":2764,"children":2765},{"style":220},[2766],{"type":61,"value":421},{"type":55,"tag":89,"props":2768,"children":2769},{"style":112},[2770],{"type":61,"value":702},{"type":55,"tag":89,"props":2772,"children":2773},{"style":220},[2774],{"type":61,"value":431},{"type":55,"tag":89,"props":2776,"children":2777},{"style":220},[2778],{"type":61,"value":411},{"type":55,"tag":89,"props":2780,"children":2781},{"style":214},[2782],{"type":61,"value":581},{"type":55,"tag":89,"props":2784,"children":2785},{"style":220},[2786],{"type":61,"value":301},{"type":55,"tag":70,"props":2788,"children":2790},{"id":2789},"client-side-webpubsubclient",[2791],{"type":61,"value":2792},"Client-Side: WebPubSubClient",{"type":55,"tag":364,"props":2794,"children":2796},{"id":2795},"connect",[2797],{"type":61,"value":2798},"Connect",{"type":55,"tag":77,"props":2800,"children":2802},{"className":372,"code":2801,"language":21,"meta":82,"style":82},"import { WebPubSubClient } from \"@azure\u002Fweb-pubsub-client\";\n\n\u002F\u002F Direct URL\nconst client = new WebPubSubClient(\"\u003Cclient-access-url>\");\n\n\u002F\u002F Dynamic URL from negotiate endpoint\nconst client2 = new WebPubSubClient({\n  getClientAccessUrl: async () => {\n    const response = await fetch(\"\u002Fnegotiate\");\n    const { url } = await response.json();\n    return url;\n  },\n});\n\n\u002F\u002F Register handlers BEFORE starting\nclient.on(\"connected\", (e) => {\n  console.log(`Connected: ${e.connectionId}`);\n});\n\nclient.on(\"group-message\", (e) => {\n  console.log(`${e.message.group}: ${e.message.data}`);\n});\n\nawait client.start();\n",[2803],{"type":55,"tag":85,"props":2804,"children":2805},{"__ignoreMap":82},[2806,2847,2854,2862,2910,2917,2925,2956,2987,3039,3088,3104,3112,3127,3134,3142,3203,3263,3278,3285,3341,3432,3447,3454],{"type":55,"tag":89,"props":2807,"children":2808},{"class":91,"line":92},[2809,2813,2817,2822,2826,2830,2834,2839,2843],{"type":55,"tag":89,"props":2810,"children":2811},{"style":383},[2812],{"type":61,"value":386},{"type":55,"tag":89,"props":2814,"children":2815},{"style":220},[2816],{"type":61,"value":391},{"type":55,"tag":89,"props":2818,"children":2819},{"style":214},[2820],{"type":61,"value":2821}," WebPubSubClient",{"type":55,"tag":89,"props":2823,"children":2824},{"style":220},[2825],{"type":61,"value":411},{"type":55,"tag":89,"props":2827,"children":2828},{"style":383},[2829],{"type":61,"value":416},{"type":55,"tag":89,"props":2831,"children":2832},{"style":220},[2833],{"type":61,"value":421},{"type":55,"tag":89,"props":2835,"children":2836},{"style":112},[2837],{"type":61,"value":2838},"@azure\u002Fweb-pubsub-client",{"type":55,"tag":89,"props":2840,"children":2841},{"style":220},[2842],{"type":61,"value":431},{"type":55,"tag":89,"props":2844,"children":2845},{"style":220},[2846],{"type":61,"value":301},{"type":55,"tag":89,"props":2848,"children":2849},{"class":91,"line":102},[2850],{"type":55,"tag":89,"props":2851,"children":2852},{"emptyLinePlaceholder":132},[2853],{"type":61,"value":135},{"type":55,"tag":89,"props":2855,"children":2856},{"class":91,"line":128},[2857],{"type":55,"tag":89,"props":2858,"children":2859},{"style":96},[2860],{"type":61,"value":2861},"\u002F\u002F Direct URL\n",{"type":55,"tag":89,"props":2863,"children":2864},{"class":91,"line":138},[2865,2869,2873,2877,2881,2885,2889,2893,2898,2902,2906],{"type":55,"tag":89,"props":2866,"children":2867},{"style":506},[2868],{"type":61,"value":509},{"type":55,"tag":89,"props":2870,"children":2871},{"style":214},[2872],{"type":61,"value":639},{"type":55,"tag":89,"props":2874,"children":2875},{"style":220},[2876],{"type":61,"value":223},{"type":55,"tag":89,"props":2878,"children":2879},{"style":220},[2880],{"type":61,"value":523},{"type":55,"tag":89,"props":2882,"children":2883},{"style":526},[2884],{"type":61,"value":2821},{"type":55,"tag":89,"props":2886,"children":2887},{"style":214},[2888],{"type":61,"value":533},{"type":55,"tag":89,"props":2890,"children":2891},{"style":220},[2892],{"type":61,"value":431},{"type":55,"tag":89,"props":2894,"children":2895},{"style":112},[2896],{"type":61,"value":2897},"\u003Cclient-access-url>",{"type":55,"tag":89,"props":2899,"children":2900},{"style":220},[2901],{"type":61,"value":431},{"type":55,"tag":89,"props":2903,"children":2904},{"style":214},[2905],{"type":61,"value":581},{"type":55,"tag":89,"props":2907,"children":2908},{"style":220},[2909],{"type":61,"value":301},{"type":55,"tag":89,"props":2911,"children":2912},{"class":91,"line":147},[2913],{"type":55,"tag":89,"props":2914,"children":2915},{"emptyLinePlaceholder":132},[2916],{"type":61,"value":135},{"type":55,"tag":89,"props":2918,"children":2919},{"class":91,"line":164},[2920],{"type":55,"tag":89,"props":2921,"children":2922},{"style":96},[2923],{"type":61,"value":2924},"\u002F\u002F Dynamic URL from negotiate endpoint\n",{"type":55,"tag":89,"props":2926,"children":2927},{"class":91,"line":172},[2928,2932,2936,2940,2944,2948,2952],{"type":55,"tag":89,"props":2929,"children":2930},{"style":506},[2931],{"type":61,"value":509},{"type":55,"tag":89,"props":2933,"children":2934},{"style":214},[2935],{"type":61,"value":753},{"type":55,"tag":89,"props":2937,"children":2938},{"style":220},[2939],{"type":61,"value":223},{"type":55,"tag":89,"props":2941,"children":2942},{"style":220},[2943],{"type":61,"value":523},{"type":55,"tag":89,"props":2945,"children":2946},{"style":526},[2947],{"type":61,"value":2821},{"type":55,"tag":89,"props":2949,"children":2950},{"style":214},[2951],{"type":61,"value":533},{"type":55,"tag":89,"props":2953,"children":2954},{"style":220},[2955],{"type":61,"value":1141},{"type":55,"tag":89,"props":2957,"children":2958},{"class":91,"line":181},[2959,2964,2968,2973,2978,2983],{"type":55,"tag":89,"props":2960,"children":2961},{"style":526},[2962],{"type":61,"value":2963},"  getClientAccessUrl",{"type":55,"tag":89,"props":2965,"children":2966},{"style":220},[2967],{"type":61,"value":549},{"type":55,"tag":89,"props":2969,"children":2970},{"style":506},[2971],{"type":61,"value":2972}," async",{"type":55,"tag":89,"props":2974,"children":2975},{"style":220},[2976],{"type":61,"value":2977}," ()",{"type":55,"tag":89,"props":2979,"children":2980},{"style":506},[2981],{"type":61,"value":2982}," =>",{"type":55,"tag":89,"props":2984,"children":2985},{"style":220},[2986],{"type":61,"value":1862},{"type":55,"tag":89,"props":2988,"children":2989},{"class":91,"line":612},[2990,2995,3000,3005,3009,3014,3018,3022,3027,3031,3035],{"type":55,"tag":89,"props":2991,"children":2992},{"style":506},[2993],{"type":61,"value":2994},"    const",{"type":55,"tag":89,"props":2996,"children":2997},{"style":214},[2998],{"type":61,"value":2999}," response",{"type":55,"tag":89,"props":3001,"children":3002},{"style":220},[3003],{"type":61,"value":3004}," =",{"type":55,"tag":89,"props":3006,"children":3007},{"style":383},[3008],{"type":61,"value":1022},{"type":55,"tag":89,"props":3010,"children":3011},{"style":526},[3012],{"type":61,"value":3013}," fetch",{"type":55,"tag":89,"props":3015,"children":3016},{"style":541},[3017],{"type":61,"value":533},{"type":55,"tag":89,"props":3019,"children":3020},{"style":220},[3021],{"type":61,"value":431},{"type":55,"tag":89,"props":3023,"children":3024},{"style":112},[3025],{"type":61,"value":3026},"\u002Fnegotiate",{"type":55,"tag":89,"props":3028,"children":3029},{"style":220},[3030],{"type":61,"value":431},{"type":55,"tag":89,"props":3032,"children":3033},{"style":541},[3034],{"type":61,"value":581},{"type":55,"tag":89,"props":3036,"children":3037},{"style":220},[3038],{"type":61,"value":301},{"type":55,"tag":89,"props":3040,"children":3041},{"class":91,"line":620},[3042,3046,3050,3055,3059,3063,3067,3071,3075,3080,3084],{"type":55,"tag":89,"props":3043,"children":3044},{"style":506},[3045],{"type":61,"value":2994},{"type":55,"tag":89,"props":3047,"children":3048},{"style":220},[3049],{"type":61,"value":391},{"type":55,"tag":89,"props":3051,"children":3052},{"style":214},[3053],{"type":61,"value":3054}," url",{"type":55,"tag":89,"props":3056,"children":3057},{"style":220},[3058],{"type":61,"value":411},{"type":55,"tag":89,"props":3060,"children":3061},{"style":220},[3062],{"type":61,"value":3004},{"type":55,"tag":89,"props":3064,"children":3065},{"style":383},[3066],{"type":61,"value":1022},{"type":55,"tag":89,"props":3068,"children":3069},{"style":214},[3070],{"type":61,"value":2999},{"type":55,"tag":89,"props":3072,"children":3073},{"style":220},[3074],{"type":61,"value":670},{"type":55,"tag":89,"props":3076,"children":3077},{"style":526},[3078],{"type":61,"value":3079},"json",{"type":55,"tag":89,"props":3081,"children":3082},{"style":541},[3083],{"type":61,"value":1041},{"type":55,"tag":89,"props":3085,"children":3086},{"style":220},[3087],{"type":61,"value":301},{"type":55,"tag":89,"props":3089,"children":3090},{"class":91,"line":629},[3091,3096,3100],{"type":55,"tag":89,"props":3092,"children":3093},{"style":383},[3094],{"type":61,"value":3095},"    return",{"type":55,"tag":89,"props":3097,"children":3098},{"style":214},[3099],{"type":61,"value":3054},{"type":55,"tag":89,"props":3101,"children":3102},{"style":220},[3103],{"type":61,"value":301},{"type":55,"tag":89,"props":3105,"children":3106},{"class":91,"line":659},[3107],{"type":55,"tag":89,"props":3108,"children":3109},{"style":220},[3110],{"type":61,"value":3111},"  },\n",{"type":55,"tag":89,"props":3113,"children":3114},{"class":91,"line":691},[3115,3119,3123],{"type":55,"tag":89,"props":3116,"children":3117},{"style":220},[3118],{"type":61,"value":576},{"type":55,"tag":89,"props":3120,"children":3121},{"style":214},[3122],{"type":61,"value":581},{"type":55,"tag":89,"props":3124,"children":3125},{"style":220},[3126],{"type":61,"value":301},{"type":55,"tag":89,"props":3128,"children":3129},{"class":91,"line":714},[3130],{"type":55,"tag":89,"props":3131,"children":3132},{"emptyLinePlaceholder":132},[3133],{"type":61,"value":135},{"type":55,"tag":89,"props":3135,"children":3136},{"class":91,"line":726},[3137],{"type":55,"tag":89,"props":3138,"children":3139},{"style":96},[3140],{"type":61,"value":3141},"\u002F\u002F Register handlers BEFORE starting\n",{"type":55,"tag":89,"props":3143,"children":3144},{"class":91,"line":734},[3145,3150,3154,3159,3163,3167,3172,3176,3180,3185,3191,3195,3199],{"type":55,"tag":89,"props":3146,"children":3147},{"style":214},[3148],{"type":61,"value":3149},"client",{"type":55,"tag":89,"props":3151,"children":3152},{"style":220},[3153],{"type":61,"value":670},{"type":55,"tag":89,"props":3155,"children":3156},{"style":526},[3157],{"type":61,"value":3158},"on",{"type":55,"tag":89,"props":3160,"children":3161},{"style":214},[3162],{"type":61,"value":533},{"type":55,"tag":89,"props":3164,"children":3165},{"style":220},[3166],{"type":61,"value":431},{"type":55,"tag":89,"props":3168,"children":3169},{"style":112},[3170],{"type":61,"value":3171},"connected",{"type":55,"tag":89,"props":3173,"children":3174},{"style":220},[3175],{"type":61,"value":431},{"type":55,"tag":89,"props":3177,"children":3178},{"style":220},[3179],{"type":61,"value":401},{"type":55,"tag":89,"props":3181,"children":3182},{"style":220},[3183],{"type":61,"value":3184}," (",{"type":55,"tag":89,"props":3186,"children":3188},{"style":3187},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[3189],{"type":61,"value":3190},"e",{"type":55,"tag":89,"props":3192,"children":3193},{"style":220},[3194],{"type":61,"value":581},{"type":55,"tag":89,"props":3196,"children":3197},{"style":506},[3198],{"type":61,"value":2982},{"type":55,"tag":89,"props":3200,"children":3201},{"style":220},[3202],{"type":61,"value":1862},{"type":55,"tag":89,"props":3204,"children":3205},{"class":91,"line":743},[3206,3211,3215,3219,3223,3228,3233,3238,3242,3246,3250,3255,3259],{"type":55,"tag":89,"props":3207,"children":3208},{"style":214},[3209],{"type":61,"value":3210},"  console",{"type":55,"tag":89,"props":3212,"children":3213},{"style":220},[3214],{"type":61,"value":670},{"type":55,"tag":89,"props":3216,"children":3217},{"style":526},[3218],{"type":61,"value":1062},{"type":55,"tag":89,"props":3220,"children":3221},{"style":541},[3222],{"type":61,"value":533},{"type":55,"tag":89,"props":3224,"children":3225},{"style":220},[3226],{"type":61,"value":3227},"`",{"type":55,"tag":89,"props":3229,"children":3230},{"style":112},[3231],{"type":61,"value":3232},"Connected: ",{"type":55,"tag":89,"props":3234,"children":3235},{"style":220},[3236],{"type":61,"value":3237},"${",{"type":55,"tag":89,"props":3239,"children":3240},{"style":214},[3241],{"type":61,"value":3190},{"type":55,"tag":89,"props":3243,"children":3244},{"style":220},[3245],{"type":61,"value":670},{"type":55,"tag":89,"props":3247,"children":3248},{"style":214},[3249],{"type":61,"value":1743},{"type":55,"tag":89,"props":3251,"children":3252},{"style":220},[3253],{"type":61,"value":3254},"}`",{"type":55,"tag":89,"props":3256,"children":3257},{"style":541},[3258],{"type":61,"value":581},{"type":55,"tag":89,"props":3260,"children":3261},{"style":220},[3262],{"type":61,"value":301},{"type":55,"tag":89,"props":3264,"children":3265},{"class":91,"line":772},[3266,3270,3274],{"type":55,"tag":89,"props":3267,"children":3268},{"style":220},[3269],{"type":61,"value":576},{"type":55,"tag":89,"props":3271,"children":3272},{"style":214},[3273],{"type":61,"value":581},{"type":55,"tag":89,"props":3275,"children":3276},{"style":220},[3277],{"type":61,"value":301},{"type":55,"tag":89,"props":3279,"children":3280},{"class":91,"line":800},[3281],{"type":55,"tag":89,"props":3282,"children":3283},{"emptyLinePlaceholder":132},[3284],{"type":61,"value":135},{"type":55,"tag":89,"props":3286,"children":3287},{"class":91,"line":814},[3288,3292,3296,3300,3304,3308,3313,3317,3321,3325,3329,3333,3337],{"type":55,"tag":89,"props":3289,"children":3290},{"style":214},[3291],{"type":61,"value":3149},{"type":55,"tag":89,"props":3293,"children":3294},{"style":220},[3295],{"type":61,"value":670},{"type":55,"tag":89,"props":3297,"children":3298},{"style":526},[3299],{"type":61,"value":3158},{"type":55,"tag":89,"props":3301,"children":3302},{"style":214},[3303],{"type":61,"value":533},{"type":55,"tag":89,"props":3305,"children":3306},{"style":220},[3307],{"type":61,"value":431},{"type":55,"tag":89,"props":3309,"children":3310},{"style":112},[3311],{"type":61,"value":3312},"group-message",{"type":55,"tag":89,"props":3314,"children":3315},{"style":220},[3316],{"type":61,"value":431},{"type":55,"tag":89,"props":3318,"children":3319},{"style":220},[3320],{"type":61,"value":401},{"type":55,"tag":89,"props":3322,"children":3323},{"style":220},[3324],{"type":61,"value":3184},{"type":55,"tag":89,"props":3326,"children":3327},{"style":3187},[3328],{"type":61,"value":3190},{"type":55,"tag":89,"props":3330,"children":3331},{"style":220},[3332],{"type":61,"value":581},{"type":55,"tag":89,"props":3334,"children":3335},{"style":506},[3336],{"type":61,"value":2982},{"type":55,"tag":89,"props":3338,"children":3339},{"style":220},[3340],{"type":61,"value":1862},{"type":55,"tag":89,"props":3342,"children":3343},{"class":91,"line":831},[3344,3348,3352,3356,3360,3365,3369,3373,3378,3382,3386,3390,3395,3399,3403,3407,3411,3415,3420,3424,3428],{"type":55,"tag":89,"props":3345,"children":3346},{"style":214},[3347],{"type":61,"value":3210},{"type":55,"tag":89,"props":3349,"children":3350},{"style":220},[3351],{"type":61,"value":670},{"type":55,"tag":89,"props":3353,"children":3354},{"style":526},[3355],{"type":61,"value":1062},{"type":55,"tag":89,"props":3357,"children":3358},{"style":541},[3359],{"type":61,"value":533},{"type":55,"tag":89,"props":3361,"children":3362},{"style":220},[3363],{"type":61,"value":3364},"`${",{"type":55,"tag":89,"props":3366,"children":3367},{"style":214},[3368],{"type":61,"value":3190},{"type":55,"tag":89,"props":3370,"children":3371},{"style":220},[3372],{"type":61,"value":670},{"type":55,"tag":89,"props":3374,"children":3375},{"style":214},[3376],{"type":61,"value":3377},"message",{"type":55,"tag":89,"props":3379,"children":3380},{"style":220},[3381],{"type":61,"value":670},{"type":55,"tag":89,"props":3383,"children":3384},{"style":214},[3385],{"type":61,"value":1948},{"type":55,"tag":89,"props":3387,"children":3388},{"style":220},[3389],{"type":61,"value":576},{"type":55,"tag":89,"props":3391,"children":3392},{"style":112},[3393],{"type":61,"value":3394},": ",{"type":55,"tag":89,"props":3396,"children":3397},{"style":220},[3398],{"type":61,"value":3237},{"type":55,"tag":89,"props":3400,"children":3401},{"style":214},[3402],{"type":61,"value":3190},{"type":55,"tag":89,"props":3404,"children":3405},{"style":220},[3406],{"type":61,"value":670},{"type":55,"tag":89,"props":3408,"children":3409},{"style":214},[3410],{"type":61,"value":3377},{"type":55,"tag":89,"props":3412,"children":3413},{"style":220},[3414],{"type":61,"value":670},{"type":55,"tag":89,"props":3416,"children":3417},{"style":214},[3418],{"type":61,"value":3419},"data",{"type":55,"tag":89,"props":3421,"children":3422},{"style":220},[3423],{"type":61,"value":3254},{"type":55,"tag":89,"props":3425,"children":3426},{"style":541},[3427],{"type":61,"value":581},{"type":55,"tag":89,"props":3429,"children":3430},{"style":220},[3431],{"type":61,"value":301},{"type":55,"tag":89,"props":3433,"children":3434},{"class":91,"line":843},[3435,3439,3443],{"type":55,"tag":89,"props":3436,"children":3437},{"style":220},[3438],{"type":61,"value":576},{"type":55,"tag":89,"props":3440,"children":3441},{"style":214},[3442],{"type":61,"value":581},{"type":55,"tag":89,"props":3444,"children":3445},{"style":220},[3446],{"type":61,"value":301},{"type":55,"tag":89,"props":3448,"children":3449},{"class":91,"line":851},[3450],{"type":55,"tag":89,"props":3451,"children":3452},{"emptyLinePlaceholder":132},[3453],{"type":61,"value":135},{"type":55,"tag":89,"props":3455,"children":3456},{"class":91,"line":860},[3457,3461,3465,3469,3474,3478],{"type":55,"tag":89,"props":3458,"children":3459},{"style":383},[3460],{"type":61,"value":1470},{"type":55,"tag":89,"props":3462,"children":3463},{"style":214},[3464],{"type":61,"value":1027},{"type":55,"tag":89,"props":3466,"children":3467},{"style":220},[3468],{"type":61,"value":670},{"type":55,"tag":89,"props":3470,"children":3471},{"style":526},[3472],{"type":61,"value":3473},"start",{"type":55,"tag":89,"props":3475,"children":3476},{"style":214},[3477],{"type":61,"value":1041},{"type":55,"tag":89,"props":3479,"children":3480},{"style":220},[3481],{"type":61,"value":301},{"type":55,"tag":364,"props":3483,"children":3485},{"id":3484},"send-messages-1",[3486],{"type":61,"value":1447},{"type":55,"tag":77,"props":3488,"children":3490},{"className":372,"code":3489,"language":21,"meta":82,"style":82},"\u002F\u002F Join group first\nawait client.joinGroup(\"chat-room\");\n\n\u002F\u002F Send to group\nawait client.sendToGroup(\"chat-room\", \"Hello!\", \"text\");\nawait client.sendToGroup(\"chat-room\", { type: \"message\", content: \"Hi\" }, \"json\");\n\n\u002F\u002F Send options\nawait client.sendToGroup(\"chat-room\", \"Hello\", \"text\", {\n  noEcho: true,        \u002F\u002F Don't echo back to sender\n  fireAndForget: true, \u002F\u002F Don't wait for ack\n});\n\n\u002F\u002F Send event to server\nawait client.sendEvent(\"userAction\", { action: \"typing\" }, \"json\");\n",[3491],{"type":55,"tag":85,"props":3492,"children":3493},{"__ignoreMap":82},[3494,3502,3546,3553,3560,3635,3749,3756,3764,3840,3867,3892,3907,3914,3922],{"type":55,"tag":89,"props":3495,"children":3496},{"class":91,"line":92},[3497],{"type":55,"tag":89,"props":3498,"children":3499},{"style":96},[3500],{"type":61,"value":3501},"\u002F\u002F Join group first\n",{"type":55,"tag":89,"props":3503,"children":3504},{"class":91,"line":102},[3505,3509,3513,3517,3522,3526,3530,3534,3538,3542],{"type":55,"tag":89,"props":3506,"children":3507},{"style":383},[3508],{"type":61,"value":1470},{"type":55,"tag":89,"props":3510,"children":3511},{"style":214},[3512],{"type":61,"value":1027},{"type":55,"tag":89,"props":3514,"children":3515},{"style":220},[3516],{"type":61,"value":670},{"type":55,"tag":89,"props":3518,"children":3519},{"style":526},[3520],{"type":61,"value":3521},"joinGroup",{"type":55,"tag":89,"props":3523,"children":3524},{"style":214},[3525],{"type":61,"value":533},{"type":55,"tag":89,"props":3527,"children":3528},{"style":220},[3529],{"type":61,"value":431},{"type":55,"tag":89,"props":3531,"children":3532},{"style":112},[3533],{"type":61,"value":1387},{"type":55,"tag":89,"props":3535,"children":3536},{"style":220},[3537],{"type":61,"value":431},{"type":55,"tag":89,"props":3539,"children":3540},{"style":214},[3541],{"type":61,"value":581},{"type":55,"tag":89,"props":3543,"children":3544},{"style":220},[3545],{"type":61,"value":301},{"type":55,"tag":89,"props":3547,"children":3548},{"class":91,"line":128},[3549],{"type":55,"tag":89,"props":3550,"children":3551},{"emptyLinePlaceholder":132},[3552],{"type":61,"value":135},{"type":55,"tag":89,"props":3554,"children":3555},{"class":91,"line":138},[3556],{"type":55,"tag":89,"props":3557,"children":3558},{"style":96},[3559],{"type":61,"value":2150},{"type":55,"tag":89,"props":3561,"children":3562},{"class":91,"line":147},[3563,3567,3571,3575,3579,3583,3587,3591,3595,3599,3603,3607,3611,3615,3619,3623,3627,3631],{"type":55,"tag":89,"props":3564,"children":3565},{"style":383},[3566],{"type":61,"value":1470},{"type":55,"tag":89,"props":3568,"children":3569},{"style":214},[3570],{"type":61,"value":1027},{"type":55,"tag":89,"props":3572,"children":3573},{"style":220},[3574],{"type":61,"value":670},{"type":55,"tag":89,"props":3576,"children":3577},{"style":526},[3578],{"type":61,"value":2649},{"type":55,"tag":89,"props":3580,"children":3581},{"style":214},[3582],{"type":61,"value":533},{"type":55,"tag":89,"props":3584,"children":3585},{"style":220},[3586],{"type":61,"value":431},{"type":55,"tag":89,"props":3588,"children":3589},{"style":112},[3590],{"type":61,"value":1387},{"type":55,"tag":89,"props":3592,"children":3593},{"style":220},[3594],{"type":61,"value":431},{"type":55,"tag":89,"props":3596,"children":3597},{"style":220},[3598],{"type":61,"value":401},{"type":55,"tag":89,"props":3600,"children":3601},{"style":220},[3602],{"type":61,"value":421},{"type":55,"tag":89,"props":3604,"children":3605},{"style":112},[3606],{"type":61,"value":1679},{"type":55,"tag":89,"props":3608,"children":3609},{"style":220},[3610],{"type":61,"value":431},{"type":55,"tag":89,"props":3612,"children":3613},{"style":220},[3614],{"type":61,"value":401},{"type":55,"tag":89,"props":3616,"children":3617},{"style":220},[3618],{"type":61,"value":421},{"type":55,"tag":89,"props":3620,"children":3621},{"style":112},[3622],{"type":61,"value":61},{"type":55,"tag":89,"props":3624,"children":3625},{"style":220},[3626],{"type":61,"value":431},{"type":55,"tag":89,"props":3628,"children":3629},{"style":214},[3630],{"type":61,"value":581},{"type":55,"tag":89,"props":3632,"children":3633},{"style":220},[3634],{"type":61,"value":301},{"type":55,"tag":89,"props":3636,"children":3637},{"class":91,"line":164},[3638,3642,3646,3650,3654,3658,3662,3666,3670,3674,3678,3683,3687,3691,3695,3699,3703,3708,3712,3716,3721,3725,3729,3733,3737,3741,3745],{"type":55,"tag":89,"props":3639,"children":3640},{"style":383},[3641],{"type":61,"value":1470},{"type":55,"tag":89,"props":3643,"children":3644},{"style":214},[3645],{"type":61,"value":1027},{"type":55,"tag":89,"props":3647,"children":3648},{"style":220},[3649],{"type":61,"value":670},{"type":55,"tag":89,"props":3651,"children":3652},{"style":526},[3653],{"type":61,"value":2649},{"type":55,"tag":89,"props":3655,"children":3656},{"style":214},[3657],{"type":61,"value":533},{"type":55,"tag":89,"props":3659,"children":3660},{"style":220},[3661],{"type":61,"value":431},{"type":55,"tag":89,"props":3663,"children":3664},{"style":112},[3665],{"type":61,"value":1387},{"type":55,"tag":89,"props":3667,"children":3668},{"style":220},[3669],{"type":61,"value":431},{"type":55,"tag":89,"props":3671,"children":3672},{"style":220},[3673],{"type":61,"value":401},{"type":55,"tag":89,"props":3675,"children":3676},{"style":220},[3677],{"type":61,"value":391},{"type":55,"tag":89,"props":3679,"children":3680},{"style":541},[3681],{"type":61,"value":3682}," type",{"type":55,"tag":89,"props":3684,"children":3685},{"style":220},[3686],{"type":61,"value":549},{"type":55,"tag":89,"props":3688,"children":3689},{"style":220},[3690],{"type":61,"value":421},{"type":55,"tag":89,"props":3692,"children":3693},{"style":112},[3694],{"type":61,"value":3377},{"type":55,"tag":89,"props":3696,"children":3697},{"style":220},[3698],{"type":61,"value":431},{"type":55,"tag":89,"props":3700,"children":3701},{"style":220},[3702],{"type":61,"value":401},{"type":55,"tag":89,"props":3704,"children":3705},{"style":541},[3706],{"type":61,"value":3707}," content",{"type":55,"tag":89,"props":3709,"children":3710},{"style":220},[3711],{"type":61,"value":549},{"type":55,"tag":89,"props":3713,"children":3714},{"style":220},[3715],{"type":61,"value":421},{"type":55,"tag":89,"props":3717,"children":3718},{"style":112},[3719],{"type":61,"value":3720},"Hi",{"type":55,"tag":89,"props":3722,"children":3723},{"style":220},[3724],{"type":61,"value":431},{"type":55,"tag":89,"props":3726,"children":3727},{"style":220},[3728],{"type":61,"value":1857},{"type":55,"tag":89,"props":3730,"children":3731},{"style":220},[3732],{"type":61,"value":421},{"type":55,"tag":89,"props":3734,"children":3735},{"style":112},[3736],{"type":61,"value":3079},{"type":55,"tag":89,"props":3738,"children":3739},{"style":220},[3740],{"type":61,"value":431},{"type":55,"tag":89,"props":3742,"children":3743},{"style":214},[3744],{"type":61,"value":581},{"type":55,"tag":89,"props":3746,"children":3747},{"style":220},[3748],{"type":61,"value":301},{"type":55,"tag":89,"props":3750,"children":3751},{"class":91,"line":172},[3752],{"type":55,"tag":89,"props":3753,"children":3754},{"emptyLinePlaceholder":132},[3755],{"type":61,"value":135},{"type":55,"tag":89,"props":3757,"children":3758},{"class":91,"line":181},[3759],{"type":55,"tag":89,"props":3760,"children":3761},{"style":96},[3762],{"type":61,"value":3763},"\u002F\u002F Send options\n",{"type":55,"tag":89,"props":3765,"children":3766},{"class":91,"line":612},[3767,3771,3775,3779,3783,3787,3791,3795,3799,3803,3807,3812,3816,3820,3824,3828,3832,3836],{"type":55,"tag":89,"props":3768,"children":3769},{"style":383},[3770],{"type":61,"value":1470},{"type":55,"tag":89,"props":3772,"children":3773},{"style":214},[3774],{"type":61,"value":1027},{"type":55,"tag":89,"props":3776,"children":3777},{"style":220},[3778],{"type":61,"value":670},{"type":55,"tag":89,"props":3780,"children":3781},{"style":526},[3782],{"type":61,"value":2649},{"type":55,"tag":89,"props":3784,"children":3785},{"style":214},[3786],{"type":61,"value":533},{"type":55,"tag":89,"props":3788,"children":3789},{"style":220},[3790],{"type":61,"value":431},{"type":55,"tag":89,"props":3792,"children":3793},{"style":112},[3794],{"type":61,"value":1387},{"type":55,"tag":89,"props":3796,"children":3797},{"style":220},[3798],{"type":61,"value":431},{"type":55,"tag":89,"props":3800,"children":3801},{"style":220},[3802],{"type":61,"value":401},{"type":55,"tag":89,"props":3804,"children":3805},{"style":220},[3806],{"type":61,"value":421},{"type":55,"tag":89,"props":3808,"children":3809},{"style":112},[3810],{"type":61,"value":3811},"Hello",{"type":55,"tag":89,"props":3813,"children":3814},{"style":220},[3815],{"type":61,"value":431},{"type":55,"tag":89,"props":3817,"children":3818},{"style":220},[3819],{"type":61,"value":401},{"type":55,"tag":89,"props":3821,"children":3822},{"style":220},[3823],{"type":61,"value":421},{"type":55,"tag":89,"props":3825,"children":3826},{"style":112},[3827],{"type":61,"value":61},{"type":55,"tag":89,"props":3829,"children":3830},{"style":220},[3831],{"type":61,"value":431},{"type":55,"tag":89,"props":3833,"children":3834},{"style":220},[3835],{"type":61,"value":401},{"type":55,"tag":89,"props":3837,"children":3838},{"style":220},[3839],{"type":61,"value":1862},{"type":55,"tag":89,"props":3841,"children":3842},{"class":91,"line":620},[3843,3848,3852,3858,3862],{"type":55,"tag":89,"props":3844,"children":3845},{"style":541},[3846],{"type":61,"value":3847},"  noEcho",{"type":55,"tag":89,"props":3849,"children":3850},{"style":220},[3851],{"type":61,"value":549},{"type":55,"tag":89,"props":3853,"children":3855},{"style":3854},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[3856],{"type":61,"value":3857}," true",{"type":55,"tag":89,"props":3859,"children":3860},{"style":220},[3861],{"type":61,"value":401},{"type":55,"tag":89,"props":3863,"children":3864},{"style":96},[3865],{"type":61,"value":3866},"        \u002F\u002F Don't echo back to sender\n",{"type":55,"tag":89,"props":3868,"children":3869},{"class":91,"line":629},[3870,3875,3879,3883,3887],{"type":55,"tag":89,"props":3871,"children":3872},{"style":541},[3873],{"type":61,"value":3874},"  fireAndForget",{"type":55,"tag":89,"props":3876,"children":3877},{"style":220},[3878],{"type":61,"value":549},{"type":55,"tag":89,"props":3880,"children":3881},{"style":3854},[3882],{"type":61,"value":3857},{"type":55,"tag":89,"props":3884,"children":3885},{"style":220},[3886],{"type":61,"value":401},{"type":55,"tag":89,"props":3888,"children":3889},{"style":96},[3890],{"type":61,"value":3891}," \u002F\u002F Don't wait for ack\n",{"type":55,"tag":89,"props":3893,"children":3894},{"class":91,"line":659},[3895,3899,3903],{"type":55,"tag":89,"props":3896,"children":3897},{"style":220},[3898],{"type":61,"value":576},{"type":55,"tag":89,"props":3900,"children":3901},{"style":214},[3902],{"type":61,"value":581},{"type":55,"tag":89,"props":3904,"children":3905},{"style":220},[3906],{"type":61,"value":301},{"type":55,"tag":89,"props":3908,"children":3909},{"class":91,"line":691},[3910],{"type":55,"tag":89,"props":3911,"children":3912},{"emptyLinePlaceholder":132},[3913],{"type":61,"value":135},{"type":55,"tag":89,"props":3915,"children":3916},{"class":91,"line":714},[3917],{"type":55,"tag":89,"props":3918,"children":3919},{"style":96},[3920],{"type":61,"value":3921},"\u002F\u002F Send event to server\n",{"type":55,"tag":89,"props":3923,"children":3924},{"class":91,"line":726},[3925,3929,3933,3937,3942,3946,3950,3955,3959,3963,3967,3972,3976,3980,3985,3989,3993,3997,4001,4005,4009],{"type":55,"tag":89,"props":3926,"children":3927},{"style":383},[3928],{"type":61,"value":1470},{"type":55,"tag":89,"props":3930,"children":3931},{"style":214},[3932],{"type":61,"value":1027},{"type":55,"tag":89,"props":3934,"children":3935},{"style":220},[3936],{"type":61,"value":670},{"type":55,"tag":89,"props":3938,"children":3939},{"style":526},[3940],{"type":61,"value":3941},"sendEvent",{"type":55,"tag":89,"props":3943,"children":3944},{"style":214},[3945],{"type":61,"value":533},{"type":55,"tag":89,"props":3947,"children":3948},{"style":220},[3949],{"type":61,"value":431},{"type":55,"tag":89,"props":3951,"children":3952},{"style":112},[3953],{"type":61,"value":3954},"userAction",{"type":55,"tag":89,"props":3956,"children":3957},{"style":220},[3958],{"type":61,"value":431},{"type":55,"tag":89,"props":3960,"children":3961},{"style":220},[3962],{"type":61,"value":401},{"type":55,"tag":89,"props":3964,"children":3965},{"style":220},[3966],{"type":61,"value":391},{"type":55,"tag":89,"props":3968,"children":3969},{"style":541},[3970],{"type":61,"value":3971}," action",{"type":55,"tag":89,"props":3973,"children":3974},{"style":220},[3975],{"type":61,"value":549},{"type":55,"tag":89,"props":3977,"children":3978},{"style":220},[3979],{"type":61,"value":421},{"type":55,"tag":89,"props":3981,"children":3982},{"style":112},[3983],{"type":61,"value":3984},"typing",{"type":55,"tag":89,"props":3986,"children":3987},{"style":220},[3988],{"type":61,"value":431},{"type":55,"tag":89,"props":3990,"children":3991},{"style":220},[3992],{"type":61,"value":1857},{"type":55,"tag":89,"props":3994,"children":3995},{"style":220},[3996],{"type":61,"value":421},{"type":55,"tag":89,"props":3998,"children":3999},{"style":112},[4000],{"type":61,"value":3079},{"type":55,"tag":89,"props":4002,"children":4003},{"style":220},[4004],{"type":61,"value":431},{"type":55,"tag":89,"props":4006,"children":4007},{"style":214},[4008],{"type":61,"value":581},{"type":55,"tag":89,"props":4010,"children":4011},{"style":220},[4012],{"type":61,"value":301},{"type":55,"tag":364,"props":4014,"children":4016},{"id":4015},"event-handlers",[4017],{"type":61,"value":4018},"Event Handlers",{"type":55,"tag":77,"props":4020,"children":4022},{"className":372,"code":4021,"language":21,"meta":82,"style":82},"\u002F\u002F Connection lifecycle\nclient.on(\"connected\", (e) => {\n  console.log(`Connected: ${e.connectionId}, User: ${e.userId}`);\n});\n\nclient.on(\"disconnected\", (e) => {\n  console.log(`Disconnected: ${e.message}`);\n});\n\nclient.on(\"stopped\", () => {\n  console.log(\"Client stopped\");\n});\n\n\u002F\u002F Messages\nclient.on(\"group-message\", (e) => {\n  console.log(`[${e.message.group}] ${e.message.fromUserId}: ${e.message.data}`);\n});\n\nclient.on(\"server-message\", (e) => {\n  console.log(`Server: ${e.message.data}`);\n});\n\n\u002F\u002F Rejoin failure\nclient.on(\"rejoin-group-failed\", (e) => {\n  console.log(`Failed to rejoin ${e.group}: ${e.error}`);\n});\n",[4023],{"type":55,"tag":85,"props":4024,"children":4025},{"__ignoreMap":82},[4026,4034,4089,4170,4185,4192,4248,4304,4319,4326,4374,4414,4429,4436,4444,4499,4629,4644,4651,4707,4771,4786,4793,4801,4857,4938],{"type":55,"tag":89,"props":4027,"children":4028},{"class":91,"line":92},[4029],{"type":55,"tag":89,"props":4030,"children":4031},{"style":96},[4032],{"type":61,"value":4033},"\u002F\u002F Connection lifecycle\n",{"type":55,"tag":89,"props":4035,"children":4036},{"class":91,"line":102},[4037,4041,4045,4049,4053,4057,4061,4065,4069,4073,4077,4081,4085],{"type":55,"tag":89,"props":4038,"children":4039},{"style":214},[4040],{"type":61,"value":3149},{"type":55,"tag":89,"props":4042,"children":4043},{"style":220},[4044],{"type":61,"value":670},{"type":55,"tag":89,"props":4046,"children":4047},{"style":526},[4048],{"type":61,"value":3158},{"type":55,"tag":89,"props":4050,"children":4051},{"style":214},[4052],{"type":61,"value":533},{"type":55,"tag":89,"props":4054,"children":4055},{"style":220},[4056],{"type":61,"value":431},{"type":55,"tag":89,"props":4058,"children":4059},{"style":112},[4060],{"type":61,"value":3171},{"type":55,"tag":89,"props":4062,"children":4063},{"style":220},[4064],{"type":61,"value":431},{"type":55,"tag":89,"props":4066,"children":4067},{"style":220},[4068],{"type":61,"value":401},{"type":55,"tag":89,"props":4070,"children":4071},{"style":220},[4072],{"type":61,"value":3184},{"type":55,"tag":89,"props":4074,"children":4075},{"style":3187},[4076],{"type":61,"value":3190},{"type":55,"tag":89,"props":4078,"children":4079},{"style":220},[4080],{"type":61,"value":581},{"type":55,"tag":89,"props":4082,"children":4083},{"style":506},[4084],{"type":61,"value":2982},{"type":55,"tag":89,"props":4086,"children":4087},{"style":220},[4088],{"type":61,"value":1862},{"type":55,"tag":89,"props":4090,"children":4091},{"class":91,"line":128},[4092,4096,4100,4104,4108,4112,4116,4120,4124,4128,4132,4136,4141,4145,4149,4153,4158,4162,4166],{"type":55,"tag":89,"props":4093,"children":4094},{"style":214},[4095],{"type":61,"value":3210},{"type":55,"tag":89,"props":4097,"children":4098},{"style":220},[4099],{"type":61,"value":670},{"type":55,"tag":89,"props":4101,"children":4102},{"style":526},[4103],{"type":61,"value":1062},{"type":55,"tag":89,"props":4105,"children":4106},{"style":541},[4107],{"type":61,"value":533},{"type":55,"tag":89,"props":4109,"children":4110},{"style":220},[4111],{"type":61,"value":3227},{"type":55,"tag":89,"props":4113,"children":4114},{"style":112},[4115],{"type":61,"value":3232},{"type":55,"tag":89,"props":4117,"children":4118},{"style":220},[4119],{"type":61,"value":3237},{"type":55,"tag":89,"props":4121,"children":4122},{"style":214},[4123],{"type":61,"value":3190},{"type":55,"tag":89,"props":4125,"children":4126},{"style":220},[4127],{"type":61,"value":670},{"type":55,"tag":89,"props":4129,"children":4130},{"style":214},[4131],{"type":61,"value":1743},{"type":55,"tag":89,"props":4133,"children":4134},{"style":220},[4135],{"type":61,"value":576},{"type":55,"tag":89,"props":4137,"children":4138},{"style":112},[4139],{"type":61,"value":4140},", User: ",{"type":55,"tag":89,"props":4142,"children":4143},{"style":220},[4144],{"type":61,"value":3237},{"type":55,"tag":89,"props":4146,"children":4147},{"style":214},[4148],{"type":61,"value":3190},{"type":55,"tag":89,"props":4150,"children":4151},{"style":220},[4152],{"type":61,"value":670},{"type":55,"tag":89,"props":4154,"children":4155},{"style":214},[4156],{"type":61,"value":4157},"userId",{"type":55,"tag":89,"props":4159,"children":4160},{"style":220},[4161],{"type":61,"value":3254},{"type":55,"tag":89,"props":4163,"children":4164},{"style":541},[4165],{"type":61,"value":581},{"type":55,"tag":89,"props":4167,"children":4168},{"style":220},[4169],{"type":61,"value":301},{"type":55,"tag":89,"props":4171,"children":4172},{"class":91,"line":138},[4173,4177,4181],{"type":55,"tag":89,"props":4174,"children":4175},{"style":220},[4176],{"type":61,"value":576},{"type":55,"tag":89,"props":4178,"children":4179},{"style":214},[4180],{"type":61,"value":581},{"type":55,"tag":89,"props":4182,"children":4183},{"style":220},[4184],{"type":61,"value":301},{"type":55,"tag":89,"props":4186,"children":4187},{"class":91,"line":147},[4188],{"type":55,"tag":89,"props":4189,"children":4190},{"emptyLinePlaceholder":132},[4191],{"type":61,"value":135},{"type":55,"tag":89,"props":4193,"children":4194},{"class":91,"line":164},[4195,4199,4203,4207,4211,4215,4220,4224,4228,4232,4236,4240,4244],{"type":55,"tag":89,"props":4196,"children":4197},{"style":214},[4198],{"type":61,"value":3149},{"type":55,"tag":89,"props":4200,"children":4201},{"style":220},[4202],{"type":61,"value":670},{"type":55,"tag":89,"props":4204,"children":4205},{"style":526},[4206],{"type":61,"value":3158},{"type":55,"tag":89,"props":4208,"children":4209},{"style":214},[4210],{"type":61,"value":533},{"type":55,"tag":89,"props":4212,"children":4213},{"style":220},[4214],{"type":61,"value":431},{"type":55,"tag":89,"props":4216,"children":4217},{"style":112},[4218],{"type":61,"value":4219},"disconnected",{"type":55,"tag":89,"props":4221,"children":4222},{"style":220},[4223],{"type":61,"value":431},{"type":55,"tag":89,"props":4225,"children":4226},{"style":220},[4227],{"type":61,"value":401},{"type":55,"tag":89,"props":4229,"children":4230},{"style":220},[4231],{"type":61,"value":3184},{"type":55,"tag":89,"props":4233,"children":4234},{"style":3187},[4235],{"type":61,"value":3190},{"type":55,"tag":89,"props":4237,"children":4238},{"style":220},[4239],{"type":61,"value":581},{"type":55,"tag":89,"props":4241,"children":4242},{"style":506},[4243],{"type":61,"value":2982},{"type":55,"tag":89,"props":4245,"children":4246},{"style":220},[4247],{"type":61,"value":1862},{"type":55,"tag":89,"props":4249,"children":4250},{"class":91,"line":172},[4251,4255,4259,4263,4267,4271,4276,4280,4284,4288,4292,4296,4300],{"type":55,"tag":89,"props":4252,"children":4253},{"style":214},[4254],{"type":61,"value":3210},{"type":55,"tag":89,"props":4256,"children":4257},{"style":220},[4258],{"type":61,"value":670},{"type":55,"tag":89,"props":4260,"children":4261},{"style":526},[4262],{"type":61,"value":1062},{"type":55,"tag":89,"props":4264,"children":4265},{"style":541},[4266],{"type":61,"value":533},{"type":55,"tag":89,"props":4268,"children":4269},{"style":220},[4270],{"type":61,"value":3227},{"type":55,"tag":89,"props":4272,"children":4273},{"style":112},[4274],{"type":61,"value":4275},"Disconnected: ",{"type":55,"tag":89,"props":4277,"children":4278},{"style":220},[4279],{"type":61,"value":3237},{"type":55,"tag":89,"props":4281,"children":4282},{"style":214},[4283],{"type":61,"value":3190},{"type":55,"tag":89,"props":4285,"children":4286},{"style":220},[4287],{"type":61,"value":670},{"type":55,"tag":89,"props":4289,"children":4290},{"style":214},[4291],{"type":61,"value":3377},{"type":55,"tag":89,"props":4293,"children":4294},{"style":220},[4295],{"type":61,"value":3254},{"type":55,"tag":89,"props":4297,"children":4298},{"style":541},[4299],{"type":61,"value":581},{"type":55,"tag":89,"props":4301,"children":4302},{"style":220},[4303],{"type":61,"value":301},{"type":55,"tag":89,"props":4305,"children":4306},{"class":91,"line":181},[4307,4311,4315],{"type":55,"tag":89,"props":4308,"children":4309},{"style":220},[4310],{"type":61,"value":576},{"type":55,"tag":89,"props":4312,"children":4313},{"style":214},[4314],{"type":61,"value":581},{"type":55,"tag":89,"props":4316,"children":4317},{"style":220},[4318],{"type":61,"value":301},{"type":55,"tag":89,"props":4320,"children":4321},{"class":91,"line":612},[4322],{"type":55,"tag":89,"props":4323,"children":4324},{"emptyLinePlaceholder":132},[4325],{"type":61,"value":135},{"type":55,"tag":89,"props":4327,"children":4328},{"class":91,"line":620},[4329,4333,4337,4341,4345,4349,4354,4358,4362,4366,4370],{"type":55,"tag":89,"props":4330,"children":4331},{"style":214},[4332],{"type":61,"value":3149},{"type":55,"tag":89,"props":4334,"children":4335},{"style":220},[4336],{"type":61,"value":670},{"type":55,"tag":89,"props":4338,"children":4339},{"style":526},[4340],{"type":61,"value":3158},{"type":55,"tag":89,"props":4342,"children":4343},{"style":214},[4344],{"type":61,"value":533},{"type":55,"tag":89,"props":4346,"children":4347},{"style":220},[4348],{"type":61,"value":431},{"type":55,"tag":89,"props":4350,"children":4351},{"style":112},[4352],{"type":61,"value":4353},"stopped",{"type":55,"tag":89,"props":4355,"children":4356},{"style":220},[4357],{"type":61,"value":431},{"type":55,"tag":89,"props":4359,"children":4360},{"style":220},[4361],{"type":61,"value":401},{"type":55,"tag":89,"props":4363,"children":4364},{"style":220},[4365],{"type":61,"value":2977},{"type":55,"tag":89,"props":4367,"children":4368},{"style":506},[4369],{"type":61,"value":2982},{"type":55,"tag":89,"props":4371,"children":4372},{"style":220},[4373],{"type":61,"value":1862},{"type":55,"tag":89,"props":4375,"children":4376},{"class":91,"line":629},[4377,4381,4385,4389,4393,4397,4402,4406,4410],{"type":55,"tag":89,"props":4378,"children":4379},{"style":214},[4380],{"type":61,"value":3210},{"type":55,"tag":89,"props":4382,"children":4383},{"style":220},[4384],{"type":61,"value":670},{"type":55,"tag":89,"props":4386,"children":4387},{"style":526},[4388],{"type":61,"value":1062},{"type":55,"tag":89,"props":4390,"children":4391},{"style":541},[4392],{"type":61,"value":533},{"type":55,"tag":89,"props":4394,"children":4395},{"style":220},[4396],{"type":61,"value":431},{"type":55,"tag":89,"props":4398,"children":4399},{"style":112},[4400],{"type":61,"value":4401},"Client stopped",{"type":55,"tag":89,"props":4403,"children":4404},{"style":220},[4405],{"type":61,"value":431},{"type":55,"tag":89,"props":4407,"children":4408},{"style":541},[4409],{"type":61,"value":581},{"type":55,"tag":89,"props":4411,"children":4412},{"style":220},[4413],{"type":61,"value":301},{"type":55,"tag":89,"props":4415,"children":4416},{"class":91,"line":659},[4417,4421,4425],{"type":55,"tag":89,"props":4418,"children":4419},{"style":220},[4420],{"type":61,"value":576},{"type":55,"tag":89,"props":4422,"children":4423},{"style":214},[4424],{"type":61,"value":581},{"type":55,"tag":89,"props":4426,"children":4427},{"style":220},[4428],{"type":61,"value":301},{"type":55,"tag":89,"props":4430,"children":4431},{"class":91,"line":691},[4432],{"type":55,"tag":89,"props":4433,"children":4434},{"emptyLinePlaceholder":132},[4435],{"type":61,"value":135},{"type":55,"tag":89,"props":4437,"children":4438},{"class":91,"line":714},[4439],{"type":55,"tag":89,"props":4440,"children":4441},{"style":96},[4442],{"type":61,"value":4443},"\u002F\u002F Messages\n",{"type":55,"tag":89,"props":4445,"children":4446},{"class":91,"line":726},[4447,4451,4455,4459,4463,4467,4471,4475,4479,4483,4487,4491,4495],{"type":55,"tag":89,"props":4448,"children":4449},{"style":214},[4450],{"type":61,"value":3149},{"type":55,"tag":89,"props":4452,"children":4453},{"style":220},[4454],{"type":61,"value":670},{"type":55,"tag":89,"props":4456,"children":4457},{"style":526},[4458],{"type":61,"value":3158},{"type":55,"tag":89,"props":4460,"children":4461},{"style":214},[4462],{"type":61,"value":533},{"type":55,"tag":89,"props":4464,"children":4465},{"style":220},[4466],{"type":61,"value":431},{"type":55,"tag":89,"props":4468,"children":4469},{"style":112},[4470],{"type":61,"value":3312},{"type":55,"tag":89,"props":4472,"children":4473},{"style":220},[4474],{"type":61,"value":431},{"type":55,"tag":89,"props":4476,"children":4477},{"style":220},[4478],{"type":61,"value":401},{"type":55,"tag":89,"props":4480,"children":4481},{"style":220},[4482],{"type":61,"value":3184},{"type":55,"tag":89,"props":4484,"children":4485},{"style":3187},[4486],{"type":61,"value":3190},{"type":55,"tag":89,"props":4488,"children":4489},{"style":220},[4490],{"type":61,"value":581},{"type":55,"tag":89,"props":4492,"children":4493},{"style":506},[4494],{"type":61,"value":2982},{"type":55,"tag":89,"props":4496,"children":4497},{"style":220},[4498],{"type":61,"value":1862},{"type":55,"tag":89,"props":4500,"children":4501},{"class":91,"line":734},[4502,4506,4510,4514,4518,4522,4527,4531,4535,4539,4543,4547,4551,4555,4560,4564,4568,4572,4576,4580,4585,4589,4593,4597,4601,4605,4609,4613,4617,4621,4625],{"type":55,"tag":89,"props":4503,"children":4504},{"style":214},[4505],{"type":61,"value":3210},{"type":55,"tag":89,"props":4507,"children":4508},{"style":220},[4509],{"type":61,"value":670},{"type":55,"tag":89,"props":4511,"children":4512},{"style":526},[4513],{"type":61,"value":1062},{"type":55,"tag":89,"props":4515,"children":4516},{"style":541},[4517],{"type":61,"value":533},{"type":55,"tag":89,"props":4519,"children":4520},{"style":220},[4521],{"type":61,"value":3227},{"type":55,"tag":89,"props":4523,"children":4524},{"style":112},[4525],{"type":61,"value":4526},"[",{"type":55,"tag":89,"props":4528,"children":4529},{"style":220},[4530],{"type":61,"value":3237},{"type":55,"tag":89,"props":4532,"children":4533},{"style":214},[4534],{"type":61,"value":3190},{"type":55,"tag":89,"props":4536,"children":4537},{"style":220},[4538],{"type":61,"value":670},{"type":55,"tag":89,"props":4540,"children":4541},{"style":214},[4542],{"type":61,"value":3377},{"type":55,"tag":89,"props":4544,"children":4545},{"style":220},[4546],{"type":61,"value":670},{"type":55,"tag":89,"props":4548,"children":4549},{"style":214},[4550],{"type":61,"value":1948},{"type":55,"tag":89,"props":4552,"children":4553},{"style":220},[4554],{"type":61,"value":576},{"type":55,"tag":89,"props":4556,"children":4557},{"style":112},[4558],{"type":61,"value":4559},"] ",{"type":55,"tag":89,"props":4561,"children":4562},{"style":220},[4563],{"type":61,"value":3237},{"type":55,"tag":89,"props":4565,"children":4566},{"style":214},[4567],{"type":61,"value":3190},{"type":55,"tag":89,"props":4569,"children":4570},{"style":220},[4571],{"type":61,"value":670},{"type":55,"tag":89,"props":4573,"children":4574},{"style":214},[4575],{"type":61,"value":3377},{"type":55,"tag":89,"props":4577,"children":4578},{"style":220},[4579],{"type":61,"value":670},{"type":55,"tag":89,"props":4581,"children":4582},{"style":214},[4583],{"type":61,"value":4584},"fromUserId",{"type":55,"tag":89,"props":4586,"children":4587},{"style":220},[4588],{"type":61,"value":576},{"type":55,"tag":89,"props":4590,"children":4591},{"style":112},[4592],{"type":61,"value":3394},{"type":55,"tag":89,"props":4594,"children":4595},{"style":220},[4596],{"type":61,"value":3237},{"type":55,"tag":89,"props":4598,"children":4599},{"style":214},[4600],{"type":61,"value":3190},{"type":55,"tag":89,"props":4602,"children":4603},{"style":220},[4604],{"type":61,"value":670},{"type":55,"tag":89,"props":4606,"children":4607},{"style":214},[4608],{"type":61,"value":3377},{"type":55,"tag":89,"props":4610,"children":4611},{"style":220},[4612],{"type":61,"value":670},{"type":55,"tag":89,"props":4614,"children":4615},{"style":214},[4616],{"type":61,"value":3419},{"type":55,"tag":89,"props":4618,"children":4619},{"style":220},[4620],{"type":61,"value":3254},{"type":55,"tag":89,"props":4622,"children":4623},{"style":541},[4624],{"type":61,"value":581},{"type":55,"tag":89,"props":4626,"children":4627},{"style":220},[4628],{"type":61,"value":301},{"type":55,"tag":89,"props":4630,"children":4631},{"class":91,"line":743},[4632,4636,4640],{"type":55,"tag":89,"props":4633,"children":4634},{"style":220},[4635],{"type":61,"value":576},{"type":55,"tag":89,"props":4637,"children":4638},{"style":214},[4639],{"type":61,"value":581},{"type":55,"tag":89,"props":4641,"children":4642},{"style":220},[4643],{"type":61,"value":301},{"type":55,"tag":89,"props":4645,"children":4646},{"class":91,"line":772},[4647],{"type":55,"tag":89,"props":4648,"children":4649},{"emptyLinePlaceholder":132},[4650],{"type":61,"value":135},{"type":55,"tag":89,"props":4652,"children":4653},{"class":91,"line":800},[4654,4658,4662,4666,4670,4674,4679,4683,4687,4691,4695,4699,4703],{"type":55,"tag":89,"props":4655,"children":4656},{"style":214},[4657],{"type":61,"value":3149},{"type":55,"tag":89,"props":4659,"children":4660},{"style":220},[4661],{"type":61,"value":670},{"type":55,"tag":89,"props":4663,"children":4664},{"style":526},[4665],{"type":61,"value":3158},{"type":55,"tag":89,"props":4667,"children":4668},{"style":214},[4669],{"type":61,"value":533},{"type":55,"tag":89,"props":4671,"children":4672},{"style":220},[4673],{"type":61,"value":431},{"type":55,"tag":89,"props":4675,"children":4676},{"style":112},[4677],{"type":61,"value":4678},"server-message",{"type":55,"tag":89,"props":4680,"children":4681},{"style":220},[4682],{"type":61,"value":431},{"type":55,"tag":89,"props":4684,"children":4685},{"style":220},[4686],{"type":61,"value":401},{"type":55,"tag":89,"props":4688,"children":4689},{"style":220},[4690],{"type":61,"value":3184},{"type":55,"tag":89,"props":4692,"children":4693},{"style":3187},[4694],{"type":61,"value":3190},{"type":55,"tag":89,"props":4696,"children":4697},{"style":220},[4698],{"type":61,"value":581},{"type":55,"tag":89,"props":4700,"children":4701},{"style":506},[4702],{"type":61,"value":2982},{"type":55,"tag":89,"props":4704,"children":4705},{"style":220},[4706],{"type":61,"value":1862},{"type":55,"tag":89,"props":4708,"children":4709},{"class":91,"line":814},[4710,4714,4718,4722,4726,4730,4735,4739,4743,4747,4751,4755,4759,4763,4767],{"type":55,"tag":89,"props":4711,"children":4712},{"style":214},[4713],{"type":61,"value":3210},{"type":55,"tag":89,"props":4715,"children":4716},{"style":220},[4717],{"type":61,"value":670},{"type":55,"tag":89,"props":4719,"children":4720},{"style":526},[4721],{"type":61,"value":1062},{"type":55,"tag":89,"props":4723,"children":4724},{"style":541},[4725],{"type":61,"value":533},{"type":55,"tag":89,"props":4727,"children":4728},{"style":220},[4729],{"type":61,"value":3227},{"type":55,"tag":89,"props":4731,"children":4732},{"style":112},[4733],{"type":61,"value":4734},"Server: ",{"type":55,"tag":89,"props":4736,"children":4737},{"style":220},[4738],{"type":61,"value":3237},{"type":55,"tag":89,"props":4740,"children":4741},{"style":214},[4742],{"type":61,"value":3190},{"type":55,"tag":89,"props":4744,"children":4745},{"style":220},[4746],{"type":61,"value":670},{"type":55,"tag":89,"props":4748,"children":4749},{"style":214},[4750],{"type":61,"value":3377},{"type":55,"tag":89,"props":4752,"children":4753},{"style":220},[4754],{"type":61,"value":670},{"type":55,"tag":89,"props":4756,"children":4757},{"style":214},[4758],{"type":61,"value":3419},{"type":55,"tag":89,"props":4760,"children":4761},{"style":220},[4762],{"type":61,"value":3254},{"type":55,"tag":89,"props":4764,"children":4765},{"style":541},[4766],{"type":61,"value":581},{"type":55,"tag":89,"props":4768,"children":4769},{"style":220},[4770],{"type":61,"value":301},{"type":55,"tag":89,"props":4772,"children":4773},{"class":91,"line":831},[4774,4778,4782],{"type":55,"tag":89,"props":4775,"children":4776},{"style":220},[4777],{"type":61,"value":576},{"type":55,"tag":89,"props":4779,"children":4780},{"style":214},[4781],{"type":61,"value":581},{"type":55,"tag":89,"props":4783,"children":4784},{"style":220},[4785],{"type":61,"value":301},{"type":55,"tag":89,"props":4787,"children":4788},{"class":91,"line":843},[4789],{"type":55,"tag":89,"props":4790,"children":4791},{"emptyLinePlaceholder":132},[4792],{"type":61,"value":135},{"type":55,"tag":89,"props":4794,"children":4795},{"class":91,"line":851},[4796],{"type":55,"tag":89,"props":4797,"children":4798},{"style":96},[4799],{"type":61,"value":4800},"\u002F\u002F Rejoin failure\n",{"type":55,"tag":89,"props":4802,"children":4803},{"class":91,"line":860},[4804,4808,4812,4816,4820,4824,4829,4833,4837,4841,4845,4849,4853],{"type":55,"tag":89,"props":4805,"children":4806},{"style":214},[4807],{"type":61,"value":3149},{"type":55,"tag":89,"props":4809,"children":4810},{"style":220},[4811],{"type":61,"value":670},{"type":55,"tag":89,"props":4813,"children":4814},{"style":526},[4815],{"type":61,"value":3158},{"type":55,"tag":89,"props":4817,"children":4818},{"style":214},[4819],{"type":61,"value":533},{"type":55,"tag":89,"props":4821,"children":4822},{"style":220},[4823],{"type":61,"value":431},{"type":55,"tag":89,"props":4825,"children":4826},{"style":112},[4827],{"type":61,"value":4828},"rejoin-group-failed",{"type":55,"tag":89,"props":4830,"children":4831},{"style":220},[4832],{"type":61,"value":431},{"type":55,"tag":89,"props":4834,"children":4835},{"style":220},[4836],{"type":61,"value":401},{"type":55,"tag":89,"props":4838,"children":4839},{"style":220},[4840],{"type":61,"value":3184},{"type":55,"tag":89,"props":4842,"children":4843},{"style":3187},[4844],{"type":61,"value":3190},{"type":55,"tag":89,"props":4846,"children":4847},{"style":220},[4848],{"type":61,"value":581},{"type":55,"tag":89,"props":4850,"children":4851},{"style":506},[4852],{"type":61,"value":2982},{"type":55,"tag":89,"props":4854,"children":4855},{"style":220},[4856],{"type":61,"value":1862},{"type":55,"tag":89,"props":4858,"children":4859},{"class":91,"line":889},[4860,4864,4868,4872,4876,4880,4885,4889,4893,4897,4901,4905,4909,4913,4917,4921,4926,4930,4934],{"type":55,"tag":89,"props":4861,"children":4862},{"style":214},[4863],{"type":61,"value":3210},{"type":55,"tag":89,"props":4865,"children":4866},{"style":220},[4867],{"type":61,"value":670},{"type":55,"tag":89,"props":4869,"children":4870},{"style":526},[4871],{"type":61,"value":1062},{"type":55,"tag":89,"props":4873,"children":4874},{"style":541},[4875],{"type":61,"value":533},{"type":55,"tag":89,"props":4877,"children":4878},{"style":220},[4879],{"type":61,"value":3227},{"type":55,"tag":89,"props":4881,"children":4882},{"style":112},[4883],{"type":61,"value":4884},"Failed to rejoin ",{"type":55,"tag":89,"props":4886,"children":4887},{"style":220},[4888],{"type":61,"value":3237},{"type":55,"tag":89,"props":4890,"children":4891},{"style":214},[4892],{"type":61,"value":3190},{"type":55,"tag":89,"props":4894,"children":4895},{"style":220},[4896],{"type":61,"value":670},{"type":55,"tag":89,"props":4898,"children":4899},{"style":214},[4900],{"type":61,"value":1948},{"type":55,"tag":89,"props":4902,"children":4903},{"style":220},[4904],{"type":61,"value":576},{"type":55,"tag":89,"props":4906,"children":4907},{"style":112},[4908],{"type":61,"value":3394},{"type":55,"tag":89,"props":4910,"children":4911},{"style":220},[4912],{"type":61,"value":3237},{"type":55,"tag":89,"props":4914,"children":4915},{"style":214},[4916],{"type":61,"value":3190},{"type":55,"tag":89,"props":4918,"children":4919},{"style":220},[4920],{"type":61,"value":670},{"type":55,"tag":89,"props":4922,"children":4923},{"style":214},[4924],{"type":61,"value":4925},"error",{"type":55,"tag":89,"props":4927,"children":4928},{"style":220},[4929],{"type":61,"value":3254},{"type":55,"tag":89,"props":4931,"children":4932},{"style":541},[4933],{"type":61,"value":581},{"type":55,"tag":89,"props":4935,"children":4936},{"style":220},[4937],{"type":61,"value":301},{"type":55,"tag":89,"props":4939,"children":4940},{"class":91,"line":917},[4941,4945,4949],{"type":55,"tag":89,"props":4942,"children":4943},{"style":220},[4944],{"type":61,"value":576},{"type":55,"tag":89,"props":4946,"children":4947},{"style":214},[4948],{"type":61,"value":581},{"type":55,"tag":89,"props":4950,"children":4951},{"style":220},[4952],{"type":61,"value":301},{"type":55,"tag":70,"props":4954,"children":4956},{"id":4955},"express-event-handler",[4957],{"type":61,"value":4958},"Express Event Handler",{"type":55,"tag":77,"props":4960,"children":4962},{"className":372,"code":4961,"language":21,"meta":82,"style":82},"import express from \"express\";\nimport { WebPubSubEventHandler } from \"@azure\u002Fweb-pubsub-express\";\n\nconst app = express();\n\nconst handler = new WebPubSubEventHandler(\"chat\", {\n  path: \"\u002Fapi\u002Fwebpubsub\u002Fhubs\u002Fchat\u002F\",\n  \n  \u002F\u002F Blocking: approve\u002Freject connection\n  handleConnect: (req, res) => {\n    if (!req.claims?.sub) {\n      res.fail(401, \"Authentication required\");\n      return;\n    }\n    res.success({\n      userId: req.claims.sub[0],\n      groups: [\"general\"],\n      roles: [\"webpubsub.sendToGroup\"],\n    });\n  },\n  \n  \u002F\u002F Blocking: handle custom events\n  handleUserEvent: (req, res) => {\n    console.log(`Event from ${req.context.userId}:`, req.data);\n    res.success(`Received: ${req.data}`, \"text\");\n  },\n  \n  \u002F\u002F Non-blocking\n  onConnected: (req) => {\n    console.log(`Client connected: ${req.context.connectionId}`);\n  },\n  \n  onDisconnected: (req) => {\n    console.log(`Client disconnected: ${req.context.connectionId}`);\n  },\n});\n\napp.use(handler.getMiddleware());\n\n\u002F\u002F Negotiate endpoint\napp.get(\"\u002Fnegotiate\", async (req, res) => {\n  const token = await serviceClient.getClientAccessToken({\n    userId: req.user?.id,\n  });\n  res.json({ url: token.url });\n});\n\napp.listen(8080);\n",[4963],{"type":55,"tag":85,"props":4964,"children":4965},{"__ignoreMap":82},[4966,5000,5041,5048,5077,5084,5132,5161,5169,5177,5219,5268,5319,5331,5339,5364,5414,5451,5487,5503,5510,5517,5525,5565,5655,5727,5734,5741,5749,5782,5847,5855,5863,5896,5961,5969,5985,5993,6034,6042,6051,6120,6163,6202,6219,6277,6293,6301],{"type":55,"tag":89,"props":4967,"children":4968},{"class":91,"line":92},[4969,4973,4978,4983,4987,4992,4996],{"type":55,"tag":89,"props":4970,"children":4971},{"style":383},[4972],{"type":61,"value":386},{"type":55,"tag":89,"props":4974,"children":4975},{"style":214},[4976],{"type":61,"value":4977}," express ",{"type":55,"tag":89,"props":4979,"children":4980},{"style":383},[4981],{"type":61,"value":4982},"from",{"type":55,"tag":89,"props":4984,"children":4985},{"style":220},[4986],{"type":61,"value":421},{"type":55,"tag":89,"props":4988,"children":4989},{"style":112},[4990],{"type":61,"value":4991},"express",{"type":55,"tag":89,"props":4993,"children":4994},{"style":220},[4995],{"type":61,"value":431},{"type":55,"tag":89,"props":4997,"children":4998},{"style":220},[4999],{"type":61,"value":301},{"type":55,"tag":89,"props":5001,"children":5002},{"class":91,"line":102},[5003,5007,5011,5016,5020,5024,5028,5033,5037],{"type":55,"tag":89,"props":5004,"children":5005},{"style":383},[5006],{"type":61,"value":386},{"type":55,"tag":89,"props":5008,"children":5009},{"style":220},[5010],{"type":61,"value":391},{"type":55,"tag":89,"props":5012,"children":5013},{"style":214},[5014],{"type":61,"value":5015}," WebPubSubEventHandler",{"type":55,"tag":89,"props":5017,"children":5018},{"style":220},[5019],{"type":61,"value":411},{"type":55,"tag":89,"props":5021,"children":5022},{"style":383},[5023],{"type":61,"value":416},{"type":55,"tag":89,"props":5025,"children":5026},{"style":220},[5027],{"type":61,"value":421},{"type":55,"tag":89,"props":5029,"children":5030},{"style":112},[5031],{"type":61,"value":5032},"@azure\u002Fweb-pubsub-express",{"type":55,"tag":89,"props":5034,"children":5035},{"style":220},[5036],{"type":61,"value":431},{"type":55,"tag":89,"props":5038,"children":5039},{"style":220},[5040],{"type":61,"value":301},{"type":55,"tag":89,"props":5042,"children":5043},{"class":91,"line":128},[5044],{"type":55,"tag":89,"props":5045,"children":5046},{"emptyLinePlaceholder":132},[5047],{"type":61,"value":135},{"type":55,"tag":89,"props":5049,"children":5050},{"class":91,"line":138},[5051,5055,5060,5064,5069,5073],{"type":55,"tag":89,"props":5052,"children":5053},{"style":506},[5054],{"type":61,"value":509},{"type":55,"tag":89,"props":5056,"children":5057},{"style":214},[5058],{"type":61,"value":5059}," app ",{"type":55,"tag":89,"props":5061,"children":5062},{"style":220},[5063],{"type":61,"value":223},{"type":55,"tag":89,"props":5065,"children":5066},{"style":526},[5067],{"type":61,"value":5068}," express",{"type":55,"tag":89,"props":5070,"children":5071},{"style":214},[5072],{"type":61,"value":1041},{"type":55,"tag":89,"props":5074,"children":5075},{"style":220},[5076],{"type":61,"value":301},{"type":55,"tag":89,"props":5078,"children":5079},{"class":91,"line":147},[5080],{"type":55,"tag":89,"props":5081,"children":5082},{"emptyLinePlaceholder":132},[5083],{"type":61,"value":135},{"type":55,"tag":89,"props":5085,"children":5086},{"class":91,"line":164},[5087,5091,5096,5100,5104,5108,5112,5116,5120,5124,5128],{"type":55,"tag":89,"props":5088,"children":5089},{"style":506},[5090],{"type":61,"value":509},{"type":55,"tag":89,"props":5092,"children":5093},{"style":214},[5094],{"type":61,"value":5095}," handler ",{"type":55,"tag":89,"props":5097,"children":5098},{"style":220},[5099],{"type":61,"value":223},{"type":55,"tag":89,"props":5101,"children":5102},{"style":220},[5103],{"type":61,"value":523},{"type":55,"tag":89,"props":5105,"children":5106},{"style":526},[5107],{"type":61,"value":5015},{"type":55,"tag":89,"props":5109,"children":5110},{"style":214},[5111],{"type":61,"value":533},{"type":55,"tag":89,"props":5113,"children":5114},{"style":220},[5115],{"type":61,"value":431},{"type":55,"tag":89,"props":5117,"children":5118},{"style":112},[5119],{"type":61,"value":702},{"type":55,"tag":89,"props":5121,"children":5122},{"style":220},[5123],{"type":61,"value":431},{"type":55,"tag":89,"props":5125,"children":5126},{"style":220},[5127],{"type":61,"value":401},{"type":55,"tag":89,"props":5129,"children":5130},{"style":220},[5131],{"type":61,"value":1862},{"type":55,"tag":89,"props":5133,"children":5134},{"class":91,"line":172},[5135,5140,5144,5148,5153,5157],{"type":55,"tag":89,"props":5136,"children":5137},{"style":541},[5138],{"type":61,"value":5139},"  path",{"type":55,"tag":89,"props":5141,"children":5142},{"style":220},[5143],{"type":61,"value":549},{"type":55,"tag":89,"props":5145,"children":5146},{"style":220},[5147],{"type":61,"value":421},{"type":55,"tag":89,"props":5149,"children":5150},{"style":112},[5151],{"type":61,"value":5152},"\u002Fapi\u002Fwebpubsub\u002Fhubs\u002Fchat\u002F",{"type":55,"tag":89,"props":5154,"children":5155},{"style":220},[5156],{"type":61,"value":431},{"type":55,"tag":89,"props":5158,"children":5159},{"style":220},[5160],{"type":61,"value":811},{"type":55,"tag":89,"props":5162,"children":5163},{"class":91,"line":181},[5164],{"type":55,"tag":89,"props":5165,"children":5166},{"style":214},[5167],{"type":61,"value":5168},"  \n",{"type":55,"tag":89,"props":5170,"children":5171},{"class":91,"line":612},[5172],{"type":55,"tag":89,"props":5173,"children":5174},{"style":96},[5175],{"type":61,"value":5176},"  \u002F\u002F Blocking: approve\u002Freject connection\n",{"type":55,"tag":89,"props":5178,"children":5179},{"class":91,"line":620},[5180,5185,5189,5193,5198,5202,5207,5211,5215],{"type":55,"tag":89,"props":5181,"children":5182},{"style":526},[5183],{"type":61,"value":5184},"  handleConnect",{"type":55,"tag":89,"props":5186,"children":5187},{"style":220},[5188],{"type":61,"value":549},{"type":55,"tag":89,"props":5190,"children":5191},{"style":220},[5192],{"type":61,"value":3184},{"type":55,"tag":89,"props":5194,"children":5195},{"style":3187},[5196],{"type":61,"value":5197},"req",{"type":55,"tag":89,"props":5199,"children":5200},{"style":220},[5201],{"type":61,"value":401},{"type":55,"tag":89,"props":5203,"children":5204},{"style":3187},[5205],{"type":61,"value":5206}," res",{"type":55,"tag":89,"props":5208,"children":5209},{"style":220},[5210],{"type":61,"value":581},{"type":55,"tag":89,"props":5212,"children":5213},{"style":506},[5214],{"type":61,"value":2982},{"type":55,"tag":89,"props":5216,"children":5217},{"style":220},[5218],{"type":61,"value":1862},{"type":55,"tag":89,"props":5220,"children":5221},{"class":91,"line":629},[5222,5227,5231,5236,5240,5244,5249,5254,5259,5264],{"type":55,"tag":89,"props":5223,"children":5224},{"style":383},[5225],{"type":61,"value":5226},"    if",{"type":55,"tag":89,"props":5228,"children":5229},{"style":541},[5230],{"type":61,"value":3184},{"type":55,"tag":89,"props":5232,"children":5233},{"style":220},[5234],{"type":61,"value":5235},"!",{"type":55,"tag":89,"props":5237,"children":5238},{"style":214},[5239],{"type":61,"value":5197},{"type":55,"tag":89,"props":5241,"children":5242},{"style":220},[5243],{"type":61,"value":670},{"type":55,"tag":89,"props":5245,"children":5246},{"style":214},[5247],{"type":61,"value":5248},"claims",{"type":55,"tag":89,"props":5250,"children":5251},{"style":220},[5252],{"type":61,"value":5253},"?.",{"type":55,"tag":89,"props":5255,"children":5256},{"style":214},[5257],{"type":61,"value":5258},"sub",{"type":55,"tag":89,"props":5260,"children":5261},{"style":541},[5262],{"type":61,"value":5263},") ",{"type":55,"tag":89,"props":5265,"children":5266},{"style":220},[5267],{"type":61,"value":1141},{"type":55,"tag":89,"props":5269,"children":5270},{"class":91,"line":659},[5271,5276,5280,5285,5289,5294,5298,5302,5307,5311,5315],{"type":55,"tag":89,"props":5272,"children":5273},{"style":214},[5274],{"type":61,"value":5275},"      res",{"type":55,"tag":89,"props":5277,"children":5278},{"style":220},[5279],{"type":61,"value":670},{"type":55,"tag":89,"props":5281,"children":5282},{"style":526},[5283],{"type":61,"value":5284},"fail",{"type":55,"tag":89,"props":5286,"children":5287},{"style":541},[5288],{"type":61,"value":533},{"type":55,"tag":89,"props":5290,"children":5291},{"style":1419},[5292],{"type":61,"value":5293},"401",{"type":55,"tag":89,"props":5295,"children":5296},{"style":220},[5297],{"type":61,"value":401},{"type":55,"tag":89,"props":5299,"children":5300},{"style":220},[5301],{"type":61,"value":421},{"type":55,"tag":89,"props":5303,"children":5304},{"style":112},[5305],{"type":61,"value":5306},"Authentication required",{"type":55,"tag":89,"props":5308,"children":5309},{"style":220},[5310],{"type":61,"value":431},{"type":55,"tag":89,"props":5312,"children":5313},{"style":541},[5314],{"type":61,"value":581},{"type":55,"tag":89,"props":5316,"children":5317},{"style":220},[5318],{"type":61,"value":301},{"type":55,"tag":89,"props":5320,"children":5321},{"class":91,"line":691},[5322,5327],{"type":55,"tag":89,"props":5323,"children":5324},{"style":383},[5325],{"type":61,"value":5326},"      return",{"type":55,"tag":89,"props":5328,"children":5329},{"style":220},[5330],{"type":61,"value":301},{"type":55,"tag":89,"props":5332,"children":5333},{"class":91,"line":714},[5334],{"type":55,"tag":89,"props":5335,"children":5336},{"style":220},[5337],{"type":61,"value":5338},"    }\n",{"type":55,"tag":89,"props":5340,"children":5341},{"class":91,"line":726},[5342,5347,5351,5356,5360],{"type":55,"tag":89,"props":5343,"children":5344},{"style":214},[5345],{"type":61,"value":5346},"    res",{"type":55,"tag":89,"props":5348,"children":5349},{"style":220},[5350],{"type":61,"value":670},{"type":55,"tag":89,"props":5352,"children":5353},{"style":526},[5354],{"type":61,"value":5355},"success",{"type":55,"tag":89,"props":5357,"children":5358},{"style":541},[5359],{"type":61,"value":533},{"type":55,"tag":89,"props":5361,"children":5362},{"style":220},[5363],{"type":61,"value":1141},{"type":55,"tag":89,"props":5365,"children":5366},{"class":91,"line":734},[5367,5372,5376,5381,5385,5389,5393,5397,5401,5406,5410],{"type":55,"tag":89,"props":5368,"children":5369},{"style":541},[5370],{"type":61,"value":5371},"      userId",{"type":55,"tag":89,"props":5373,"children":5374},{"style":220},[5375],{"type":61,"value":549},{"type":55,"tag":89,"props":5377,"children":5378},{"style":214},[5379],{"type":61,"value":5380}," req",{"type":55,"tag":89,"props":5382,"children":5383},{"style":220},[5384],{"type":61,"value":670},{"type":55,"tag":89,"props":5386,"children":5387},{"style":214},[5388],{"type":61,"value":5248},{"type":55,"tag":89,"props":5390,"children":5391},{"style":220},[5392],{"type":61,"value":670},{"type":55,"tag":89,"props":5394,"children":5395},{"style":214},[5396],{"type":61,"value":5258},{"type":55,"tag":89,"props":5398,"children":5399},{"style":541},[5400],{"type":61,"value":4526},{"type":55,"tag":89,"props":5402,"children":5403},{"style":1419},[5404],{"type":61,"value":5405},"0",{"type":55,"tag":89,"props":5407,"children":5408},{"style":541},[5409],{"type":61,"value":571},{"type":55,"tag":89,"props":5411,"children":5412},{"style":220},[5413],{"type":61,"value":811},{"type":55,"tag":89,"props":5415,"children":5416},{"class":91,"line":743},[5417,5422,5426,5430,5434,5439,5443,5447],{"type":55,"tag":89,"props":5418,"children":5419},{"style":541},[5420],{"type":61,"value":5421},"      groups",{"type":55,"tag":89,"props":5423,"children":5424},{"style":220},[5425],{"type":61,"value":549},{"type":55,"tag":89,"props":5427,"children":5428},{"style":541},[5429],{"type":61,"value":554},{"type":55,"tag":89,"props":5431,"children":5432},{"style":220},[5433],{"type":61,"value":431},{"type":55,"tag":89,"props":5435,"children":5436},{"style":112},[5437],{"type":61,"value":5438},"general",{"type":55,"tag":89,"props":5440,"children":5441},{"style":220},[5442],{"type":61,"value":431},{"type":55,"tag":89,"props":5444,"children":5445},{"style":541},[5446],{"type":61,"value":571},{"type":55,"tag":89,"props":5448,"children":5449},{"style":220},[5450],{"type":61,"value":811},{"type":55,"tag":89,"props":5452,"children":5453},{"class":91,"line":772},[5454,5459,5463,5467,5471,5475,5479,5483],{"type":55,"tag":89,"props":5455,"children":5456},{"style":541},[5457],{"type":61,"value":5458},"      roles",{"type":55,"tag":89,"props":5460,"children":5461},{"style":220},[5462],{"type":61,"value":549},{"type":55,"tag":89,"props":5464,"children":5465},{"style":541},[5466],{"type":61,"value":554},{"type":55,"tag":89,"props":5468,"children":5469},{"style":220},[5470],{"type":61,"value":431},{"type":55,"tag":89,"props":5472,"children":5473},{"style":112},[5474],{"type":61,"value":1317},{"type":55,"tag":89,"props":5476,"children":5477},{"style":220},[5478],{"type":61,"value":431},{"type":55,"tag":89,"props":5480,"children":5481},{"style":541},[5482],{"type":61,"value":571},{"type":55,"tag":89,"props":5484,"children":5485},{"style":220},[5486],{"type":61,"value":811},{"type":55,"tag":89,"props":5488,"children":5489},{"class":91,"line":800},[5490,5495,5499],{"type":55,"tag":89,"props":5491,"children":5492},{"style":220},[5493],{"type":61,"value":5494},"    }",{"type":55,"tag":89,"props":5496,"children":5497},{"style":541},[5498],{"type":61,"value":581},{"type":55,"tag":89,"props":5500,"children":5501},{"style":220},[5502],{"type":61,"value":301},{"type":55,"tag":89,"props":5504,"children":5505},{"class":91,"line":814},[5506],{"type":55,"tag":89,"props":5507,"children":5508},{"style":220},[5509],{"type":61,"value":3111},{"type":55,"tag":89,"props":5511,"children":5512},{"class":91,"line":831},[5513],{"type":55,"tag":89,"props":5514,"children":5515},{"style":214},[5516],{"type":61,"value":5168},{"type":55,"tag":89,"props":5518,"children":5519},{"class":91,"line":843},[5520],{"type":55,"tag":89,"props":5521,"children":5522},{"style":96},[5523],{"type":61,"value":5524},"  \u002F\u002F Blocking: handle custom events\n",{"type":55,"tag":89,"props":5526,"children":5527},{"class":91,"line":851},[5528,5533,5537,5541,5545,5549,5553,5557,5561],{"type":55,"tag":89,"props":5529,"children":5530},{"style":526},[5531],{"type":61,"value":5532},"  handleUserEvent",{"type":55,"tag":89,"props":5534,"children":5535},{"style":220},[5536],{"type":61,"value":549},{"type":55,"tag":89,"props":5538,"children":5539},{"style":220},[5540],{"type":61,"value":3184},{"type":55,"tag":89,"props":5542,"children":5543},{"style":3187},[5544],{"type":61,"value":5197},{"type":55,"tag":89,"props":5546,"children":5547},{"style":220},[5548],{"type":61,"value":401},{"type":55,"tag":89,"props":5550,"children":5551},{"style":3187},[5552],{"type":61,"value":5206},{"type":55,"tag":89,"props":5554,"children":5555},{"style":220},[5556],{"type":61,"value":581},{"type":55,"tag":89,"props":5558,"children":5559},{"style":506},[5560],{"type":61,"value":2982},{"type":55,"tag":89,"props":5562,"children":5563},{"style":220},[5564],{"type":61,"value":1862},{"type":55,"tag":89,"props":5566,"children":5567},{"class":91,"line":860},[5568,5573,5577,5581,5585,5589,5594,5598,5602,5606,5611,5615,5619,5623,5627,5631,5635,5639,5643,5647,5651],{"type":55,"tag":89,"props":5569,"children":5570},{"style":214},[5571],{"type":61,"value":5572},"    console",{"type":55,"tag":89,"props":5574,"children":5575},{"style":220},[5576],{"type":61,"value":670},{"type":55,"tag":89,"props":5578,"children":5579},{"style":526},[5580],{"type":61,"value":1062},{"type":55,"tag":89,"props":5582,"children":5583},{"style":541},[5584],{"type":61,"value":533},{"type":55,"tag":89,"props":5586,"children":5587},{"style":220},[5588],{"type":61,"value":3227},{"type":55,"tag":89,"props":5590,"children":5591},{"style":112},[5592],{"type":61,"value":5593},"Event from ",{"type":55,"tag":89,"props":5595,"children":5596},{"style":220},[5597],{"type":61,"value":3237},{"type":55,"tag":89,"props":5599,"children":5600},{"style":214},[5601],{"type":61,"value":5197},{"type":55,"tag":89,"props":5603,"children":5604},{"style":220},[5605],{"type":61,"value":670},{"type":55,"tag":89,"props":5607,"children":5608},{"style":214},[5609],{"type":61,"value":5610},"context",{"type":55,"tag":89,"props":5612,"children":5613},{"style":220},[5614],{"type":61,"value":670},{"type":55,"tag":89,"props":5616,"children":5617},{"style":214},[5618],{"type":61,"value":4157},{"type":55,"tag":89,"props":5620,"children":5621},{"style":220},[5622],{"type":61,"value":576},{"type":55,"tag":89,"props":5624,"children":5625},{"style":112},[5626],{"type":61,"value":549},{"type":55,"tag":89,"props":5628,"children":5629},{"style":220},[5630],{"type":61,"value":3227},{"type":55,"tag":89,"props":5632,"children":5633},{"style":220},[5634],{"type":61,"value":401},{"type":55,"tag":89,"props":5636,"children":5637},{"style":214},[5638],{"type":61,"value":5380},{"type":55,"tag":89,"props":5640,"children":5641},{"style":220},[5642],{"type":61,"value":670},{"type":55,"tag":89,"props":5644,"children":5645},{"style":214},[5646],{"type":61,"value":3419},{"type":55,"tag":89,"props":5648,"children":5649},{"style":541},[5650],{"type":61,"value":581},{"type":55,"tag":89,"props":5652,"children":5653},{"style":220},[5654],{"type":61,"value":301},{"type":55,"tag":89,"props":5656,"children":5657},{"class":91,"line":889},[5658,5662,5666,5670,5674,5678,5683,5687,5691,5695,5699,5703,5707,5711,5715,5719,5723],{"type":55,"tag":89,"props":5659,"children":5660},{"style":214},[5661],{"type":61,"value":5346},{"type":55,"tag":89,"props":5663,"children":5664},{"style":220},[5665],{"type":61,"value":670},{"type":55,"tag":89,"props":5667,"children":5668},{"style":526},[5669],{"type":61,"value":5355},{"type":55,"tag":89,"props":5671,"children":5672},{"style":541},[5673],{"type":61,"value":533},{"type":55,"tag":89,"props":5675,"children":5676},{"style":220},[5677],{"type":61,"value":3227},{"type":55,"tag":89,"props":5679,"children":5680},{"style":112},[5681],{"type":61,"value":5682},"Received: ",{"type":55,"tag":89,"props":5684,"children":5685},{"style":220},[5686],{"type":61,"value":3237},{"type":55,"tag":89,"props":5688,"children":5689},{"style":214},[5690],{"type":61,"value":5197},{"type":55,"tag":89,"props":5692,"children":5693},{"style":220},[5694],{"type":61,"value":670},{"type":55,"tag":89,"props":5696,"children":5697},{"style":214},[5698],{"type":61,"value":3419},{"type":55,"tag":89,"props":5700,"children":5701},{"style":220},[5702],{"type":61,"value":3254},{"type":55,"tag":89,"props":5704,"children":5705},{"style":220},[5706],{"type":61,"value":401},{"type":55,"tag":89,"props":5708,"children":5709},{"style":220},[5710],{"type":61,"value":421},{"type":55,"tag":89,"props":5712,"children":5713},{"style":112},[5714],{"type":61,"value":61},{"type":55,"tag":89,"props":5716,"children":5717},{"style":220},[5718],{"type":61,"value":431},{"type":55,"tag":89,"props":5720,"children":5721},{"style":541},[5722],{"type":61,"value":581},{"type":55,"tag":89,"props":5724,"children":5725},{"style":220},[5726],{"type":61,"value":301},{"type":55,"tag":89,"props":5728,"children":5729},{"class":91,"line":917},[5730],{"type":55,"tag":89,"props":5731,"children":5732},{"style":220},[5733],{"type":61,"value":3111},{"type":55,"tag":89,"props":5735,"children":5736},{"class":91,"line":955},[5737],{"type":55,"tag":89,"props":5738,"children":5739},{"style":214},[5740],{"type":61,"value":5168},{"type":55,"tag":89,"props":5742,"children":5743},{"class":91,"line":971},[5744],{"type":55,"tag":89,"props":5745,"children":5746},{"style":96},[5747],{"type":61,"value":5748},"  \u002F\u002F Non-blocking\n",{"type":55,"tag":89,"props":5750,"children":5752},{"class":91,"line":5751},29,[5753,5758,5762,5766,5770,5774,5778],{"type":55,"tag":89,"props":5754,"children":5755},{"style":526},[5756],{"type":61,"value":5757},"  onConnected",{"type":55,"tag":89,"props":5759,"children":5760},{"style":220},[5761],{"type":61,"value":549},{"type":55,"tag":89,"props":5763,"children":5764},{"style":220},[5765],{"type":61,"value":3184},{"type":55,"tag":89,"props":5767,"children":5768},{"style":3187},[5769],{"type":61,"value":5197},{"type":55,"tag":89,"props":5771,"children":5772},{"style":220},[5773],{"type":61,"value":581},{"type":55,"tag":89,"props":5775,"children":5776},{"style":506},[5777],{"type":61,"value":2982},{"type":55,"tag":89,"props":5779,"children":5780},{"style":220},[5781],{"type":61,"value":1862},{"type":55,"tag":89,"props":5783,"children":5785},{"class":91,"line":5784},30,[5786,5790,5794,5798,5802,5806,5811,5815,5819,5823,5827,5831,5835,5839,5843],{"type":55,"tag":89,"props":5787,"children":5788},{"style":214},[5789],{"type":61,"value":5572},{"type":55,"tag":89,"props":5791,"children":5792},{"style":220},[5793],{"type":61,"value":670},{"type":55,"tag":89,"props":5795,"children":5796},{"style":526},[5797],{"type":61,"value":1062},{"type":55,"tag":89,"props":5799,"children":5800},{"style":541},[5801],{"type":61,"value":533},{"type":55,"tag":89,"props":5803,"children":5804},{"style":220},[5805],{"type":61,"value":3227},{"type":55,"tag":89,"props":5807,"children":5808},{"style":112},[5809],{"type":61,"value":5810},"Client connected: ",{"type":55,"tag":89,"props":5812,"children":5813},{"style":220},[5814],{"type":61,"value":3237},{"type":55,"tag":89,"props":5816,"children":5817},{"style":214},[5818],{"type":61,"value":5197},{"type":55,"tag":89,"props":5820,"children":5821},{"style":220},[5822],{"type":61,"value":670},{"type":55,"tag":89,"props":5824,"children":5825},{"style":214},[5826],{"type":61,"value":5610},{"type":55,"tag":89,"props":5828,"children":5829},{"style":220},[5830],{"type":61,"value":670},{"type":55,"tag":89,"props":5832,"children":5833},{"style":214},[5834],{"type":61,"value":1743},{"type":55,"tag":89,"props":5836,"children":5837},{"style":220},[5838],{"type":61,"value":3254},{"type":55,"tag":89,"props":5840,"children":5841},{"style":541},[5842],{"type":61,"value":581},{"type":55,"tag":89,"props":5844,"children":5845},{"style":220},[5846],{"type":61,"value":301},{"type":55,"tag":89,"props":5848,"children":5850},{"class":91,"line":5849},31,[5851],{"type":55,"tag":89,"props":5852,"children":5853},{"style":220},[5854],{"type":61,"value":3111},{"type":55,"tag":89,"props":5856,"children":5858},{"class":91,"line":5857},32,[5859],{"type":55,"tag":89,"props":5860,"children":5861},{"style":214},[5862],{"type":61,"value":5168},{"type":55,"tag":89,"props":5864,"children":5866},{"class":91,"line":5865},33,[5867,5872,5876,5880,5884,5888,5892],{"type":55,"tag":89,"props":5868,"children":5869},{"style":526},[5870],{"type":61,"value":5871},"  onDisconnected",{"type":55,"tag":89,"props":5873,"children":5874},{"style":220},[5875],{"type":61,"value":549},{"type":55,"tag":89,"props":5877,"children":5878},{"style":220},[5879],{"type":61,"value":3184},{"type":55,"tag":89,"props":5881,"children":5882},{"style":3187},[5883],{"type":61,"value":5197},{"type":55,"tag":89,"props":5885,"children":5886},{"style":220},[5887],{"type":61,"value":581},{"type":55,"tag":89,"props":5889,"children":5890},{"style":506},[5891],{"type":61,"value":2982},{"type":55,"tag":89,"props":5893,"children":5894},{"style":220},[5895],{"type":61,"value":1862},{"type":55,"tag":89,"props":5897,"children":5899},{"class":91,"line":5898},34,[5900,5904,5908,5912,5916,5920,5925,5929,5933,5937,5941,5945,5949,5953,5957],{"type":55,"tag":89,"props":5901,"children":5902},{"style":214},[5903],{"type":61,"value":5572},{"type":55,"tag":89,"props":5905,"children":5906},{"style":220},[5907],{"type":61,"value":670},{"type":55,"tag":89,"props":5909,"children":5910},{"style":526},[5911],{"type":61,"value":1062},{"type":55,"tag":89,"props":5913,"children":5914},{"style":541},[5915],{"type":61,"value":533},{"type":55,"tag":89,"props":5917,"children":5918},{"style":220},[5919],{"type":61,"value":3227},{"type":55,"tag":89,"props":5921,"children":5922},{"style":112},[5923],{"type":61,"value":5924},"Client disconnected: ",{"type":55,"tag":89,"props":5926,"children":5927},{"style":220},[5928],{"type":61,"value":3237},{"type":55,"tag":89,"props":5930,"children":5931},{"style":214},[5932],{"type":61,"value":5197},{"type":55,"tag":89,"props":5934,"children":5935},{"style":220},[5936],{"type":61,"value":670},{"type":55,"tag":89,"props":5938,"children":5939},{"style":214},[5940],{"type":61,"value":5610},{"type":55,"tag":89,"props":5942,"children":5943},{"style":220},[5944],{"type":61,"value":670},{"type":55,"tag":89,"props":5946,"children":5947},{"style":214},[5948],{"type":61,"value":1743},{"type":55,"tag":89,"props":5950,"children":5951},{"style":220},[5952],{"type":61,"value":3254},{"type":55,"tag":89,"props":5954,"children":5955},{"style":541},[5956],{"type":61,"value":581},{"type":55,"tag":89,"props":5958,"children":5959},{"style":220},[5960],{"type":61,"value":301},{"type":55,"tag":89,"props":5962,"children":5964},{"class":91,"line":5963},35,[5965],{"type":55,"tag":89,"props":5966,"children":5967},{"style":220},[5968],{"type":61,"value":3111},{"type":55,"tag":89,"props":5970,"children":5972},{"class":91,"line":5971},36,[5973,5977,5981],{"type":55,"tag":89,"props":5974,"children":5975},{"style":220},[5976],{"type":61,"value":576},{"type":55,"tag":89,"props":5978,"children":5979},{"style":214},[5980],{"type":61,"value":581},{"type":55,"tag":89,"props":5982,"children":5983},{"style":220},[5984],{"type":61,"value":301},{"type":55,"tag":89,"props":5986,"children":5988},{"class":91,"line":5987},37,[5989],{"type":55,"tag":89,"props":5990,"children":5991},{"emptyLinePlaceholder":132},[5992],{"type":61,"value":135},{"type":55,"tag":89,"props":5994,"children":5996},{"class":91,"line":5995},38,[5997,6002,6006,6011,6016,6020,6025,6030],{"type":55,"tag":89,"props":5998,"children":5999},{"style":214},[6000],{"type":61,"value":6001},"app",{"type":55,"tag":89,"props":6003,"children":6004},{"style":220},[6005],{"type":61,"value":670},{"type":55,"tag":89,"props":6007,"children":6008},{"style":526},[6009],{"type":61,"value":6010},"use",{"type":55,"tag":89,"props":6012,"children":6013},{"style":214},[6014],{"type":61,"value":6015},"(handler",{"type":55,"tag":89,"props":6017,"children":6018},{"style":220},[6019],{"type":61,"value":670},{"type":55,"tag":89,"props":6021,"children":6022},{"style":526},[6023],{"type":61,"value":6024},"getMiddleware",{"type":55,"tag":89,"props":6026,"children":6027},{"style":214},[6028],{"type":61,"value":6029},"())",{"type":55,"tag":89,"props":6031,"children":6032},{"style":220},[6033],{"type":61,"value":301},{"type":55,"tag":89,"props":6035,"children":6037},{"class":91,"line":6036},39,[6038],{"type":55,"tag":89,"props":6039,"children":6040},{"emptyLinePlaceholder":132},[6041],{"type":61,"value":135},{"type":55,"tag":89,"props":6043,"children":6045},{"class":91,"line":6044},40,[6046],{"type":55,"tag":89,"props":6047,"children":6048},{"style":96},[6049],{"type":61,"value":6050},"\u002F\u002F Negotiate endpoint\n",{"type":55,"tag":89,"props":6052,"children":6054},{"class":91,"line":6053},41,[6055,6059,6063,6068,6072,6076,6080,6084,6088,6092,6096,6100,6104,6108,6112,6116],{"type":55,"tag":89,"props":6056,"children":6057},{"style":214},[6058],{"type":61,"value":6001},{"type":55,"tag":89,"props":6060,"children":6061},{"style":220},[6062],{"type":61,"value":670},{"type":55,"tag":89,"props":6064,"children":6065},{"style":526},[6066],{"type":61,"value":6067},"get",{"type":55,"tag":89,"props":6069,"children":6070},{"style":214},[6071],{"type":61,"value":533},{"type":55,"tag":89,"props":6073,"children":6074},{"style":220},[6075],{"type":61,"value":431},{"type":55,"tag":89,"props":6077,"children":6078},{"style":112},[6079],{"type":61,"value":3026},{"type":55,"tag":89,"props":6081,"children":6082},{"style":220},[6083],{"type":61,"value":431},{"type":55,"tag":89,"props":6085,"children":6086},{"style":220},[6087],{"type":61,"value":401},{"type":55,"tag":89,"props":6089,"children":6090},{"style":506},[6091],{"type":61,"value":2972},{"type":55,"tag":89,"props":6093,"children":6094},{"style":220},[6095],{"type":61,"value":3184},{"type":55,"tag":89,"props":6097,"children":6098},{"style":3187},[6099],{"type":61,"value":5197},{"type":55,"tag":89,"props":6101,"children":6102},{"style":220},[6103],{"type":61,"value":401},{"type":55,"tag":89,"props":6105,"children":6106},{"style":3187},[6107],{"type":61,"value":5206},{"type":55,"tag":89,"props":6109,"children":6110},{"style":220},[6111],{"type":61,"value":581},{"type":55,"tag":89,"props":6113,"children":6114},{"style":506},[6115],{"type":61,"value":2982},{"type":55,"tag":89,"props":6117,"children":6118},{"style":220},[6119],{"type":61,"value":1862},{"type":55,"tag":89,"props":6121,"children":6123},{"class":91,"line":6122},42,[6124,6129,6134,6138,6142,6147,6151,6155,6159],{"type":55,"tag":89,"props":6125,"children":6126},{"style":506},[6127],{"type":61,"value":6128},"  const",{"type":55,"tag":89,"props":6130,"children":6131},{"style":214},[6132],{"type":61,"value":6133}," token",{"type":55,"tag":89,"props":6135,"children":6136},{"style":220},[6137],{"type":61,"value":3004},{"type":55,"tag":89,"props":6139,"children":6140},{"style":383},[6141],{"type":61,"value":1022},{"type":55,"tag":89,"props":6143,"children":6144},{"style":214},[6145],{"type":61,"value":6146}," serviceClient",{"type":55,"tag":89,"props":6148,"children":6149},{"style":220},[6150],{"type":61,"value":670},{"type":55,"tag":89,"props":6152,"children":6153},{"style":526},[6154],{"type":61,"value":1036},{"type":55,"tag":89,"props":6156,"children":6157},{"style":541},[6158],{"type":61,"value":533},{"type":55,"tag":89,"props":6160,"children":6161},{"style":220},[6162],{"type":61,"value":1141},{"type":55,"tag":89,"props":6164,"children":6166},{"class":91,"line":6165},43,[6167,6172,6176,6180,6184,6189,6193,6198],{"type":55,"tag":89,"props":6168,"children":6169},{"style":541},[6170],{"type":61,"value":6171},"    userId",{"type":55,"tag":89,"props":6173,"children":6174},{"style":220},[6175],{"type":61,"value":549},{"type":55,"tag":89,"props":6177,"children":6178},{"style":214},[6179],{"type":61,"value":5380},{"type":55,"tag":89,"props":6181,"children":6182},{"style":220},[6183],{"type":61,"value":670},{"type":55,"tag":89,"props":6185,"children":6186},{"style":214},[6187],{"type":61,"value":6188},"user",{"type":55,"tag":89,"props":6190,"children":6191},{"style":220},[6192],{"type":61,"value":5253},{"type":55,"tag":89,"props":6194,"children":6195},{"style":214},[6196],{"type":61,"value":6197},"id",{"type":55,"tag":89,"props":6199,"children":6200},{"style":220},[6201],{"type":61,"value":811},{"type":55,"tag":89,"props":6203,"children":6205},{"class":91,"line":6204},44,[6206,6211,6215],{"type":55,"tag":89,"props":6207,"children":6208},{"style":220},[6209],{"type":61,"value":6210},"  }",{"type":55,"tag":89,"props":6212,"children":6213},{"style":541},[6214],{"type":61,"value":581},{"type":55,"tag":89,"props":6216,"children":6217},{"style":220},[6218],{"type":61,"value":301},{"type":55,"tag":89,"props":6220,"children":6222},{"class":91,"line":6221},45,[6223,6228,6232,6236,6240,6244,6248,6252,6256,6260,6265,6269,6273],{"type":55,"tag":89,"props":6224,"children":6225},{"style":214},[6226],{"type":61,"value":6227},"  res",{"type":55,"tag":89,"props":6229,"children":6230},{"style":220},[6231],{"type":61,"value":670},{"type":55,"tag":89,"props":6233,"children":6234},{"style":526},[6235],{"type":61,"value":3079},{"type":55,"tag":89,"props":6237,"children":6238},{"style":541},[6239],{"type":61,"value":533},{"type":55,"tag":89,"props":6241,"children":6242},{"style":220},[6243],{"type":61,"value":538},{"type":55,"tag":89,"props":6245,"children":6246},{"style":541},[6247],{"type":61,"value":3054},{"type":55,"tag":89,"props":6249,"children":6250},{"style":220},[6251],{"type":61,"value":549},{"type":55,"tag":89,"props":6253,"children":6254},{"style":214},[6255],{"type":61,"value":6133},{"type":55,"tag":89,"props":6257,"children":6258},{"style":220},[6259],{"type":61,"value":670},{"type":55,"tag":89,"props":6261,"children":6262},{"style":214},[6263],{"type":61,"value":6264},"url",{"type":55,"tag":89,"props":6266,"children":6267},{"style":220},[6268],{"type":61,"value":411},{"type":55,"tag":89,"props":6270,"children":6271},{"style":541},[6272],{"type":61,"value":581},{"type":55,"tag":89,"props":6274,"children":6275},{"style":220},[6276],{"type":61,"value":301},{"type":55,"tag":89,"props":6278,"children":6280},{"class":91,"line":6279},46,[6281,6285,6289],{"type":55,"tag":89,"props":6282,"children":6283},{"style":220},[6284],{"type":61,"value":576},{"type":55,"tag":89,"props":6286,"children":6287},{"style":214},[6288],{"type":61,"value":581},{"type":55,"tag":89,"props":6290,"children":6291},{"style":220},[6292],{"type":61,"value":301},{"type":55,"tag":89,"props":6294,"children":6296},{"class":91,"line":6295},47,[6297],{"type":55,"tag":89,"props":6298,"children":6299},{"emptyLinePlaceholder":132},[6300],{"type":61,"value":135},{"type":55,"tag":89,"props":6302,"children":6304},{"class":91,"line":6303},48,[6305,6309,6313,6318,6322,6327,6331],{"type":55,"tag":89,"props":6306,"children":6307},{"style":214},[6308],{"type":61,"value":6001},{"type":55,"tag":89,"props":6310,"children":6311},{"style":220},[6312],{"type":61,"value":670},{"type":55,"tag":89,"props":6314,"children":6315},{"style":526},[6316],{"type":61,"value":6317},"listen",{"type":55,"tag":89,"props":6319,"children":6320},{"style":214},[6321],{"type":61,"value":533},{"type":55,"tag":89,"props":6323,"children":6324},{"style":1419},[6325],{"type":61,"value":6326},"8080",{"type":55,"tag":89,"props":6328,"children":6329},{"style":214},[6330],{"type":61,"value":581},{"type":55,"tag":89,"props":6332,"children":6333},{"style":220},[6334],{"type":61,"value":301},{"type":55,"tag":70,"props":6336,"children":6338},{"id":6337},"key-types",[6339],{"type":61,"value":6340},"Key Types",{"type":55,"tag":77,"props":6342,"children":6344},{"className":372,"code":6343,"language":21,"meta":82,"style":82},"\u002F\u002F Server\nimport {\n  WebPubSubServiceClient,\n  WebPubSubGroup,\n  GenerateClientTokenOptions,\n  HubSendToAllOptions,\n} from \"@azure\u002Fweb-pubsub\";\n\n\u002F\u002F Client\nimport {\n  WebPubSubClient,\n  WebPubSubClientOptions,\n  OnConnectedArgs,\n  OnGroupDataMessageArgs,\n} from \"@azure\u002Fweb-pubsub-client\";\n\n\u002F\u002F Express\nimport {\n  WebPubSubEventHandler,\n  ConnectRequest,\n  UserEventRequest,\n  ConnectResponseHandler,\n} from \"@azure\u002Fweb-pubsub-express\";\n",[6345],{"type":55,"tag":85,"props":6346,"children":6347},{"__ignoreMap":82},[6348,6356,6367,6379,6391,6403,6415,6442,6449,6457,6468,6480,6492,6504,6516,6543,6550,6558,6569,6581,6593,6605,6617],{"type":55,"tag":89,"props":6349,"children":6350},{"class":91,"line":92},[6351],{"type":55,"tag":89,"props":6352,"children":6353},{"style":96},[6354],{"type":61,"value":6355},"\u002F\u002F Server\n",{"type":55,"tag":89,"props":6357,"children":6358},{"class":91,"line":102},[6359,6363],{"type":55,"tag":89,"props":6360,"children":6361},{"style":383},[6362],{"type":61,"value":386},{"type":55,"tag":89,"props":6364,"children":6365},{"style":220},[6366],{"type":61,"value":1862},{"type":55,"tag":89,"props":6368,"children":6369},{"class":91,"line":128},[6370,6375],{"type":55,"tag":89,"props":6371,"children":6372},{"style":214},[6373],{"type":61,"value":6374},"  WebPubSubServiceClient",{"type":55,"tag":89,"props":6376,"children":6377},{"style":220},[6378],{"type":61,"value":811},{"type":55,"tag":89,"props":6380,"children":6381},{"class":91,"line":138},[6382,6387],{"type":55,"tag":89,"props":6383,"children":6384},{"style":214},[6385],{"type":61,"value":6386},"  WebPubSubGroup",{"type":55,"tag":89,"props":6388,"children":6389},{"style":220},[6390],{"type":61,"value":811},{"type":55,"tag":89,"props":6392,"children":6393},{"class":91,"line":147},[6394,6399],{"type":55,"tag":89,"props":6395,"children":6396},{"style":214},[6397],{"type":61,"value":6398},"  GenerateClientTokenOptions",{"type":55,"tag":89,"props":6400,"children":6401},{"style":220},[6402],{"type":61,"value":811},{"type":55,"tag":89,"props":6404,"children":6405},{"class":91,"line":164},[6406,6411],{"type":55,"tag":89,"props":6407,"children":6408},{"style":214},[6409],{"type":61,"value":6410},"  HubSendToAllOptions",{"type":55,"tag":89,"props":6412,"children":6413},{"style":220},[6414],{"type":61,"value":811},{"type":55,"tag":89,"props":6416,"children":6417},{"class":91,"line":172},[6418,6422,6426,6430,6434,6438],{"type":55,"tag":89,"props":6419,"children":6420},{"style":220},[6421],{"type":61,"value":576},{"type":55,"tag":89,"props":6423,"children":6424},{"style":383},[6425],{"type":61,"value":416},{"type":55,"tag":89,"props":6427,"children":6428},{"style":220},[6429],{"type":61,"value":421},{"type":55,"tag":89,"props":6431,"children":6432},{"style":112},[6433],{"type":61,"value":426},{"type":55,"tag":89,"props":6435,"children":6436},{"style":220},[6437],{"type":61,"value":431},{"type":55,"tag":89,"props":6439,"children":6440},{"style":220},[6441],{"type":61,"value":301},{"type":55,"tag":89,"props":6443,"children":6444},{"class":91,"line":181},[6445],{"type":55,"tag":89,"props":6446,"children":6447},{"emptyLinePlaceholder":132},[6448],{"type":61,"value":135},{"type":55,"tag":89,"props":6450,"children":6451},{"class":91,"line":612},[6452],{"type":55,"tag":89,"props":6453,"children":6454},{"style":96},[6455],{"type":61,"value":6456},"\u002F\u002F Client\n",{"type":55,"tag":89,"props":6458,"children":6459},{"class":91,"line":620},[6460,6464],{"type":55,"tag":89,"props":6461,"children":6462},{"style":383},[6463],{"type":61,"value":386},{"type":55,"tag":89,"props":6465,"children":6466},{"style":220},[6467],{"type":61,"value":1862},{"type":55,"tag":89,"props":6469,"children":6470},{"class":91,"line":629},[6471,6476],{"type":55,"tag":89,"props":6472,"children":6473},{"style":214},[6474],{"type":61,"value":6475},"  WebPubSubClient",{"type":55,"tag":89,"props":6477,"children":6478},{"style":220},[6479],{"type":61,"value":811},{"type":55,"tag":89,"props":6481,"children":6482},{"class":91,"line":659},[6483,6488],{"type":55,"tag":89,"props":6484,"children":6485},{"style":214},[6486],{"type":61,"value":6487},"  WebPubSubClientOptions",{"type":55,"tag":89,"props":6489,"children":6490},{"style":220},[6491],{"type":61,"value":811},{"type":55,"tag":89,"props":6493,"children":6494},{"class":91,"line":691},[6495,6500],{"type":55,"tag":89,"props":6496,"children":6497},{"style":214},[6498],{"type":61,"value":6499},"  OnConnectedArgs",{"type":55,"tag":89,"props":6501,"children":6502},{"style":220},[6503],{"type":61,"value":811},{"type":55,"tag":89,"props":6505,"children":6506},{"class":91,"line":714},[6507,6512],{"type":55,"tag":89,"props":6508,"children":6509},{"style":214},[6510],{"type":61,"value":6511},"  OnGroupDataMessageArgs",{"type":55,"tag":89,"props":6513,"children":6514},{"style":220},[6515],{"type":61,"value":811},{"type":55,"tag":89,"props":6517,"children":6518},{"class":91,"line":726},[6519,6523,6527,6531,6535,6539],{"type":55,"tag":89,"props":6520,"children":6521},{"style":220},[6522],{"type":61,"value":576},{"type":55,"tag":89,"props":6524,"children":6525},{"style":383},[6526],{"type":61,"value":416},{"type":55,"tag":89,"props":6528,"children":6529},{"style":220},[6530],{"type":61,"value":421},{"type":55,"tag":89,"props":6532,"children":6533},{"style":112},[6534],{"type":61,"value":2838},{"type":55,"tag":89,"props":6536,"children":6537},{"style":220},[6538],{"type":61,"value":431},{"type":55,"tag":89,"props":6540,"children":6541},{"style":220},[6542],{"type":61,"value":301},{"type":55,"tag":89,"props":6544,"children":6545},{"class":91,"line":734},[6546],{"type":55,"tag":89,"props":6547,"children":6548},{"emptyLinePlaceholder":132},[6549],{"type":61,"value":135},{"type":55,"tag":89,"props":6551,"children":6552},{"class":91,"line":743},[6553],{"type":55,"tag":89,"props":6554,"children":6555},{"style":96},[6556],{"type":61,"value":6557},"\u002F\u002F Express\n",{"type":55,"tag":89,"props":6559,"children":6560},{"class":91,"line":772},[6561,6565],{"type":55,"tag":89,"props":6562,"children":6563},{"style":383},[6564],{"type":61,"value":386},{"type":55,"tag":89,"props":6566,"children":6567},{"style":220},[6568],{"type":61,"value":1862},{"type":55,"tag":89,"props":6570,"children":6571},{"class":91,"line":800},[6572,6577],{"type":55,"tag":89,"props":6573,"children":6574},{"style":214},[6575],{"type":61,"value":6576},"  WebPubSubEventHandler",{"type":55,"tag":89,"props":6578,"children":6579},{"style":220},[6580],{"type":61,"value":811},{"type":55,"tag":89,"props":6582,"children":6583},{"class":91,"line":814},[6584,6589],{"type":55,"tag":89,"props":6585,"children":6586},{"style":214},[6587],{"type":61,"value":6588},"  ConnectRequest",{"type":55,"tag":89,"props":6590,"children":6591},{"style":220},[6592],{"type":61,"value":811},{"type":55,"tag":89,"props":6594,"children":6595},{"class":91,"line":831},[6596,6601],{"type":55,"tag":89,"props":6597,"children":6598},{"style":214},[6599],{"type":61,"value":6600},"  UserEventRequest",{"type":55,"tag":89,"props":6602,"children":6603},{"style":220},[6604],{"type":61,"value":811},{"type":55,"tag":89,"props":6606,"children":6607},{"class":91,"line":843},[6608,6613],{"type":55,"tag":89,"props":6609,"children":6610},{"style":214},[6611],{"type":61,"value":6612},"  ConnectResponseHandler",{"type":55,"tag":89,"props":6614,"children":6615},{"style":220},[6616],{"type":61,"value":811},{"type":55,"tag":89,"props":6618,"children":6619},{"class":91,"line":851},[6620,6624,6628,6632,6636,6640],{"type":55,"tag":89,"props":6621,"children":6622},{"style":220},[6623],{"type":61,"value":576},{"type":55,"tag":89,"props":6625,"children":6626},{"style":383},[6627],{"type":61,"value":416},{"type":55,"tag":89,"props":6629,"children":6630},{"style":220},[6631],{"type":61,"value":421},{"type":55,"tag":89,"props":6633,"children":6634},{"style":112},[6635],{"type":61,"value":5032},{"type":55,"tag":89,"props":6637,"children":6638},{"style":220},[6639],{"type":61,"value":431},{"type":55,"tag":89,"props":6641,"children":6642},{"style":220},[6643],{"type":61,"value":301},{"type":55,"tag":70,"props":6645,"children":6647},{"id":6646},"best-practices",[6648],{"type":61,"value":6649},"Best Practices",{"type":55,"tag":6651,"props":6652,"children":6653},"ol",{},[6654,6690,6700,6710,6720,6730],{"type":55,"tag":6655,"props":6656,"children":6657},"li",{},[6658,6664,6666,6672,6674,6680,6682,6688],{"type":55,"tag":6659,"props":6660,"children":6661},"strong",{},[6662],{"type":61,"value":6663},"Use Microsoft Entra Token Credential",{"type":61,"value":6665}," - Use ",{"type":55,"tag":85,"props":6667,"children":6669},{"className":6668},[],[6670],{"type":61,"value":6671},"DefaultAzureCredential",{"type":61,"value":6673}," for local development; use ",{"type":55,"tag":85,"props":6675,"children":6677},{"className":6676},[],[6678],{"type":61,"value":6679},"ManagedIdentityCredential",{"type":61,"value":6681}," or ",{"type":55,"tag":85,"props":6683,"children":6685},{"className":6684},[],[6686],{"type":61,"value":6687},"WorkloadIdentityCredential",{"type":61,"value":6689}," for production",{"type":55,"tag":6655,"props":6691,"children":6692},{},[6693,6698],{"type":55,"tag":6659,"props":6694,"children":6695},{},[6696],{"type":61,"value":6697},"Register handlers before start",{"type":61,"value":6699}," - Don't miss initial events",{"type":55,"tag":6655,"props":6701,"children":6702},{},[6703,6708],{"type":55,"tag":6659,"props":6704,"children":6705},{},[6706],{"type":61,"value":6707},"Use groups for channels",{"type":61,"value":6709}," - Organize messages by topic\u002Froom",{"type":55,"tag":6655,"props":6711,"children":6712},{},[6713,6718],{"type":55,"tag":6659,"props":6714,"children":6715},{},[6716],{"type":61,"value":6717},"Handle reconnection",{"type":61,"value":6719}," - Client auto-reconnects by default",{"type":55,"tag":6655,"props":6721,"children":6722},{},[6723,6728],{"type":55,"tag":6659,"props":6724,"children":6725},{},[6726],{"type":61,"value":6727},"Validate in handleConnect",{"type":61,"value":6729}," - Reject unauthorized connections early",{"type":55,"tag":6655,"props":6731,"children":6732},{},[6733,6738],{"type":55,"tag":6659,"props":6734,"children":6735},{},[6736],{"type":61,"value":6737},"Use noEcho",{"type":61,"value":6739}," - Prevent message echo back to sender when needed",{"type":55,"tag":6741,"props":6742,"children":6743},"style",{},[6744],{"type":61,"value":6745},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":6747,"total":5995},[6748,6764,6785,6800,6817,6828,6841],{"slug":6749,"name":6749,"fn":6750,"description":6751,"org":6752,"tags":6753,"stars":29,"repoUrl":30,"updatedAt":6763},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6754,6757,6759,6760],{"name":6755,"slug":6756,"type":15},".NET","net",{"name":6758,"slug":36,"type":15},"Agents",{"name":13,"slug":14,"type":15},{"name":6761,"slug":6762,"type":15},"LLM","llm","2026-07-03T16:32:10.297433",{"slug":6765,"name":6765,"fn":6766,"description":6767,"org":6768,"tags":6769,"stars":29,"repoUrl":30,"updatedAt":6784},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6770,6773,6774,6777,6780,6781],{"name":6771,"slug":6772,"type":15},"Analytics","analytics",{"name":13,"slug":14,"type":15},{"name":6775,"slug":6776,"type":15},"Data Analysis","data-analysis",{"name":6778,"slug":6779,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":6782,"slug":6783,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":6786,"name":6786,"fn":6787,"description":6788,"org":6789,"tags":6790,"stars":29,"repoUrl":30,"updatedAt":6799},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6791,6794,6795,6796],{"name":6792,"slug":6793,"type":15},"AI Infrastructure","ai-infrastructure",{"name":13,"slug":14,"type":15},{"name":6778,"slug":6779,"type":15},{"name":6797,"slug":6798,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":6801,"name":6801,"fn":6802,"description":6803,"org":6804,"tags":6805,"stars":29,"repoUrl":30,"updatedAt":6816},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6806,6807,6810,6811,6812,6815],{"name":13,"slug":14,"type":15},{"name":6808,"slug":6809,"type":15},"Compliance","compliance",{"name":6761,"slug":6762,"type":15},{"name":9,"slug":8,"type":15},{"name":6813,"slug":6814,"type":15},"Python","python",{"name":6797,"slug":6798,"type":15},"2026-07-18T05:14:23.017504",{"slug":6818,"name":6818,"fn":6819,"description":6820,"org":6821,"tags":6822,"stars":29,"repoUrl":30,"updatedAt":6827},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6823,6824,6825,6826],{"name":6771,"slug":6772,"type":15},{"name":13,"slug":14,"type":15},{"name":6761,"slug":6762,"type":15},{"name":6813,"slug":6814,"type":15},"2026-07-31T05:54:29.068751",{"slug":6829,"name":6829,"fn":6830,"description":6831,"org":6832,"tags":6833,"stars":29,"repoUrl":30,"updatedAt":6840},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6834,6837,6838,6839],{"name":6835,"slug":6836,"type":15},"API Development","api-development",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":6813,"slug":6814,"type":15},"2026-07-18T05:14:16.988376",{"slug":6842,"name":6842,"fn":6843,"description":6844,"org":6845,"tags":6846,"stars":29,"repoUrl":30,"updatedAt":6855},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6847,6848,6851,6854],{"name":13,"slug":14,"type":15},{"name":6849,"slug":6850,"type":15},"Computer Vision","computer-vision",{"name":6852,"slug":6853,"type":15},"Images","images",{"name":6813,"slug":6814,"type":15},"2026-07-18T05:14:18.007737",{"items":6857,"total":6990},[6858,6880,6887,6896,6903,6912,6919,6926,6933,6948,6967,6978],{"slug":6859,"name":6859,"fn":6860,"description":6861,"org":6862,"tags":6863,"stars":6877,"repoUrl":6878,"updatedAt":6879},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6864,6867,6870,6871,6874],{"name":6865,"slug":6866,"type":15},"Engineering","engineering",{"name":6868,"slug":6869,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":6872,"slug":6873,"type":15},"Project Management","project-management",{"name":6875,"slug":6876,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":6749,"name":6749,"fn":6750,"description":6751,"org":6881,"tags":6882,"stars":29,"repoUrl":30,"updatedAt":6763},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6883,6884,6885,6886],{"name":6755,"slug":6756,"type":15},{"name":6758,"slug":36,"type":15},{"name":13,"slug":14,"type":15},{"name":6761,"slug":6762,"type":15},{"slug":6765,"name":6765,"fn":6766,"description":6767,"org":6888,"tags":6889,"stars":29,"repoUrl":30,"updatedAt":6784},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6890,6891,6892,6893,6894,6895],{"name":6771,"slug":6772,"type":15},{"name":13,"slug":14,"type":15},{"name":6775,"slug":6776,"type":15},{"name":6778,"slug":6779,"type":15},{"name":9,"slug":8,"type":15},{"name":6782,"slug":6783,"type":15},{"slug":6786,"name":6786,"fn":6787,"description":6788,"org":6897,"tags":6898,"stars":29,"repoUrl":30,"updatedAt":6799},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6899,6900,6901,6902],{"name":6792,"slug":6793,"type":15},{"name":13,"slug":14,"type":15},{"name":6778,"slug":6779,"type":15},{"name":6797,"slug":6798,"type":15},{"slug":6801,"name":6801,"fn":6802,"description":6803,"org":6904,"tags":6905,"stars":29,"repoUrl":30,"updatedAt":6816},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6906,6907,6908,6909,6910,6911],{"name":13,"slug":14,"type":15},{"name":6808,"slug":6809,"type":15},{"name":6761,"slug":6762,"type":15},{"name":9,"slug":8,"type":15},{"name":6813,"slug":6814,"type":15},{"name":6797,"slug":6798,"type":15},{"slug":6818,"name":6818,"fn":6819,"description":6820,"org":6913,"tags":6914,"stars":29,"repoUrl":30,"updatedAt":6827},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6915,6916,6917,6918],{"name":6771,"slug":6772,"type":15},{"name":13,"slug":14,"type":15},{"name":6761,"slug":6762,"type":15},{"name":6813,"slug":6814,"type":15},{"slug":6829,"name":6829,"fn":6830,"description":6831,"org":6920,"tags":6921,"stars":29,"repoUrl":30,"updatedAt":6840},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6922,6923,6924,6925],{"name":6835,"slug":6836,"type":15},{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":6813,"slug":6814,"type":15},{"slug":6842,"name":6842,"fn":6843,"description":6844,"org":6927,"tags":6928,"stars":29,"repoUrl":30,"updatedAt":6855},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6929,6930,6931,6932],{"name":13,"slug":14,"type":15},{"name":6849,"slug":6850,"type":15},{"name":6852,"slug":6853,"type":15},{"name":6813,"slug":6814,"type":15},{"slug":6934,"name":6934,"fn":6935,"description":6936,"org":6937,"tags":6938,"stars":29,"repoUrl":30,"updatedAt":6947},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6939,6940,6943,6946],{"name":13,"slug":14,"type":15},{"name":6941,"slug":6942,"type":15},"Configuration","configuration",{"name":6944,"slug":6945,"type":15},"Feature Flags","feature-flags",{"name":6778,"slug":6779,"type":15},"2026-07-03T16:32:01.278468",{"slug":6949,"name":6949,"fn":6950,"description":6951,"org":6952,"tags":6953,"stars":29,"repoUrl":30,"updatedAt":6966},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6954,6957,6960,6963],{"name":6955,"slug":6956,"type":15},"Cosmos DB","cosmos-db",{"name":6958,"slug":6959,"type":15},"Database","database",{"name":6961,"slug":6962,"type":15},"NoSQL","nosql",{"name":6964,"slug":6965,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":6968,"name":6968,"fn":6950,"description":6969,"org":6970,"tags":6971,"stars":29,"repoUrl":30,"updatedAt":6977},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6972,6973,6974,6975,6976],{"name":6955,"slug":6956,"type":15},{"name":6958,"slug":6959,"type":15},{"name":9,"slug":8,"type":15},{"name":6961,"slug":6962,"type":15},{"name":20,"slug":21,"type":15},"2026-07-03T16:31:19.368382",{"slug":6979,"name":6979,"fn":6980,"description":6981,"org":6982,"tags":6983,"stars":29,"repoUrl":30,"updatedAt":6989},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[6984,6985,6986,6987,6988],{"name":13,"slug":14,"type":15},{"name":6955,"slug":6956,"type":15},{"name":6958,"slug":6959,"type":15},{"name":6778,"slug":6779,"type":15},{"name":6961,"slug":6962,"type":15},"2026-05-13T06:14:17.582229",267]