@sylphx/flow 0.2.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-zx5x51az.js → chunk-0h7sfwq3.js} +3 -3
- package/dist/{chunk-zx5x51az.js.map → chunk-0h7sfwq3.js.map} +1 -1
- package/dist/{chunk-72zcfcy9.js → chunk-124wqbdb.js} +3 -3
- package/dist/{chunk-72zcfcy9.js.map → chunk-124wqbdb.js.map} +1 -1
- package/dist/{chunk-tjxmyx7a.js → chunk-4p754rhd.js} +2 -2
- package/dist/{chunk-tjxmyx7a.js.map → chunk-4p754rhd.js.map} +1 -1
- package/dist/{chunk-5x5bm9m5.js → chunk-5r4afhzp.js} +3 -3
- package/dist/{chunk-5x5bm9m5.js.map → chunk-5r4afhzp.js.map} +1 -1
- package/dist/{chunk-aqc8rkrn.js → chunk-646h52kd.js} +3 -3
- package/dist/{chunk-aqc8rkrn.js.map → chunk-646h52kd.js.map} +1 -1
- package/dist/{chunk-9ntypdnt.js → chunk-78bfvh46.js} +2 -2
- package/dist/{chunk-9ntypdnt.js.map → chunk-78bfvh46.js.map} +1 -1
- package/dist/{chunk-z93nw3rq.js → chunk-878q8xdr.js} +3 -3
- package/dist/{chunk-z93nw3rq.js.map → chunk-878q8xdr.js.map} +1 -1
- package/dist/{chunk-crhdp3mm.js → chunk-bd11hvvz.js} +2 -2
- package/dist/{chunk-crhdp3mm.js.map → chunk-bd11hvvz.js.map} +1 -1
- package/dist/{chunk-663e2x2k.js → chunk-e966bjm5.js} +2 -2
- package/dist/{chunk-663e2x2k.js.map → chunk-e966bjm5.js.map} +1 -1
- package/dist/{chunk-5q22r8rv.js → chunk-f6y5vttn.js} +3 -3
- package/dist/{chunk-5q22r8rv.js.map → chunk-f6y5vttn.js.map} +1 -1
- package/dist/chunk-fxwaa2mg.js +4 -0
- package/dist/chunk-fxwaa2mg.js.map +10 -0
- package/dist/chunk-g9t3me0w.js +4 -0
- package/dist/{chunk-54jnh3ev.js.map → chunk-g9t3me0w.js.map} +1 -1
- package/dist/{chunk-yvh7p6vf.js → chunk-hs3nxzyz.js} +2 -2
- package/dist/{chunk-yvh7p6vf.js.map → chunk-hs3nxzyz.js.map} +1 -1
- package/dist/{chunk-wkbpwkvw.js → chunk-hshjnpm0.js} +2 -2
- package/dist/{chunk-wkbpwkvw.js.map → chunk-hshjnpm0.js.map} +1 -1
- package/dist/{chunk-2sxe8t33.js → chunk-jxny6xft.js} +2 -2
- package/dist/{chunk-2sxe8t33.js.map → chunk-jxny6xft.js.map} +1 -1
- package/dist/{chunk-j07c4re1.js → chunk-qa8b725g.js} +3 -3
- package/dist/{chunk-j07c4re1.js.map → chunk-qa8b725g.js.map} +1 -1
- package/dist/{chunk-cgd3ffjk.js → chunk-wpe7rw5c.js} +3 -3
- package/dist/{chunk-cgd3ffjk.js.map → chunk-wpe7rw5c.js.map} +1 -1
- package/dist/{chunk-dn65d94r.js → chunk-ygdr4fw7.js} +4 -4
- package/dist/{chunk-dn65d94r.js.map → chunk-ygdr4fw7.js.map} +1 -1
- package/dist/index.js +282 -273
- package/dist/index.js.map +9 -7
- package/package.json +1 -1
- package/dist/chunk-54jnh3ev.js +0 -4
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"/**\n * TF-IDF (Term Frequency-Inverse Document Frequency) implementation\n * Used for ranking document relevance in semantic search\n */\n\nimport { AdvancedCodeTokenizer } from '../../utils/advanced-tokenizer.js';\nimport type { SeparatedMemoryStorage } from './separated-storage.js';\n\nexport interface DocumentVector {\n uri: string;\n terms: Map<string, number>; // term → TF-IDF score\n rawTerms: Map<string, number>; // term → raw frequency\n magnitude: number; // Vector magnitude for cosine similarity\n}\n\nexport interface SearchIndex {\n documents: DocumentVector[];\n idf: Map<string, number>; // term → IDF score\n totalDocuments: number;\n metadata: {\n generatedAt: string;\n version: string;\n };\n}\n\n/**\n * Build search index from database (shared between CLI and MCP)\n */\nexport async function buildSearchIndexFromDB(\n memoryStorage: SeparatedMemoryStorage,\n filters?: {\n file_extensions?: string[];\n path_filter?: string;\n exclude_paths?: string[];\n }\n): Promise<SearchIndex | null> {\n try {\n // Get all files from database\n let files = await memoryStorage.getAllCodebaseFiles();\n\n // Apply filters\n if (filters) {\n if (filters.file_extensions && filters.file_extensions.length > 0) {\n files = files.filter((file) =>\n filters.file_extensions?.some((ext: string) => file.path.endsWith(ext))\n );\n }\n\n if (filters.path_filter) {\n files = files.filter((file) => file.path.includes(filters.path_filter!));\n }\n\n if (filters.exclude_paths && filters.exclude_paths.length > 0) {\n files = files.filter(\n (file) => !filters.exclude_paths?.some((exclude: string) => file.path.includes(exclude))\n );\n }\n }\n\n if (files.length === 0) {\n return null;\n }\n\n // Build search documents - read TF-IDF terms directly from database\n const documents = [];\n for (const file of files) {\n const tfidfDoc = await memoryStorage.getTFIDFDocument(file.path);\n if (tfidfDoc) {\n // Get TF-IDF terms from database (already calculated)\n const tfidfTerms = await memoryStorage.getTFIDFTerms(file.path);\n const terms = new Map<string, number>();\n const rawTermsMap = new Map<string, number>();\n\n // Use TF-IDF terms for search scoring\n for (const [term, tfidfScore] of Object.entries(tfidfTerms)) {\n terms.set(term, tfidfScore as number);\n }\n\n // Use rawTerms for reference\n const rawTerms = tfidfDoc.rawTerms || {};\n for (const [term, freq] of Object.entries(rawTerms)) {\n rawTermsMap.set(term, freq as number);\n }\n\n documents.push({\n uri: `file://${file.path}`,\n terms,\n rawTerms: rawTermsMap,\n magnitude: tfidfDoc.magnitude,\n });\n }\n }\n\n if (documents.length === 0) {\n return null;\n }\n\n // Get IDF values from database\n const idfRecords = await memoryStorage.getIDFValues();\n const idf = new Map<string, number>();\n for (const [term, value] of Object.entries(idfRecords)) {\n idf.set(term, value as number);\n }\n\n return {\n documents,\n idf,\n totalDocuments: documents.length,\n metadata: {\n generatedAt: new Date().toISOString(),\n version: '1.0.0',\n },\n };\n } catch (error) {\n console.error('[ERROR] Failed to build search index from database:', error);\n return null;\n }\n}\n\n/**\n * Calculate Term Frequency (TF)\n * TF = (number of times term appears in document) / (total terms in document)\n */\nfunction calculateTF(termFrequency: Map<string, number>): Map<string, number> {\n const totalTerms = Array.from(termFrequency.values()).reduce((sum, freq) => sum + freq, 0);\n const tf = new Map<string, number>();\n\n for (const [term, freq] of termFrequency.entries()) {\n tf.set(term, freq / totalTerms);\n }\n\n return tf;\n}\n\n/**\n * Calculate Inverse Document Frequency (IDF)\n * IDF = log(total documents / documents containing term)\n */\nfunction calculateIDF(\n documents: Map<string, number>[],\n totalDocuments: number\n): Map<string, number> {\n const documentFrequency = new Map<string, number>();\n\n // Count how many documents contain each term\n for (const doc of documents) {\n const uniqueTerms = new Set(doc.keys());\n for (const term of uniqueTerms) {\n documentFrequency.set(term, (documentFrequency.get(term) || 0) + 1);\n }\n }\n\n // Calculate IDF for each term\n const idf = new Map<string, number>();\n for (const [term, docFreq] of documentFrequency.entries()) {\n idf.set(term, Math.log(totalDocuments / docFreq));\n }\n\n return idf;\n}\n\n/**\n * Calculate TF-IDF scores for a document\n */\nfunction calculateTFIDF(tf: Map<string, number>, idf: Map<string, number>): Map<string, number> {\n const tfidf = new Map<string, number>();\n\n for (const [term, tfScore] of tf.entries()) {\n const idfScore = idf.get(term) || 0;\n tfidf.set(term, tfScore * idfScore);\n }\n\n return tfidf;\n}\n\n/**\n * Calculate vector magnitude for cosine similarity\n */\nfunction calculateMagnitude(vector: Map<string, number>): number {\n let sum = 0;\n for (const value of vector.values()) {\n sum += value * value;\n }\n return Math.sqrt(sum);\n}\n\n// Global tokenizer instance for performance\nlet globalTokenizer: AdvancedCodeTokenizer | null = null;\nlet tokenizerInitialized = false;\n\n/**\n * Get or create the global tokenizer\n */\nasync function getTokenizer(): Promise<AdvancedCodeTokenizer> {\n if (!globalTokenizer) {\n globalTokenizer = new AdvancedCodeTokenizer({\n modelPath: './models/starcoder2',\n });\n }\n\n if (!tokenizerInitialized) {\n // Silently initialize - no console output\n const originalLog = console.log;\n const originalError = console.error;\n console.log = () => {}; // Temporarily silence console.log\n console.error = () => {}; // Temporarily silence console.error\n try {\n await globalTokenizer.initialize();\n tokenizerInitialized = true;\n } finally {\n console.log = originalLog; // Restore console.log\n console.error = originalError; // Restore console.error\n }\n }\n\n return globalTokenizer;\n}\n\n/**\n * Extract terms using our advanced tokenizer\n */\nasync function extractTerms(content: string): Promise<Map<string, number>> {\n const tokenizer = await getTokenizer();\n const result = await tokenizer.tokenize(content);\n const terms = new Map<string, number>();\n\n // Use token scores as TF weights\n for (const token of result.tokens) {\n const term = token.text.toLowerCase();\n const currentScore = terms.get(term) || 0;\n terms.set(term, currentScore + token.score);\n }\n\n return terms;\n}\n\n/**\n * Extract simple tokens for query processing\n */\nasync function extractQueryTokens(query: string): Promise<string[]> {\n const tokenizer = await getTokenizer();\n const result = await tokenizer.tokenize(query);\n\n // Return unique tokens, sorted by score (highest first)\n const uniqueTokens = new Map<string, string>();\n for (const token of result.tokens) {\n const lowerText = token.text.toLowerCase();\n if (!uniqueTokens.has(lowerText) || token.score > 0.8) {\n uniqueTokens.set(lowerText, token.text);\n }\n }\n\n return Array.from(uniqueTokens.values());\n}\n\nexport interface BuildIndexProgress {\n current: number;\n total: number;\n fileName: string;\n status: 'processing' | 'completed' | 'skipped';\n}\n\n/**\n * Build TF-IDF search index from documents using our advanced tokenizer\n */\nexport async function buildSearchIndex(\n documents: Array<{ uri: string; content: string }>,\n onProgress?: (progress: BuildIndexProgress) => void\n): Promise<SearchIndex> {\n // Process documents one by one to avoid hanging\n const batchSize = 1; // Process 1 document at a time to avoid hanging\n const documentTerms: Array<{ uri: string; terms: Map<string, number> }> = [];\n\n for (let i = 0; i < documents.length; i += batchSize) {\n const batch = documents.slice(i, i + batchSize);\n\n // Process sequentially to avoid hanging\n const batchResults = [];\n for (let j = 0; j < batch.length; j++) {\n const doc = batch[j];\n const fileName = doc.uri.split('/').pop() || doc.uri;\n\n // Report progress\n onProgress?.({\n current: i + j + 1,\n total: documents.length,\n fileName,\n status: 'processing',\n });\n\n try {\n const result = await extractTerms(doc.content);\n\n batchResults.push({\n uri: doc.uri,\n terms: result,\n });\n\n // Report completion\n onProgress?.({\n current: i + j + 1,\n total: documents.length,\n fileName,\n status: 'completed',\n });\n } catch (_error) {\n batchResults.push({\n uri: doc.uri,\n terms: new Map<string, number>(),\n });\n\n // Report skip\n onProgress?.({\n current: i + j + 1,\n total: documents.length,\n fileName,\n status: 'skipped',\n });\n }\n }\n\n documentTerms.push(...batchResults);\n }\n\n // Calculate IDF scores\n const idf = calculateIDF(\n documentTerms.map((d) => d.terms),\n documents.length\n );\n\n // Calculate TF-IDF for each document\n const documentVectors: DocumentVector[] = documentTerms.map((doc) => {\n const tf = calculateTF(doc.terms);\n const tfidf = calculateTFIDF(tf, idf);\n const magnitude = calculateMagnitude(tfidf);\n\n return {\n uri: doc.uri,\n terms: tfidf,\n rawTerms: doc.terms,\n magnitude,\n };\n });\n\n return {\n documents: documentVectors,\n idf,\n totalDocuments: documents.length,\n metadata: {\n generatedAt: new Date().toISOString(),\n version: '5.0.0',\n tokenizer: 'AdvancedCodeTokenizer',\n features: [\n 'Industry-leading code understanding',\n 'Advanced technical term recognition',\n 'Optimized for code search',\n 'Simple and effective approach',\n 'No unnecessary complexity',\n ],\n },\n };\n}\n\n/**\n * Calculate cosine similarity between query and document\n */\nexport function calculateCosineSimilarity(\n queryVector: Map<string, number>,\n docVector: DocumentVector\n): number {\n let dotProduct = 0;\n\n // Calculate dot product\n for (const [term, queryScore] of queryVector.entries()) {\n const docScore = docVector.terms.get(term) || 0;\n dotProduct += queryScore * docScore;\n }\n\n // Calculate query magnitude\n const queryMagnitude = calculateMagnitude(queryVector);\n\n if (queryMagnitude === 0 || docVector.magnitude === 0) {\n return 0;\n }\n\n return dotProduct / (queryMagnitude * docVector.magnitude);\n}\n\n/**\n * Process query into TF-IDF vector using database values\n */\nexport async function processQuery(\n query: string,\n idf: Map<string, number>\n): Promise<Map<string, number>> {\n const terms = await extractQueryTokens(query);\n const queryVector = new Map<string, number>();\n\n // 為每個查詢詞使用 IDF 值(查詢本身無 TF-IDF,直接用 IDF)\n for (const term of terms) {\n const lowerTerm = term.toLowerCase();\n const idfValue = idf.get(lowerTerm) || 0;\n\n // 純粹用 IDF 值,完全信任 StarCoder2 嘅 tokenization\n if (idfValue > 0) {\n queryVector.set(lowerTerm, idfValue);\n }\n }\n\n return queryVector;\n}\n\n/**\n * Search documents using TF-IDF and cosine similarity with Advanced Code Tokenizer\n */\nexport async function searchDocuments(\n query: string,\n index: SearchIndex,\n options: {\n limit?: number;\n minScore?: number;\n boostFactors?: {\n exactMatch?: number; // Boost for exact term matches\n phraseMatch?: number; // Boost for phrase matches\n technicalMatch?: number; // Boost for technical term matches\n identifierMatch?: number; // Boost for identifier matches\n };\n } = {}\n): Promise<Array<{ uri: string; score: number; matchedTerms: string[] }>> {\n const { limit = 10, minScore = 0, boostFactors = {} } = options;\n const {\n exactMatch = 1.5,\n phraseMatch = 2.0,\n technicalMatch = 1.8,\n identifierMatch = 1.3,\n } = boostFactors;\n\n // Process query using Advanced Code Tokenizer\n const queryVector = await processQuery(query, index.idf);\n const queryTokens = (await extractQueryTokens(query)).map((t) => t.toLowerCase());\n\n // Calculate similarity for each document\n const results = index.documents.map((doc) => {\n let score = calculateCosineSimilarity(queryVector, doc);\n\n // Boost for exact term matches with enhanced scoring\n const matchedTerms: string[] = [];\n for (const token of queryTokens) {\n if (doc.rawTerms.has(token)) {\n // Apply different boost factors based on term characteristics\n let boostFactor = exactMatch;\n\n // Additional boost for technical terms\n if (isTechnicalTerm(token)) {\n boostFactor = Math.max(boostFactor, technicalMatch);\n }\n\n // Additional boost for identifiers\n if (isIdentifier(token)) {\n boostFactor = Math.max(boostFactor, identifierMatch);\n }\n\n score *= boostFactor;\n matchedTerms.push(token);\n }\n }\n\n // Enhanced phrase match detection (all query terms appear in document)\n if (matchedTerms.length === queryTokens.length && queryTokens.length > 1) {\n score *= phraseMatch;\n }\n\n // Contextual relevance boost for longer queries\n if (queryTokens.length > 3 && matchedTerms.length >= queryTokens.length * 0.7) {\n score *= 1.2; // Boost for partial matches on complex queries\n }\n\n return {\n uri: doc.uri,\n score,\n matchedTerms,\n };\n });\n\n // Filter and sort\n return results\n .filter((result) => result.score >= minScore)\n .sort((a, b) => b.score - a.score)\n .slice(0, limit);\n}\n\n/**\n * Check if a term is likely a technical term\n */\nfunction isTechnicalTerm(term: string): boolean {\n const technicalPatterns = [\n /\\b[A-Z]{2,}\\b/, // Acronyms like HTTP, API, JSON\n /\\b[A-Z][a-z]+(?:[A-Z][a-z]+)+\\b/, // PascalCase like ComponentName\n /\\b[a-z]+[A-Z][a-z]*\\b/, // camelCase like functionName\n /\\b\\w+(?:Dir|Config|File|Path|Data|Service|Manager|Handler)\\b/, // Common suffixes\n /\\b(?:get|set|is|has|can|should|will|do)[A-Z]\\w*\\b/, // Common prefixes\n /\\b(?:http|https|json|xml|yaml|sql|api|url|uri)\\b/, // Technical keywords\n ];\n\n return technicalPatterns.some((pattern) => pattern.test(term));\n}\n\n/**\n * Check if a term is likely an identifier\n */\nfunction isIdentifier(term: string): boolean {\n // Identifiers typically contain letters and numbers, maybe underscores\n return /^[a-zA-Z][a-zA-Z0-9_]*$/.test(term) && term.length > 1;\n}\n\n/**\n * Serialize search index to JSON\n */\nexport function serializeIndex(index: SearchIndex): string {\n const serializable = {\n documents: index.documents.map((doc) => ({\n uri: doc.uri,\n terms: Array.from(doc.terms.entries()),\n rawTerms: Array.from(doc.rawTerms.entries()),\n magnitude: doc.magnitude,\n })),\n idf: Array.from(index.idf.entries()),\n totalDocuments: index.totalDocuments,\n metadata: index.metadata,\n };\n\n return JSON.stringify(serializable, null, 2);\n}\n\n/**\n * Deserialize search index from JSON\n */\nexport function deserializeIndex(json: string): SearchIndex {\n const data = JSON.parse(json);\n\n return {\n documents: data.documents.map(\n (doc: {\n uri: string;\n terms: [string, number][];\n rawTerms: [string, number][];\n magnitude: number;\n }) => ({\n uri: doc.uri,\n terms: new Map(doc.terms),\n rawTerms: new Map(doc.rawTerms),\n magnitude: doc.magnitude,\n })\n ),\n idf: new Map(data.idf),\n totalDocuments: data.totalDocuments,\n metadata: data.metadata,\n };\n}\n"
|
|
7
7
|
],
|
|
8
8
|
"mappings": "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",
|
|
9
|
-
"debugId": "
|
|
9
|
+
"debugId": "F6CC4F566F5A987064756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import{ua as K5,va as M,xa as R}from"./chunk-wkbpwkvw.js";var C=M(($4,w5)=>{var v5=["nodebuffer","arraybuffer","fragments"],g5=typeof Blob<"u";if(g5)v5.push("blob");w5.exports={BINARY_TYPES:v5,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:g5,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var n=M((G4,X5)=>{var{EMPTY_BUFFER:m1}=C(),A5=Buffer[Symbol.species];function f1(J,K){if(J.length===0)return m1;if(J.length===1)return J[0];let X=Buffer.allocUnsafe(K),Z=0;for(let $=0;$<J.length;$++){let G=J[$];X.set(G,Z),Z+=G.length}if(Z<K)return new A5(X.buffer,X.byteOffset,Z);return X}function h5(J,K,X,Z,$){for(let G=0;G<$;G++)X[Z+G]=J[G]^K[G&3]}function m5(J,K){for(let X=0;X<J.length;X++)J[X]^=K[X&3]}function u1(J){if(J.length===J.buffer.byteLength)return J.buffer;return J.buffer.slice(J.byteOffset,J.byteOffset+J.length)}function F5(J){if(F5.readOnly=!0,Buffer.isBuffer(J))return J;let K;if(J instanceof ArrayBuffer)K=new A5(J);else if(ArrayBuffer.isView(J))K=new A5(J.buffer,J.byteOffset,J.byteLength);else K=Buffer.from(J),F5.readOnly=!1;return K}X5.exports={concat:f1,mask:h5,toArrayBuffer:u1,toBuffer:F5,unmask:m5};if(!process.env.WS_NO_BUFFER_UTIL)try{let J=(()=>{throw new Error("Cannot require module "+"bufferutil");})();X5.exports.mask=function(K,X,Z,$,G){if(G<48)h5(K,X,Z,$,G);else J.mask(K,X,Z,$,G)},X5.exports.unmask=function(K,X){if(K.length<32)m5(K,X);else J.unmask(K,X)}}catch(J){}});var p5=M((Q4,l5)=>{var f5=Symbol("kDone"),D5=Symbol("kRun");class u5{constructor(J){this[f5]=()=>{this.pending--,this[D5]()},this.concurrency=J||1/0,this.jobs=[],this.pending=0}add(J){this.jobs.push(J),this[D5]()}[D5](){if(this.pending===this.concurrency)return;if(this.jobs.length){let J=this.jobs.shift();this.pending++,J(this[f5])}}}l5.exports=u5});var a=M((j4,c5)=>{var r=R("zlib"),b5=n(),l1=p5(),{kStatusCode:i5}=C(),p1=Buffer[Symbol.species],b1=Buffer.from([0,0,255,255]),$5=Symbol("permessage-deflate"),U=Symbol("total-length"),f=Symbol("callback"),L=Symbol("buffers"),u=Symbol("error"),Z5;class k5{constructor(J,K,X){if(this._maxPayload=X|0,this._options=J||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!K,this._deflate=null,this._inflate=null,this.params=null,!Z5){let Z=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Z5=new l1(Z)}}static get extensionName(){return"permessage-deflate"}offer(){let J={};if(this._options.serverNoContextTakeover)J.server_no_context_takeover=!0;if(this._options.clientNoContextTakeover)J.client_no_context_takeover=!0;if(this._options.serverMaxWindowBits)J.server_max_window_bits=this._options.serverMaxWindowBits;if(this._options.clientMaxWindowBits)J.client_max_window_bits=this._options.clientMaxWindowBits;else if(this._options.clientMaxWindowBits==null)J.client_max_window_bits=!0;return J}accept(J){return J=this.normalizeParams(J),this.params=this._isServer?this.acceptAsServer(J):this.acceptAsClient(J),this.params}cleanup(){if(this._inflate)this._inflate.close(),this._inflate=null;if(this._deflate){let J=this._deflate[f];if(this._deflate.close(),this._deflate=null,J)J(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(J){let K=this._options,X=J.find((Z)=>{if(K.serverNoContextTakeover===!1&&Z.server_no_context_takeover||Z.server_max_window_bits&&(K.serverMaxWindowBits===!1||typeof K.serverMaxWindowBits==="number"&&K.serverMaxWindowBits>Z.server_max_window_bits)||typeof K.clientMaxWindowBits==="number"&&!Z.client_max_window_bits)return!1;return!0});if(!X)throw Error("None of the extension offers can be accepted");if(K.serverNoContextTakeover)X.server_no_context_takeover=!0;if(K.clientNoContextTakeover)X.client_no_context_takeover=!0;if(typeof K.serverMaxWindowBits==="number")X.server_max_window_bits=K.serverMaxWindowBits;if(typeof K.clientMaxWindowBits==="number")X.client_max_window_bits=K.clientMaxWindowBits;else if(X.client_max_window_bits===!0||K.clientMaxWindowBits===!1)delete X.client_max_window_bits;return X}acceptAsClient(J){let K=J[0];if(this._options.clientNoContextTakeover===!1&&K.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(!K.client_max_window_bits){if(typeof this._options.clientMaxWindowBits==="number")K.client_max_window_bits=this._options.clientMaxWindowBits}else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits==="number"&&K.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"');return K}normalizeParams(J){return J.forEach((K)=>{Object.keys(K).forEach((X)=>{let Z=K[X];if(Z.length>1)throw Error(`Parameter "${X}" must have only a single value`);if(Z=Z[0],X==="client_max_window_bits"){if(Z!==!0){let $=+Z;if(!Number.isInteger($)||$<8||$>15)throw TypeError(`Invalid value for parameter "${X}": ${Z}`);Z=$}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${X}": ${Z}`)}else if(X==="server_max_window_bits"){let $=+Z;if(!Number.isInteger($)||$<8||$>15)throw TypeError(`Invalid value for parameter "${X}": ${Z}`);Z=$}else if(X==="client_no_context_takeover"||X==="server_no_context_takeover"){if(Z!==!0)throw TypeError(`Invalid value for parameter "${X}": ${Z}`)}else throw Error(`Unknown parameter "${X}"`);K[X]=Z})}),J}decompress(J,K,X){Z5.add((Z)=>{this._decompress(J,K,($,G)=>{Z(),X($,G)})})}compress(J,K,X){Z5.add((Z)=>{this._compress(J,K,($,G)=>{Z(),X($,G)})})}_decompress(J,K,X){let Z=this._isServer?"client":"server";if(!this._inflate){let $=`${Z}_max_window_bits`,G=typeof this.params[$]!=="number"?r.Z_DEFAULT_WINDOWBITS:this.params[$];this._inflate=r.createInflateRaw({...this._options.zlibInflateOptions,windowBits:G}),this._inflate[$5]=this,this._inflate[U]=0,this._inflate[L]=[],this._inflate.on("error",k1),this._inflate.on("data",d5)}if(this._inflate[f]=X,this._inflate.write(J),K)this._inflate.write(b1);this._inflate.flush(()=>{let $=this._inflate[u];if($){this._inflate.close(),this._inflate=null,X($);return}let G=b5.concat(this._inflate[L],this._inflate[U]);if(this._inflate._readableState.endEmitted)this._inflate.close(),this._inflate=null;else if(this._inflate[U]=0,this._inflate[L]=[],K&&this.params[`${Z}_no_context_takeover`])this._inflate.reset();X(null,G)})}_compress(J,K,X){let Z=this._isServer?"server":"client";if(!this._deflate){let $=`${Z}_max_window_bits`,G=typeof this.params[$]!=="number"?r.Z_DEFAULT_WINDOWBITS:this.params[$];this._deflate=r.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:G}),this._deflate[U]=0,this._deflate[L]=[],this._deflate.on("data",i1)}this._deflate[f]=X,this._deflate.write(J),this._deflate.flush(r.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let $=b5.concat(this._deflate[L],this._deflate[U]);if(K)$=new p1($.buffer,$.byteOffset,$.length-4);if(this._deflate[f]=null,this._deflate[U]=0,this._deflate[L]=[],K&&this.params[`${Z}_no_context_takeover`])this._deflate.reset();X(null,$)})}}c5.exports=k5;function i1(J){this[L].push(J),this[U]+=J.length}function d5(J){if(this[U]+=J.length,this[$5]._maxPayload<1||this[U]<=this[$5]._maxPayload){this[L].push(J);return}this[u]=RangeError("Max payload size exceeded"),this[u].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[u][i5]=1009,this.removeListener("data",d5),this.reset()}function k1(J){if(this[$5]._inflate=null,this[u]){this[f](this[u]);return}J[i5]=1007,this[f](J)}});var l=M((I4,G5)=>{var{isUtf8:n5}=R("buffer"),{hasBlob:d1}=C(),c1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function n1(J){return J>=1000&&J<=1014&&J!==1004&&J!==1005&&J!==1006||J>=3000&&J<=4999}function O5(J){let K=J.length,X=0;while(X<K)if((J[X]&128)===0)X++;else if((J[X]&224)===192){if(X+1===K||(J[X+1]&192)!==128||(J[X]&254)===192)return!1;X+=2}else if((J[X]&240)===224){if(X+2>=K||(J[X+1]&192)!==128||(J[X+2]&192)!==128||J[X]===224&&(J[X+1]&224)===128||J[X]===237&&(J[X+1]&224)===160)return!1;X+=3}else if((J[X]&248)===240){if(X+3>=K||(J[X+1]&192)!==128||(J[X+2]&192)!==128||(J[X+3]&192)!==128||J[X]===240&&(J[X+1]&240)===128||J[X]===244&&J[X+1]>143||J[X]>244)return!1;X+=4}else return!1;return!0}function r1(J){return d1&&typeof J==="object"&&typeof J.arrayBuffer==="function"&&typeof J.type==="string"&&typeof J.stream==="function"&&(J[Symbol.toStringTag]==="Blob"||J[Symbol.toStringTag]==="File")}G5.exports={isBlob:r1,isValidStatusCode:n1,isValidUTF8:O5,tokenChars:c1};if(n5)G5.exports.isValidUTF8=function(J){return J.length<24?O5(J):n5(J)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let J=(()=>{throw new Error("Cannot require module "+"utf-8-validate");})();G5.exports.isValidUTF8=function(K){return K.length<32?O5(K):J(K)}}catch(J){}});var P5=M((z4,t5)=>{var{Writable:a1}=R("stream"),r5=a(),{BINARY_TYPES:s1,EMPTY_BUFFER:a5,kStatusCode:o1,kWebSocket:t1}=C(),{concat:M5,toArrayBuffer:e1,unmask:J0}=n(),{isValidStatusCode:K0,isValidUTF8:s5}=l(),Q5=Buffer[Symbol.species];class o5 extends a1{constructor(J={}){super();this._allowSynchronousEvents=J.allowSynchronousEvents!==void 0?J.allowSynchronousEvents:!0,this._binaryType=J.binaryType||s1[0],this._extensions=J.extensions||{},this._isServer=!!J.isServer,this._maxPayload=J.maxPayload|0,this._skipUTF8Validation=!!J.skipUTF8Validation,this[t1]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(J,K,X){if(this._opcode===8&&this._state==0)return X();this._bufferedBytes+=J.length,this._buffers.push(J),this.startLoop(X)}consume(J){if(this._bufferedBytes-=J,J===this._buffers[0].length)return this._buffers.shift();if(J<this._buffers[0].length){let X=this._buffers[0];return this._buffers[0]=new Q5(X.buffer,X.byteOffset+J,X.length-J),new Q5(X.buffer,X.byteOffset,J)}let K=Buffer.allocUnsafe(J);do{let X=this._buffers[0],Z=K.length-J;if(J>=X.length)K.set(this._buffers.shift(),Z);else K.set(new Uint8Array(X.buffer,X.byteOffset,J),Z),this._buffers[0]=new Q5(X.buffer,X.byteOffset+J,X.length-J);J-=X.length}while(J>0);return K}startLoop(J){this._loop=!0;do switch(this._state){case 0:this.getInfo(J);break;case 1:this.getPayloadLength16(J);break;case 2:this.getPayloadLength64(J);break;case 3:this.getMask();break;case 4:this.getData(J);break;case 5:case 6:this._loop=!1;return}while(this._loop);if(!this._errored)J()}getInfo(J){if(this._bufferedBytes<2){this._loop=!1;return}let K=this.consume(2);if((K[0]&48)!==0){let Z=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");J(Z);return}let X=(K[0]&64)===64;if(X&&!this._extensions[r5.extensionName]){let Z=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");J(Z);return}if(this._fin=(K[0]&128)===128,this._opcode=K[0]&15,this._payloadLength=K[1]&127,this._opcode===0){if(X){let Z=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");J(Z);return}if(!this._fragmented){let Z=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");J(Z);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let Z=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");J(Z);return}this._compressed=X}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let Z=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");J(Z);return}if(X){let Z=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");J(Z);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let Z=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");J(Z);return}}else{let Z=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");J(Z);return}if(!this._fin&&!this._fragmented)this._fragmented=this._opcode;if(this._masked=(K[1]&128)===128,this._isServer){if(!this._masked){let Z=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");J(Z);return}}else if(this._masked){let Z=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");J(Z);return}if(this._payloadLength===126)this._state=1;else if(this._payloadLength===127)this._state=2;else this.haveLength(J)}getPayloadLength16(J){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(J)}getPayloadLength64(J){if(this._bufferedBytes<8){this._loop=!1;return}let K=this.consume(8),X=K.readUInt32BE(0);if(X>Math.pow(2,21)-1){let Z=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");J(Z);return}this._payloadLength=X*Math.pow(2,32)+K.readUInt32BE(4),this.haveLength(J)}haveLength(J){if(this._payloadLength&&this._opcode<8){if(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0){let K=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");J(K);return}}if(this._masked)this._state=3;else this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(J){let K=a5;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}if(K=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0)J0(K,this._mask)}if(this._opcode>7){this.controlMessage(K,J);return}if(this._compressed){this._state=5,this.decompress(K,J);return}if(K.length)this._messageLength=this._totalPayloadLength,this._fragments.push(K);this.dataMessage(J)}decompress(J,K){this._extensions[r5.extensionName].decompress(J,this._fin,(Z,$)=>{if(Z)return K(Z);if($.length){if(this._messageLength+=$.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let G=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");K(G);return}this._fragments.push($)}if(this.dataMessage(K),this._state===0)this.startLoop(K)})}dataMessage(J){if(!this._fin){this._state=0;return}let K=this._messageLength,X=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let Z;if(this._binaryType==="nodebuffer")Z=M5(X,K);else if(this._binaryType==="arraybuffer")Z=e1(M5(X,K));else if(this._binaryType==="blob")Z=new Blob(X);else Z=X;if(this._allowSynchronousEvents)this.emit("message",Z,!0),this._state=0;else this._state=6,setImmediate(()=>{this.emit("message",Z,!0),this._state=0,this.startLoop(J)})}else{let Z=M5(X,K);if(!this._skipUTF8Validation&&!s5(Z)){let $=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");J($);return}if(this._state===5||this._allowSynchronousEvents)this.emit("message",Z,!1),this._state=0;else this._state=6,setImmediate(()=>{this.emit("message",Z,!1),this._state=0,this.startLoop(J)})}}controlMessage(J,K){if(this._opcode===8){if(J.length===0)this._loop=!1,this.emit("conclude",1005,a5),this.end();else{let X=J.readUInt16BE(0);if(!K0(X)){let $=this.createError(RangeError,`invalid status code ${X}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");K($);return}let Z=new Q5(J.buffer,J.byteOffset+2,J.length-2);if(!this._skipUTF8Validation&&!s5(Z)){let $=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");K($);return}this._loop=!1,this.emit("conclude",X,Z),this.end()}this._state=0;return}if(this._allowSynchronousEvents)this.emit(this._opcode===9?"ping":"pong",J),this._state=0;else this._state=6,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",J),this._state=0,this.startLoop(K)})}createError(J,K,X,Z,$){this._loop=!1,this._errored=!0;let G=new J(X?`Invalid WebSocket frame: ${K}`:K);return Error.captureStackTrace(G,this.createError),G.code=$,G[o1]=Z,G}}t5.exports=o5});var x5=M((V4,K1)=>{var{Duplex:Y4}=R("stream"),{randomFillSync:X0}=R("crypto"),e5=a(),{EMPTY_BUFFER:Z0,kWebSocket:$0,NOOP:G0}=C(),{isBlob:p,isValidStatusCode:Q0}=l(),{mask:J1,toBuffer:S}=n(),T=Symbol("kByteLength"),j0=Buffer.alloc(4),v,b=8192,x=0,I0=1,z0=2;class W{constructor(J,K,X){if(this._extensions=K||{},X)this._generateMask=X,this._maskBuffer=Buffer.alloc(4);this._socket=J,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=x,this.onerror=G0,this[$0]=void 0}static frame(J,K){let X,Z=!1,$=2,G=!1;if(K.mask){if(X=K.maskBuffer||j0,K.generateMask)K.generateMask(X);else{if(b===8192){if(v===void 0)v=Buffer.alloc(8192);X0(v,0,8192),b=0}X[0]=v[b++],X[1]=v[b++],X[2]=v[b++],X[3]=v[b++]}G=(X[0]|X[1]|X[2]|X[3])===0,$=6}let Q;if(typeof J==="string")if((!K.mask||G)&&K[T]!==void 0)Q=K[T];else J=Buffer.from(J),Q=J.length;else Q=J.length,Z=K.mask&&K.readOnly&&!G;let I=Q;if(Q>=65536)$+=8,I=127;else if(Q>125)$+=2,I=126;let j=Buffer.allocUnsafe(Z?Q+$:$);if(j[0]=K.fin?K.opcode|128:K.opcode,K.rsv1)j[0]|=64;if(j[1]=I,I===126)j.writeUInt16BE(Q,2);else if(I===127)j[2]=j[3]=0,j.writeUIntBE(Q,4,6);if(!K.mask)return[j,J];if(j[1]|=128,j[$-4]=X[0],j[$-3]=X[1],j[$-2]=X[2],j[$-1]=X[3],G)return[j,J];if(Z)return J1(J,X,j,$,Q),[j];return J1(J,X,J,0,Q),[j,J]}close(J,K,X,Z){let $;if(J===void 0)$=Z0;else if(typeof J!=="number"||!Q0(J))throw TypeError("First argument must be a valid error code number");else if(K===void 0||!K.length)$=Buffer.allocUnsafe(2),$.writeUInt16BE(J,0);else{let Q=Buffer.byteLength(K);if(Q>123)throw RangeError("The message must not be greater than 123 bytes");if($=Buffer.allocUnsafe(2+Q),$.writeUInt16BE(J,0),typeof K==="string")$.write(K,2);else $.set(K,2)}let G={[T]:$.length,fin:!0,generateMask:this._generateMask,mask:X,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};if(this._state!==x)this.enqueue([this.dispatch,$,!1,G,Z]);else this.sendFrame(W.frame($,G),Z)}ping(J,K,X){let Z,$;if(typeof J==="string")Z=Buffer.byteLength(J),$=!1;else if(p(J))Z=J.size,$=!1;else J=S(J),Z=J.length,$=S.readOnly;if(Z>125)throw RangeError("The data size must not be greater than 125 bytes");let G={[T]:Z,fin:!0,generateMask:this._generateMask,mask:K,maskBuffer:this._maskBuffer,opcode:9,readOnly:$,rsv1:!1};if(p(J))if(this._state!==x)this.enqueue([this.getBlobData,J,!1,G,X]);else this.getBlobData(J,!1,G,X);else if(this._state!==x)this.enqueue([this.dispatch,J,!1,G,X]);else this.sendFrame(W.frame(J,G),X)}pong(J,K,X){let Z,$;if(typeof J==="string")Z=Buffer.byteLength(J),$=!1;else if(p(J))Z=J.size,$=!1;else J=S(J),Z=J.length,$=S.readOnly;if(Z>125)throw RangeError("The data size must not be greater than 125 bytes");let G={[T]:Z,fin:!0,generateMask:this._generateMask,mask:K,maskBuffer:this._maskBuffer,opcode:10,readOnly:$,rsv1:!1};if(p(J))if(this._state!==x)this.enqueue([this.getBlobData,J,!1,G,X]);else this.getBlobData(J,!1,G,X);else if(this._state!==x)this.enqueue([this.dispatch,J,!1,G,X]);else this.sendFrame(W.frame(J,G),X)}send(J,K,X){let Z=this._extensions[e5.extensionName],$=K.binary?2:1,G=K.compress,Q,I;if(typeof J==="string")Q=Buffer.byteLength(J),I=!1;else if(p(J))Q=J.size,I=!1;else J=S(J),Q=J.length,I=S.readOnly;if(this._firstFragment){if(this._firstFragment=!1,G&&Z&&Z.params[Z._isServer?"server_no_context_takeover":"client_no_context_takeover"])G=Q>=Z._threshold;this._compress=G}else G=!1,$=0;if(K.fin)this._firstFragment=!0;let j={[T]:Q,fin:K.fin,generateMask:this._generateMask,mask:K.mask,maskBuffer:this._maskBuffer,opcode:$,readOnly:I,rsv1:G};if(p(J))if(this._state!==x)this.enqueue([this.getBlobData,J,this._compress,j,X]);else this.getBlobData(J,this._compress,j,X);else if(this._state!==x)this.enqueue([this.dispatch,J,this._compress,j,X]);else this.dispatch(J,this._compress,j,X)}getBlobData(J,K,X,Z){this._bufferedBytes+=X[T],this._state=z0,J.arrayBuffer().then(($)=>{if(this._socket.destroyed){let Q=Error("The socket was closed while the blob was being read");process.nextTick(T5,this,Q,Z);return}this._bufferedBytes-=X[T];let G=S($);if(!K)this._state=x,this.sendFrame(W.frame(G,X),Z),this.dequeue();else this.dispatch(G,K,X,Z)}).catch(($)=>{process.nextTick(Y0,this,$,Z)})}dispatch(J,K,X,Z){if(!K){this.sendFrame(W.frame(J,X),Z);return}let $=this._extensions[e5.extensionName];this._bufferedBytes+=X[T],this._state=I0,$.compress(J,X.fin,(G,Q)=>{if(this._socket.destroyed){let I=Error("The socket was closed while data was being compressed");T5(this,I,Z);return}this._bufferedBytes-=X[T],this._state=x,X.readOnly=!1,this.sendFrame(W.frame(Q,X),Z),this.dequeue()})}dequeue(){while(this._state===x&&this._queue.length){let J=this._queue.shift();this._bufferedBytes-=J[3][T],Reflect.apply(J[0],this,J.slice(1))}}enqueue(J){this._bufferedBytes+=J[3][T],this._queue.push(J)}sendFrame(J,K){if(J.length===2)this._socket.cork(),this._socket.write(J[0]),this._socket.write(J[1],K),this._socket.uncork();else this._socket.write(J[0],K)}}K1.exports=W;function T5(J,K,X){if(typeof X==="function")X(K);for(let Z=0;Z<J._queue.length;Z++){let $=J._queue[Z],G=$[$.length-1];if(typeof G==="function")G(K)}}function Y0(J,K,X){T5(J,K,X),J.onerror(K)}});var Y1=M((_4,z1)=>{var{kForOnEventAttribute:s,kListener:B5}=C(),X1=Symbol("kCode"),Z1=Symbol("kData"),$1=Symbol("kError"),G1=Symbol("kMessage"),Q1=Symbol("kReason"),i=Symbol("kTarget"),j1=Symbol("kType"),I1=Symbol("kWasClean");class E{constructor(J){this[i]=null,this[j1]=J}get target(){return this[i]}get type(){return this[j1]}}Object.defineProperty(E.prototype,"target",{enumerable:!0});Object.defineProperty(E.prototype,"type",{enumerable:!0});class k extends E{constructor(J,K={}){super(J);this[X1]=K.code===void 0?0:K.code,this[Q1]=K.reason===void 0?"":K.reason,this[I1]=K.wasClean===void 0?!1:K.wasClean}get code(){return this[X1]}get reason(){return this[Q1]}get wasClean(){return this[I1]}}Object.defineProperty(k.prototype,"code",{enumerable:!0});Object.defineProperty(k.prototype,"reason",{enumerable:!0});Object.defineProperty(k.prototype,"wasClean",{enumerable:!0});class o extends E{constructor(J,K={}){super(J);this[$1]=K.error===void 0?null:K.error,this[G1]=K.message===void 0?"":K.message}get error(){return this[$1]}get message(){return this[G1]}}Object.defineProperty(o.prototype,"error",{enumerable:!0});Object.defineProperty(o.prototype,"message",{enumerable:!0});class I5 extends E{constructor(J,K={}){super(J);this[Z1]=K.data===void 0?null:K.data}get data(){return this[Z1]}}Object.defineProperty(I5.prototype,"data",{enumerable:!0});var V0={addEventListener(J,K,X={}){for(let $ of this.listeners(J))if(!X[s]&&$[B5]===K&&!$[s])return;let Z;if(J==="message")Z=function(G,Q){let I=new I5("message",{data:Q?G:G.toString()});I[i]=this,j5(K,this,I)};else if(J==="close")Z=function(G,Q){let I=new k("close",{code:G,reason:Q.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});I[i]=this,j5(K,this,I)};else if(J==="error")Z=function(G){let Q=new o("error",{error:G,message:G.message});Q[i]=this,j5(K,this,Q)};else if(J==="open")Z=function(){let G=new E("open");G[i]=this,j5(K,this,G)};else return;if(Z[s]=!!X[s],Z[B5]=K,X.once)this.once(J,Z);else this.on(J,Z)},removeEventListener(J,K){for(let X of this.listeners(J))if(X[B5]===K&&!X[s]){this.removeListener(J,X);break}}};z1.exports={CloseEvent:k,ErrorEvent:o,Event:E,EventTarget:V0,MessageEvent:I5};function j5(J,K,X){if(typeof J==="object"&&J.handleEvent)J.handleEvent.call(J,X);else J.call(K,X)}});var C5=M((N4,V1)=>{var{tokenChars:t}=l();function B(J,K,X){if(J[K]===void 0)J[K]=[X];else J[K].push(X)}function _0(J){let K=Object.create(null),X=Object.create(null),Z=!1,$=!1,G=!1,Q,I,j=-1,V=-1,_=-1,Y=0;for(;Y<J.length;Y++)if(V=J.charCodeAt(Y),Q===void 0)if(_===-1&&t[V]===1){if(j===-1)j=Y}else if(Y!==0&&(V===32||V===9)){if(_===-1&&j!==-1)_=Y}else if(V===59||V===44){if(j===-1)throw SyntaxError(`Unexpected character at index ${Y}`);if(_===-1)_=Y;let D=J.slice(j,_);if(V===44)B(K,D,X),X=Object.create(null);else Q=D;j=_=-1}else throw SyntaxError(`Unexpected character at index ${Y}`);else if(I===void 0)if(_===-1&&t[V]===1){if(j===-1)j=Y}else if(V===32||V===9){if(_===-1&&j!==-1)_=Y}else if(V===59||V===44){if(j===-1)throw SyntaxError(`Unexpected character at index ${Y}`);if(_===-1)_=Y;if(B(X,J.slice(j,_),!0),V===44)B(K,Q,X),X=Object.create(null),Q=void 0;j=_=-1}else if(V===61&&j!==-1&&_===-1)I=J.slice(j,Y),j=_=-1;else throw SyntaxError(`Unexpected character at index ${Y}`);else if($){if(t[V]!==1)throw SyntaxError(`Unexpected character at index ${Y}`);if(j===-1)j=Y;else if(!Z)Z=!0;$=!1}else if(G)if(t[V]===1){if(j===-1)j=Y}else if(V===34&&j!==-1)G=!1,_=Y;else if(V===92)$=!0;else throw SyntaxError(`Unexpected character at index ${Y}`);else if(V===34&&J.charCodeAt(Y-1)===61)G=!0;else if(_===-1&&t[V]===1){if(j===-1)j=Y}else if(j!==-1&&(V===32||V===9)){if(_===-1)_=Y}else if(V===59||V===44){if(j===-1)throw SyntaxError(`Unexpected character at index ${Y}`);if(_===-1)_=Y;let D=J.slice(j,_);if(Z)D=D.replace(/\\/g,""),Z=!1;if(B(X,I,D),V===44)B(K,Q,X),X=Object.create(null),Q=void 0;I=void 0,j=_=-1}else throw SyntaxError(`Unexpected character at index ${Y}`);if(j===-1||G||V===32||V===9)throw SyntaxError("Unexpected end of input");if(_===-1)_=Y;let F=J.slice(j,_);if(Q===void 0)B(K,F,X);else{if(I===void 0)B(X,F,!0);else if(Z)B(X,I,F.replace(/\\/g,""));else B(X,I,F);B(K,Q,X)}return K}function N0(J){return Object.keys(J).map((K)=>{let X=J[K];if(!Array.isArray(X))X=[X];return X.map((Z)=>{return[K].concat(Object.keys(Z).map(($)=>{let G=Z[$];if(!Array.isArray(G))G=[G];return G.map((Q)=>Q===!0?$:`${$}=${Q}`).join("; ")})).join("; ")}).join(", ")}).join(", ")}V1.exports={format:N0,parse:_0}});var _5=M((A4,x1)=>{var H0=R("events"),R0=R("https"),A0=R("http"),H1=R("net"),F0=R("tls"),{randomBytes:D0,createHash:O0}=R("crypto"),{Duplex:H4,Readable:R4}=R("stream"),{URL:U5}=R("url"),y=a(),M0=P5(),P0=x5(),{isBlob:T0}=l(),{BINARY_TYPES:_1,EMPTY_BUFFER:z5,GUID:x0,kForOnEventAttribute:q5,kListener:B0,kStatusCode:C0,kWebSocket:A,NOOP:R1}=C(),{EventTarget:{addEventListener:U0,removeEventListener:q0}}=Y1(),{format:L0,parse:W0}=C5(),{toBuffer:E0}=n(),A1=Symbol("kAborted"),L5=[8,13],q=["CONNECTING","OPEN","CLOSING","CLOSED"],y0=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class z extends H0{constructor(J,K,X){super();if(this._binaryType=_1[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=z5,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=z.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,J!==null){if(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,K===void 0)K=[];else if(!Array.isArray(K))if(typeof K==="object"&&K!==null)X=K,K=[];else K=[K];F1(this,J,K,X)}else this._autoPong=X.autoPong,this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(J){if(!_1.includes(J))return;if(this._binaryType=J,this._receiver)this._receiver._binaryType=J}get bufferedAmount(){if(!this._socket)return this._bufferedAmount;return this._socket._writableState.length+this._sender._bufferedBytes}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(J,K,X){let Z=new M0({allowSynchronousEvents:X.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:X.maxPayload,skipUTF8Validation:X.skipUTF8Validation}),$=new P0(J,this._extensions,X.generateMask);if(this._receiver=Z,this._sender=$,this._socket=J,Z[A]=this,$[A]=this,J[A]=this,Z.on("conclude",g0),Z.on("drain",w0),Z.on("error",h0),Z.on("message",m0),Z.on("ping",f0),Z.on("pong",u0),$.onerror=l0,J.setTimeout)J.setTimeout(0);if(J.setNoDelay)J.setNoDelay();if(K.length>0)J.unshift(K);J.on("close",M1),J.on("data",V5),J.on("end",P1),J.on("error",T1),this._readyState=z.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=z.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}if(this._extensions[y.extensionName])this._extensions[y.extensionName].cleanup();this._receiver.removeAllListeners(),this._readyState=z.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(J,K){if(this.readyState===z.CLOSED)return;if(this.readyState===z.CONNECTING){P(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===z.CLOSING){if(this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted))this._socket.end();return}this._readyState=z.CLOSING,this._sender.close(J,K,!this._isServer,(X)=>{if(X)return;if(this._closeFrameSent=!0,this._closeFrameReceived||this._receiver._writableState.errorEmitted)this._socket.end()}),O1(this)}pause(){if(this.readyState===z.CONNECTING||this.readyState===z.CLOSED)return;this._paused=!0,this._socket.pause()}ping(J,K,X){if(this.readyState===z.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof J==="function")X=J,J=K=void 0;else if(typeof K==="function")X=K,K=void 0;if(typeof J==="number")J=J.toString();if(this.readyState!==z.OPEN){W5(this,J,X);return}if(K===void 0)K=!this._isServer;this._sender.ping(J||z5,K,X)}pong(J,K,X){if(this.readyState===z.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof J==="function")X=J,J=K=void 0;else if(typeof K==="function")X=K,K=void 0;if(typeof J==="number")J=J.toString();if(this.readyState!==z.OPEN){W5(this,J,X);return}if(K===void 0)K=!this._isServer;this._sender.pong(J||z5,K,X)}resume(){if(this.readyState===z.CONNECTING||this.readyState===z.CLOSED)return;if(this._paused=!1,!this._receiver._writableState.needDrain)this._socket.resume()}send(J,K,X){if(this.readyState===z.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof K==="function")X=K,K={};if(typeof J==="number")J=J.toString();if(this.readyState!==z.OPEN){W5(this,J,X);return}let Z={binary:typeof J!=="string",mask:!this._isServer,compress:!0,fin:!0,...K};if(!this._extensions[y.extensionName])Z.compress=!1;this._sender.send(J||z5,Z,X)}terminate(){if(this.readyState===z.CLOSED)return;if(this.readyState===z.CONNECTING){P(this,this._req,"WebSocket was closed before the connection was established");return}if(this._socket)this._readyState=z.CLOSING,this._socket.destroy()}}Object.defineProperty(z,"CONNECTING",{enumerable:!0,value:q.indexOf("CONNECTING")});Object.defineProperty(z.prototype,"CONNECTING",{enumerable:!0,value:q.indexOf("CONNECTING")});Object.defineProperty(z,"OPEN",{enumerable:!0,value:q.indexOf("OPEN")});Object.defineProperty(z.prototype,"OPEN",{enumerable:!0,value:q.indexOf("OPEN")});Object.defineProperty(z,"CLOSING",{enumerable:!0,value:q.indexOf("CLOSING")});Object.defineProperty(z.prototype,"CLOSING",{enumerable:!0,value:q.indexOf("CLOSING")});Object.defineProperty(z,"CLOSED",{enumerable:!0,value:q.indexOf("CLOSED")});Object.defineProperty(z.prototype,"CLOSED",{enumerable:!0,value:q.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach((J)=>{Object.defineProperty(z.prototype,J,{enumerable:!0})});["open","error","close","message"].forEach((J)=>{Object.defineProperty(z.prototype,`on${J}`,{enumerable:!0,get(){for(let K of this.listeners(J))if(K[q5])return K[B0];return null},set(K){for(let X of this.listeners(J))if(X[q5]){this.removeListener(J,X);break}if(typeof K!=="function")return;this.addEventListener(J,K,{[q5]:!0})}})});z.prototype.addEventListener=U0;z.prototype.removeEventListener=q0;x1.exports=z;function F1(J,K,X,Z){let $={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:L5[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...Z,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(J._autoPong=$.autoPong,!L5.includes($.protocolVersion))throw RangeError(`Unsupported protocol version: ${$.protocolVersion} (supported versions: ${L5.join(", ")})`);let G;if(K instanceof U5)G=K;else try{G=new U5(K)}catch(N){throw SyntaxError(`Invalid URL: ${K}`)}if(G.protocol==="http:")G.protocol="ws:";else if(G.protocol==="https:")G.protocol="wss:";J._url=G.href;let Q=G.protocol==="wss:",I=G.protocol==="ws+unix:",j;if(G.protocol!=="ws:"&&!Q&&!I)j=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`;else if(I&&!G.pathname)j="The URL's pathname is empty";else if(G.hash)j="The URL contains a fragment identifier";if(j){let N=SyntaxError(j);if(J._redirects===0)throw N;else{Y5(J,N);return}}let V=Q?443:80,_=D0(16).toString("base64"),Y=Q?R0.request:A0.request,F=new Set,D;if($.createConnection=$.createConnection||(Q?v0:S0),$.defaultPort=$.defaultPort||V,$.port=G.port||V,$.host=G.hostname.startsWith("[")?G.hostname.slice(1,-1):G.hostname,$.headers={...$.headers,"Sec-WebSocket-Version":$.protocolVersion,"Sec-WebSocket-Key":_,Connection:"Upgrade",Upgrade:"websocket"},$.path=G.pathname+G.search,$.timeout=$.handshakeTimeout,$.perMessageDeflate)D=new y($.perMessageDeflate!==!0?$.perMessageDeflate:{},!1,$.maxPayload),$.headers["Sec-WebSocket-Extensions"]=L0({[y.extensionName]:D.offer()});if(X.length){for(let N of X){if(typeof N!=="string"||!y0.test(N)||F.has(N))throw SyntaxError("An invalid or duplicated subprotocol was specified");F.add(N)}$.headers["Sec-WebSocket-Protocol"]=X.join(",")}if($.origin)if($.protocolVersion<13)$.headers["Sec-WebSocket-Origin"]=$.origin;else $.headers.Origin=$.origin;if(G.username||G.password)$.auth=`${G.username}:${G.password}`;if(I){let N=$.path.split(":");$.socketPath=N[0],$.path=N[1]}let H;if($.followRedirects){if(J._redirects===0){J._originalIpc=I,J._originalSecure=Q,J._originalHostOrSocketPath=I?$.socketPath:G.host;let N=Z&&Z.headers;if(Z={...Z,headers:{}},N)for(let[O,h]of Object.entries(N))Z.headers[O.toLowerCase()]=h}else if(J.listenerCount("redirect")===0){let N=I?J._originalIpc?$.socketPath===J._originalHostOrSocketPath:!1:J._originalIpc?!1:G.host===J._originalHostOrSocketPath;if(!N||J._originalSecure&&!Q){if(delete $.headers.authorization,delete $.headers.cookie,!N)delete $.headers.host;$.auth=void 0}}if($.auth&&!Z.headers.authorization)Z.headers.authorization="Basic "+Buffer.from($.auth).toString("base64");if(H=J._req=Y($),J._redirects)J.emit("redirect",J.url,H)}else H=J._req=Y($);if($.timeout)H.on("timeout",()=>{P(J,H,"Opening handshake has timed out")});if(H.on("error",(N)=>{if(H===null||H[A1])return;H=J._req=null,Y5(J,N)}),H.on("response",(N)=>{let O=N.headers.location,h=N.statusCode;if(O&&$.followRedirects&&h>=300&&h<400){if(++J._redirects>$.maxRedirects){P(J,H,"Maximum redirects exceeded");return}H.abort();let d;try{d=new U5(O,K)}catch(E5){let m=SyntaxError(`Invalid URL: ${O}`);Y5(J,m);return}F1(J,d,X,Z)}else if(!J.emit("unexpected-response",H,N))P(J,H,`Unexpected server response: ${N.statusCode}`)}),H.on("upgrade",(N,O,h)=>{if(J.emit("upgrade",N),J.readyState!==z.CONNECTING)return;H=J._req=null;let d=N.headers.upgrade;if(d===void 0||d.toLowerCase()!=="websocket"){P(J,O,"Invalid Upgrade header");return}let E5=O0("sha1").update(_+x0).digest("base64");if(N.headers["sec-websocket-accept"]!==E5){P(J,O,"Invalid Sec-WebSocket-Accept header");return}let m=N.headers["sec-websocket-protocol"],c;if(m!==void 0){if(!F.size)c="Server sent a subprotocol but none was requested";else if(!F.has(m))c="Server sent an invalid subprotocol"}else if(F.size)c="Server sent no subprotocol";if(c){P(J,O,c);return}if(m)J._protocol=m;let y5=N.headers["sec-websocket-extensions"];if(y5!==void 0){if(!D){P(J,O,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let H5;try{H5=W0(y5)}catch(R5){P(J,O,"Invalid Sec-WebSocket-Extensions header");return}let S5=Object.keys(H5);if(S5.length!==1||S5[0]!==y.extensionName){P(J,O,"Server indicated an extension that was not requested");return}try{D.accept(H5[y.extensionName])}catch(R5){P(J,O,"Invalid Sec-WebSocket-Extensions header");return}J._extensions[y.extensionName]=D}J.setSocket(O,h,{allowSynchronousEvents:$.allowSynchronousEvents,generateMask:$.generateMask,maxPayload:$.maxPayload,skipUTF8Validation:$.skipUTF8Validation})}),$.finishRequest)$.finishRequest(H,J);else H.end()}function Y5(J,K){J._readyState=z.CLOSING,J._errorEmitted=!0,J.emit("error",K),J.emitClose()}function S0(J){return J.path=J.socketPath,H1.connect(J)}function v0(J){if(J.path=void 0,!J.servername&&J.servername!=="")J.servername=H1.isIP(J.host)?"":J.host;return F0.connect(J)}function P(J,K,X){J._readyState=z.CLOSING;let Z=Error(X);if(Error.captureStackTrace(Z,P),K.setHeader){if(K[A1]=!0,K.abort(),K.socket&&!K.socket.destroyed)K.socket.destroy();process.nextTick(Y5,J,Z)}else K.destroy(Z),K.once("error",J.emit.bind(J,"error")),K.once("close",J.emitClose.bind(J))}function W5(J,K,X){if(K){let Z=T0(K)?K.size:E0(K).length;if(J._socket)J._sender._bufferedBytes+=Z;else J._bufferedAmount+=Z}if(X){let Z=Error(`WebSocket is not open: readyState ${J.readyState} (${q[J.readyState]})`);process.nextTick(X,Z)}}function g0(J,K){let X=this[A];if(X._closeFrameReceived=!0,X._closeMessage=K,X._closeCode=J,X._socket[A]===void 0)return;if(X._socket.removeListener("data",V5),process.nextTick(D1,X._socket),J===1005)X.close();else X.close(J,K)}function w0(){let J=this[A];if(!J.isPaused)J._socket.resume()}function h0(J){let K=this[A];if(K._socket[A]!==void 0)K._socket.removeListener("data",V5),process.nextTick(D1,K._socket),K.close(J[C0]);if(!K._errorEmitted)K._errorEmitted=!0,K.emit("error",J)}function N1(){this[A].emitClose()}function m0(J,K){this[A].emit("message",J,K)}function f0(J){let K=this[A];if(K._autoPong)K.pong(J,!this._isServer,R1);K.emit("ping",J)}function u0(J){this[A].emit("pong",J)}function D1(J){J.resume()}function l0(J){let K=this[A];if(K.readyState===z.CLOSED)return;if(K.readyState===z.OPEN)K._readyState=z.CLOSING,O1(K);if(this._socket.end(),!K._errorEmitted)K._errorEmitted=!0,K.emit("error",J)}function O1(J){J._closeTimer=setTimeout(J._socket.destroy.bind(J._socket),30000)}function M1(){let J=this[A];this.removeListener("close",M1),this.removeListener("data",V5),this.removeListener("end",P1),J._readyState=z.CLOSING;let K;if(!this._readableState.endEmitted&&!J._closeFrameReceived&&!J._receiver._writableState.errorEmitted&&(K=J._socket.read())!==null)J._receiver.write(K);if(J._receiver.end(),this[A]=void 0,clearTimeout(J._closeTimer),J._receiver._writableState.finished||J._receiver._writableState.errorEmitted)J.emitClose();else J._receiver.on("error",N1),J._receiver.on("finish",N1)}function V5(J){if(!this[A]._receiver.write(J))this.pause()}function P1(){let J=this[A];J._readyState=z.CLOSING,J._receiver.end(),this.end()}function T1(){let J=this[A];if(this.removeListener("error",T1),this.on("error",R1),J)J._readyState=z.CLOSING,this.destroy()}});var q1=M((D4,U1)=>{var F4=_5(),{Duplex:p0}=R("stream");function B1(J){J.emit("close")}function b0(){if(!this.destroyed&&this._writableState.finished)this.destroy()}function C1(J){if(this.removeListener("error",C1),this.destroy(),this.listenerCount("error")===0)this.emit("error",J)}function i0(J,K){let X=!0,Z=new p0({...K,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return J.on("message",function(G,Q){let I=!Q&&Z._readableState.objectMode?G.toString():G;if(!Z.push(I))J.pause()}),J.once("error",function(G){if(Z.destroyed)return;X=!1,Z.destroy(G)}),J.once("close",function(){if(Z.destroyed)return;Z.push(null)}),Z._destroy=function($,G){if(J.readyState===J.CLOSED){G($),process.nextTick(B1,Z);return}let Q=!1;if(J.once("error",function(j){Q=!0,G(j)}),J.once("close",function(){if(!Q)G($);process.nextTick(B1,Z)}),X)J.terminate()},Z._final=function($){if(J.readyState===J.CONNECTING){J.once("open",function(){Z._final($)});return}if(J._socket===null)return;if(J._socket._writableState.finished){if($(),Z._readableState.endEmitted)Z.destroy()}else J._socket.once("finish",function(){$()}),J.close()},Z._read=function(){if(J.isPaused)J.resume()},Z._write=function($,G,Q){if(J.readyState===J.CONNECTING){J.once("open",function(){Z._write($,G,Q)});return}J.send($,Q)},Z.on("end",b0),Z.on("error",C1),Z}U1.exports=i0});var W1=M((O4,L1)=>{var{tokenChars:k0}=l();function d0(J){let K=new Set,X=-1,Z=-1,$=0;for($;$<J.length;$++){let Q=J.charCodeAt($);if(Z===-1&&k0[Q]===1){if(X===-1)X=$}else if($!==0&&(Q===32||Q===9)){if(Z===-1&&X!==-1)Z=$}else if(Q===44){if(X===-1)throw SyntaxError(`Unexpected character at index ${$}`);if(Z===-1)Z=$;let I=J.slice(X,Z);if(K.has(I))throw SyntaxError(`The "${I}" subprotocol is duplicated`);K.add(I),X=Z=-1}else throw SyntaxError(`Unexpected character at index ${$}`)}if(X===-1||Z!==-1)throw SyntaxError("Unexpected end of input");let G=J.slice(X,$);if(K.has(G))throw SyntaxError(`The "${G}" subprotocol is duplicated`);return K.add(G),K}L1.exports={parse:d0}});var g1=M((P4,v1)=>{var c0=R("events"),N5=R("http"),{Duplex:M4}=R("stream"),{createHash:n0}=R("crypto"),E1=C5(),g=a(),r0=W1(),a0=_5(),{GUID:s0,kWebSocket:o0}=C(),t0=/^[+/0-9A-Za-z]{22}==$/;class S1 extends c0{constructor(J,K){super();if(J={allowSynchronousEvents:!0,autoPong:!0,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:a0,...J},J.port==null&&!J.server&&!J.noServer||J.port!=null&&(J.server||J.noServer)||J.server&&J.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(J.port!=null)this._server=N5.createServer((X,Z)=>{let $=N5.STATUS_CODES[426];Z.writeHead(426,{"Content-Length":$.length,"Content-Type":"text/plain"}),Z.end($)}),this._server.listen(J.port,J.host,J.backlog,K);else if(J.server)this._server=J.server;if(this._server){let X=this.emit.bind(this,"connection");this._removeListeners=e0(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(Z,$,G)=>{this.handleUpgrade(Z,$,G,X)}})}if(J.perMessageDeflate===!0)J.perMessageDeflate={};if(J.clientTracking)this.clients=new Set,this._shouldEmitClose=!1;this.options=J,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');if(!this._server)return null;return this._server.address()}close(J){if(this._state===2){if(J)this.once("close",()=>{J(Error("The server is not running"))});process.nextTick(e,this);return}if(J)this.once("close",J);if(this._state===1)return;if(this._state=1,this.options.noServer||this.options.server){if(this._server)this._removeListeners(),this._removeListeners=this._server=null;if(this.clients)if(!this.clients.size)process.nextTick(e,this);else this._shouldEmitClose=!0;else process.nextTick(e,this)}else{let K=this._server;this._removeListeners(),this._removeListeners=this._server=null,K.close(()=>{e(this)})}}shouldHandle(J){if(this.options.path){let K=J.url.indexOf("?");if((K!==-1?J.url.slice(0,K):J.url)!==this.options.path)return!1}return!0}handleUpgrade(J,K,X,Z){K.on("error",y1);let $=J.headers["sec-websocket-key"],G=J.headers.upgrade,Q=+J.headers["sec-websocket-version"];if(J.method!=="GET"){w(this,J,K,405,"Invalid HTTP method");return}if(G===void 0||G.toLowerCase()!=="websocket"){w(this,J,K,400,"Invalid Upgrade header");return}if($===void 0||!t0.test($)){w(this,J,K,400,"Missing or invalid Sec-WebSocket-Key header");return}if(Q!==13&&Q!==8){w(this,J,K,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(J)){J5(K,400);return}let I=J.headers["sec-websocket-protocol"],j=new Set;if(I!==void 0)try{j=r0.parse(I)}catch(Y){w(this,J,K,400,"Invalid Sec-WebSocket-Protocol header");return}let V=J.headers["sec-websocket-extensions"],_={};if(this.options.perMessageDeflate&&V!==void 0){let Y=new g(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let F=E1.parse(V);if(F[g.extensionName])Y.accept(F[g.extensionName]),_[g.extensionName]=Y}catch(F){w(this,J,K,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let Y={origin:J.headers[`${Q===8?"sec-websocket-origin":"origin"}`],secure:!!(J.socket.authorized||J.socket.encrypted),req:J};if(this.options.verifyClient.length===2){this.options.verifyClient(Y,(F,D,H,N)=>{if(!F)return J5(K,D||401,H,N);this.completeUpgrade(_,$,j,J,K,X,Z)});return}if(!this.options.verifyClient(Y))return J5(K,401)}this.completeUpgrade(_,$,j,J,K,X,Z)}completeUpgrade(J,K,X,Z,$,G,Q){if(!$.readable||!$.writable)return $.destroy();if($[o0])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return J5($,503);let j=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${n0("sha1").update(K+s0).digest("base64")}`],V=new this.options.WebSocket(null,void 0,this.options);if(X.size){let _=this.options.handleProtocols?this.options.handleProtocols(X,Z):X.values().next().value;if(_)j.push(`Sec-WebSocket-Protocol: ${_}`),V._protocol=_}if(J[g.extensionName]){let _=J[g.extensionName].params,Y=E1.format({[g.extensionName]:[_]});j.push(`Sec-WebSocket-Extensions: ${Y}`),V._extensions=J}if(this.emit("headers",j,Z),$.write(j.concat(`\r
|
|
1
|
+
import{va as K5,wa as M,ya as R}from"./chunk-hshjnpm0.js";var C=M(($4,w5)=>{var v5=["nodebuffer","arraybuffer","fragments"],g5=typeof Blob<"u";if(g5)v5.push("blob");w5.exports={BINARY_TYPES:v5,EMPTY_BUFFER:Buffer.alloc(0),GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",hasBlob:g5,kForOnEventAttribute:Symbol("kIsForOnEventAttribute"),kListener:Symbol("kListener"),kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),NOOP:()=>{}}});var n=M((G4,X5)=>{var{EMPTY_BUFFER:m1}=C(),A5=Buffer[Symbol.species];function f1(J,K){if(J.length===0)return m1;if(J.length===1)return J[0];let X=Buffer.allocUnsafe(K),Z=0;for(let $=0;$<J.length;$++){let G=J[$];X.set(G,Z),Z+=G.length}if(Z<K)return new A5(X.buffer,X.byteOffset,Z);return X}function h5(J,K,X,Z,$){for(let G=0;G<$;G++)X[Z+G]=J[G]^K[G&3]}function m5(J,K){for(let X=0;X<J.length;X++)J[X]^=K[X&3]}function u1(J){if(J.length===J.buffer.byteLength)return J.buffer;return J.buffer.slice(J.byteOffset,J.byteOffset+J.length)}function F5(J){if(F5.readOnly=!0,Buffer.isBuffer(J))return J;let K;if(J instanceof ArrayBuffer)K=new A5(J);else if(ArrayBuffer.isView(J))K=new A5(J.buffer,J.byteOffset,J.byteLength);else K=Buffer.from(J),F5.readOnly=!1;return K}X5.exports={concat:f1,mask:h5,toArrayBuffer:u1,toBuffer:F5,unmask:m5};if(!process.env.WS_NO_BUFFER_UTIL)try{let J=(()=>{throw new Error("Cannot require module "+"bufferutil");})();X5.exports.mask=function(K,X,Z,$,G){if(G<48)h5(K,X,Z,$,G);else J.mask(K,X,Z,$,G)},X5.exports.unmask=function(K,X){if(K.length<32)m5(K,X);else J.unmask(K,X)}}catch(J){}});var p5=M((Q4,l5)=>{var f5=Symbol("kDone"),D5=Symbol("kRun");class u5{constructor(J){this[f5]=()=>{this.pending--,this[D5]()},this.concurrency=J||1/0,this.jobs=[],this.pending=0}add(J){this.jobs.push(J),this[D5]()}[D5](){if(this.pending===this.concurrency)return;if(this.jobs.length){let J=this.jobs.shift();this.pending++,J(this[f5])}}}l5.exports=u5});var a=M((j4,c5)=>{var r=R("zlib"),b5=n(),l1=p5(),{kStatusCode:i5}=C(),p1=Buffer[Symbol.species],b1=Buffer.from([0,0,255,255]),$5=Symbol("permessage-deflate"),U=Symbol("total-length"),f=Symbol("callback"),L=Symbol("buffers"),u=Symbol("error"),Z5;class k5{constructor(J,K,X){if(this._maxPayload=X|0,this._options=J||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!K,this._deflate=null,this._inflate=null,this.params=null,!Z5){let Z=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;Z5=new l1(Z)}}static get extensionName(){return"permessage-deflate"}offer(){let J={};if(this._options.serverNoContextTakeover)J.server_no_context_takeover=!0;if(this._options.clientNoContextTakeover)J.client_no_context_takeover=!0;if(this._options.serverMaxWindowBits)J.server_max_window_bits=this._options.serverMaxWindowBits;if(this._options.clientMaxWindowBits)J.client_max_window_bits=this._options.clientMaxWindowBits;else if(this._options.clientMaxWindowBits==null)J.client_max_window_bits=!0;return J}accept(J){return J=this.normalizeParams(J),this.params=this._isServer?this.acceptAsServer(J):this.acceptAsClient(J),this.params}cleanup(){if(this._inflate)this._inflate.close(),this._inflate=null;if(this._deflate){let J=this._deflate[f];if(this._deflate.close(),this._deflate=null,J)J(Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(J){let K=this._options,X=J.find((Z)=>{if(K.serverNoContextTakeover===!1&&Z.server_no_context_takeover||Z.server_max_window_bits&&(K.serverMaxWindowBits===!1||typeof K.serverMaxWindowBits==="number"&&K.serverMaxWindowBits>Z.server_max_window_bits)||typeof K.clientMaxWindowBits==="number"&&!Z.client_max_window_bits)return!1;return!0});if(!X)throw Error("None of the extension offers can be accepted");if(K.serverNoContextTakeover)X.server_no_context_takeover=!0;if(K.clientNoContextTakeover)X.client_no_context_takeover=!0;if(typeof K.serverMaxWindowBits==="number")X.server_max_window_bits=K.serverMaxWindowBits;if(typeof K.clientMaxWindowBits==="number")X.client_max_window_bits=K.clientMaxWindowBits;else if(X.client_max_window_bits===!0||K.clientMaxWindowBits===!1)delete X.client_max_window_bits;return X}acceptAsClient(J){let K=J[0];if(this._options.clientNoContextTakeover===!1&&K.client_no_context_takeover)throw Error('Unexpected parameter "client_no_context_takeover"');if(!K.client_max_window_bits){if(typeof this._options.clientMaxWindowBits==="number")K.client_max_window_bits=this._options.clientMaxWindowBits}else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits==="number"&&K.client_max_window_bits>this._options.clientMaxWindowBits)throw Error('Unexpected or invalid parameter "client_max_window_bits"');return K}normalizeParams(J){return J.forEach((K)=>{Object.keys(K).forEach((X)=>{let Z=K[X];if(Z.length>1)throw Error(`Parameter "${X}" must have only a single value`);if(Z=Z[0],X==="client_max_window_bits"){if(Z!==!0){let $=+Z;if(!Number.isInteger($)||$<8||$>15)throw TypeError(`Invalid value for parameter "${X}": ${Z}`);Z=$}else if(!this._isServer)throw TypeError(`Invalid value for parameter "${X}": ${Z}`)}else if(X==="server_max_window_bits"){let $=+Z;if(!Number.isInteger($)||$<8||$>15)throw TypeError(`Invalid value for parameter "${X}": ${Z}`);Z=$}else if(X==="client_no_context_takeover"||X==="server_no_context_takeover"){if(Z!==!0)throw TypeError(`Invalid value for parameter "${X}": ${Z}`)}else throw Error(`Unknown parameter "${X}"`);K[X]=Z})}),J}decompress(J,K,X){Z5.add((Z)=>{this._decompress(J,K,($,G)=>{Z(),X($,G)})})}compress(J,K,X){Z5.add((Z)=>{this._compress(J,K,($,G)=>{Z(),X($,G)})})}_decompress(J,K,X){let Z=this._isServer?"client":"server";if(!this._inflate){let $=`${Z}_max_window_bits`,G=typeof this.params[$]!=="number"?r.Z_DEFAULT_WINDOWBITS:this.params[$];this._inflate=r.createInflateRaw({...this._options.zlibInflateOptions,windowBits:G}),this._inflate[$5]=this,this._inflate[U]=0,this._inflate[L]=[],this._inflate.on("error",k1),this._inflate.on("data",d5)}if(this._inflate[f]=X,this._inflate.write(J),K)this._inflate.write(b1);this._inflate.flush(()=>{let $=this._inflate[u];if($){this._inflate.close(),this._inflate=null,X($);return}let G=b5.concat(this._inflate[L],this._inflate[U]);if(this._inflate._readableState.endEmitted)this._inflate.close(),this._inflate=null;else if(this._inflate[U]=0,this._inflate[L]=[],K&&this.params[`${Z}_no_context_takeover`])this._inflate.reset();X(null,G)})}_compress(J,K,X){let Z=this._isServer?"server":"client";if(!this._deflate){let $=`${Z}_max_window_bits`,G=typeof this.params[$]!=="number"?r.Z_DEFAULT_WINDOWBITS:this.params[$];this._deflate=r.createDeflateRaw({...this._options.zlibDeflateOptions,windowBits:G}),this._deflate[U]=0,this._deflate[L]=[],this._deflate.on("data",i1)}this._deflate[f]=X,this._deflate.write(J),this._deflate.flush(r.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let $=b5.concat(this._deflate[L],this._deflate[U]);if(K)$=new p1($.buffer,$.byteOffset,$.length-4);if(this._deflate[f]=null,this._deflate[U]=0,this._deflate[L]=[],K&&this.params[`${Z}_no_context_takeover`])this._deflate.reset();X(null,$)})}}c5.exports=k5;function i1(J){this[L].push(J),this[U]+=J.length}function d5(J){if(this[U]+=J.length,this[$5]._maxPayload<1||this[U]<=this[$5]._maxPayload){this[L].push(J);return}this[u]=RangeError("Max payload size exceeded"),this[u].code="WS_ERR_UNSUPPORTED_MESSAGE_LENGTH",this[u][i5]=1009,this.removeListener("data",d5),this.reset()}function k1(J){if(this[$5]._inflate=null,this[u]){this[f](this[u]);return}J[i5]=1007,this[f](J)}});var l=M((I4,G5)=>{var{isUtf8:n5}=R("buffer"),{hasBlob:d1}=C(),c1=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function n1(J){return J>=1000&&J<=1014&&J!==1004&&J!==1005&&J!==1006||J>=3000&&J<=4999}function O5(J){let K=J.length,X=0;while(X<K)if((J[X]&128)===0)X++;else if((J[X]&224)===192){if(X+1===K||(J[X+1]&192)!==128||(J[X]&254)===192)return!1;X+=2}else if((J[X]&240)===224){if(X+2>=K||(J[X+1]&192)!==128||(J[X+2]&192)!==128||J[X]===224&&(J[X+1]&224)===128||J[X]===237&&(J[X+1]&224)===160)return!1;X+=3}else if((J[X]&248)===240){if(X+3>=K||(J[X+1]&192)!==128||(J[X+2]&192)!==128||(J[X+3]&192)!==128||J[X]===240&&(J[X+1]&240)===128||J[X]===244&&J[X+1]>143||J[X]>244)return!1;X+=4}else return!1;return!0}function r1(J){return d1&&typeof J==="object"&&typeof J.arrayBuffer==="function"&&typeof J.type==="string"&&typeof J.stream==="function"&&(J[Symbol.toStringTag]==="Blob"||J[Symbol.toStringTag]==="File")}G5.exports={isBlob:r1,isValidStatusCode:n1,isValidUTF8:O5,tokenChars:c1};if(n5)G5.exports.isValidUTF8=function(J){return J.length<24?O5(J):n5(J)};else if(!process.env.WS_NO_UTF_8_VALIDATE)try{let J=(()=>{throw new Error("Cannot require module "+"utf-8-validate");})();G5.exports.isValidUTF8=function(K){return K.length<32?O5(K):J(K)}}catch(J){}});var P5=M((z4,t5)=>{var{Writable:a1}=R("stream"),r5=a(),{BINARY_TYPES:s1,EMPTY_BUFFER:a5,kStatusCode:o1,kWebSocket:t1}=C(),{concat:M5,toArrayBuffer:e1,unmask:J0}=n(),{isValidStatusCode:K0,isValidUTF8:s5}=l(),Q5=Buffer[Symbol.species];class o5 extends a1{constructor(J={}){super();this._allowSynchronousEvents=J.allowSynchronousEvents!==void 0?J.allowSynchronousEvents:!0,this._binaryType=J.binaryType||s1[0],this._extensions=J.extensions||{},this._isServer=!!J.isServer,this._maxPayload=J.maxPayload|0,this._skipUTF8Validation=!!J.skipUTF8Validation,this[t1]=void 0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._errored=!1,this._loop=!1,this._state=0}_write(J,K,X){if(this._opcode===8&&this._state==0)return X();this._bufferedBytes+=J.length,this._buffers.push(J),this.startLoop(X)}consume(J){if(this._bufferedBytes-=J,J===this._buffers[0].length)return this._buffers.shift();if(J<this._buffers[0].length){let X=this._buffers[0];return this._buffers[0]=new Q5(X.buffer,X.byteOffset+J,X.length-J),new Q5(X.buffer,X.byteOffset,J)}let K=Buffer.allocUnsafe(J);do{let X=this._buffers[0],Z=K.length-J;if(J>=X.length)K.set(this._buffers.shift(),Z);else K.set(new Uint8Array(X.buffer,X.byteOffset,J),Z),this._buffers[0]=new Q5(X.buffer,X.byteOffset+J,X.length-J);J-=X.length}while(J>0);return K}startLoop(J){this._loop=!0;do switch(this._state){case 0:this.getInfo(J);break;case 1:this.getPayloadLength16(J);break;case 2:this.getPayloadLength64(J);break;case 3:this.getMask();break;case 4:this.getData(J);break;case 5:case 6:this._loop=!1;return}while(this._loop);if(!this._errored)J()}getInfo(J){if(this._bufferedBytes<2){this._loop=!1;return}let K=this.consume(2);if((K[0]&48)!==0){let Z=this.createError(RangeError,"RSV2 and RSV3 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_2_3");J(Z);return}let X=(K[0]&64)===64;if(X&&!this._extensions[r5.extensionName]){let Z=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");J(Z);return}if(this._fin=(K[0]&128)===128,this._opcode=K[0]&15,this._payloadLength=K[1]&127,this._opcode===0){if(X){let Z=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");J(Z);return}if(!this._fragmented){let Z=this.createError(RangeError,"invalid opcode 0",!0,1002,"WS_ERR_INVALID_OPCODE");J(Z);return}this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented){let Z=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");J(Z);return}this._compressed=X}else if(this._opcode>7&&this._opcode<11){if(!this._fin){let Z=this.createError(RangeError,"FIN must be set",!0,1002,"WS_ERR_EXPECTED_FIN");J(Z);return}if(X){let Z=this.createError(RangeError,"RSV1 must be clear",!0,1002,"WS_ERR_UNEXPECTED_RSV_1");J(Z);return}if(this._payloadLength>125||this._opcode===8&&this._payloadLength===1){let Z=this.createError(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002,"WS_ERR_INVALID_CONTROL_PAYLOAD_LENGTH");J(Z);return}}else{let Z=this.createError(RangeError,`invalid opcode ${this._opcode}`,!0,1002,"WS_ERR_INVALID_OPCODE");J(Z);return}if(!this._fin&&!this._fragmented)this._fragmented=this._opcode;if(this._masked=(K[1]&128)===128,this._isServer){if(!this._masked){let Z=this.createError(RangeError,"MASK must be set",!0,1002,"WS_ERR_EXPECTED_MASK");J(Z);return}}else if(this._masked){let Z=this.createError(RangeError,"MASK must be clear",!0,1002,"WS_ERR_UNEXPECTED_MASK");J(Z);return}if(this._payloadLength===126)this._state=1;else if(this._payloadLength===127)this._state=2;else this.haveLength(J)}getPayloadLength16(J){if(this._bufferedBytes<2){this._loop=!1;return}this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength(J)}getPayloadLength64(J){if(this._bufferedBytes<8){this._loop=!1;return}let K=this.consume(8),X=K.readUInt32BE(0);if(X>Math.pow(2,21)-1){let Z=this.createError(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009,"WS_ERR_UNSUPPORTED_DATA_PAYLOAD_LENGTH");J(Z);return}this._payloadLength=X*Math.pow(2,32)+K.readUInt32BE(4),this.haveLength(J)}haveLength(J){if(this._payloadLength&&this._opcode<8){if(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0){let K=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");J(K);return}}if(this._masked)this._state=3;else this._state=4}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=4}getData(J){let K=a5;if(this._payloadLength){if(this._bufferedBytes<this._payloadLength){this._loop=!1;return}if(K=this.consume(this._payloadLength),this._masked&&(this._mask[0]|this._mask[1]|this._mask[2]|this._mask[3])!==0)J0(K,this._mask)}if(this._opcode>7){this.controlMessage(K,J);return}if(this._compressed){this._state=5,this.decompress(K,J);return}if(K.length)this._messageLength=this._totalPayloadLength,this._fragments.push(K);this.dataMessage(J)}decompress(J,K){this._extensions[r5.extensionName].decompress(J,this._fin,(Z,$)=>{if(Z)return K(Z);if($.length){if(this._messageLength+=$.length,this._messageLength>this._maxPayload&&this._maxPayload>0){let G=this.createError(RangeError,"Max payload size exceeded",!1,1009,"WS_ERR_UNSUPPORTED_MESSAGE_LENGTH");K(G);return}this._fragments.push($)}if(this.dataMessage(K),this._state===0)this.startLoop(K)})}dataMessage(J){if(!this._fin){this._state=0;return}let K=this._messageLength,X=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let Z;if(this._binaryType==="nodebuffer")Z=M5(X,K);else if(this._binaryType==="arraybuffer")Z=e1(M5(X,K));else if(this._binaryType==="blob")Z=new Blob(X);else Z=X;if(this._allowSynchronousEvents)this.emit("message",Z,!0),this._state=0;else this._state=6,setImmediate(()=>{this.emit("message",Z,!0),this._state=0,this.startLoop(J)})}else{let Z=M5(X,K);if(!this._skipUTF8Validation&&!s5(Z)){let $=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");J($);return}if(this._state===5||this._allowSynchronousEvents)this.emit("message",Z,!1),this._state=0;else this._state=6,setImmediate(()=>{this.emit("message",Z,!1),this._state=0,this.startLoop(J)})}}controlMessage(J,K){if(this._opcode===8){if(J.length===0)this._loop=!1,this.emit("conclude",1005,a5),this.end();else{let X=J.readUInt16BE(0);if(!K0(X)){let $=this.createError(RangeError,`invalid status code ${X}`,!0,1002,"WS_ERR_INVALID_CLOSE_CODE");K($);return}let Z=new Q5(J.buffer,J.byteOffset+2,J.length-2);if(!this._skipUTF8Validation&&!s5(Z)){let $=this.createError(Error,"invalid UTF-8 sequence",!0,1007,"WS_ERR_INVALID_UTF8");K($);return}this._loop=!1,this.emit("conclude",X,Z),this.end()}this._state=0;return}if(this._allowSynchronousEvents)this.emit(this._opcode===9?"ping":"pong",J),this._state=0;else this._state=6,setImmediate(()=>{this.emit(this._opcode===9?"ping":"pong",J),this._state=0,this.startLoop(K)})}createError(J,K,X,Z,$){this._loop=!1,this._errored=!0;let G=new J(X?`Invalid WebSocket frame: ${K}`:K);return Error.captureStackTrace(G,this.createError),G.code=$,G[o1]=Z,G}}t5.exports=o5});var x5=M((V4,K1)=>{var{Duplex:Y4}=R("stream"),{randomFillSync:X0}=R("crypto"),e5=a(),{EMPTY_BUFFER:Z0,kWebSocket:$0,NOOP:G0}=C(),{isBlob:p,isValidStatusCode:Q0}=l(),{mask:J1,toBuffer:S}=n(),T=Symbol("kByteLength"),j0=Buffer.alloc(4),v,b=8192,x=0,I0=1,z0=2;class W{constructor(J,K,X){if(this._extensions=K||{},X)this._generateMask=X,this._maskBuffer=Buffer.alloc(4);this._socket=J,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._queue=[],this._state=x,this.onerror=G0,this[$0]=void 0}static frame(J,K){let X,Z=!1,$=2,G=!1;if(K.mask){if(X=K.maskBuffer||j0,K.generateMask)K.generateMask(X);else{if(b===8192){if(v===void 0)v=Buffer.alloc(8192);X0(v,0,8192),b=0}X[0]=v[b++],X[1]=v[b++],X[2]=v[b++],X[3]=v[b++]}G=(X[0]|X[1]|X[2]|X[3])===0,$=6}let Q;if(typeof J==="string")if((!K.mask||G)&&K[T]!==void 0)Q=K[T];else J=Buffer.from(J),Q=J.length;else Q=J.length,Z=K.mask&&K.readOnly&&!G;let I=Q;if(Q>=65536)$+=8,I=127;else if(Q>125)$+=2,I=126;let j=Buffer.allocUnsafe(Z?Q+$:$);if(j[0]=K.fin?K.opcode|128:K.opcode,K.rsv1)j[0]|=64;if(j[1]=I,I===126)j.writeUInt16BE(Q,2);else if(I===127)j[2]=j[3]=0,j.writeUIntBE(Q,4,6);if(!K.mask)return[j,J];if(j[1]|=128,j[$-4]=X[0],j[$-3]=X[1],j[$-2]=X[2],j[$-1]=X[3],G)return[j,J];if(Z)return J1(J,X,j,$,Q),[j];return J1(J,X,J,0,Q),[j,J]}close(J,K,X,Z){let $;if(J===void 0)$=Z0;else if(typeof J!=="number"||!Q0(J))throw TypeError("First argument must be a valid error code number");else if(K===void 0||!K.length)$=Buffer.allocUnsafe(2),$.writeUInt16BE(J,0);else{let Q=Buffer.byteLength(K);if(Q>123)throw RangeError("The message must not be greater than 123 bytes");if($=Buffer.allocUnsafe(2+Q),$.writeUInt16BE(J,0),typeof K==="string")$.write(K,2);else $.set(K,2)}let G={[T]:$.length,fin:!0,generateMask:this._generateMask,mask:X,maskBuffer:this._maskBuffer,opcode:8,readOnly:!1,rsv1:!1};if(this._state!==x)this.enqueue([this.dispatch,$,!1,G,Z]);else this.sendFrame(W.frame($,G),Z)}ping(J,K,X){let Z,$;if(typeof J==="string")Z=Buffer.byteLength(J),$=!1;else if(p(J))Z=J.size,$=!1;else J=S(J),Z=J.length,$=S.readOnly;if(Z>125)throw RangeError("The data size must not be greater than 125 bytes");let G={[T]:Z,fin:!0,generateMask:this._generateMask,mask:K,maskBuffer:this._maskBuffer,opcode:9,readOnly:$,rsv1:!1};if(p(J))if(this._state!==x)this.enqueue([this.getBlobData,J,!1,G,X]);else this.getBlobData(J,!1,G,X);else if(this._state!==x)this.enqueue([this.dispatch,J,!1,G,X]);else this.sendFrame(W.frame(J,G),X)}pong(J,K,X){let Z,$;if(typeof J==="string")Z=Buffer.byteLength(J),$=!1;else if(p(J))Z=J.size,$=!1;else J=S(J),Z=J.length,$=S.readOnly;if(Z>125)throw RangeError("The data size must not be greater than 125 bytes");let G={[T]:Z,fin:!0,generateMask:this._generateMask,mask:K,maskBuffer:this._maskBuffer,opcode:10,readOnly:$,rsv1:!1};if(p(J))if(this._state!==x)this.enqueue([this.getBlobData,J,!1,G,X]);else this.getBlobData(J,!1,G,X);else if(this._state!==x)this.enqueue([this.dispatch,J,!1,G,X]);else this.sendFrame(W.frame(J,G),X)}send(J,K,X){let Z=this._extensions[e5.extensionName],$=K.binary?2:1,G=K.compress,Q,I;if(typeof J==="string")Q=Buffer.byteLength(J),I=!1;else if(p(J))Q=J.size,I=!1;else J=S(J),Q=J.length,I=S.readOnly;if(this._firstFragment){if(this._firstFragment=!1,G&&Z&&Z.params[Z._isServer?"server_no_context_takeover":"client_no_context_takeover"])G=Q>=Z._threshold;this._compress=G}else G=!1,$=0;if(K.fin)this._firstFragment=!0;let j={[T]:Q,fin:K.fin,generateMask:this._generateMask,mask:K.mask,maskBuffer:this._maskBuffer,opcode:$,readOnly:I,rsv1:G};if(p(J))if(this._state!==x)this.enqueue([this.getBlobData,J,this._compress,j,X]);else this.getBlobData(J,this._compress,j,X);else if(this._state!==x)this.enqueue([this.dispatch,J,this._compress,j,X]);else this.dispatch(J,this._compress,j,X)}getBlobData(J,K,X,Z){this._bufferedBytes+=X[T],this._state=z0,J.arrayBuffer().then(($)=>{if(this._socket.destroyed){let Q=Error("The socket was closed while the blob was being read");process.nextTick(T5,this,Q,Z);return}this._bufferedBytes-=X[T];let G=S($);if(!K)this._state=x,this.sendFrame(W.frame(G,X),Z),this.dequeue();else this.dispatch(G,K,X,Z)}).catch(($)=>{process.nextTick(Y0,this,$,Z)})}dispatch(J,K,X,Z){if(!K){this.sendFrame(W.frame(J,X),Z);return}let $=this._extensions[e5.extensionName];this._bufferedBytes+=X[T],this._state=I0,$.compress(J,X.fin,(G,Q)=>{if(this._socket.destroyed){let I=Error("The socket was closed while data was being compressed");T5(this,I,Z);return}this._bufferedBytes-=X[T],this._state=x,X.readOnly=!1,this.sendFrame(W.frame(Q,X),Z),this.dequeue()})}dequeue(){while(this._state===x&&this._queue.length){let J=this._queue.shift();this._bufferedBytes-=J[3][T],Reflect.apply(J[0],this,J.slice(1))}}enqueue(J){this._bufferedBytes+=J[3][T],this._queue.push(J)}sendFrame(J,K){if(J.length===2)this._socket.cork(),this._socket.write(J[0]),this._socket.write(J[1],K),this._socket.uncork();else this._socket.write(J[0],K)}}K1.exports=W;function T5(J,K,X){if(typeof X==="function")X(K);for(let Z=0;Z<J._queue.length;Z++){let $=J._queue[Z],G=$[$.length-1];if(typeof G==="function")G(K)}}function Y0(J,K,X){T5(J,K,X),J.onerror(K)}});var Y1=M((_4,z1)=>{var{kForOnEventAttribute:s,kListener:B5}=C(),X1=Symbol("kCode"),Z1=Symbol("kData"),$1=Symbol("kError"),G1=Symbol("kMessage"),Q1=Symbol("kReason"),i=Symbol("kTarget"),j1=Symbol("kType"),I1=Symbol("kWasClean");class E{constructor(J){this[i]=null,this[j1]=J}get target(){return this[i]}get type(){return this[j1]}}Object.defineProperty(E.prototype,"target",{enumerable:!0});Object.defineProperty(E.prototype,"type",{enumerable:!0});class k extends E{constructor(J,K={}){super(J);this[X1]=K.code===void 0?0:K.code,this[Q1]=K.reason===void 0?"":K.reason,this[I1]=K.wasClean===void 0?!1:K.wasClean}get code(){return this[X1]}get reason(){return this[Q1]}get wasClean(){return this[I1]}}Object.defineProperty(k.prototype,"code",{enumerable:!0});Object.defineProperty(k.prototype,"reason",{enumerable:!0});Object.defineProperty(k.prototype,"wasClean",{enumerable:!0});class o extends E{constructor(J,K={}){super(J);this[$1]=K.error===void 0?null:K.error,this[G1]=K.message===void 0?"":K.message}get error(){return this[$1]}get message(){return this[G1]}}Object.defineProperty(o.prototype,"error",{enumerable:!0});Object.defineProperty(o.prototype,"message",{enumerable:!0});class I5 extends E{constructor(J,K={}){super(J);this[Z1]=K.data===void 0?null:K.data}get data(){return this[Z1]}}Object.defineProperty(I5.prototype,"data",{enumerable:!0});var V0={addEventListener(J,K,X={}){for(let $ of this.listeners(J))if(!X[s]&&$[B5]===K&&!$[s])return;let Z;if(J==="message")Z=function(G,Q){let I=new I5("message",{data:Q?G:G.toString()});I[i]=this,j5(K,this,I)};else if(J==="close")Z=function(G,Q){let I=new k("close",{code:G,reason:Q.toString(),wasClean:this._closeFrameReceived&&this._closeFrameSent});I[i]=this,j5(K,this,I)};else if(J==="error")Z=function(G){let Q=new o("error",{error:G,message:G.message});Q[i]=this,j5(K,this,Q)};else if(J==="open")Z=function(){let G=new E("open");G[i]=this,j5(K,this,G)};else return;if(Z[s]=!!X[s],Z[B5]=K,X.once)this.once(J,Z);else this.on(J,Z)},removeEventListener(J,K){for(let X of this.listeners(J))if(X[B5]===K&&!X[s]){this.removeListener(J,X);break}}};z1.exports={CloseEvent:k,ErrorEvent:o,Event:E,EventTarget:V0,MessageEvent:I5};function j5(J,K,X){if(typeof J==="object"&&J.handleEvent)J.handleEvent.call(J,X);else J.call(K,X)}});var C5=M((N4,V1)=>{var{tokenChars:t}=l();function B(J,K,X){if(J[K]===void 0)J[K]=[X];else J[K].push(X)}function _0(J){let K=Object.create(null),X=Object.create(null),Z=!1,$=!1,G=!1,Q,I,j=-1,V=-1,_=-1,Y=0;for(;Y<J.length;Y++)if(V=J.charCodeAt(Y),Q===void 0)if(_===-1&&t[V]===1){if(j===-1)j=Y}else if(Y!==0&&(V===32||V===9)){if(_===-1&&j!==-1)_=Y}else if(V===59||V===44){if(j===-1)throw SyntaxError(`Unexpected character at index ${Y}`);if(_===-1)_=Y;let D=J.slice(j,_);if(V===44)B(K,D,X),X=Object.create(null);else Q=D;j=_=-1}else throw SyntaxError(`Unexpected character at index ${Y}`);else if(I===void 0)if(_===-1&&t[V]===1){if(j===-1)j=Y}else if(V===32||V===9){if(_===-1&&j!==-1)_=Y}else if(V===59||V===44){if(j===-1)throw SyntaxError(`Unexpected character at index ${Y}`);if(_===-1)_=Y;if(B(X,J.slice(j,_),!0),V===44)B(K,Q,X),X=Object.create(null),Q=void 0;j=_=-1}else if(V===61&&j!==-1&&_===-1)I=J.slice(j,Y),j=_=-1;else throw SyntaxError(`Unexpected character at index ${Y}`);else if($){if(t[V]!==1)throw SyntaxError(`Unexpected character at index ${Y}`);if(j===-1)j=Y;else if(!Z)Z=!0;$=!1}else if(G)if(t[V]===1){if(j===-1)j=Y}else if(V===34&&j!==-1)G=!1,_=Y;else if(V===92)$=!0;else throw SyntaxError(`Unexpected character at index ${Y}`);else if(V===34&&J.charCodeAt(Y-1)===61)G=!0;else if(_===-1&&t[V]===1){if(j===-1)j=Y}else if(j!==-1&&(V===32||V===9)){if(_===-1)_=Y}else if(V===59||V===44){if(j===-1)throw SyntaxError(`Unexpected character at index ${Y}`);if(_===-1)_=Y;let D=J.slice(j,_);if(Z)D=D.replace(/\\/g,""),Z=!1;if(B(X,I,D),V===44)B(K,Q,X),X=Object.create(null),Q=void 0;I=void 0,j=_=-1}else throw SyntaxError(`Unexpected character at index ${Y}`);if(j===-1||G||V===32||V===9)throw SyntaxError("Unexpected end of input");if(_===-1)_=Y;let F=J.slice(j,_);if(Q===void 0)B(K,F,X);else{if(I===void 0)B(X,F,!0);else if(Z)B(X,I,F.replace(/\\/g,""));else B(X,I,F);B(K,Q,X)}return K}function N0(J){return Object.keys(J).map((K)=>{let X=J[K];if(!Array.isArray(X))X=[X];return X.map((Z)=>{return[K].concat(Object.keys(Z).map(($)=>{let G=Z[$];if(!Array.isArray(G))G=[G];return G.map((Q)=>Q===!0?$:`${$}=${Q}`).join("; ")})).join("; ")}).join(", ")}).join(", ")}V1.exports={format:N0,parse:_0}});var _5=M((A4,x1)=>{var H0=R("events"),R0=R("https"),A0=R("http"),H1=R("net"),F0=R("tls"),{randomBytes:D0,createHash:O0}=R("crypto"),{Duplex:H4,Readable:R4}=R("stream"),{URL:U5}=R("url"),y=a(),M0=P5(),P0=x5(),{isBlob:T0}=l(),{BINARY_TYPES:_1,EMPTY_BUFFER:z5,GUID:x0,kForOnEventAttribute:q5,kListener:B0,kStatusCode:C0,kWebSocket:A,NOOP:R1}=C(),{EventTarget:{addEventListener:U0,removeEventListener:q0}}=Y1(),{format:L0,parse:W0}=C5(),{toBuffer:E0}=n(),A1=Symbol("kAborted"),L5=[8,13],q=["CONNECTING","OPEN","CLOSING","CLOSED"],y0=/^[!#$%&'*+\-.0-9A-Z^_`|a-z~]+$/;class z extends H0{constructor(J,K,X){super();if(this._binaryType=_1[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage=z5,this._closeTimer=null,this._errorEmitted=!1,this._extensions={},this._paused=!1,this._protocol="",this._readyState=z.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,J!==null){if(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,K===void 0)K=[];else if(!Array.isArray(K))if(typeof K==="object"&&K!==null)X=K,K=[];else K=[K];F1(this,J,K,X)}else this._autoPong=X.autoPong,this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(J){if(!_1.includes(J))return;if(this._binaryType=J,this._receiver)this._receiver._binaryType=J}get bufferedAmount(){if(!this._socket)return this._bufferedAmount;return this._socket._writableState.length+this._sender._bufferedBytes}get extensions(){return Object.keys(this._extensions).join()}get isPaused(){return this._paused}get onclose(){return null}get onerror(){return null}get onopen(){return null}get onmessage(){return null}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(J,K,X){let Z=new M0({allowSynchronousEvents:X.allowSynchronousEvents,binaryType:this.binaryType,extensions:this._extensions,isServer:this._isServer,maxPayload:X.maxPayload,skipUTF8Validation:X.skipUTF8Validation}),$=new P0(J,this._extensions,X.generateMask);if(this._receiver=Z,this._sender=$,this._socket=J,Z[A]=this,$[A]=this,J[A]=this,Z.on("conclude",g0),Z.on("drain",w0),Z.on("error",h0),Z.on("message",m0),Z.on("ping",f0),Z.on("pong",u0),$.onerror=l0,J.setTimeout)J.setTimeout(0);if(J.setNoDelay)J.setNoDelay();if(K.length>0)J.unshift(K);J.on("close",M1),J.on("data",V5),J.on("end",P1),J.on("error",T1),this._readyState=z.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=z.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}if(this._extensions[y.extensionName])this._extensions[y.extensionName].cleanup();this._receiver.removeAllListeners(),this._readyState=z.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(J,K){if(this.readyState===z.CLOSED)return;if(this.readyState===z.CONNECTING){P(this,this._req,"WebSocket was closed before the connection was established");return}if(this.readyState===z.CLOSING){if(this._closeFrameSent&&(this._closeFrameReceived||this._receiver._writableState.errorEmitted))this._socket.end();return}this._readyState=z.CLOSING,this._sender.close(J,K,!this._isServer,(X)=>{if(X)return;if(this._closeFrameSent=!0,this._closeFrameReceived||this._receiver._writableState.errorEmitted)this._socket.end()}),O1(this)}pause(){if(this.readyState===z.CONNECTING||this.readyState===z.CLOSED)return;this._paused=!0,this._socket.pause()}ping(J,K,X){if(this.readyState===z.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof J==="function")X=J,J=K=void 0;else if(typeof K==="function")X=K,K=void 0;if(typeof J==="number")J=J.toString();if(this.readyState!==z.OPEN){W5(this,J,X);return}if(K===void 0)K=!this._isServer;this._sender.ping(J||z5,K,X)}pong(J,K,X){if(this.readyState===z.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof J==="function")X=J,J=K=void 0;else if(typeof K==="function")X=K,K=void 0;if(typeof J==="number")J=J.toString();if(this.readyState!==z.OPEN){W5(this,J,X);return}if(K===void 0)K=!this._isServer;this._sender.pong(J||z5,K,X)}resume(){if(this.readyState===z.CONNECTING||this.readyState===z.CLOSED)return;if(this._paused=!1,!this._receiver._writableState.needDrain)this._socket.resume()}send(J,K,X){if(this.readyState===z.CONNECTING)throw Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof K==="function")X=K,K={};if(typeof J==="number")J=J.toString();if(this.readyState!==z.OPEN){W5(this,J,X);return}let Z={binary:typeof J!=="string",mask:!this._isServer,compress:!0,fin:!0,...K};if(!this._extensions[y.extensionName])Z.compress=!1;this._sender.send(J||z5,Z,X)}terminate(){if(this.readyState===z.CLOSED)return;if(this.readyState===z.CONNECTING){P(this,this._req,"WebSocket was closed before the connection was established");return}if(this._socket)this._readyState=z.CLOSING,this._socket.destroy()}}Object.defineProperty(z,"CONNECTING",{enumerable:!0,value:q.indexOf("CONNECTING")});Object.defineProperty(z.prototype,"CONNECTING",{enumerable:!0,value:q.indexOf("CONNECTING")});Object.defineProperty(z,"OPEN",{enumerable:!0,value:q.indexOf("OPEN")});Object.defineProperty(z.prototype,"OPEN",{enumerable:!0,value:q.indexOf("OPEN")});Object.defineProperty(z,"CLOSING",{enumerable:!0,value:q.indexOf("CLOSING")});Object.defineProperty(z.prototype,"CLOSING",{enumerable:!0,value:q.indexOf("CLOSING")});Object.defineProperty(z,"CLOSED",{enumerable:!0,value:q.indexOf("CLOSED")});Object.defineProperty(z.prototype,"CLOSED",{enumerable:!0,value:q.indexOf("CLOSED")});["binaryType","bufferedAmount","extensions","isPaused","protocol","readyState","url"].forEach((J)=>{Object.defineProperty(z.prototype,J,{enumerable:!0})});["open","error","close","message"].forEach((J)=>{Object.defineProperty(z.prototype,`on${J}`,{enumerable:!0,get(){for(let K of this.listeners(J))if(K[q5])return K[B0];return null},set(K){for(let X of this.listeners(J))if(X[q5]){this.removeListener(J,X);break}if(typeof K!=="function")return;this.addEventListener(J,K,{[q5]:!0})}})});z.prototype.addEventListener=U0;z.prototype.removeEventListener=q0;x1.exports=z;function F1(J,K,X,Z){let $={allowSynchronousEvents:!0,autoPong:!0,protocolVersion:L5[1],maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!0,followRedirects:!1,maxRedirects:10,...Z,socketPath:void 0,hostname:void 0,protocol:void 0,timeout:void 0,method:"GET",host:void 0,path:void 0,port:void 0};if(J._autoPong=$.autoPong,!L5.includes($.protocolVersion))throw RangeError(`Unsupported protocol version: ${$.protocolVersion} (supported versions: ${L5.join(", ")})`);let G;if(K instanceof U5)G=K;else try{G=new U5(K)}catch(N){throw SyntaxError(`Invalid URL: ${K}`)}if(G.protocol==="http:")G.protocol="ws:";else if(G.protocol==="https:")G.protocol="wss:";J._url=G.href;let Q=G.protocol==="wss:",I=G.protocol==="ws+unix:",j;if(G.protocol!=="ws:"&&!Q&&!I)j=`The URL's protocol must be one of "ws:", "wss:", "http:", "https:", or "ws+unix:"`;else if(I&&!G.pathname)j="The URL's pathname is empty";else if(G.hash)j="The URL contains a fragment identifier";if(j){let N=SyntaxError(j);if(J._redirects===0)throw N;else{Y5(J,N);return}}let V=Q?443:80,_=D0(16).toString("base64"),Y=Q?R0.request:A0.request,F=new Set,D;if($.createConnection=$.createConnection||(Q?v0:S0),$.defaultPort=$.defaultPort||V,$.port=G.port||V,$.host=G.hostname.startsWith("[")?G.hostname.slice(1,-1):G.hostname,$.headers={...$.headers,"Sec-WebSocket-Version":$.protocolVersion,"Sec-WebSocket-Key":_,Connection:"Upgrade",Upgrade:"websocket"},$.path=G.pathname+G.search,$.timeout=$.handshakeTimeout,$.perMessageDeflate)D=new y($.perMessageDeflate!==!0?$.perMessageDeflate:{},!1,$.maxPayload),$.headers["Sec-WebSocket-Extensions"]=L0({[y.extensionName]:D.offer()});if(X.length){for(let N of X){if(typeof N!=="string"||!y0.test(N)||F.has(N))throw SyntaxError("An invalid or duplicated subprotocol was specified");F.add(N)}$.headers["Sec-WebSocket-Protocol"]=X.join(",")}if($.origin)if($.protocolVersion<13)$.headers["Sec-WebSocket-Origin"]=$.origin;else $.headers.Origin=$.origin;if(G.username||G.password)$.auth=`${G.username}:${G.password}`;if(I){let N=$.path.split(":");$.socketPath=N[0],$.path=N[1]}let H;if($.followRedirects){if(J._redirects===0){J._originalIpc=I,J._originalSecure=Q,J._originalHostOrSocketPath=I?$.socketPath:G.host;let N=Z&&Z.headers;if(Z={...Z,headers:{}},N)for(let[O,h]of Object.entries(N))Z.headers[O.toLowerCase()]=h}else if(J.listenerCount("redirect")===0){let N=I?J._originalIpc?$.socketPath===J._originalHostOrSocketPath:!1:J._originalIpc?!1:G.host===J._originalHostOrSocketPath;if(!N||J._originalSecure&&!Q){if(delete $.headers.authorization,delete $.headers.cookie,!N)delete $.headers.host;$.auth=void 0}}if($.auth&&!Z.headers.authorization)Z.headers.authorization="Basic "+Buffer.from($.auth).toString("base64");if(H=J._req=Y($),J._redirects)J.emit("redirect",J.url,H)}else H=J._req=Y($);if($.timeout)H.on("timeout",()=>{P(J,H,"Opening handshake has timed out")});if(H.on("error",(N)=>{if(H===null||H[A1])return;H=J._req=null,Y5(J,N)}),H.on("response",(N)=>{let O=N.headers.location,h=N.statusCode;if(O&&$.followRedirects&&h>=300&&h<400){if(++J._redirects>$.maxRedirects){P(J,H,"Maximum redirects exceeded");return}H.abort();let d;try{d=new U5(O,K)}catch(E5){let m=SyntaxError(`Invalid URL: ${O}`);Y5(J,m);return}F1(J,d,X,Z)}else if(!J.emit("unexpected-response",H,N))P(J,H,`Unexpected server response: ${N.statusCode}`)}),H.on("upgrade",(N,O,h)=>{if(J.emit("upgrade",N),J.readyState!==z.CONNECTING)return;H=J._req=null;let d=N.headers.upgrade;if(d===void 0||d.toLowerCase()!=="websocket"){P(J,O,"Invalid Upgrade header");return}let E5=O0("sha1").update(_+x0).digest("base64");if(N.headers["sec-websocket-accept"]!==E5){P(J,O,"Invalid Sec-WebSocket-Accept header");return}let m=N.headers["sec-websocket-protocol"],c;if(m!==void 0){if(!F.size)c="Server sent a subprotocol but none was requested";else if(!F.has(m))c="Server sent an invalid subprotocol"}else if(F.size)c="Server sent no subprotocol";if(c){P(J,O,c);return}if(m)J._protocol=m;let y5=N.headers["sec-websocket-extensions"];if(y5!==void 0){if(!D){P(J,O,"Server sent a Sec-WebSocket-Extensions header but no extension was requested");return}let H5;try{H5=W0(y5)}catch(R5){P(J,O,"Invalid Sec-WebSocket-Extensions header");return}let S5=Object.keys(H5);if(S5.length!==1||S5[0]!==y.extensionName){P(J,O,"Server indicated an extension that was not requested");return}try{D.accept(H5[y.extensionName])}catch(R5){P(J,O,"Invalid Sec-WebSocket-Extensions header");return}J._extensions[y.extensionName]=D}J.setSocket(O,h,{allowSynchronousEvents:$.allowSynchronousEvents,generateMask:$.generateMask,maxPayload:$.maxPayload,skipUTF8Validation:$.skipUTF8Validation})}),$.finishRequest)$.finishRequest(H,J);else H.end()}function Y5(J,K){J._readyState=z.CLOSING,J._errorEmitted=!0,J.emit("error",K),J.emitClose()}function S0(J){return J.path=J.socketPath,H1.connect(J)}function v0(J){if(J.path=void 0,!J.servername&&J.servername!=="")J.servername=H1.isIP(J.host)?"":J.host;return F0.connect(J)}function P(J,K,X){J._readyState=z.CLOSING;let Z=Error(X);if(Error.captureStackTrace(Z,P),K.setHeader){if(K[A1]=!0,K.abort(),K.socket&&!K.socket.destroyed)K.socket.destroy();process.nextTick(Y5,J,Z)}else K.destroy(Z),K.once("error",J.emit.bind(J,"error")),K.once("close",J.emitClose.bind(J))}function W5(J,K,X){if(K){let Z=T0(K)?K.size:E0(K).length;if(J._socket)J._sender._bufferedBytes+=Z;else J._bufferedAmount+=Z}if(X){let Z=Error(`WebSocket is not open: readyState ${J.readyState} (${q[J.readyState]})`);process.nextTick(X,Z)}}function g0(J,K){let X=this[A];if(X._closeFrameReceived=!0,X._closeMessage=K,X._closeCode=J,X._socket[A]===void 0)return;if(X._socket.removeListener("data",V5),process.nextTick(D1,X._socket),J===1005)X.close();else X.close(J,K)}function w0(){let J=this[A];if(!J.isPaused)J._socket.resume()}function h0(J){let K=this[A];if(K._socket[A]!==void 0)K._socket.removeListener("data",V5),process.nextTick(D1,K._socket),K.close(J[C0]);if(!K._errorEmitted)K._errorEmitted=!0,K.emit("error",J)}function N1(){this[A].emitClose()}function m0(J,K){this[A].emit("message",J,K)}function f0(J){let K=this[A];if(K._autoPong)K.pong(J,!this._isServer,R1);K.emit("ping",J)}function u0(J){this[A].emit("pong",J)}function D1(J){J.resume()}function l0(J){let K=this[A];if(K.readyState===z.CLOSED)return;if(K.readyState===z.OPEN)K._readyState=z.CLOSING,O1(K);if(this._socket.end(),!K._errorEmitted)K._errorEmitted=!0,K.emit("error",J)}function O1(J){J._closeTimer=setTimeout(J._socket.destroy.bind(J._socket),30000)}function M1(){let J=this[A];this.removeListener("close",M1),this.removeListener("data",V5),this.removeListener("end",P1),J._readyState=z.CLOSING;let K;if(!this._readableState.endEmitted&&!J._closeFrameReceived&&!J._receiver._writableState.errorEmitted&&(K=J._socket.read())!==null)J._receiver.write(K);if(J._receiver.end(),this[A]=void 0,clearTimeout(J._closeTimer),J._receiver._writableState.finished||J._receiver._writableState.errorEmitted)J.emitClose();else J._receiver.on("error",N1),J._receiver.on("finish",N1)}function V5(J){if(!this[A]._receiver.write(J))this.pause()}function P1(){let J=this[A];J._readyState=z.CLOSING,J._receiver.end(),this.end()}function T1(){let J=this[A];if(this.removeListener("error",T1),this.on("error",R1),J)J._readyState=z.CLOSING,this.destroy()}});var q1=M((D4,U1)=>{var F4=_5(),{Duplex:p0}=R("stream");function B1(J){J.emit("close")}function b0(){if(!this.destroyed&&this._writableState.finished)this.destroy()}function C1(J){if(this.removeListener("error",C1),this.destroy(),this.listenerCount("error")===0)this.emit("error",J)}function i0(J,K){let X=!0,Z=new p0({...K,autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1});return J.on("message",function(G,Q){let I=!Q&&Z._readableState.objectMode?G.toString():G;if(!Z.push(I))J.pause()}),J.once("error",function(G){if(Z.destroyed)return;X=!1,Z.destroy(G)}),J.once("close",function(){if(Z.destroyed)return;Z.push(null)}),Z._destroy=function($,G){if(J.readyState===J.CLOSED){G($),process.nextTick(B1,Z);return}let Q=!1;if(J.once("error",function(j){Q=!0,G(j)}),J.once("close",function(){if(!Q)G($);process.nextTick(B1,Z)}),X)J.terminate()},Z._final=function($){if(J.readyState===J.CONNECTING){J.once("open",function(){Z._final($)});return}if(J._socket===null)return;if(J._socket._writableState.finished){if($(),Z._readableState.endEmitted)Z.destroy()}else J._socket.once("finish",function(){$()}),J.close()},Z._read=function(){if(J.isPaused)J.resume()},Z._write=function($,G,Q){if(J.readyState===J.CONNECTING){J.once("open",function(){Z._write($,G,Q)});return}J.send($,Q)},Z.on("end",b0),Z.on("error",C1),Z}U1.exports=i0});var W1=M((O4,L1)=>{var{tokenChars:k0}=l();function d0(J){let K=new Set,X=-1,Z=-1,$=0;for($;$<J.length;$++){let Q=J.charCodeAt($);if(Z===-1&&k0[Q]===1){if(X===-1)X=$}else if($!==0&&(Q===32||Q===9)){if(Z===-1&&X!==-1)Z=$}else if(Q===44){if(X===-1)throw SyntaxError(`Unexpected character at index ${$}`);if(Z===-1)Z=$;let I=J.slice(X,Z);if(K.has(I))throw SyntaxError(`The "${I}" subprotocol is duplicated`);K.add(I),X=Z=-1}else throw SyntaxError(`Unexpected character at index ${$}`)}if(X===-1||Z!==-1)throw SyntaxError("Unexpected end of input");let G=J.slice(X,$);if(K.has(G))throw SyntaxError(`The "${G}" subprotocol is duplicated`);return K.add(G),K}L1.exports={parse:d0}});var g1=M((P4,v1)=>{var c0=R("events"),N5=R("http"),{Duplex:M4}=R("stream"),{createHash:n0}=R("crypto"),E1=C5(),g=a(),r0=W1(),a0=_5(),{GUID:s0,kWebSocket:o0}=C(),t0=/^[+/0-9A-Za-z]{22}==$/;class S1 extends c0{constructor(J,K){super();if(J={allowSynchronousEvents:!0,autoPong:!0,maxPayload:104857600,skipUTF8Validation:!1,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null,WebSocket:a0,...J},J.port==null&&!J.server&&!J.noServer||J.port!=null&&(J.server||J.noServer)||J.server&&J.noServer)throw TypeError('One and only one of the "port", "server", or "noServer" options must be specified');if(J.port!=null)this._server=N5.createServer((X,Z)=>{let $=N5.STATUS_CODES[426];Z.writeHead(426,{"Content-Length":$.length,"Content-Type":"text/plain"}),Z.end($)}),this._server.listen(J.port,J.host,J.backlog,K);else if(J.server)this._server=J.server;if(this._server){let X=this.emit.bind(this,"connection");this._removeListeners=e0(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(Z,$,G)=>{this.handleUpgrade(Z,$,G,X)}})}if(J.perMessageDeflate===!0)J.perMessageDeflate={};if(J.clientTracking)this.clients=new Set,this._shouldEmitClose=!1;this.options=J,this._state=0}address(){if(this.options.noServer)throw Error('The server is operating in "noServer" mode');if(!this._server)return null;return this._server.address()}close(J){if(this._state===2){if(J)this.once("close",()=>{J(Error("The server is not running"))});process.nextTick(e,this);return}if(J)this.once("close",J);if(this._state===1)return;if(this._state=1,this.options.noServer||this.options.server){if(this._server)this._removeListeners(),this._removeListeners=this._server=null;if(this.clients)if(!this.clients.size)process.nextTick(e,this);else this._shouldEmitClose=!0;else process.nextTick(e,this)}else{let K=this._server;this._removeListeners(),this._removeListeners=this._server=null,K.close(()=>{e(this)})}}shouldHandle(J){if(this.options.path){let K=J.url.indexOf("?");if((K!==-1?J.url.slice(0,K):J.url)!==this.options.path)return!1}return!0}handleUpgrade(J,K,X,Z){K.on("error",y1);let $=J.headers["sec-websocket-key"],G=J.headers.upgrade,Q=+J.headers["sec-websocket-version"];if(J.method!=="GET"){w(this,J,K,405,"Invalid HTTP method");return}if(G===void 0||G.toLowerCase()!=="websocket"){w(this,J,K,400,"Invalid Upgrade header");return}if($===void 0||!t0.test($)){w(this,J,K,400,"Missing or invalid Sec-WebSocket-Key header");return}if(Q!==13&&Q!==8){w(this,J,K,400,"Missing or invalid Sec-WebSocket-Version header",{"Sec-WebSocket-Version":"13, 8"});return}if(!this.shouldHandle(J)){J5(K,400);return}let I=J.headers["sec-websocket-protocol"],j=new Set;if(I!==void 0)try{j=r0.parse(I)}catch(Y){w(this,J,K,400,"Invalid Sec-WebSocket-Protocol header");return}let V=J.headers["sec-websocket-extensions"],_={};if(this.options.perMessageDeflate&&V!==void 0){let Y=new g(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let F=E1.parse(V);if(F[g.extensionName])Y.accept(F[g.extensionName]),_[g.extensionName]=Y}catch(F){w(this,J,K,400,"Invalid or unacceptable Sec-WebSocket-Extensions header");return}}if(this.options.verifyClient){let Y={origin:J.headers[`${Q===8?"sec-websocket-origin":"origin"}`],secure:!!(J.socket.authorized||J.socket.encrypted),req:J};if(this.options.verifyClient.length===2){this.options.verifyClient(Y,(F,D,H,N)=>{if(!F)return J5(K,D||401,H,N);this.completeUpgrade(_,$,j,J,K,X,Z)});return}if(!this.options.verifyClient(Y))return J5(K,401)}this.completeUpgrade(_,$,j,J,K,X,Z)}completeUpgrade(J,K,X,Z,$,G,Q){if(!$.readable||!$.writable)return $.destroy();if($[o0])throw Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");if(this._state>0)return J5($,503);let j=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${n0("sha1").update(K+s0).digest("base64")}`],V=new this.options.WebSocket(null,void 0,this.options);if(X.size){let _=this.options.handleProtocols?this.options.handleProtocols(X,Z):X.values().next().value;if(_)j.push(`Sec-WebSocket-Protocol: ${_}`),V._protocol=_}if(J[g.extensionName]){let _=J[g.extensionName].params,Y=E1.format({[g.extensionName]:[_]});j.push(`Sec-WebSocket-Extensions: ${Y}`),V._extensions=J}if(this.emit("headers",j,Z),$.write(j.concat(`\r
|
|
2
2
|
`).join(`\r
|
|
3
3
|
`)),$.removeListener("error",y1),V.setSocket($,G,{allowSynchronousEvents:this.options.allowSynchronousEvents,maxPayload:this.options.maxPayload,skipUTF8Validation:this.options.skipUTF8Validation}),this.clients)this.clients.add(V),V.on("close",()=>{if(this.clients.delete(V),this._shouldEmitClose&&!this.clients.size)process.nextTick(e,this)});Q(V,Z)}}v1.exports=S1;function e0(J,K){for(let X of Object.keys(K))J.on(X,K[X]);return function(){for(let Z of Object.keys(K))J.removeListener(Z,K[Z])}}function e(J){J._state=2,J.emit("close")}function y1(){this.destroy()}function J5(J,K,X,Z){X=X||N5.STATUS_CODES[K],Z={Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(X),...Z},J.once("finish",J.destroy),J.end(`HTTP/1.1 ${K} ${N5.STATUS_CODES[K]}\r
|
|
4
4
|
`+Object.keys(Z).map(($)=>`${$}: ${Z[$]}`).join(`\r
|
|
5
5
|
`)+`\r
|
|
6
6
|
\r
|
|
7
7
|
`+X)}function w(J,K,X,Z,$,G){if(J.listenerCount("wsClientError")){let Q=Error($);Error.captureStackTrace(Q,w),J.emit("wsClientError",Q,X,K)}else J5(X,Z,$,G)}});var J4=K5(q1(),1),K4=K5(P5(),1),X4=K5(x5(),1),w1=K5(_5(),1),Z4=K5(g1(),1);var x4=w1.default;
|
|
8
|
-
export{w1 as
|
|
8
|
+
export{w1 as t,x4 as u};
|
|
9
9
|
|
|
10
|
-
//# debugId=
|
|
10
|
+
//# debugId=C238084F669CBBC064756E2164756E21
|
|
@@ -18,6 +18,6 @@
|
|
|
18
18
|
"import createWebSocketStream from './lib/stream.js';\nimport Receiver from './lib/receiver.js';\nimport Sender from './lib/sender.js';\nimport WebSocket from './lib/websocket.js';\nimport WebSocketServer from './lib/websocket-server.js';\n\nexport { createWebSocketStream, Receiver, Sender, WebSocket, WebSocketServer };\nexport default WebSocket;\n"
|
|
19
19
|
],
|
|
20
20
|
"mappings": "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",
|
|
21
|
-
"debugId": "
|
|
21
|
+
"debugId": "C238084F669CBBC064756E2164756E21",
|
|
22
22
|
"names": []
|
|
23
23
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as M}from"./chunk-waemzsf4.js";import{
|
|
1
|
+
import{a as M}from"./chunk-waemzsf4.js";import{G as J,H as V,I as X}from"./chunk-bd11hvvz.js";import"./chunk-hshjnpm0.js";var j=async(q)=>{return{sessionCommand:`sylphx-flow hook --type session --target ${q}`,messageCommand:`sylphx-flow hook --type message --target ${q}`,notificationCommand:`sylphx-flow hook --type notification --target ${q}`}},B={sessionCommand:"sylphx-flow hook --type session --target claude-code",messageCommand:"sylphx-flow hook --type message --target claude-code",notificationCommand:"sylphx-flow hook --type notification --target claude-code"},Z=(q)=>{return X(()=>JSON.parse(q),(v)=>M("Failed to parse Claude Code settings",{cause:v instanceof Error?v:void 0}))},Y=(q=B)=>{let v=q.sessionCommand||B.sessionCommand,G=q.messageCommand||B.messageCommand,N=q.notificationCommand||B.notificationCommand;return{SessionStart:[{hooks:[{type:"command",command:v}]}],UserPromptSubmit:[{hooks:[{type:"command",command:G}]}],Notification:[{matcher:"",hooks:[{type:"command",command:N}]}]}},$=(q,v=B)=>{let G=Y(v);return{...q,hooks:{...q.hooks||{},...G}}},W=(q=B)=>{return{hooks:Y(q)}},Q=(q)=>{return JSON.stringify(q,null,2)},y=()=>{return"Claude Code hooks configured: SessionStart (static info) + UserPromptSubmit (dynamic info)"},R=(q,v=B)=>{if(q===null||q.trim()===""){let P=W(v);return J(Q(P))}let G=Z(q);if(G._tag==="Failure"){let P=W(v);return J(Q(P))}let N=$(G.value,v);return J(Q(N))},z=(q)=>{if(q.sessionCommand!==void 0&&q.sessionCommand.trim()==="")return V(M("Session command cannot be empty"));if(q.messageCommand!==void 0&&q.messageCommand.trim()==="")return V(M("Message command cannot be empty"));return J(q)};export{z as validateHookConfig,Q as serializeSettings,R as processSettings,Z as parseSettings,$ as mergeSettings,y as getSuccessMessage,j as generateHookCommands,W as createSettings,Y as buildHookConfiguration,B as DEFAULT_HOOKS};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=A531F8F84EE2C92D64756E2164756E21
|
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
"/**\n * Business logic for Claude Code target setup\n * Pure functions separated from I/O\n *\n * DESIGN RATIONALE:\n * - Business logic testable without file system\n * - Pure functions for settings transformation\n * - Side effects isolated\n * - Clear separation of concerns\n */\n\nimport type { ConfigError } from '../../core/functional/error-types.js';\nimport { configError } from '../../core/functional/error-types.js';\nimport type { Result } from '../../core/functional/result.js';\nimport { failure, success, tryCatch } from '../../core/functional/result.js';\n\n/**\n * Claude Code settings structure\n */\nexport interface ClaudeCodeSettings {\n hooks?: Record<\n string,\n Array<{\n hooks: Array<{\n type: string;\n command: string;\n }>;\n }>\n >;\n [key: string]: unknown;\n}\n\nexport interface HookConfig {\n sessionCommand?: string;\n messageCommand?: string;\n notificationCommand?: string;\n}\n\n/**\n * Generate hook commands for the target\n * Uses global sylphx-flow command (users must install globally first)\n */\nexport const generateHookCommands = async (targetId: string): Promise<HookConfig> => {\n return {\n sessionCommand: `sylphx-flow hook --type session --target ${targetId}`,\n messageCommand: `sylphx-flow hook --type message --target ${targetId}`,\n notificationCommand: `sylphx-flow hook --type notification --target ${targetId}`,\n };\n};\n\n/**\n * Default hook commands (fallback)\n * Now using unified hook command for all content (rules, output styles, system info)\n */\nexport const DEFAULT_HOOKS: HookConfig = {\n sessionCommand: 'sylphx-flow hook --type session --target claude-code',\n messageCommand: 'sylphx-flow hook --type message --target claude-code',\n notificationCommand: 'sylphx-flow hook --type notification --target claude-code',\n};\n\n/**\n * Parse JSON settings (pure)\n */\nexport const parseSettings = (content: string): Result<ClaudeCodeSettings, ConfigError> => {\n return tryCatch(\n () => JSON.parse(content) as ClaudeCodeSettings,\n (error) =>\n configError('Failed to parse Claude Code settings', {\n cause: error instanceof Error ? error : undefined,\n })\n );\n};\n\n/**\n * Build hook configuration (pure)\n */\nexport const buildHookConfiguration = (\n config: HookConfig = DEFAULT_HOOKS\n): ClaudeCodeSettings['hooks'] => {\n const sessionCommand = config.sessionCommand || DEFAULT_HOOKS.sessionCommand!;\n const messageCommand = config.messageCommand || DEFAULT_HOOKS.messageCommand!;\n const notificationCommand = config.notificationCommand || DEFAULT_HOOKS.notificationCommand!;\n\n return {\n SessionStart: [\n {\n hooks: [\n {\n type: 'command',\n command: sessionCommand,\n },\n ],\n },\n ],\n UserPromptSubmit: [\n {\n hooks: [\n {\n type: 'command',\n command: messageCommand,\n },\n ],\n },\n ],\n Notification: [\n {\n matcher: '',\n hooks: [\n {\n type: 'command',\n command: notificationCommand,\n },\n ],\n },\n ],\n };\n};\n\n/**\n * Merge settings with new hooks (pure)\n */\nexport const mergeSettings = (\n existingSettings: ClaudeCodeSettings,\n hookConfig: HookConfig = DEFAULT_HOOKS\n): ClaudeCodeSettings => {\n const newHooks = buildHookConfiguration(hookConfig);\n\n return {\n ...existingSettings,\n hooks: {\n ...(existingSettings.hooks || {}),\n ...newHooks,\n },\n };\n};\n\n/**\n * Create settings with hooks (pure)\n */\nexport const createSettings = (hookConfig: HookConfig = DEFAULT_HOOKS): ClaudeCodeSettings => {\n return {\n hooks: buildHookConfiguration(hookConfig),\n };\n};\n\n/**\n * Serialize settings to JSON (pure)\n */\nexport const serializeSettings = (settings: ClaudeCodeSettings): string => {\n return JSON.stringify(settings, null, 2);\n};\n\n/**\n * Get success message (pure)\n */\nexport const getSuccessMessage = (): string => {\n return 'Claude Code hooks configured: SessionStart (static info) + UserPromptSubmit (dynamic info)';\n};\n\n/**\n * Process settings: parse existing or create new, merge hooks, serialize (pure)\n */\nexport const processSettings = (\n existingContent: string | null,\n hookConfig: HookConfig = DEFAULT_HOOKS\n): Result<string, ConfigError> => {\n if (existingContent === null || existingContent.trim() === '') {\n // No existing settings, create new\n const settings = createSettings(hookConfig);\n return success(serializeSettings(settings));\n }\n\n // Parse existing settings\n const parseResult = parseSettings(existingContent);\n if (parseResult._tag === 'Failure') {\n // If parsing fails, create new settings\n const settings = createSettings(hookConfig);\n return success(serializeSettings(settings));\n }\n\n // Merge with existing\n const merged = mergeSettings(parseResult.value, hookConfig);\n return success(serializeSettings(merged));\n};\n\n/**\n * Validate hook configuration (pure)\n */\nexport const validateHookConfig = (config: HookConfig): Result<HookConfig, ConfigError> => {\n if (config.sessionCommand !== undefined && config.sessionCommand.trim() === '') {\n return failure(configError('Session command cannot be empty'));\n }\n\n if (config.messageCommand !== undefined && config.messageCommand.trim() === '') {\n return failure(configError('Message command cannot be empty'));\n }\n\n return success(config);\n};\n"
|
|
6
6
|
],
|
|
7
7
|
"mappings": "sIA0CO,FAAM,JAAuB,MAAO,IAA0C,CACnF,MAAO,CACL,eAAgB,4CAA4C,IAC5D,eAAgB,4CAA4C,IAC5D,oBAAqB,iDAAiD,GACxE,GAOW,EAA4B,CACvC,eAAgB,uDAChB,eAAgB,uDAChB,oBAAqB,2DACvB,EAKa,EAAgB,CAAC,IAA6D,CACzF,OAAO,EACL,IAAM,KAAK,MAAM,CAAO,EACxB,CAAC,IACC,EAAY,uCAAwC,CAClD,MAAO,aAAiB,MAAQ,EAAQ,MAC1C,CAAC,CACL,GAMW,EAAyB,CACpC,EAAqB,IACW,CAChC,IAAM,EAAiB,EAAO,gBAAkB,EAAc,eACxD,EAAiB,EAAO,gBAAkB,EAAc,eACxD,EAAsB,EAAO,qBAAuB,EAAc,oBAExE,MAAO,CACL,aAAc,CACZ,CACE,MAAO,CACL,CACE,KAAM,UACN,QAAS,CACX,CACF,CACF,CACF,EACA,iBAAkB,CAChB,CACE,MAAO,CACL,CACE,KAAM,UACN,QAAS,CACX,CACF,CACF,CACF,EACA,aAAc,CACZ,CACE,QAAS,GACT,MAAO,CACL,CACE,KAAM,UACN,QAAS,CACX,CACF,CACF,CACF,CACF,GAMW,EAAgB,CAC3B,EACA,EAAyB,IACF,CACvB,IAAM,EAAW,EAAuB,CAAU,EAElD,MAAO,IACF,EACH,MAAO,IACD,EAAiB,OAAS,CAAC,KAC5B,CACL,CACF,GAMW,EAAiB,CAAC,EAAyB,IAAsC,CAC5F,MAAO,CACL,MAAO,EAAuB,CAAU,CAC1C,GAMW,EAAoB,CAAC,IAAyC,CACzE,OAAO,KAAK,UAAU,EAAU,KAAM,CAAC,GAM5B,EAAoB,IAAc,CAC7C,MAAO,8FAMI,EAAkB,CAC7B,EACA,EAAyB,IACO,CAChC,GAAI,IAAoB,MAAQ,EAAgB,KAAK,IAAM,GAAI,CAE7D,IAAM,EAAW,EAAe,CAAU,EAC1C,OAAO,EAAQ,EAAkB,CAAQ,CAAC,EAI5C,IAAM,EAAc,EAAc,CAAe,EACjD,GAAI,EAAY,OAAS,UAAW,CAElC,IAAM,EAAW,EAAe,CAAU,EAC1C,OAAO,EAAQ,EAAkB,CAAQ,CAAC,EAI5C,IAAM,EAAS,EAAc,EAAY,MAAO,CAAU,EAC1D,OAAO,EAAQ,EAAkB,CAAM,CAAC,GAM7B,EAAqB,CAAC,IAAwD,CACzF,GAAI,EAAO,iBAAmB,QAAa,EAAO,eAAe,KAAK,IAAM,GAC1E,OAAO,EAAQ,EAAY,iCAAiC,CAAC,EAG/D,GAAI,EAAO,iBAAmB,QAAa,EAAO,eAAe,KAAK,IAAM,GAC1E,OAAO,EAAQ,EAAY,iCAAiC,CAAC,EAG/D,OAAO,EAAQ,CAAM",
|
|
8
|
-
"debugId": "
|
|
8
|
+
"debugId": "A531F8F84EE2C92D64756E2164756E21",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{ra as HY,sa as zY,ua as W}from"./chunk-qa8b725g.js";import{va as HN,wa as iq,ya as rJ}from"./chunk-hshjnpm0.js";var eJ=iq((tJ,gQ)=>{(function(Q){if(typeof gQ==="object"&&typeof gQ.exports==="object"){var Y=Q(rJ,tJ);if(Y!==void 0)gQ.exports=Y}else if(typeof define==="function"&&define.amd)define(["require","exports","./impl/format","./impl/edit","./impl/scanner","./impl/parser"],Q)})(function(Q,Y){Object.defineProperty(Y,"__esModule",{value:!0}),Y.applyEdits=Y.modify=Y.format=Y.printParseErrorCode=Y.ParseErrorCode=Y.stripComments=Y.visit=Y.getNodeValue=Y.getNodePath=Y.findNodeAtOffset=Y.findNodeAtLocation=Y.parseTree=Y.parse=Y.getLocation=Y.SyntaxKind=Y.ScanError=Y.createScanner=void 0;let J=Q("./impl/format"),X=Q("./impl/edit"),B=Q("./impl/scanner"),q=Q("./impl/parser");Y.createScanner=B.createScanner;var G;(function(F){F[F.None=0]="None",F[F.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",F[F.UnexpectedEndOfString=2]="UnexpectedEndOfString",F[F.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",F[F.InvalidUnicode=4]="InvalidUnicode",F[F.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",F[F.InvalidCharacter=6]="InvalidCharacter"})(G||(Y.ScanError=G={}));var H;(function(F){F[F.OpenBraceToken=1]="OpenBraceToken",F[F.CloseBraceToken=2]="CloseBraceToken",F[F.OpenBracketToken=3]="OpenBracketToken",F[F.CloseBracketToken=4]="CloseBracketToken",F[F.CommaToken=5]="CommaToken",F[F.ColonToken=6]="ColonToken",F[F.NullKeyword=7]="NullKeyword",F[F.TrueKeyword=8]="TrueKeyword",F[F.FalseKeyword=9]="FalseKeyword",F[F.StringLiteral=10]="StringLiteral",F[F.NumericLiteral=11]="NumericLiteral",F[F.LineCommentTrivia=12]="LineCommentTrivia",F[F.BlockCommentTrivia=13]="BlockCommentTrivia",F[F.LineBreakTrivia=14]="LineBreakTrivia",F[F.Trivia=15]="Trivia",F[F.Unknown=16]="Unknown",F[F.EOF=17]="EOF"})(H||(Y.SyntaxKind=H={})),Y.getLocation=q.getLocation,Y.parse=q.parse,Y.parseTree=q.parseTree,Y.findNodeAtLocation=q.findNodeAtLocation,Y.findNodeAtOffset=q.findNodeAtOffset,Y.getNodePath=q.getNodePath,Y.getNodeValue=q.getNodeValue,Y.visit=q.visit,Y.stripComments=q.stripComments;var U;(function(F){F[F.InvalidSymbol=1]="InvalidSymbol",F[F.InvalidNumberFormat=2]="InvalidNumberFormat",F[F.PropertyNameExpected=3]="PropertyNameExpected",F[F.ValueExpected=4]="ValueExpected",F[F.ColonExpected=5]="ColonExpected",F[F.CommaExpected=6]="CommaExpected",F[F.CloseBraceExpected=7]="CloseBraceExpected",F[F.CloseBracketExpected=8]="CloseBracketExpected",F[F.EndOfFileExpected=9]="EndOfFileExpected",F[F.InvalidCommentToken=10]="InvalidCommentToken",F[F.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",F[F.UnexpectedEndOfString=12]="UnexpectedEndOfString",F[F.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",F[F.InvalidUnicode=14]="InvalidUnicode",F[F.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",F[F.InvalidCharacter=16]="InvalidCharacter"})(U||(Y.ParseErrorCode=U={}));function z(F){switch(F){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return"<unknown ParseErrorCode>"}Y.printParseErrorCode=z;function j(F,D,L){return J.format(F,D,L)}Y.format=j;function A(F,D,L,N){return X.setProperty(F,D,L,N)}Y.modify=A;function V(F,D){let L=D.slice(0).sort((K,M)=>{let w=K.offset-M.offset;if(w===0)return K.length-M.length;return w}),N=F.length;for(let K=L.length-1;K>=0;K--){let M=L[K];if(M.offset+M.length<=N)F=X.applyEdit(F,M);else throw Error("Overlapping edit");N=M.offset}return F}Y.applyEdits=V})});var M6="vercel.ai.error",$W=Symbol.for(M6),A6,fW=class Q extends Error{constructor({name:Y,message:J,cause:X}){super(J);this[A6]=!0,this.name=Y,this.cause=X}static isInstance(Y){return Q.hasMarker(Y,M6)}static hasMarker(Y,J){let X=Symbol.for(J);return Y!=null&&typeof Y==="object"&&X in Y&&typeof Y[X]==="boolean"&&Y[X]===!0}};A6=$W;var Q1=fW,V6="AI_APICallError",D6=`vercel.ai.error.${V6}`,hW=Symbol.for(D6),w6,a0=class extends Q1{constructor({message:Q,url:Y,requestBodyValues:J,statusCode:X,responseHeaders:B,responseBody:q,cause:G,isRetryable:H=X!=null&&(X===408||X===409||X===429||X>=500),data:U}){super({name:V6,message:Q,cause:G});this[w6]=!0,this.url=Y,this.requestBodyValues=J,this.statusCode=X,this.responseHeaders=B,this.responseBody=q,this.isRetryable=H,this.data=U}static isInstance(Q){return Q1.hasMarker(Q,D6)}};w6=hW;var O6="AI_EmptyResponseBodyError",R6=`vercel.ai.error.${O6}`,mW=Symbol.for(R6),Z6,E6=class extends Q1{constructor({message:Q="Empty response body"}={}){super({name:O6,message:Q});this[Z6]=!0}static isInstance(Q){return Q1.hasMarker(Q,R6)}};Z6=mW;function P6(Q){if(Q==null)return"unknown error";if(typeof Q==="string")return Q;if(Q instanceof Error)return Q.message;return JSON.stringify(Q)}var S6="AI_InvalidArgumentError",I6=`vercel.ai.error.${S6}`,uW=Symbol.for(I6),C6,a9=class extends Q1{constructor({message:Q,cause:Y,argument:J}){super({name:S6,message:Q,cause:Y});this[C6]=!0,this.argument=J}static isInstance(Q){return Q1.hasMarker(Q,I6)}};C6=uW;var b6="AI_InvalidPromptError",T6=`vercel.ai.error.${b6}`,cW=Symbol.for(T6),_6,jQ=class extends Q1{constructor({prompt:Q,message:Y,cause:J}){super({name:b6,message:`Invalid prompt: ${Y}`,cause:J});this[_6]=!0,this.prompt=Q}static isInstance(Q){return Q1.hasMarker(Q,T6)}};_6=cW;var k6="AI_InvalidResponseDataError",v6=`vercel.ai.error.${k6}`,dW=Symbol.for(v6),x6,_9=class extends Q1{constructor({data:Q,message:Y=`Invalid response data: ${JSON.stringify(Q)}.`}){super({name:k6,message:Y});this[x6]=!0,this.data=Q}static isInstance(Q){return Q1.hasMarker(Q,v6)}};x6=dW;var g6="AI_JSONParseError",y6=`vercel.ai.error.${g6}`,lW=Symbol.for(y6),$6,v8=class extends Q1{constructor({text:Q,cause:Y}){super({name:g6,message:`JSON parsing failed: Text: ${Q}.
|
|
2
2
|
Error message: ${P6(Y)}`,cause:Y});this[$6]=!0,this.text=Q}static isInstance(Q){return Q1.hasMarker(Q,y6)}};$6=lW;var f6="AI_LoadAPIKeyError",h6=`vercel.ai.error.${f6}`,pW=Symbol.for(h6),m6,k9=class extends Q1{constructor({message:Q}){super({name:f6,message:Q});this[m6]=!0}static isInstance(Q){return Q1.hasMarker(Q,h6)}};m6=pW;var nW="AI_LoadSettingError",iW=`vercel.ai.error.${nW}`,aW=Symbol.for(iW),sW;sW=aW;var oW="AI_NoContentGeneratedError",rW=`vercel.ai.error.${oW}`,tW=Symbol.for(rW),eW;eW=tW;var u6="AI_NoSuchModelError",c6=`vercel.ai.error.${u6}`,Q4=Symbol.for(c6),d6,M9=class extends Q1{constructor({errorName:Q=u6,modelId:Y,modelType:J,message:X=`No such ${J}: ${Y}`}){super({name:Q,message:X});this[d6]=!0,this.modelId=Y,this.modelType=J}static isInstance(Q){return Q1.hasMarker(Q,c6)}};d6=Q4;var l6="AI_TooManyEmbeddingValuesForCallError",p6=`vercel.ai.error.${l6}`,X4=Symbol.for(p6),n6,s9=class extends Q1{constructor(Q){super({name:l6,message:`Too many values for a single embedding call. The ${Q.provider} model "${Q.modelId}" can only embed up to ${Q.maxEmbeddingsPerCall} values per call, but ${Q.values.length} values were provided.`});this[n6]=!0,this.provider=Q.provider,this.modelId=Q.modelId,this.maxEmbeddingsPerCall=Q.maxEmbeddingsPerCall,this.values=Q.values}static isInstance(Q){return Q1.hasMarker(Q,p6)}};n6=X4;var i6="AI_TypeValidationError",a6=`vercel.ai.error.${i6}`,Y4=Symbol.for(a6),s6,J4=class Q extends Q1{constructor({value:Y,cause:J}){super({name:i6,message:`Type validation failed: Value: ${JSON.stringify(Y)}.
|
|
3
3
|
Error message: ${P6(J)}`,cause:J});this[s6]=!0,this.value=Y}static isInstance(Y){return Q1.hasMarker(Y,a6)}static wrap({value:Y,cause:J}){return Q.isInstance(J)&&J.value===Y?J:new Q({value:Y,cause:J})}};s6=Y4;var A9=J4,o6="AI_UnsupportedFunctionalityError",r6=`vercel.ai.error.${o6}`,W4=Symbol.for(r6),t6,I0=class extends Q1{constructor({functionality:Q,message:Y=`'${Q}' functionality not supported.`}){super({name:o6,message:Y});this[t6]=!0,this.functionality=Q}static isInstance(Q){return Q1.hasMarker(Q,r6)}};t6=W4;class QX extends Error{constructor(Q,Y){super(Q),this.name="ParseError",this.type=Y.type,this.field=Y.field,this.value=Y.value,this.line=Y.line}}function eQ(Q){}function e6(Q){if(typeof Q=="function")throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:Y=eQ,onError:J=eQ,onRetry:X=eQ,onComment:B}=Q,q="",G=!0,H,U="",z="";function j(L){let N=G?L.replace(/^\xEF\xBB\xBF/,""):L,[K,M]=G4(`${q}${N}`);for(let w of K)A(w);q=M,G=!1}function A(L){if(L===""){F();return}if(L.startsWith(":")){B&&B(L.slice(L.startsWith(": ")?2:1));return}let N=L.indexOf(":");if(N!==-1){let K=L.slice(0,N),M=L[N+1]===" "?2:1,w=L.slice(N+M);V(K,w,L);return}V(L,"",L)}function V(L,N,K){switch(L){case"event":z=N;break;case"data":U=`${U}${N}
|
|
4
4
|
`;break;case"id":H=N.includes("\x00")?void 0:N;break;case"retry":/^\d+$/.test(N)?X(parseInt(N,10)):J(new QX(`Invalid \`retry\` value: "${N}"`,{type:"invalid-retry",value:N,line:K}));break;default:J(new QX(`Unknown field "${L.length>20?`${L.slice(0,20)}…`:L}"`,{type:"unknown-field",field:L,value:N,line:K}));break}}function F(){U.length>0&&Y({id:H,event:z||void 0,data:U.endsWith(`
|
|
@@ -81,6 +81,6 @@ ${G}
|
|
|
81
81
|
`;break}case"tool":throw new I0({functionality:"tool messages"});default:throw Error(`Unsupported role: ${B}`)}return X+=`${J}:
|
|
82
82
|
`,{prompt:X,stopSequences:[`
|
|
83
83
|
${Y}:`]}}function FW({id:Q,model:Y,created:J}){return{id:Q!=null?Q:void 0,modelId:Y!=null?Y:void 0,timestamp:J!=null?new Date(J*1000):void 0}}function NW(Q){switch(Q){case"stop":return"stop";case"length":return"length";case"content_filter":return"content-filter";case"function_call":case"tool_calls":return"tool-calls";default:return"unknown"}}var dN=W.object({echo:W.boolean().optional(),logitBias:W.record(W.string(),W.number()).optional(),suffix:W.string().optional(),user:W.string().optional()}),lN=class{constructor(Q,Y){this.specificationVersion="v2";var J;this.modelId=Q,this.config=Y;let X=(J=Y.errorStructure)!=null?J:aQ;this.chunkSchema=nN(X.errorSchema),this.failedResponseHandler=V1(X)}get provider(){return this.config.provider}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}get supportedUrls(){var Q,Y,J;return(J=(Y=(Q=this.config).supportedUrls)==null?void 0:Y.call(Q))!=null?J:{}}async getArgs({prompt:Q,maxOutputTokens:Y,temperature:J,topP:X,topK:B,frequencyPenalty:q,presencePenalty:G,stopSequences:H,responseFormat:U,seed:z,providerOptions:j,tools:A,toolChoice:V}){var F;let D=[],L=(F=await k0({provider:this.providerOptionsName,providerOptions:j,schema:dN}))!=null?F:{};if(B!=null)D.push({type:"unsupported-setting",setting:"topK"});if(A==null?void 0:A.length)D.push({type:"unsupported-setting",setting:"tools"});if(V!=null)D.push({type:"unsupported-setting",setting:"toolChoice"});if(U!=null&&U.type!=="text")D.push({type:"unsupported-setting",setting:"responseFormat",details:"JSON response format is not supported."});let{prompt:N,stopSequences:K}=cN({prompt:Q}),M=[...K!=null?K:[],...H!=null?H:[]];return{args:{model:this.modelId,echo:L.echo,logit_bias:L.logitBias,suffix:L.suffix,user:L.user,max_tokens:Y,temperature:J,top_p:X,frequency_penalty:q,presence_penalty:G,seed:z,...j==null?void 0:j[this.providerOptionsName],prompt:N,stop:M.length>0?M:void 0},warnings:D}}async doGenerate(Q){var Y,J,X,B,q,G;let{args:H,warnings:U}=await this.getArgs(Q),{responseHeaders:z,value:j,rawValue:A}=await T0({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:b0(this.config.headers(),Q.headers),body:H,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:m0(pN),abortSignal:Q.abortSignal,fetch:this.config.fetch}),V=j.choices[0],F=[];if(V.text!=null&&V.text.length>0)F.push({type:"text",text:V.text});return{content:F,usage:{inputTokens:(J=(Y=j.usage)==null?void 0:Y.prompt_tokens)!=null?J:void 0,outputTokens:(B=(X=j.usage)==null?void 0:X.completion_tokens)!=null?B:void 0,totalTokens:(G=(q=j.usage)==null?void 0:q.total_tokens)!=null?G:void 0},finishReason:NW(V.finish_reason),request:{body:H},response:{...FW(j),headers:z,body:A},warnings:U}}async doStream(Q){let{args:Y,warnings:J}=await this.getArgs(Q),X={...Y,stream:!0,stream_options:this.config.includeUsage?{include_usage:!0}:void 0},{responseHeaders:B,value:q}=await T0({url:this.config.url({path:"/completions",modelId:this.modelId}),headers:b0(this.config.headers(),Q.headers),body:X,failedResponseHandler:this.failedResponseHandler,successfulResponseHandler:D1(this.chunkSchema),abortSignal:Q.abortSignal,fetch:this.config.fetch}),G="unknown",H={inputTokens:void 0,outputTokens:void 0,totalTokens:void 0},U=!0;return{stream:q.pipeThrough(new TransformStream({start(z){z.enqueue({type:"stream-start",warnings:J})},transform(z,j){var A,V,F;if(Q.includeRawChunks)j.enqueue({type:"raw",rawValue:z.rawValue});if(!z.success){G="error",j.enqueue({type:"error",error:z.error});return}let D=z.value;if("error"in D){G="error",j.enqueue({type:"error",error:D.error});return}if(U)U=!1,j.enqueue({type:"response-metadata",...FW(D)}),j.enqueue({type:"text-start",id:"0"});if(D.usage!=null)H.inputTokens=(A=D.usage.prompt_tokens)!=null?A:void 0,H.outputTokens=(V=D.usage.completion_tokens)!=null?V:void 0,H.totalTokens=(F=D.usage.total_tokens)!=null?F:void 0;let L=D.choices[0];if((L==null?void 0:L.finish_reason)!=null)G=NW(L.finish_reason);if((L==null?void 0:L.text)!=null)j.enqueue({type:"text-delta",id:"0",delta:L.text})},flush(z){if(!U)z.enqueue({type:"text-end",id:"0"});z.enqueue({type:"finish",finishReason:G,usage:H})}})),request:{body:X},response:{headers:B}}}},MW=W.object({prompt_tokens:W.number(),completion_tokens:W.number(),total_tokens:W.number()}),pN=W.object({id:W.string().nullish(),created:W.number().nullish(),model:W.string().nullish(),choices:W.array(W.object({text:W.string(),finish_reason:W.string()})),usage:MW.nullish()}),nN=(Q)=>W.union([W.object({id:W.string().nullish(),created:W.number().nullish(),model:W.string().nullish(),choices:W.array(W.object({text:W.string(),finish_reason:W.string().nullish(),index:W.number()})),usage:MW.nullish()}),Q]),jW=W.object({dimensions:W.number().optional(),user:W.string().optional()}),iN=class{constructor(Q,Y){this.specificationVersion="v2",this.modelId=Q,this.config=Y}get provider(){return this.config.provider}get maxEmbeddingsPerCall(){var Q;return(Q=this.config.maxEmbeddingsPerCall)!=null?Q:2048}get supportsParallelCalls(){var Q;return(Q=this.config.supportsParallelCalls)!=null?Q:!0}get providerOptionsName(){return this.config.provider.split(".")[0].trim()}async doEmbed({values:Q,headers:Y,abortSignal:J,providerOptions:X}){var B,q,G;let H=Object.assign((B=await k0({provider:"openai-compatible",providerOptions:X,schema:jW}))!=null?B:{},(q=await k0({provider:this.providerOptionsName,providerOptions:X,schema:jW}))!=null?q:{});if(Q.length>this.maxEmbeddingsPerCall)throw new s9({provider:this.provider,modelId:this.modelId,maxEmbeddingsPerCall:this.maxEmbeddingsPerCall,values:Q});let{responseHeaders:U,value:z,rawValue:j}=await T0({url:this.config.url({path:"/embeddings",modelId:this.modelId}),headers:b0(this.config.headers(),Y),body:{model:this.modelId,input:Q,encoding_format:"float",dimensions:H.dimensions,user:H.user},failedResponseHandler:V1((G=this.config.errorStructure)!=null?G:aQ),successfulResponseHandler:m0(aN),abortSignal:J,fetch:this.config.fetch});return{embeddings:z.data.map((A)=>A.embedding),usage:z.usage?{tokens:z.usage.prompt_tokens}:void 0,providerMetadata:z.providerMetadata,response:{headers:U,body:j}}}},aN=W.object({data:W.array(W.object({embedding:W.array(W.number())})),usage:W.object({prompt_tokens:W.number()}).nullish(),providerMetadata:W.record(W.string(),W.record(W.string(),W.any())).optional()}),sN=class{constructor(Q,Y){this.modelId=Q,this.config=Y,this.specificationVersion="v2",this.maxImagesPerCall=10}get provider(){return this.config.provider}async doGenerate({prompt:Q,n:Y,size:J,aspectRatio:X,seed:B,providerOptions:q,headers:G,abortSignal:H}){var U,z,j,A,V;let F=[];if(X!=null)F.push({type:"unsupported-setting",setting:"aspectRatio",details:"This model does not support aspect ratio. Use `size` instead."});if(B!=null)F.push({type:"unsupported-setting",setting:"seed"});let D=(j=(z=(U=this.config._internal)==null?void 0:U.currentDate)==null?void 0:z.call(U))!=null?j:new Date,{value:L,responseHeaders:N}=await T0({url:this.config.url({path:"/images/generations",modelId:this.modelId}),headers:b0(this.config.headers(),G),body:{model:this.modelId,prompt:Q,n:Y,size:J,...(A=q.openai)!=null?A:{},response_format:"b64_json"},failedResponseHandler:V1((V=this.config.errorStructure)!=null?V:aQ),successfulResponseHandler:m0(oN),abortSignal:H,fetch:this.config.fetch});return{images:L.data.map((K)=>K.b64_json),warnings:F,response:{timestamp:D,modelId:this.modelId,headers:N}}}},oN=W.object({data:W.array(W.object({b64_json:W.string()}))}),rN="1.0.25";function AW(Q){let Y=w9(Q.baseURL),J=Q.name,X={...Q.apiKey&&{Authorization:`Bearer ${Q.apiKey}`},...Q.headers},B=()=>i1(X,`ai-sdk/openai-compatible/${rN}`),q=(V)=>({provider:`${J}.${V}`,url:({path:F})=>{let D=new URL(`${Y}${F}`);if(Q.queryParams)D.search=new URLSearchParams(Q.queryParams).toString();return D.toString()},headers:B,fetch:Q.fetch}),G=(V)=>H(V),H=(V)=>new hN(V,{...q("chat"),includeUsage:Q.includeUsage,supportsStructuredOutputs:Q.supportsStructuredOutputs}),U=(V)=>new lN(V,{...q("completion"),includeUsage:Q.includeUsage}),z=(V)=>new iN(V,{...q("embedding")}),j=(V)=>new sN(V,q("image")),A=(V)=>G(V);return A.languageModel=G,A.chatModel=H,A.completionModel=U,A.textEmbeddingModel=z,A.imageModel=j,A}class Y6{id="zai";name="Z.ai";getConfigSchema(){return[{key:"api-key",label:"API Key",type:"string",required:!0,secret:!0,description:"Get your API key from Z.ai",placeholder:"zai-..."},{key:"coding-plan",label:"Coding Plan",type:"boolean",required:!1,description:"Enable Coding Plan mode (uses different API endpoint)"}]}isConfigured(Q){return!!Q["api-key"]}async fetchModels(Q){let Y=Q["api-key"],J=Q["coding-plan"];if(!Y)throw Error("API key is required to fetch Z.ai models");let B=await fetch(`${J?"https://api.z.ai/api/coding/paas/v4":"https://api.z.ai/api/paas/v4"}/models`,{headers:{Authorization:`Bearer ${Y}`},signal:AbortSignal.timeout(1e4)});if(!B.ok)throw Error(`Z.ai API returned ${B.status}: ${B.statusText}`);let q=await B.json();if(!q.data||q.data.length===0)throw Error("No models returned from Z.ai API");return q.data.map((G)=>({id:G.id,name:G.name||G.id}))}async getModelDetails(Q,Y){return{"glm-4.6":{contextLength:128000,maxOutput:4096,inputPrice:0,outputPrice:0},"glm-4-flash":{contextLength:128000,maxOutput:4096,inputPrice:0,outputPrice:0},"glm-4-plus":{contextLength:128000,maxOutput:4096,inputPrice:0,outputPrice:0},"glm-4-air":{contextLength:128000,maxOutput:4096,inputPrice:0,outputPrice:0}}[Q]||null}createClient(Q,Y){let J=Q["api-key"],B=Q["coding-plan"]?"https://api.z.ai/api/coding/paas/v4/":"https://api.z.ai/api/paas/v4/";return AW({baseURL:B,apiKey:J,name:"zai"})(Y)}}var J6={anthropic:new AX,openai:new DX,google:new OX,openrouter:new _X,"claude-code":new Q6,zai:new Y6};function Pw(Q){let Y=J6[Q];if(!Y)throw Error(`Unknown provider: ${Q}`);return Y}function Sw(){return Object.keys(J6)}function Iw(){let Q={};for(let[Y,J]of Object.entries(J6))Q[Y]={id:Y,name:J.name};return Q}export{Pw as getProvider,Iw as getAllProviders,Sw as getAllProviderIds,J6 as PROVIDER_REGISTRY};
|
|
84
|
-
export{Q1 as
|
|
84
|
+
export{Q1 as L,a0 as M,P6 as N,jQ as O,M9 as P,b0 as Q,ZK as R,T4 as S,s0 as T,PK as U,a8 as V,LY as W,i1 as X,CK as Y,bK as Z,PQ as _,d0 as $,q1 as aa,NX as ba,jY as ca,T0 as da,AY as ea,H9 as fa,V1 as ga,D1 as ha,m0 as ia,p as ja,uK as ka,ZY as la,f2 as ma,w9 as na,cK as oa,Pw as pa,Iw as qa};
|
|
85
85
|
|
|
86
|
-
//# debugId=
|
|
86
|
+
//# debugId=9DC65A20F8D83B8064756E2164756E21
|