@js4cytoscape/ndex-client 0.6.0-alpha.1 → 0.6.0-alpha.2

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/index.d.ts CHANGED
@@ -463,6 +463,14 @@ interface AccessKeyResponse {
463
463
  * Valid actions for updating access keys
464
464
  */
465
465
  declare type AccessKeyAction = 'enable' | 'disable';
466
+ /**
467
+ * NDEx object update status - returned from network creation and update operations
468
+ * Corresponds to server-side NdexObjectUpdateStatus class
469
+ */
470
+ interface NDExObjectUpdateStatus {
471
+ uuid: string;
472
+ modificationTime: number;
473
+ }
466
474
 
467
475
  /**
468
476
  * HTTPService - Core HTTP client for NDEx API communication
@@ -470,6 +478,7 @@ declare type AccessKeyAction = 'enable' | 'disable';
470
478
  *
471
479
  * @note User-Agent header is set to 'NDEx-JS-Client/${version}' but only works in Node.js.
472
480
  * Browsers will ignore custom User-Agent headers for security reasons.
481
+ * @internal
473
482
  */
474
483
  declare class HTTPService {
475
484
  private axiosInstance;
@@ -507,67 +516,7 @@ declare class HTTPService {
507
516
  delete<T = any>(endpoint: string, config?: AxiosRequestConfig & {
508
517
  version?: 'v2' | 'v3';
509
518
  }): Promise<T>;
510
- /**
511
- * Upload a file to the NDEx API with progress tracking support
512
- *
513
- * This method handles file uploads using multipart/form-data encoding and supports
514
- * various input types for maximum flexibility across different environments.
515
- *
516
- * @template T - The expected response type from the API
517
- * @param endpoint - API endpoint path (e.g., 'networks' for network upload)
518
- * @param file - File data to upload. Supports multiple input types:
519
- * - `File` (browser): HTML5 File object from file input or drag-and-drop
520
- * - `Blob` (browser): Binary data as Blob object
521
- * - `Buffer` (Node.js): Binary data as Buffer for server-side uploads
522
- * - `string`: Text content that will be converted to Blob (useful for CX/CX2 JSON)
523
- * @param options - Upload configuration options
524
- * @param options.filename - Custom filename for the upload. Defaults:
525
- * - File objects: uses `file.name`
526
- * - Other types: 'file.cx2'
527
- * @param options.contentType - MIME type for string content (default: 'application/json')
528
- * @param options.onProgress - Progress callback that receives percentage (0-100)
529
- * Called periodically during upload with current progress
530
- * @param options.version - API version to use ('v2' or 'v3', defaults to 'v2')
531
- * @param options.config - Additional Axios configuration options
532
- *
533
- * @returns Promise resolving to upload result
534
- *
535
- * @example
536
- * ```typescript
537
- * // Upload a File object from file input (browser)
538
- * const fileInput = document.getElementById('file') as HTMLInputElement;
539
- * const file = fileInput.files[0];
540
- * const result = await httpService.uploadFile('networks', file, {
541
- * filename: 'my-network.cx2',
542
- * onProgress: (progress) => console.log(`Upload: ${progress}%`),
543
- * version: 'v3'
544
- * });
545
- *
546
- * // Upload CX2 network data as string
547
- * const cx2Data = JSON.stringify({ CXVersion: '2.0', networks: [...] });
548
- * const result = await httpService.uploadFile('networks', cx2Data, {
549
- * filename: 'network.cx2',
550
- * contentType: 'application/json',
551
- * version: 'v3'
552
- * });
553
- *
554
- * // Upload with progress tracking
555
- * const result = await httpService.uploadFile('networks', file, {
556
- * onProgress: (progress) => {
557
- * progressBar.style.width = `${progress}%`;
558
- * console.log(`Uploading: ${progress}%`);
559
- * }
560
- * });
561
- * ```
562
- *
563
- * @throws Will throw NDExError on network errors,
564
- * server errors, or invalid file data
565
- *
566
- * @note The Content-Type header is automatically set to 'multipart/form-data'
567
- * and Axios will handle the boundary parameter automatically
568
- */
569
519
  uploadFile<T = any>(endpoint: string, file: File | Blob | Buffer | string, options?: {
570
- filename?: string;
571
520
  contentType?: string;
572
521
  onProgress?: (progress: number) => void;
573
522
  version?: 'v2' | 'v3';
@@ -818,14 +767,12 @@ declare class NetworkServiceV3 {
818
767
  */
819
768
  createNetworkFromCX2(cx2Data: CX2Network$1 | CX2Network, options?: {
820
769
  visibility?: 'PUBLIC' | 'PRIVATE';
821
- name?: string;
822
- }): Promise<{
823
- uuid: string;
824
- }>;
770
+ folderId?: string;
771
+ }): Promise<NDExObjectUpdateStatus>;
825
772
  /**
826
773
  * Update network with CX2 data
827
774
  */
828
- updateNetworkCX2(networkUUID: string, cx2Data: CX2Network$1 | CX2Network): Promise<void>;
775
+ updateNetworkCX2(networkUUID: string, cx2Data: CX2Network$1 | CX2Network): Promise<NDExObjectUpdateStatus>;
829
776
  /**
830
777
  * Upload network file (CX2, CX, or other formats)
831
778
  */
@@ -1303,28 +1250,33 @@ declare class UnifiedNetworkService {
1303
1250
  /**
1304
1251
  * Create network from raw CX2 data (migrated from original NDEx.js)
1305
1252
  *
1306
- * Creates a new network in NDEx from raw CX2 network data. This is an unstable function
1307
- * for uploading CX2 format networks directly to NDEx using the V3 API. The function
1308
- * extracts the network UUID from the response location header.
1253
+ * Creates a new network on NDEx from raw CX2 data using the V3 API.
1254
+ * This function delegates to the NetworkServiceV3 implementation.
1309
1255
  *
1310
- * @param rawCX2 - Raw CX2 network data as an object or CX2Network instance
1311
- * @param makePublic - Whether to make the network public (default: false = private)
1312
- * @returns Promise resolving to an object containing the UUID of the created network
1256
+ * @param cx2Data - Raw CX2 network data as an object or CX2Network instance
1257
+ * @param options - Creation options including visibility and folderId
1258
+ * @param options.visibility - Network visibility: 'PUBLIC' or 'PRIVATE' (default: 'PRIVATE')
1259
+ * @param options.folderId - UUID of the folder to create the network in. If omitted, network is created in user's home directory
1260
+ * @returns Promise resolving to NDExObjectUpdateStatus with uuid and modificationTime
1313
1261
  *
1314
1262
  * @example
1315
1263
  * ```typescript
1316
- * // Create private network from raw CX2 data
1264
+ * // Create private network from raw CX2 data in user's home directory
1317
1265
  * const result = await client.networks.createNetworkFromRawCX2(cx2Data);
1318
1266
  * console.log(result.uuid); // "12345678-1234-1234-1234-123456789abc"
1319
1267
  *
1320
- * // Create public network from raw CX2 data
1321
- * const publicResult = await client.networks.createNetworkFromRawCX2(cx2Data, true);
1268
+ * // Create public network from raw CX2 data in a specific folder
1269
+ * const publicResult = await client.networks.createNetworkFromRawCX2(cx2Data, {
1270
+ * visibility: 'PUBLIC',
1271
+ * folderId: '87654321-4321-4321-4321-876543210fed'
1272
+ * });
1322
1273
  * console.log(publicResult.uuid);
1323
1274
  * ```
1324
1275
  */
1325
- createNetworkFromRawCX2(rawCX2: CX2Network$1 | any, makePublic?: boolean): Promise<{
1326
- uuid: string;
1327
- }>;
1276
+ createNetworkFromRawCX2(cx2Data: CX2Network$1 | CX2Network, options?: {
1277
+ visibility?: 'PUBLIC' | 'PRIVATE';
1278
+ folderId?: string;
1279
+ }): Promise<NDExObjectUpdateStatus>;
1328
1280
  /**
1329
1281
  * Update network from raw CX2 data (migrated from original NDEx.js)
1330
1282
  *
@@ -1926,6 +1878,29 @@ declare class NDExClient {
1926
1878
  networks: NetworkServiceV3;
1927
1879
  };
1928
1880
  }
1881
+ /**
1882
+ * Library version string imported from package.json
1883
+ *
1884
+ * Provides programmatic access to the current library version for:
1885
+ * - Runtime version checking and validation
1886
+ * - Debugging and error reporting
1887
+ * - Logging and telemetry
1888
+ * - Version-dependent feature detection
1889
+ *
1890
+ * @example
1891
+ * ```typescript
1892
+ * import { NDExClient, version } from '@js4cytoscape/ndex-client';
1893
+ *
1894
+ * console.log(`Using NDEx Client v${version}`);
1895
+ *
1896
+ * // In error reports
1897
+ * const errorReport = {
1898
+ * error: err.message,
1899
+ * libraryVersion: version,
1900
+ * timestamp: new Date().toISOString()
1901
+ * };
1902
+ * ```
1903
+ */
1929
1904
  declare const version: string;
1930
1905
 
1931
- export { type APIError, type APIResponse, type AccessKeyAction, type AccessKeyResponse, type AccessParams, AdminService, type BasicAuth, type CX1Edge, type CX1MetaDataItem, type CX1MetaDataResponse, type CX1NetworkProperty, type CX2AttributeDeclarations, type CX2AttributeSpec, type CX2Edge, type CX2EdgeBypass, type CX2ImportParams, type CX2MetaData, CX2Network, type CX2NetworkAttribute, type CX2NetworkProperties, type CX2Node, type CX2NodeBypass, type CX2Status, type CX2VisualProperty, CyNDExService as CyNDEx, type CyNDExAuthConfig, type CyNDExConfig, CyNDExService, type CyNDExStatusResponse, type CyWebWorkspace, type CytoscapeNetworkSummary, type DefaultVisualProperties, type ExportFormat, type ExportRequest, FilesService, HTTPService, type MappingDefinition, type NDExAny, NDExAuthError, type NDExAuthResponse, NDExClient, type NDExClientConfig, NDExError, type NDExExportParams, type NDExImportParams, NDExNetworkError, NDExNotFoundError, NDExServerError, type NDExUser, NDExValidationError, NetworkIndexLevel, type NetworkPermission, NetworkServiceV2, NetworkServiceV3, type NetworkSummaryV2, type NetworkSummaryV3, type OAuthAuth, type PaginationParams, type SearchParameters, type SearchResult, type TableColumnVisualStyle, type Task, type Timestamp, type UUID, UnifiedNetworkService, UserService, type VPMappingType, type VisualPropertyMapping, type VisualPropertyTable, WorkspaceService, version };
1906
+ export { type APIError, type APIResponse, type AccessKeyAction, type AccessKeyResponse, type AccessParams, AdminService, type BasicAuth, type CX1Edge, type CX1MetaDataItem, type CX1MetaDataResponse, type CX1NetworkProperty, type CX2AttributeDeclarations, type CX2AttributeSpec, type CX2Edge, type CX2EdgeBypass, type CX2ImportParams, type CX2MetaData, CX2Network, type CX2NetworkAttribute, type CX2NetworkProperties, type CX2Node, type CX2NodeBypass, type CX2Status, type CX2VisualProperty, CyNDExService as CyNDEx, type CyNDExAuthConfig, type CyNDExConfig, CyNDExService, type CyNDExStatusResponse, type CyWebWorkspace, type CytoscapeNetworkSummary, type DefaultVisualProperties, type ExportFormat, type ExportRequest, FilesService, type MappingDefinition, type NDExAny, NDExAuthError, type NDExAuthResponse, NDExClient, type NDExClientConfig, NDExError, type NDExExportParams, type NDExImportParams, NDExNetworkError, NDExNotFoundError, type NDExObjectUpdateStatus, NDExServerError, type NDExUser, NDExValidationError, NetworkIndexLevel, type NetworkPermission, NetworkServiceV2, NetworkServiceV3, type NetworkSummaryV2, type NetworkSummaryV3, type OAuthAuth, type PaginationParams, type SearchParameters, type SearchResult, type TableColumnVisualStyle, type Task, type Timestamp, type UUID, UnifiedNetworkService, UserService, type VPMappingType, type VisualPropertyMapping, type VisualPropertyTable, WorkspaceService, version };
@@ -1,9 +1,9 @@
1
1
  var NDExClient=(function(exports){'use strict';/* NDEx Client Library - Browser Build with Axios */
2
- var Wt=Object.defineProperty;var zt=(s,e)=>{for(var t in e)Wt(s,t,{get:e[t],enumerable:true});};var Jt=(r=>(r.NONE="NONE",r.BASIC="BASIC",r.FULL="FULL",r))(Jt||{}),A=class extends Error{constructor(t,r,n,i){super(t);this.statusCode=r;this.errorCode=n;this.description=i;this.name="NDExError";}},fe=class extends A{constructor(t,r){super(t,void 0,"NETWORK_ERROR");this.originalError=r;this.name="NDExNetworkError";}},me=class extends A{constructor(e="Authentication failed",t=401){super(e,t,"AUTH_ERROR"),this.name="NDExAuthError";}},he=class extends A{constructor(e="Resource not found",t=404){super(e,t,"NOT_FOUND"),this.name="NDExNotFoundError";}},ge=class extends A{constructor(e,t=400){super(e,t,"VALIDATION_ERROR"),this.name="NDExValidationError";}},ye=class extends A{constructor(e="Internal server error",t=500){super(e,t,"SERVER_ERROR"),this.name="NDExServerError";}};var F=class s{constructor(e){this.CXVersion="2.0";this.hasFragments=false;this.metaData=[];e&&Object.assign(this,e),this.ensureRequiredMetadata();}static createEmpty(){let e=new s;return e.nodes=[],e.edges=[],e.metaData=[{name:"nodes",elementCount:0},{name:"edges",elementCount:0}],e}static fromJSON(e){let t=typeof e=="string"?JSON.parse(e):e;return new s(t)}static fromNetworkSummary(e){let t=s.createEmpty();return t.networkAttributes=[{name:e.name},...e.description?[{description:e.description}]:[],...e.version?[{version:e.version}]:[]],e.properties&&Object.entries(e.properties).forEach(([r,n])=>{t.networkAttributes?.push({[r]:n.v});}),t}addNode(e,t){this.nodes||(this.nodes=[]);let r={id:e};return t&&(r.v=t),this.nodes.push(r),this.updateNodeCount(),r}addEdge(e,t,r,n){this.edges||(this.edges=[]);let i={id:e,s:t,t:r};return n&&(i.v=n),this.edges.push(i),this.updateEdgeCount(),i}addNodeAttribute(e,t,r){let n=this.nodes.find(i=>i.id===e);n&&(n.v||(n.v={}),n.v[t]=r);}addEdgeAttribute(e,t,r){let n=this.edges.find(i=>i.id===e);n&&(n.v||(n.v={}),n.v[t]=r);}setNodeCoordinates(e,t,r,n){this.nodes||(this.nodes=[]);let i=this.nodes.find(o=>o.id===e);i||(i={id:e},this.nodes.push(i),this.updateNodeCount()),i.x=t,i.y=r,n!==void 0&&(i.z=n);}getNode(e){return this.nodes?.find(t=>t.id===e)}getEdge(e){return this.edges?.find(t=>t.id===e)}getNodes(){return this.nodes||[]}getEdges(){return this.edges||[]}getNodeCount(){return this.nodes?.length||0}getEdgeCount(){return this.edges?.length||0}getNetworkName(){return this.networkAttributes?.find(e=>"name"in e)?.name}setNetworkName(e){this.networkAttributes||(this.networkAttributes=[]),this.networkAttributes=this.networkAttributes.filter(t=>!("name"in t)),this.networkAttributes.push({name:e});}getNetworkAttribute(e){return this.networkAttributes?.find(t=>e in t)?.[e]}setNetworkAttribute(e,t){this.networkAttributes||(this.networkAttributes=[]),this.networkAttributes=this.networkAttributes.filter(r=>!(e in r)),this.networkAttributes.push({[e]:t});}validate(){let e=[];return this.CXVersion||e.push("CXVersion is required"),this.hasFragments===void 0&&e.push("hasFragments is required"),(!this.metaData||this.metaData.length===0)&&e.push("metaData is required and must not be empty"),this.metaData?.forEach((t,r)=>{t.name||e.push(`metaData[${r}] is missing required 'name' field`);}),this.nodes&&this.nodes.forEach((t,r)=>{(t.id===void 0||t.id===null)&&e.push(`nodes[${r}] is missing required 'id' field`);}),this.edges&&this.edges.forEach((t,r)=>{if((t.id===void 0||t.id===null)&&e.push(`edges[${r}] is missing required 'id' field`),(t.s===void 0||t.s===null)&&e.push(`edges[${r}] is missing required 's' (source) field`),(t.t===void 0||t.t===null)&&e.push(`edges[${r}] is missing required 't' (target) field`),this.nodes&&t.s!==void 0&&t.t!==void 0){let n=this.nodes.some(o=>o.id===t.s),i=this.nodes.some(o=>o.id===t.t);n||e.push(`edges[${r}] references non-existent source node ${t.s}`),i||e.push(`edges[${r}] references non-existent target node ${t.t}`);}}),{isValid:e.length===0,errors:e}}toJSON(){return JSON.stringify(this,null,2)}clone(){return new s(JSON.parse(this.toJSON()))}getStatistics(){return {nodeCount:this.getNodeCount(),edgeCount:this.getEdgeCount(),hasCoordinates:!!(this.nodes&&this.nodes.some(e=>e.x!==void 0||e.y!==void 0||e.z!==void 0)),hasVisualProperties:!!(this.visualProperties&&(this.visualProperties.default||this.visualProperties.edgeMapping||this.visualProperties.nodeMapping))}}ensureRequiredMetadata(){this.metaData||(this.metaData=[]),this.nodes&&!this.metaData.find(e=>e.name==="nodes")&&this.metaData.push({name:"nodes",elementCount:this.nodes.length}),this.edges&&!this.metaData.find(e=>e.name==="edges")&&this.metaData.push({name:"edges",elementCount:this.edges.length});}updateNodeCount(){let e=this.metaData?.find(t=>t.name==="nodes");e&&(e.elementCount=this.nodes?.length||0);}updateEdgeCount(){let e=this.metaData?.find(t=>t.name==="edges");e&&(e.elementCount=this.edges?.length||0);}};function H(s,e){return function(){return s.apply(e,arguments)}}var{toString:Kt}=Object.prototype,{getPrototypeOf:$e}=Object,{iterator:be,toStringTag:ct}=Symbol,ve=(s=>e=>{let t=Kt.call(e);return s[t]||(s[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),C=s=>(s=s.toLowerCase(),e=>ve(e)===s),xe=s=>e=>typeof e===s,{isArray:B}=Array,W=xe("undefined");function z(s){return s!==null&&!W(s)&&s.constructor!==null&&!W(s.constructor)&&N(s.constructor.isBuffer)&&s.constructor.isBuffer(s)}var ut=C("ArrayBuffer");function Gt(s){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(s):e=s&&s.buffer&&ut(s.buffer),e}var Qt=xe("string"),N=xe("function"),pt=xe("number"),J=s=>s!==null&&typeof s=="object",Zt=s=>s===true||s===false,we=s=>{if(ve(s)!=="object")return false;let e=$e(s);return (e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(ct in s)&&!(be in s)},Yt=s=>{if(!J(s)||z(s))return false;try{return Object.keys(s).length===0&&Object.getPrototypeOf(s)===Object.prototype}catch{return false}},er=C("Date"),tr=C("File"),rr=C("Blob"),sr=C("FileList"),nr=s=>J(s)&&N(s.pipe),ir=s=>{let e;return s&&(typeof FormData=="function"&&s instanceof FormData||N(s.append)&&((e=ve(s))==="formdata"||e==="object"&&N(s.toString)&&s.toString()==="[object FormData]"))},or=C("URLSearchParams"),[ar,cr,ur,pr]=["ReadableStream","Request","Response","Headers"].map(C),dr=s=>s.trim?s.trim():s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function K(s,e,{allOwnKeys:t=false}={}){if(s===null||typeof s>"u")return;let r,n;if(typeof s!="object"&&(s=[s]),B(s))for(r=0,n=s.length;r<n;r++)e.call(null,s[r],r,s);else {if(z(s))return;let i=t?Object.getOwnPropertyNames(s):Object.keys(s),o=i.length,c;for(r=0;r<o;r++)c=i[r],e.call(null,s[c],c,s);}}function dt(s,e){if(z(s))return null;e=e.toLowerCase();let t=Object.keys(s),r=t.length,n;for(;r-- >0;)if(n=t[r],e===n.toLowerCase())return n;return null}var $=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:globalThis,lt=s=>!W(s)&&s!==$;function Fe(){let{caseless:s}=lt(this)&&this||{},e={},t=(r,n)=>{let i=s&&dt(e,n)||n;we(e[i])&&we(r)?e[i]=Fe(e[i],r):we(r)?e[i]=Fe({},r):B(r)?e[i]=r.slice():e[i]=r;};for(let r=0,n=arguments.length;r<n;r++)arguments[r]&&K(arguments[r],t);return e}var lr=(s,e,t,{allOwnKeys:r}={})=>(K(e,(n,i)=>{t&&N(n)?s[i]=H(n,t):s[i]=n;},{allOwnKeys:r}),s),fr=s=>(s.charCodeAt(0)===65279&&(s=s.slice(1)),s),mr=(s,e,t,r)=>{s.prototype=Object.create(e.prototype,r),s.prototype.constructor=s,Object.defineProperty(s,"super",{value:e.prototype}),t&&Object.assign(s.prototype,t);},hr=(s,e,t,r)=>{let n,i,o,c={};if(e=e||{},s==null)return e;do{for(n=Object.getOwnPropertyNames(s),i=n.length;i-- >0;)o=n[i],(!r||r(o,s,e))&&!c[o]&&(e[o]=s[o],c[o]=true);s=t!==false&&$e(s);}while(s&&(!t||t(s,e))&&s!==Object.prototype);return e},gr=(s,e,t)=>{s=String(s),(t===void 0||t>s.length)&&(t=s.length),t-=e.length;let r=s.indexOf(e,t);return r!==-1&&r===t},yr=s=>{if(!s)return null;if(B(s))return s;let e=s.length;if(!pt(e))return null;let t=new Array(e);for(;e-- >0;)t[e]=s[e];return t},wr=(s=>e=>s&&e instanceof s)(typeof Uint8Array<"u"&&$e(Uint8Array)),br=(s,e)=>{let r=(s&&s[be]).call(s),n;for(;(n=r.next())&&!n.done;){let i=n.value;e.call(s,i[0],i[1]);}},vr=(s,e)=>{let t,r=[];for(;(t=s.exec(e))!==null;)r.push(t);return r},xr=C("HTMLFormElement"),Er=s=>s.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,r,n){return r.toUpperCase()+n}),at=(({hasOwnProperty:s})=>(e,t)=>s.call(e,t))(Object.prototype),Sr=C("RegExp"),ft=(s,e)=>{let t=Object.getOwnPropertyDescriptors(s),r={};K(t,(n,i)=>{let o;(o=e(n,i,s))!==false&&(r[i]=o||n);}),Object.defineProperties(s,r);},kr=s=>{ft(s,(e,t)=>{if(N(s)&&["arguments","caller","callee"].indexOf(t)!==-1)return false;let r=s[t];if(N(r)){if(e.enumerable=false,"writable"in e){e.writable=false;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")});}});},Rr=(s,e)=>{let t={},r=n=>{n.forEach(i=>{t[i]=true;});};return B(s)?r(s):r(String(s).split(e)),t},Nr=()=>{},Cr=(s,e)=>s!=null&&Number.isFinite(s=+s)?s:e;function Pr(s){return !!(s&&N(s.append)&&s[ct]==="FormData"&&s[be])}var Ar=s=>{let e=new Array(10),t=(r,n)=>{if(J(r)){if(e.indexOf(r)>=0)return;if(z(r))return r;if(!("toJSON"in r)){e[n]=r;let i=B(r)?[]:{};return K(r,(o,c)=>{let d=t(o,n+1);!W(d)&&(i[c]=d);}),e[n]=void 0,i}}return r};return t(s,0)},Tr=C("AsyncFunction"),Dr=s=>s&&(J(s)||N(s))&&N(s.then)&&N(s.catch),mt=((s,e)=>s?setImmediate:e?((t,r)=>($.addEventListener("message",({source:n,data:i})=>{n===$&&i===t&&r.length&&r.shift()();},false),n=>{r.push(n),$.postMessage(t,"*");}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",N($.postMessage)),Or=typeof queueMicrotask<"u"?queueMicrotask.bind($):typeof process<"u"&&process.nextTick||mt,Ur=s=>s!=null&&N(s[be]),a={isArray:B,isArrayBuffer:ut,isBuffer:z,isFormData:ir,isArrayBufferView:Gt,isString:Qt,isNumber:pt,isBoolean:Zt,isObject:J,isPlainObject:we,isEmptyObject:Yt,isReadableStream:ar,isRequest:cr,isResponse:ur,isHeaders:pr,isUndefined:W,isDate:er,isFile:tr,isBlob:rr,isRegExp:Sr,isFunction:N,isStream:nr,isURLSearchParams:or,isTypedArray:wr,isFileList:sr,forEach:K,merge:Fe,extend:lr,trim:dr,stripBOM:fr,inherits:mr,toFlatObject:hr,kindOf:ve,kindOfTest:C,endsWith:gr,toArray:yr,forEachEntry:br,matchAll:vr,isHTMLForm:xr,hasOwnProperty:at,hasOwnProp:at,reduceDescriptors:ft,freezeMethods:kr,toObjectSet:Rr,toCamelCase:Er,noop:Nr,toFiniteNumber:Cr,findKey:dt,global:$,isContextDefined:lt,isSpecCompliantForm:Pr,toJSONObject:Ar,isAsyncFn:Tr,isThenable:Dr,setImmediate:mt,asap:Or,isIterable:Ur};function X(s,e,t,r,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=s,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),r&&(this.request=r),n&&(this.response=n,this.status=n.status?n.status:null);}a.inherits(X,Error,{toJSON:function(){return {message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}});var ht=X.prototype,gt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(s=>{gt[s]={value:s};});Object.defineProperties(X,gt);Object.defineProperty(ht,"isAxiosError",{value:true});X.from=(s,e,t,r,n,i)=>{let o=Object.create(ht);return a.toFlatObject(s,o,function(d){return d!==Error.prototype},c=>c!=="isAxiosError"),X.call(o,s.message,e,t,r,n),o.cause=s,o.name=s.name,i&&Object.assign(o,i),o};var h=X;var Ee=null;function Be(s){return a.isPlainObject(s)||a.isArray(s)}function wt(s){return a.endsWith(s,"[]")?s.slice(0,-2):s}function yt(s,e,t){return s?s.concat(e).map(function(n,i){return n=wt(n),!t&&i?"["+n+"]":n}).join(t?".":""):e}function Ir(s){return a.isArray(s)&&!s.some(Be)}var Lr=a.toFlatObject(a,{},null,function(e){return /^is[A-Z]/.test(e)});function Fr(s,e,t){if(!a.isObject(s))throw new TypeError("target must be an object");e=e||new(FormData),t=a.toFlatObject(t,{metaTokens:true,dots:false,indexes:false},false,function(g,m){return !a.isUndefined(m[g])});let r=t.metaTokens,n=t.visitor||p,i=t.dots,o=t.indexes,d=(t.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(e);if(!a.isFunction(n))throw new TypeError("visitor must be a function");function u(f){if(f===null)return "";if(a.isDate(f))return f.toISOString();if(a.isBoolean(f))return f.toString();if(!d&&a.isBlob(f))throw new h("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(f)||a.isTypedArray(f)?d&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function p(f,g,m){let v=f;if(f&&!m&&typeof f=="object"){if(a.endsWith(g,"{}"))g=r?g:g.slice(0,-2),f=JSON.stringify(f);else if(a.isArray(f)&&Ir(f)||(a.isFileList(f)||a.endsWith(g,"[]"))&&(v=a.toArray(f)))return g=wt(g),v.forEach(function(k,O){!(a.isUndefined(k)||k===null)&&e.append(o===true?yt([g],O,i):o===null?g:g+"[]",u(k));}),false}return Be(f)?true:(e.append(yt(m,g,i),u(f)),false)}let l=[],y=Object.assign(Lr,{defaultVisitor:p,convertValue:u,isVisitable:Be});function b(f,g){if(!a.isUndefined(f)){if(l.indexOf(f)!==-1)throw Error("Circular reference detected in "+g.join("."));l.push(f),a.forEach(f,function(v,E){(!(a.isUndefined(v)||v===null)&&n.call(e,v,a.isString(E)?E.trim():E,g,y))===true&&b(v,g?g.concat(E):[E]);}),l.pop();}}if(!a.isObject(s))throw new TypeError("data must be an object");return b(s),e}var I=Fr;function bt(s){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(s).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function vt(s,e){this._pairs=[],s&&I(s,this,e);}var xt=vt.prototype;xt.append=function(e,t){this._pairs.push([e,t]);};xt.toString=function(e){let t=e?function(r){return e.call(this,r,bt)}:bt;return this._pairs.map(function(n){return t(n[0])+"="+t(n[1])},"").join("&")};var Se=vt;function $r(s){return encodeURIComponent(s).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function G(s,e,t){if(!e)return s;let r=t&&t.encode||$r;a.isFunction(t)&&(t={serialize:t});let n=t&&t.serialize,i;if(n?i=n(e,t):i=a.isURLSearchParams(e)?e.toString():new Se(e,t).toString(r),i){let o=s.indexOf("#");o!==-1&&(s=s.slice(0,o)),s+=(s.indexOf("?")===-1?"?":"&")+i;}return s}var Xe=class{constructor(){this.handlers=[];}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:false,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null);}clear(){this.handlers&&(this.handlers=[]);}forEach(e){a.forEach(this.handlers,function(r){r!==null&&e(r);});}},_e=Xe;var ke={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false};var Et=typeof URLSearchParams<"u"?URLSearchParams:Se;var St=typeof FormData<"u"?FormData:null;var kt=typeof Blob<"u"?Blob:null;var Rt={isBrowser:true,classes:{URLSearchParams:Et,FormData:St,Blob:kt},protocols:["http","https","file","blob","url","data"]};var Me={};zt(Me,{hasBrowserEnv:()=>Ve,hasStandardBrowserEnv:()=>Br,hasStandardBrowserWebWorkerEnv:()=>Xr,navigator:()=>je,origin:()=>_r});var Ve=typeof window<"u"&&typeof document<"u",je=typeof navigator=="object"&&navigator||void 0,Br=Ve&&(!je||["ReactNative","NativeScript","NS"].indexOf(je.product)<0),Xr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",_r=Ve&&window.location.href||"http://localhost";var w={...Me,...Rt};function qe(s,e){return I(s,new w.classes.URLSearchParams,{visitor:function(t,r,n,i){return w.isNode&&a.isBuffer(t)?(this.append(r,t.toString("base64")),false):i.defaultVisitor.apply(this,arguments)},...e})}function jr(s){return a.matchAll(/\w+|\[(\w*)]/g,s).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Vr(s){let e={},t=Object.keys(s),r,n=t.length,i;for(r=0;r<n;r++)i=t[r],e[i]=s[i];return e}function Mr(s){function e(t,r,n,i){let o=t[i++];if(o==="__proto__")return true;let c=Number.isFinite(+o),d=i>=t.length;return o=!o&&a.isArray(n)?n.length:o,d?(a.hasOwnProp(n,o)?n[o]=[n[o],r]:n[o]=r,!c):((!n[o]||!a.isObject(n[o]))&&(n[o]=[]),e(t,r,n[o],i)&&a.isArray(n[o])&&(n[o]=Vr(n[o])),!c)}if(a.isFormData(s)&&a.isFunction(s.entries)){let t={};return a.forEachEntry(s,(r,n)=>{e(jr(r),n,t,0);}),t}return null}var Re=Mr;function qr(s,e,t){if(a.isString(s))try{return (e||JSON.parse)(s),a.trim(s)}catch(r){if(r.name!=="SyntaxError")throw r}return (t||JSON.stringify)(s)}var He={transitional:ke,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){let r=t.getContentType()||"",n=r.indexOf("application/json")>-1,i=a.isObject(e);if(i&&a.isHTMLForm(e)&&(e=new FormData(e)),a.isFormData(e))return n?JSON.stringify(Re(e)):e;if(a.isArrayBuffer(e)||a.isBuffer(e)||a.isStream(e)||a.isFile(e)||a.isBlob(e)||a.isReadableStream(e))return e;if(a.isArrayBufferView(e))return e.buffer;if(a.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",false),e.toString();let c;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return qe(e,this.formSerializer).toString();if((c=a.isFileList(e))||r.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return I(c?{"files[]":e}:e,d&&new d,this.formSerializer)}}return i||n?(t.setContentType("application/json",false),qr(e)):e}],transformResponse:[function(e){let t=this.transitional||He.transitional,r=t&&t.forcedJSONParsing,n=this.responseType==="json";if(a.isResponse(e)||a.isReadableStream(e))return e;if(e&&a.isString(e)&&(r&&!this.responseType||n)){let o=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(c){if(o)throw c.name==="SyntaxError"?h.from(c,h.ERR_BAD_RESPONSE,this,null,this.response):c}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:w.classes.FormData,Blob:w.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],s=>{He.headers[s]={};});var _=He;var Hr=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Nt=s=>{let e={},t,r,n;return s&&s.split(`
3
- `).forEach(function(o){n=o.indexOf(":"),t=o.substring(0,n).trim().toLowerCase(),r=o.substring(n+1).trim(),!(!t||e[t]&&Hr[t])&&(t==="set-cookie"?e[t]?e[t].push(r):e[t]=[r]:e[t]=e[t]?e[t]+", "+r:r);}),e};var Ct=Symbol("internals");function Q(s){return s&&String(s).trim().toLowerCase()}function Ne(s){return s===false||s==null?s:a.isArray(s)?s.map(Ne):String(s)}function Wr(s){let e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=t.exec(s);)e[r[1]]=r[2];return e}var zr=s=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(s.trim());function We(s,e,t,r,n){if(a.isFunction(r))return r.call(this,e,t);if(n&&(e=t),!!a.isString(e)){if(a.isString(r))return e.indexOf(r)!==-1;if(a.isRegExp(r))return r.test(e)}}function Jr(s){return s.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,r)=>t.toUpperCase()+r)}function Kr(s,e){let t=a.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(s,r+t,{value:function(n,i,o){return this[r].call(this,e,n,i,o)},configurable:true});});}var j=class{constructor(e){e&&this.set(e);}set(e,t,r){let n=this;function i(c,d,u){let p=Q(d);if(!p)throw new Error("header name must be a non-empty string");let l=a.findKey(n,p);(!l||n[l]===void 0||u===true||u===void 0&&n[l]!==false)&&(n[l||d]=Ne(c));}let o=(c,d)=>a.forEach(c,(u,p)=>i(u,p,d));if(a.isPlainObject(e)||e instanceof this.constructor)o(e,t);else if(a.isString(e)&&(e=e.trim())&&!zr(e))o(Nt(e),t);else if(a.isObject(e)&&a.isIterable(e)){let c={},d,u;for(let p of e){if(!a.isArray(p))throw TypeError("Object iterator must return a key-value pair");c[u=p[0]]=(d=c[u])?a.isArray(d)?[...d,p[1]]:[d,p[1]]:p[1];}o(c,t);}else e!=null&&i(t,e,r);return this}get(e,t){if(e=Q(e),e){let r=a.findKey(this,e);if(r){let n=this[r];if(!t)return n;if(t===true)return Wr(n);if(a.isFunction(t))return t.call(this,n,r);if(a.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Q(e),e){let r=a.findKey(this,e);return !!(r&&this[r]!==void 0&&(!t||We(this,this[r],r,t)))}return false}delete(e,t){let r=this,n=false;function i(o){if(o=Q(o),o){let c=a.findKey(r,o);c&&(!t||We(r,r[c],c,t))&&(delete r[c],n=true);}}return a.isArray(e)?e.forEach(i):i(e),n}clear(e){let t=Object.keys(this),r=t.length,n=false;for(;r--;){let i=t[r];(!e||We(this,this[i],i,e,true))&&(delete this[i],n=true);}return n}normalize(e){let t=this,r={};return a.forEach(this,(n,i)=>{let o=a.findKey(r,i);if(o){t[o]=Ne(n),delete t[i];return}let c=e?Jr(i):String(i).trim();c!==i&&delete t[i],t[c]=Ne(n),r[c]=true;}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return a.forEach(this,(r,n)=>{r!=null&&r!==false&&(t[n]=e&&a.isArray(r)?r.join(", "):r);}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(`
4
- `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return "AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let r=new this(e);return t.forEach(n=>r.set(n)),r}static accessor(e){let r=(this[Ct]=this[Ct]={accessors:{}}).accessors,n=this.prototype;function i(o){let c=Q(o);r[c]||(Kr(n,o),r[c]=true);}return a.isArray(e)?e.forEach(i):i(e),this}};j.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(j.prototype,({value:s},e)=>{let t=e[0].toUpperCase()+e.slice(1);return {get:()=>s,set(r){this[t]=r;}}});a.freezeMethods(j);var S=j;function Z(s,e){let t=this||_,r=e||t,n=S.from(r.headers),i=r.data;return a.forEach(s,function(c){i=c.call(t,i,n.normalize(),e?e.status:void 0);}),n.normalize(),i}function Y(s){return !!(s&&s.__CANCEL__)}function Pt(s,e,t){h.call(this,s??"canceled",h.ERR_CANCELED,e,t),this.name="CanceledError";}a.inherits(Pt,h,{__CANCEL__:true});var T=Pt;function ee(s,e,t){let r=t.config.validateStatus;!t.status||!r||r(t.status)?s(t):e(new h("Request failed with status code "+t.status,[h.ERR_BAD_REQUEST,h.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t));}function ze(s){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(s);return e&&e[1]||""}function Gr(s,e){s=s||10;let t=new Array(s),r=new Array(s),n=0,i=0,o;return e=e!==void 0?e:1e3,function(d){let u=Date.now(),p=r[i];o||(o=u),t[n]=d,r[n]=u;let l=i,y=0;for(;l!==n;)y+=t[l++],l=l%s;if(n=(n+1)%s,n===i&&(i=(i+1)%s),u-o<e)return;let b=p&&u-p;return b?Math.round(y*1e3/b):void 0}}var At=Gr;function Qr(s,e){let t=0,r=1e3/e,n,i,o=(u,p=Date.now())=>{t=p,n=null,i&&(clearTimeout(i),i=null),s(...u);};return [(...u)=>{let p=Date.now(),l=p-t;l>=r?o(u,p):(n=u,i||(i=setTimeout(()=>{i=null,o(n);},r-l)));},()=>n&&o(n)]}var Tt=Qr;var V=(s,e,t=3)=>{let r=0,n=At(50,250);return Tt(i=>{let o=i.loaded,c=i.lengthComputable?i.total:void 0,d=o-r,u=n(d),p=o<=c;r=o;let l={loaded:o,total:c,progress:c?o/c:void 0,bytes:d,rate:u||void 0,estimated:u&&c&&p?(c-o)/u:void 0,event:i,lengthComputable:c!=null,[e?"download":"upload"]:true};s(l);},t)},Je=(s,e)=>{let t=s!=null;return [r=>e[0]({lengthComputable:t,total:s,loaded:r}),e[1]]},Ke=s=>(...e)=>a.asap(()=>s(...e));var Dt=w.hasStandardBrowserEnv?((s,e)=>t=>(t=new URL(t,w.origin),s.protocol===t.protocol&&s.host===t.host&&(e||s.port===t.port)))(new URL(w.origin),w.navigator&&/(msie|trident)/i.test(w.navigator.userAgent)):()=>true;var Ot=w.hasStandardBrowserEnv?{write(s,e,t,r,n,i){let o=[s+"="+encodeURIComponent(e)];a.isNumber(t)&&o.push("expires="+new Date(t).toGMTString()),a.isString(r)&&o.push("path="+r),a.isString(n)&&o.push("domain="+n),i===true&&o.push("secure"),document.cookie=o.join("; ");},read(s){let e=document.cookie.match(new RegExp("(^|;\\s*)("+s+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(s){this.write(s,"",Date.now()-864e5);}}:{write(){},read(){return null},remove(){}};function Ge(s){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(s)}function Qe(s,e){return e?s.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):s}function te(s,e,t){let r=!Ge(e);return s&&(r||t==false)?Qe(s,e):e}var Ut=s=>s instanceof S?{...s}:s;function P(s,e){e=e||{};let t={};function r(u,p,l,y){return a.isPlainObject(u)&&a.isPlainObject(p)?a.merge.call({caseless:y},u,p):a.isPlainObject(p)?a.merge({},p):a.isArray(p)?p.slice():p}function n(u,p,l,y){if(a.isUndefined(p)){if(!a.isUndefined(u))return r(void 0,u,l,y)}else return r(u,p,l,y)}function i(u,p){if(!a.isUndefined(p))return r(void 0,p)}function o(u,p){if(a.isUndefined(p)){if(!a.isUndefined(u))return r(void 0,u)}else return r(void 0,p)}function c(u,p,l){if(l in e)return r(u,p);if(l in s)return r(void 0,u)}let d={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:c,headers:(u,p,l)=>n(Ut(u),Ut(p),l,true)};return a.forEach(Object.keys({...s,...e}),function(p){let l=d[p]||n,y=l(s[p],e[p],p);a.isUndefined(y)&&l!==c||(t[p]=y);}),t}var Ce=s=>{let e=P({},s),{data:t,withXSRFToken:r,xsrfHeaderName:n,xsrfCookieName:i,headers:o,auth:c}=e;e.headers=o=S.from(o),e.url=G(te(e.baseURL,e.url,e.allowAbsoluteUrls),s.params,s.paramsSerializer),c&&o.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):"")));let d;if(a.isFormData(t)){if(w.hasStandardBrowserEnv||w.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if((d=o.getContentType())!==false){let[u,...p]=d?d.split(";").map(l=>l.trim()).filter(Boolean):[];o.setContentType([u||"multipart/form-data",...p].join("; "));}}if(w.hasStandardBrowserEnv&&(r&&a.isFunction(r)&&(r=r(e)),r||r!==false&&Dt(e.url))){let u=n&&i&&Ot.read(i);u&&o.set(n,u);}return e};var Zr=typeof XMLHttpRequest<"u",It=Zr&&function(s){return new Promise(function(t,r){let n=Ce(s),i=n.data,o=S.from(n.headers).normalize(),{responseType:c,onUploadProgress:d,onDownloadProgress:u}=n,p,l,y,b,f;function g(){b&&b(),f&&f(),n.cancelToken&&n.cancelToken.unsubscribe(p),n.signal&&n.signal.removeEventListener("abort",p);}let m=new XMLHttpRequest;m.open(n.method.toUpperCase(),n.url,true),m.timeout=n.timeout;function v(){if(!m)return;let k=S.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),R={data:!c||c==="text"||c==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:k,config:s,request:m};ee(function(L){t(L),g();},function(L){r(L),g();},R),m=null;}"onloadend"in m?m.onloadend=v:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(v);},m.onabort=function(){m&&(r(new h("Request aborted",h.ECONNABORTED,s,m)),m=null);},m.onerror=function(){r(new h("Network Error",h.ERR_NETWORK,s,m)),m=null;},m.ontimeout=function(){let O=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",R=n.transitional||ke;n.timeoutErrorMessage&&(O=n.timeoutErrorMessage),r(new h(O,R.clarifyTimeoutError?h.ETIMEDOUT:h.ECONNABORTED,s,m)),m=null;},i===void 0&&o.setContentType(null),"setRequestHeader"in m&&a.forEach(o.toJSON(),function(O,R){m.setRequestHeader(R,O);}),a.isUndefined(n.withCredentials)||(m.withCredentials=!!n.withCredentials),c&&c!=="json"&&(m.responseType=n.responseType),u&&([y,f]=V(u,true),m.addEventListener("progress",y)),d&&m.upload&&([l,b]=V(d),m.upload.addEventListener("progress",l),m.upload.addEventListener("loadend",b)),(n.cancelToken||n.signal)&&(p=k=>{m&&(r(!k||k.type?new T(null,s,m):k),m.abort(),m=null);},n.cancelToken&&n.cancelToken.subscribe(p),n.signal&&(n.signal.aborted?p():n.signal.addEventListener("abort",p)));let E=ze(n.url);if(E&&w.protocols.indexOf(E)===-1){r(new h("Unsupported protocol "+E+":",h.ERR_BAD_REQUEST,s));return}m.send(i||null);})};var Yr=(s,e)=>{let{length:t}=s=s?s.filter(Boolean):[];if(e||t){let r=new AbortController,n,i=function(u){if(!n){n=true,c();let p=u instanceof Error?u:this.reason;r.abort(p instanceof h?p:new T(p instanceof Error?p.message:p));}},o=e&&setTimeout(()=>{o=null,i(new h(`timeout ${e} of ms exceeded`,h.ETIMEDOUT));},e),c=()=>{s&&(o&&clearTimeout(o),o=null,s.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i);}),s=null);};s.forEach(u=>u.addEventListener("abort",i));let{signal:d}=r;return d.unsubscribe=()=>a.asap(c),d}},Lt=Yr;var es=function*(s,e){let t=s.byteLength;if(t<e){yield s;return}let r=0,n;for(;r<t;)n=r+e,yield s.slice(r,n),r=n;},ts=async function*(s,e){for await(let t of rs(s))yield*es(t,e);},rs=async function*(s){if(s[Symbol.asyncIterator]){yield*s;return}let e=s.getReader();try{for(;;){let{done:t,value:r}=await e.read();if(t)break;yield r;}}finally{await e.cancel();}},Ze=(s,e,t,r)=>{let n=ts(s,e),i=0,o,c=d=>{o||(o=true,r&&r(d));};return new ReadableStream({async pull(d){try{let{done:u,value:p}=await n.next();if(u){c(),d.close();return}let l=p.byteLength;if(t){let y=i+=l;t(y);}d.enqueue(new Uint8Array(p));}catch(u){throw c(u),u}},cancel(d){return c(d),n.return()}},{highWaterMark:2})};var Ae=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",$t=Ae&&typeof ReadableStream=="function",ss=Ae&&(typeof TextEncoder=="function"?(s=>e=>s.encode(e))(new TextEncoder):async s=>new Uint8Array(await new Response(s).arrayBuffer())),Bt=(s,...e)=>{try{return !!s(...e)}catch{return false}},ns=$t&&Bt(()=>{let s=!1,e=new Request(w.origin,{body:new ReadableStream,method:"POST",get duplex(){return s=!0,"half"}}).headers.has("Content-Type");return s&&!e}),Ft=64*1024,Ye=$t&&Bt(()=>a.isReadableStream(new Response("").body)),Pe={stream:Ye&&(s=>s.body)};Ae&&(s=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Pe[e]&&(Pe[e]=a.isFunction(s[e])?t=>t[e]():(t,r)=>{throw new h(`Response type '${e}' is not supported`,h.ERR_NOT_SUPPORT,r)});});})(new Response);var is=async s=>{if(s==null)return 0;if(a.isBlob(s))return s.size;if(a.isSpecCompliantForm(s))return (await new Request(w.origin,{method:"POST",body:s}).arrayBuffer()).byteLength;if(a.isArrayBufferView(s)||a.isArrayBuffer(s))return s.byteLength;if(a.isURLSearchParams(s)&&(s=s+""),a.isString(s))return (await ss(s)).byteLength},os=async(s,e)=>{let t=a.toFiniteNumber(s.getContentLength());return t??is(e)},Xt=Ae&&(async s=>{let{url:e,method:t,data:r,signal:n,cancelToken:i,timeout:o,onDownloadProgress:c,onUploadProgress:d,responseType:u,headers:p,withCredentials:l="same-origin",fetchOptions:y}=Ce(s);u=u?(u+"").toLowerCase():"text";let b=Lt([n,i&&i.toAbortSignal()],o),f,g=b&&b.unsubscribe&&(()=>{b.unsubscribe();}),m;try{if(d&&ns&&t!=="get"&&t!=="head"&&(m=await os(p,r))!==0){let R=new Request(e,{method:"POST",body:r,duplex:"half"}),U;if(a.isFormData(r)&&(U=R.headers.get("content-type"))&&p.setContentType(U),R.body){let[L,le]=Je(m,V(Ke(d)));r=Ze(R.body,Ft,L,le);}}a.isString(l)||(l=l?"include":"omit");let v="credentials"in Request.prototype;f=new Request(e,{...y,signal:b,method:t.toUpperCase(),headers:p.normalize().toJSON(),body:r,duplex:"half",credentials:v?l:void 0});let E=await fetch(f,y),k=Ye&&(u==="stream"||u==="response");if(Ye&&(c||k&&g)){let R={};["status","statusText","headers"].forEach(ot=>{R[ot]=E[ot];});let U=a.toFiniteNumber(E.headers.get("content-length")),[L,le]=c&&Je(U,V(Ke(c),!0))||[];E=new Response(Ze(E.body,Ft,L,()=>{le&&le(),g&&g();}),R);}u=u||"text";let O=await Pe[a.findKey(Pe,u)||"text"](E,s);return !k&&g&&g(),await new Promise((R,U)=>{ee(R,U,{data:O,headers:S.from(E.headers),status:E.status,statusText:E.statusText,config:s,request:f});})}catch(v){throw g&&g(),v&&v.name==="TypeError"&&/Load failed|fetch/i.test(v.message)?Object.assign(new h("Network Error",h.ERR_NETWORK,s,f),{cause:v.cause||v}):h.from(v,v&&v.code,s,f)}});var et={http:Ee,xhr:It,fetch:Xt};a.forEach(et,(s,e)=>{if(s){try{Object.defineProperty(s,"name",{value:e});}catch{}Object.defineProperty(s,"adapterName",{value:e});}});var _t=s=>`- ${s}`,as=s=>a.isFunction(s)||s===null||s===false,Te={getAdapter:s=>{s=a.isArray(s)?s:[s];let{length:e}=s,t,r,n={};for(let i=0;i<e;i++){t=s[i];let o;if(r=t,!as(t)&&(r=et[(o=String(t)).toLowerCase()],r===void 0))throw new h(`Unknown adapter '${o}'`);if(r)break;n[o||"#"+i]=r;}if(!r){let i=Object.entries(n).map(([c,d])=>`adapter ${c} `+(d===false?"is not supported by the environment":"is not available in the build")),o=e?i.length>1?`since :
5
- `+i.map(_t).join(`
6
- `):" "+_t(i[0]):"as no adapter specified";throw new h("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return r},adapters:et};function tt(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new T(null,s)}function De(s){return tt(s),s.headers=S.from(s.headers),s.data=Z.call(s,s.transformRequest),["post","put","patch"].indexOf(s.method)!==-1&&s.headers.setContentType("application/x-www-form-urlencoded",false),Te.getAdapter(s.adapter||_.adapter)(s).then(function(r){return tt(s),r.data=Z.call(s,s.transformResponse,r),r.headers=S.from(r.headers),r},function(r){return Y(r)||(tt(s),r&&r.response&&(r.response.data=Z.call(s,s.transformResponse,r.response),r.response.headers=S.from(r.response.headers))),Promise.reject(r)})}var Oe="1.11.0";var Ue={};["object","boolean","number","function","string","symbol"].forEach((s,e)=>{Ue[s]=function(r){return typeof r===s||"a"+(e<1?"n ":" ")+s};});var jt={};Ue.transitional=function(e,t,r){function n(i,o){return "[Axios v"+Oe+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return (i,o,c)=>{if(e===false)throw new h(n(o," has been removed"+(t?" in "+t:"")),h.ERR_DEPRECATED);return t&&!jt[o]&&(jt[o]=true,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(i,o,c):true}};Ue.spelling=function(e){return (t,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),true)};function cs(s,e,t){if(typeof s!="object")throw new h("options must be an object",h.ERR_BAD_OPTION_VALUE);let r=Object.keys(s),n=r.length;for(;n-- >0;){let i=r[n],o=e[i];if(o){let c=s[i],d=c===void 0||o(c,i,s);if(d!==true)throw new h("option "+i+" must be "+d,h.ERR_BAD_OPTION_VALUE);continue}if(t!==true)throw new h("Unknown option "+i,h.ERR_BAD_OPTION)}}var re={assertOptions:cs,validators:Ue};var D=re.validators,M=class{constructor(e){this.defaults=e||{},this.interceptors={request:new _e,response:new _e};}async request(e,t){try{return await this._request(e,t)}catch(r){if(r instanceof Error){let n={};Error.captureStackTrace?Error.captureStackTrace(n):n=new Error;let i=n.stack?n.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=`
7
- `+i):r.stack=i;}catch{}}throw r}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=P(this.defaults,t);let{transitional:r,paramsSerializer:n,headers:i}=t;r!==void 0&&re.assertOptions(r,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},false),n!=null&&(a.isFunction(n)?t.paramsSerializer={serialize:n}:re.assertOptions(n,{encode:D.function,serialize:D.function},true)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=true),re.assertOptions(t,{baseUrl:D.spelling("baseURL"),withXsrfToken:D.spelling("withXSRFToken")},true),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=i&&a.merge(i.common,i[t.method]);i&&a.forEach(["delete","get","head","post","put","patch","common"],f=>{delete i[f];}),t.headers=S.concat(o,i);let c=[],d=true;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(t)===false||(d=d&&g.synchronous,c.unshift(g.fulfilled,g.rejected));});let u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected);});let p,l=0,y;if(!d){let f=[De.bind(this),void 0];for(f.unshift(...c),f.push(...u),y=f.length,p=Promise.resolve(t);l<y;)p=p.then(f[l++],f[l++]);return p}y=c.length;let b=t;for(l=0;l<y;){let f=c[l++],g=c[l++];try{b=f(b);}catch(m){g.call(this,m);break}}try{p=De.call(this,b);}catch(f){return Promise.reject(f)}for(l=0,y=u.length;l<y;)p=p.then(u[l++],u[l++]);return p}getUri(e){e=P(this.defaults,e);let t=te(e.baseURL,e.url,e.allowAbsoluteUrls);return G(t,e.params,e.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(e){M.prototype[e]=function(t,r){return this.request(P(r||{},{method:e,url:t,data:(r||{}).data}))};});a.forEach(["post","put","patch"],function(e){function t(r){return function(i,o,c){return this.request(P(c||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:o}))}}M.prototype[e]=t(),M.prototype[e+"Form"]=t(true);});var se=M;var rt=class s{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(i){t=i;});let r=this;this.promise.then(n=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](n);r._listeners=null;}),this.promise.then=n=>{let i,o=new Promise(c=>{r.subscribe(c),i=c;}).then(n);return o.cancel=function(){r.unsubscribe(i);},o},e(function(i,o,c){r.reason||(r.reason=new T(i,o,c),t(r.reason));});}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e];}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1);}toAbortSignal(){let e=new AbortController,t=r=>{e.abort(r);};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return {token:new s(function(n){e=n;}),cancel:e}}},Vt=rt;function st(s){return function(t){return s.apply(null,t)}}function nt(s){return a.isObject(s)&&s.isAxiosError===true}var it={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(it).forEach(([s,e])=>{it[e]=s;});var Mt=it;function qt(s){let e=new se(s),t=H(se.prototype.request,e);return a.extend(t,se.prototype,e,{allOwnKeys:true}),a.extend(t,e,null,{allOwnKeys:true}),t.create=function(n){return qt(P(s,n))},t}var x=qt(_);x.Axios=se;x.CanceledError=T;x.CancelToken=Vt;x.isCancel=Y;x.VERSION=Oe;x.toFormData=I;x.AxiosError=h;x.Cancel=x.CanceledError;x.all=function(e){return Promise.all(e)};x.spread=st;x.isAxiosError=nt;x.mergeConfig=P;x.AxiosHeaders=S;x.formToJSON=s=>Re(a.isHTMLForm(s)?new FormData(s):s);x.getAdapter=Te.getAdapter;x.HttpStatusCode=Mt;x.default=x;var q=x;var{Axios:yo,AxiosError:wo,CanceledError:bo,isCancel:vo,CancelToken:xo,VERSION:Eo,all:So,Cancel:ko,isAxiosError:Ro,spread:No,toFormData:Co,AxiosHeaders:Po,HttpStatusCode:Ao,formToJSON:To,getAdapter:Do,mergeConfig:Oo}=q;var Ie="0.6.0-alpha.1";var ne=class{constructor(e={}){this.config={baseURL:"https://www.ndexbio.org",timeout:3e4,retries:3,retryDelay:1e3,debug:false,...e};let t={"Content-Type":"application/json",...this.config.headers,...this.getAuthHeaders()};typeof window>"u"&&(t["User-Agent"]=`NDEx-JS-Client/${Ie}`),this.axiosInstance=q.create({baseURL:this.config.baseURL,timeout:this.config.timeout,headers:t}),this.setupInterceptors();}getAuthHeaders(){return this.config.auth?this.config.auth.type==="basic"?{Authorization:`Basic ${btoa(`${this.config.auth.username}:${this.config.auth.password}`)}`}:this.config.auth.type==="oauth"?{Authorization:`Bearer ${this.config.auth.idToken}`}:{}:{}}buildUrl(e,t="v2"){let r=e.startsWith("/")?e.slice(1):e;return `/${t}/${r}`}async get(e,t){let{version:r,...n}=t||{},i=this.buildUrl(e,r);try{let o=await this.axiosInstance.get(i,n);return this.handleResponse(o)}catch(o){this.handleError(o);}}async post(e,t,r){let{version:n,...i}=r||{},o=this.buildUrl(e,n);try{let c=await this.axiosInstance.post(o,t,i);return this.handleResponse(c)}catch(c){this.handleError(c);}}async put(e,t,r){let{version:n,...i}=r||{},o=this.buildUrl(e,n);try{let c=await this.axiosInstance.put(o,t,i);return this.handleResponse(c)}catch(c){this.handleError(c);}}async delete(e,t){let{version:r,...n}=t||{},i=this.buildUrl(e,r);try{let o=await this.axiosInstance.delete(i,n);return this.handleResponse(o)}catch(o){this.handleError(o);}}async uploadFile(e,t,r={}){let{version:n,onProgress:i,filename:o,contentType:c,...d}=r,u=this.buildUrl(e,n),p=new FormData;if(t instanceof File)p.append("file",t,o||t.name);else if(t instanceof Blob)p.append("file",t,o||"file.cx2");else if(typeof t=="string"){let l=new Blob([t],{type:c||"application/json"});p.append("file",l,o||"file.cx2");}else p.append("file",t,o||"file.cx2");try{let l=await this.axiosInstance.post(u,p,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:i?y=>{let b=Math.round(y.loaded*100/(y.total||1));i(b);}:void 0,...d});return this.handleResponse(l)}catch(l){this.handleError(l);}}setupInterceptors(){this.axiosInstance.interceptors.request.use(e=>(this.config.debug&&console.log("NDEx API Request:",{method:e.method?.toUpperCase(),url:e.url,headers:e.headers}),e),e=>(this.config.debug&&console.error("NDEx API Request Error:",e),Promise.reject(e))),this.axiosInstance.interceptors.response.use(e=>(this.config.debug&&console.log("NDEx API Response:",{status:e.status,url:e.config.url,data:e.data}),e),e=>(this.config.debug&&console.error("NDEx API Response Error:",e.response?.data||e.message),Promise.reject(e)));}handleResponse(e){return e.data&&typeof e.data=="object"&&"errorCode"in e.data&&this.throwNDExError(e.data.message||"Unknown error occurred",e.status,e.data.errorCode||"UNKNOWN_ERROR",e.data.description),e.data&&typeof e.data=="object"&&"data"in e.data?e.data.data:e.data}handleError(e){if(e.response){let t=e.response.data?.message||e.message,r=e.response.data?.errorCode||`HTTP_${e.response.status}`,n=e.response.data?.description;this.throwNDExError(t,e.response.status,r,n);}else throw e.request?new fe("Network error - no response received",e):new A(e.message||"Unknown error occurred",void 0,"CLIENT_ERROR",e.toString())}throwNDExError(e,t,r,n){switch(t){case 400:throw new ge(e,t);case 401:case 403:throw new me(e,t);case 404:throw new he(e,t);case 500:case 502:case 503:case 504:throw new ye(e,t);default:throw new A(e,t,r,n)}}updateConfig(e){if(this.config={...this.config,...e},e.baseURL&&(this.axiosInstance.defaults.baseURL=e.baseURL),e.timeout&&(this.axiosInstance.defaults.timeout=e.timeout),e.headers&&Object.assign(this.axiosInstance.defaults.headers,e.headers),"auth"in e){let t=this.getAuthHeaders();delete this.axiosInstance.defaults.headers.common.Authorization,Object.assign(this.axiosInstance.defaults.headers.common,t);}}getConfig(){return {...this.config}}getAuthType(){return this.config.auth?.type}getIdToken(){return this.config.auth?.type==="oauth"?this.config.auth.idToken:void 0}setIdToken(e){this.updateConfig({auth:{type:"oauth",idToken:e}});}};var ie=class{constructor(e){this.http=e;}async getRawCX1Network(e,t={}){let r=new URLSearchParams;t.accesskey&&r.append("accesskey",t.accesskey);let n=`network/${e}${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v2",headers:{Accept:"application/json"}})}async getNetworkSummary(e,t={}){let r=new URLSearchParams;t.accesskey&&r.append("accesskey",t.accesskey);let n=`network/${e}/summary${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v2"})}async copyNetwork(e){let t=`network/${e}/copy`;return this.http.post(t,{},{version:"v2"})}async searchNetworks(e,t,r,n){let i={};t!==void 0&&(i.start=t.toString()),r!==void 0&&(i.limit=r.toString());let o={searchString:e};return n!==void 0&&(n.permission!==void 0&&(o.permission=n.permission),n.includeGroups!==void 0&&(o.includeGroups=n.includeGroups),n.accountName!==void 0&&(o.accountName=n.accountName)),this.http.post("search/network",o,{version:"v2",params:i})}async createNetworkFromRawCX1(e,t={}){let i=(await this.http.post("network",e,{version:"v2",params:t})).split("/");return i[i.length-1]}async updateNetworkFromRawCX1(e,t){let r=`network/${e}`;return this.http.put(r,t,{version:"v2"})}async deleteNetwork(e){let t=`network/${e}`;return this.http.delete(t,{version:"v2"})}async getNetworkSummariesByUUIDs(e,t){let r=t?{accesskey:t}:void 0;return this.http.post("batch/network/summary",e,{version:"v2",params:r})}async getUserNetworks(e,t={}){let r=new URLSearchParams;t.start!==void 0&&r.append("start",t.start.toString()),t.size!==void 0&&r.append("size",t.size.toString());let n=`user/${e}/networks${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v2"})}async setNetworkSystemProperties(e,t){let r=`networks/${e}/systemproperty`;return this.http.put(r,t,{version:"v2"})}async getNetworkPermissions(e){let t=`networks/${e}/permission`;return this.http.get(t,{version:"v2"})}async setNetworkPermissions(e,t){let r=`networks/${e}/permission`;return this.http.put(r,t,{version:"v2"})}async grantNetworkPermission(e,t,r){let n=`networks/${e}/permission`,i={memberUUID:t,permission:r};return this.http.post(n,i,{version:"v2"})}async revokeNetworkPermission(e,t){let r=`networks/${e}/permission`;return this.http.delete(r,{version:"v2",data:{memberUUID:t}})}async getNetworkProfile(e){let t=`networks/${e}/profile`;return this.http.get(t,{version:"v2"})}async setNetworkProfile(e,t){let r=`networks/${e}/profile`;return this.http.put(r,t,{version:"v2"})}async makeNetworkPublic(e){let t=`networks/${e}/systemproperty`,r={visibility:"PUBLIC"};return this.http.put(t,r,{version:"v2"})}async makeNetworkPrivate(e){let t=`networks/${e}/systemproperty`,r={visibility:"PRIVATE"};return this.http.put(t,r,{version:"v2"})}async getNetworkSample(e,t={}){let r=new URLSearchParams;t.accesskey&&r.append("accesskey",t.accesskey);let n=`networks/${e}/sample${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v2"})}async getMetaData(e,t){let r=new URLSearchParams;t!==void 0&&r.append("accesskey",t);let n=`network/${e}/aspect${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v2"})}async getAccessKey(e){let t=`networks/${e}/accesskey`;return this.http.get(t,{version:"v2"})}async updateAccessKey(e,t){let r=`networks/${e}/accesskey`;return this.http.put(r,{action:t},{version:"v2"})}};var oe=class{constructor(e){this.http=e;}async getNetworkSummary(e,t={}){let r=new URLSearchParams;t.accesskey&&r.append("accesskey",t.accesskey);let n=`networks/${e}/summary${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v3"})}async getRawCX2Network(e,t={}){let r=new URLSearchParams;t.accesskey&&r.append("accesskey",t.accesskey);let n=`networks/${e}${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v3"})}async createNetworkDOI(e,t,r){let n=new URLSearchParams;n.append("key",t),n.append("email",r);let i=`networks/${e}/DOI?${n.toString()}`;return this.http.get(i,{version:"v3"})}async getAttributesOfSelectedNodes(e,t,r={}){let n=new URLSearchParams;r.accesskey&&n.append("accesskey",r.accesskey);let i={ids:t.ids,attributeNames:t.attributeNames},o=`search/networks/${e}/nodes${n.toString()?`?${n.toString()}`:""}`;return this.http.post(o,i,{version:"v3"})}async getNetworkSummariesV3ByUUIDs(e,t,r){let n={format:r===void 0?"FULL":r};return t!=null&&(n.accesskey=t),this.http.post("batch/networks/summary",e,{version:"v3",params:n})}async searchNetworks(e={}){let t=new URLSearchParams;e.searchString&&t.append("searchString",e.searchString),e.accountName&&t.append("accountName",e.accountName),e.permission&&t.append("permission",e.permission),e.includeGroups!==void 0&&t.append("includeGroups",e.includeGroups.toString()),e.admin&&t.append("admin",e.admin),e.start!==void 0&&t.append("start",e.start.toString()),e.size!==void 0&&t.append("size",e.size.toString()),e.source&&t.append("source",e.source);let r=`search/network${t.toString()?`?${t.toString()}`:""}`;return this.http.get(r,{version:"v3"})}async getNetworkAsCX2Object(e,t={}){let r=await this.getRawCX2Network(e,t);return new F(r)}async createNetworkFromCX2(e,t={}){let r="networks/cx2",n=e instanceof F?JSON.parse(e.toJSON()):e;return this.http.post(r,n,{version:"v3",params:t})}async updateNetworkCX2(e,t){let r=`networks/${e}/cx2`,n=t instanceof F?JSON.parse(t.toJSON()):t;return this.http.put(r,n,{version:"v3"})}async uploadNetworkFile(e,t={}){return this.http.uploadFile("networks/upload",e,{version:"v3",...t})}async getNetworkMetadata(e){let t=`networks/${e}/metadata`;return this.http.get(t,{version:"v3"})}async updateNetworkMetadata(e,t){let r=`networks/${e}/metadata`;return this.http.put(r,t,{version:"v3"})}async getNetworkAspect(e,t,r={}){let n=new URLSearchParams;r.accesskey&&n.append("accesskey",r.accesskey);let i=`networks/${e}/aspects/${t}${n.toString()?`?${n.toString()}`:""}`;return this.http.get(i,{version:"v3"})}};var ae=class{constructor(e){this.http=e;this.v2Service=new ie(e),this.v3Service=new oe(e);}async getNetworkSummary(e,t={}){return this.v3Service.getNetworkSummary(e,t)}async getRawCX1Network(e,t={}){return this.v2Service.getRawCX1Network(e,t)}async getRawCX2Network(e,t={}){return this.v3Service.getRawCX2Network(e,t)}async deleteNetwork(e){return this.v2Service.deleteNetwork(e)}async createNetworkDOI(e,t,r){return this.v3Service.createNetworkDOI(e,t,r)}async getAttributesOfSelectedNodes(e,t,r={}){return this.v3Service.getAttributesOfSelectedNodes(e,t,r)}async neighborhoodQuery(e,t,r,n,i=false){let o={};r!==void 0&&r===true&&(o.save="true");let c={searchString:t,searchDepth:1};if(n!==void 0&&(n.searchDepth!==void 0&&(c.searchDepth=n.searchDepth),n.edgeLimit!==void 0&&(c.edgeLimit=n.edgeLimit),n.errorWhenLimitIsOver!==void 0&&(c.errorWhenLimitIsOver=n.errorWhenLimitIsOver),n.directOnly!==void 0&&(c.directOnly=n.directOnly),n.nodeIds!=null&&(c.nodeIds=n.nodeIds)),i){let u=`search/network/${e}/query`;return this.http.post(u,c,{version:"v3",params:o})}let d=`search/network/${e}/query`;return this.http.post(d,c,{version:"v2",params:o})}async interConnectQuery(e,t,r,n,i=false){let o={};r!==void 0&&r===true&&(o.save="true");let c={searchString:t};if(n!==void 0&&(n.edgeLimit!==void 0&&(c.edgeLimit=n.edgeLimit),n.errorWhenLimitIsOver!==void 0&&(c.errorWhenLimitIsOver=n.errorWhenLimitIsOver),n.nodeIds!=null&&(c.nodeIds=n.nodeIds)),i){let u=`search/networks/${e}/interconnectquery`;return this.http.post(u,c,{version:"v3",params:o})}let d=`search/network/${e}/interconnectquery`;return this.http.post(d,c,{version:"v2",params:o})}async getNetworkPermissionsByUUIDs(e){return this.http.post("batch/network/permission",e,{version:"v2"})}async exportNetworks(e){return this.http.post("batch/network/export",e,{version:"v2"})}async moveNetworks(e,t){if(!Array.isArray(e))throw new Error("Invalid networkIds - must be an array");let r="batch/networks/move",n={targetFolder:t,networks:e};return this.http.post(r,n,{version:"v3"})}async setNetworksVisibility(e,t){this.validateShareData(e);let r="batch/networks/visibility",n={items:e,visibility:t};return this.http.post(r,n,{version:"v3"})}async getRandomEdges(e,t,r){if(t<=0)throw new Error("Value of parameter limit has to be greater than 0.");let n={size:t.toString(),method:"random"};r!==void 0&&(n.accesskey=r);let i=`networks/${e}/aspects/edges`;return this.http.get(i,{version:"v3",params:n})}validateShareData(e){if(typeof e!="object"||e===null||e.files===void 0)throw new Error('Data must be an object with a "files" property');if(typeof e.files!="object"||e.files===null)throw new Error('The "files" property must be an object');let t=["NETWORK","FOLDER","SHORTCUT"];for(let[r,n]of Object.entries(e.files)){if(!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r))throw new Error(`Invalid UUID format: ${r}`);if(!t.includes(n))throw new Error(`Invalid file type for ${r}: ${n}. Must be one of: ${t.join(", ")}`)}}async getAspectElements(e,t,r,n){let i={};r!==void 0&&(i.size=r.toString()),n!==void 0&&(i.accesskey=n);let o=`networks/${e}/aspects/${t}`;return this.http.get(o,{version:"v3",params:i})}async getFilteredEdges(e,t,r,n,i,o,c,d){let u={};i!==void 0&&(u.size=i.toString()),o!==void 0&&(u.order=o),d!==void 0&&(u.accesskey=d),c!==void 0&&(u.format=c);let p={name:t,value:r,operator:n},l=`search/networks/${e}/edges`;return this.http.post(l,p,{version:"v3",params:u})}async getCX2MetaData(e,t){let r={};t!==void 0&&(r.accesskey=t);let n=`networks/${e}/aspects`;return this.http.get(n,{version:"v3",params:r})}async createNetworkFromRawCX2(e,t=false){let r={visibility:t?"PUBLIC":"PRIVATE"},o=(await this.http.post("networks",e,{version:"v3",params:r})).split("/").pop();if(!o)throw new Error("Failed to extract network UUID from response");return {uuid:o}}async updateNetworkFromRawCX2(e,t){let r=`networks/${e}`;return this.http.put(r,t,{version:"v3"})}get v2(){return this.v2Service}get v3(){return this.v3Service}};var ce=class{constructor(e){this.http=e;}copyFile(e,t,r,n){let i={};return n!==void 0&&(i.accesskey=n),this.http.post("files/copy",{from_uuid:e,type:r,to_path:t},{params:i,version:"v3"})}getCount(){return this.http.get("files/count",{version:"v3"})}getTrash(){return this.http.get("files/trash",{version:"v3"})}emptyTrash(){return this.http.delete("files/trash",{version:"v3"})}permanentlyDeleteFile(e){return this.http.delete(`files/trash/${e}`,{version:"v3"})}restoreFile(e,t,r){return this.http.post("files/trash/restore",{networks:e,folders:t,shortcuts:r},{version:"v3"})}_validateShareData(e){if(typeof e!="object"||e===null||e.files===void 0)throw new Error('Data must be an object with a "files" property');if(typeof e.files!="object"||e.files===null)throw new Error('The "files" property must be an object');let t=["NETWORK","FOLDER","SHORTCUT"];for(let[r,n]of Object.entries(e.files)){if(!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r))throw new Error(`Invalid UUID format: ${r}`);if(!t.includes(n))throw new Error(`Invalid file type for ${r}: ${n}. Must be one of: ${t.join(", ")}`)}}_validateMemberData(e){if(typeof e!="object"||e===null||e.members===void 0)throw new Error('Data must be an object with a "members" property');let t=["READ","WRITE"];for(let[r,n]of Object.entries(e.members)){if(!t.includes(n))throw new Error(`Invalid permission for ${r}: ${n}. Must be one of: ${t.join(", ")}`);if(typeof r!="string"||!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r))throw new Error(`Invalid UUID format: ${r}`)}}updateMember(e,t){return this._validateShareData({files:e}),this._validateMemberData({members:t}),this.http.post("files/sharing/members",{files:e,members:t},{version:"v3"})}listMembers(e){return this.http.get("files/sharing/members/list",{params:e,version:"v3"})}transferOwnership(e,t){return this._validateShareData({files:e}),this.http.post("files/sharing/transfer_ownership",{files:e,new_owner:t},{version:"v3"})}listShares(e){let t={};return e!==void 0&&(t.limit=e),this.http.post("files/sharing/list",t,{version:"v3"})}share(e){return this._validateShareData({files:e}),this.http.post("files/sharing/share",{files:e},{version:"v3"})}unshare(e){return this._validateShareData({files:e}),this.http.post("files/sharing/unshare",{files:e},{version:"v3"})}getFolders(e){let t={};return e!==void 0&&(t.limit=e),this.http.get("files/folders",{params:t,version:"v3"})}createFolder(e,t){return this.http.post("files/folders",{name:e,parent:t},{version:"v3"})}getFolder(e,t){let r={};return t!==void 0&&(r.accesskey=t),this.http.get(`files/folders/${e}`,{params:r,version:"v3"})}updateFolder(e,t,r){return this.http.put(`files/folders/${e}`,{name:t,parent:r},{version:"v3"})}deleteFolder(e){return this.http.delete(`files/folders/${e}`,{version:"v3"})}getFolderCount(e,t){let r={};return t!==void 0&&(r.accesskey=t),this.http.get(`files/folders/${e}/count`,{params:r,version:"v3"})}getFolderList(e,t,r,n){let i={};return t!==void 0&&(i.accesskey=t),r!==void 0&&(i.format=r),n!==void 0&&(i.type=n),this.http.get(`files/folders/${e}/list`,{params:i,version:"v3"})}getShortcuts(e){let t={};return e!==void 0&&(t.limit=e),this.http.get("files/shortcuts",{params:t,version:"v3"})}createShortcut(e,t,r,n){return this.http.post("files/shortcuts",{name:e,parent:t,target:r,targetType:n},{version:"v3"})}getShortcut(e,t){let r={};return t!==void 0&&(r.accesskey=t),this.http.get(`files/shortcuts/${e}`,{params:r,version:"v3"})}updateShortcut(e,t,r,n,i){return this.http.put(`files/shortcuts/${e}`,{name:t,parent:r,target:n,targetType:i},{version:"v3"})}deleteShortcut(e){return this.http.delete(`files/shortcuts/${e}`,{version:"v3"})}};var ue=class{constructor(e){this.http=e;}async createCyWebWorkspace(e){return this.http.post("workspaces",e,{version:"v3"})}async getCyWebWorkspace(e){let t=`workspaces/${e}`;return this.http.get(t,{version:"v3"})}async deleteCyWebWorkspace(e){let t=`workspaces/${e}`;return this.http.delete(t,{version:"v3"})}async updateCyWebWorkspace(e,t){let r=`workspaces/${e}`;return this.http.put(r,t,{version:"v3"})}async updateCyWebWorkspaceName(e,t){let r=`workspaces/${e}/name`;return this.http.put(r,{name:t},{version:"v3"})}async updateCyWebWorkspaceNetworks(e,t){let r=`workspaces/${e}/networkids`;return this.http.put(r,t,{version:"v3"})}async getUserCyWebWorkspaces(){let t=`users/${(await this.http.get("user",{params:{valid:true}})).externalId}/workspaces`;return this.http.get(t,{version:"v3"})}};var pe=class{constructor(e){this.http=e;}async authenticate(){let e=this.http.getAuthType();if(!e)throw new Error("Authentication parameters are missing in NDEx client.");if(e==="basic"){let t="user",r={valid:true};return this.http.get(t,{params:r})}else if(e==="oauth"){let t=this.http.getIdToken();if(!t)throw new Error("OAuth ID token is missing.");let r="users/signin",n={idToken:t};return this.http.post(r,n,{version:"v3"})}throw new Error(`Unsupported authentication type: ${e}`)}async getCurrentUser(){if(!this.http.getAuthType())throw new Error("Authentication parameters are missing in NDEx client.");let t="user",r={valid:true};return this.http.get(t,{params:r})}async updateCurrentUser(e){if(!e.externalId)throw new Error("User uuid is required in userUpdate object");let t=`user/${e.externalId}`;return this.http.put(t,e)}async requestPasswordReset(e){return this.http.post("user/forgot-password",{email:e})}async resetPassword(e,t){let r=`user/${e}/password`,n={headers:{"Content-Type":"text/plain"}};return this.http.put(r,t,n)}async getUser(e){let t=`user/${e}`;return this.http.get(t)}async getUserByNameOrEmail(e){let t=new URLSearchParams;"username"in e?t.append("username",e.username):"email"in e&&t.append("email",e.email);let r=`user?${t.toString()}`;return this.http.get(r)}async getUsersByUUIDs(e){return this.http.post("batch/user",e)}async searchUsers(e,t,r){let n={};t!==void 0&&(n.start=t.toString()),r!==void 0&&(n.limit=r.toString());let i={searchString:e};return this.http.post("search/user",i,{params:n})}async getAccountPageNetworks(e,t,r){let n={};t!==void 0&&(n.offset=t.toString()),r!==void 0&&(n.limit=r.toString());let i=`user/${e}/networksummary`;return this.http.get(i,{params:n})}async deleteUserAccount(e){let t=`user/${e}`;return this.http.delete(t)}};var de=class{constructor(e){this.http=e;}};var Le=class{constructor(e=1234,t){this._port=e,this.cyRestBaseURL=t?.cyRestBaseURL||"http://127.0.0.1",this.ndexBaseURL=t?.ndexBaseURL||"https://www.ndexbio.org",this.axiosInstance=q.create({baseURL:this.cyRestURL(),timeout:3e4,headers:{"Content-Type":"application/json"}});}get port(){return this._port}static get cyRestBaseURL(){return "http://127.0.0.1"}setNDExBaseURL(e){e?.trim()&&(this.ndexBaseURL=e.trim());}getNDExBaseURL(){return this.ndexBaseURL}setBasicAuth(e,t){e?.trim()&&t&&(this.authConfig={type:"basic",username:e.trim(),password:t});}setAuthToken(e){e?.trim()&&(this.authConfig={type:"oauth",idToken:e.trim()});}clearAuth(){this.authConfig=void 0;}cyRestURL(){return `${this.cyRestBaseURL}:${this._port}`}getAuthFields(){if(!this.authConfig)return {};switch(this.authConfig.type){case "basic":return {username:this.authConfig.username,password:this.authConfig.password};case "oauth":return {idToken:this.authConfig.idToken};default:return {}}}async _httpGet(e){return (await this.axiosInstance.get(e)).data}async _httpPost(e,t,r){return (await this.axiosInstance.post(e,r,{params:t})).data}async _httpPut(e,t,r){return (await this.axiosInstance.put(e,r,{params:t})).data}async getCyNDExStatus(){return this._httpGet("/cyndex2/v1")}async getCytoscapeNetworkSummary(e="current"){return this._httpGet(`/cyndex2/v1/networks/${e}`)}async postNDExNetworkToCytoscape(e,t,r){let n={serverUrl:`${this.ndexBaseURL}/v2`,uuid:e,accessKey:t,createView:r,...this.getAuthFields()};return this._httpPost("/cyndex2/v1/networks",void 0,n)}async postCXNetworkToCytoscape(e){return this._httpPost("/cyndex2/v1/networks/cx",void 0,e)}async postCX2NetworkToCytoscape(e,t,r){let n={format:"cx2",collection:r,title:t};return this._httpPost("/v1/networks",n,e)}async postCytoscapeNetworkToNDEx(e="current"){let t={serverUrl:`${this.ndexBaseURL}/v2`,...this.getAuthFields()};return this._httpPost(`/cyndex2/v1/networks/${e}`,void 0,t)}async putCytoscapeNetworkInNDEx(e="current",t){let r={serverUrl:`${this.ndexBaseURL}/v2`,uuid:t,...this.getAuthFields()};return this._httpPut(`/cyndex2/v1/networks/${e}`,void 0,r)}};var Ht=class{constructor(e={}){this.httpService=new ne(e),this.networks=new ae(this.httpService),this.files=new ce(this.httpService),this.workspace=new ue(this.httpService),this.user=new pe(this.httpService),this.admin=new de(this.httpService);}logout(){this.httpService.updateConfig({auth:void 0});}async getServerStatus(e){let t=new URLSearchParams;e&&t.append("format",e);let r=`admin/status${t.toString()?`?${t.toString()}`:""}`;return this.httpService.get(r)}hasAuthInfo(){let e=this.httpService.getConfig().auth;return e?e.type==="basic"?!!e.username&&!!e.password:e.type==="oauth"?!!e.idToken:false:false}updateConfig(e){this.httpService.updateConfig(e);}getConfig(){return this.httpService.getConfig()}get http(){return this.httpService}get v2(){return {networks:this.networks.v2}}get v3(){return {networks:this.networks.v3}}},fa=Ie;
8
- exports.AdminService=de;exports.CX2Network=F;exports.CyNDEx=Le;exports.CyNDExService=Le;exports.FilesService=ce;exports.HTTPService=ne;exports.NDExAuthError=me;exports.NDExClient=Ht;exports.NDExError=A;exports.NDExNetworkError=fe;exports.NDExNotFoundError=he;exports.NDExServerError=ye;exports.NDExValidationError=ge;exports.NetworkIndexLevel=Jt;exports.NetworkServiceV2=ie;exports.NetworkServiceV3=oe;exports.UnifiedNetworkService=ae;exports.UserService=pe;exports.WorkspaceService=ue;exports.version=fa;return exports;})({});//# sourceMappingURL=index.global.js.map
2
+ var Wt=Object.defineProperty;var zt=(s,e)=>{for(var t in e)Wt(s,t,{get:e[t],enumerable:true});};var Jt=(r=>(r.NONE="NONE",r.BASIC="BASIC",r.FULL="FULL",r))(Jt||{}),A=class extends Error{constructor(t,r,n,i){super(t);this.statusCode=r;this.errorCode=n;this.description=i;this.name="NDExError";}},le=class extends A{constructor(t,r){super(t,void 0,"NETWORK_ERROR");this.originalError=r;this.name="NDExNetworkError";}},fe=class extends A{constructor(e="Authentication failed",t=401){super(e,t,"AUTH_ERROR"),this.name="NDExAuthError";}},me=class extends A{constructor(e="Resource not found",t=404){super(e,t,"NOT_FOUND"),this.name="NDExNotFoundError";}},he=class extends A{constructor(e,t=400){super(e,t,"VALIDATION_ERROR"),this.name="NDExValidationError";}},ge=class extends A{constructor(e="Internal server error",t=500){super(e,t,"SERVER_ERROR"),this.name="NDExServerError";}};var F=class s{constructor(e){this.CXVersion="2.0";this.hasFragments=false;this.metaData=[];e&&Object.assign(this,e),this.ensureRequiredMetadata();}static createEmpty(){let e=new s;return e.nodes=[],e.edges=[],e.metaData=[{name:"nodes",elementCount:0},{name:"edges",elementCount:0}],e}static fromJSON(e){let t=typeof e=="string"?JSON.parse(e):e;return new s(t)}static fromNetworkSummary(e){let t=s.createEmpty();return t.networkAttributes=[{name:e.name},...e.description?[{description:e.description}]:[],...e.version?[{version:e.version}]:[]],e.properties&&Object.entries(e.properties).forEach(([r,n])=>{t.networkAttributes?.push({[r]:n.v});}),t}addNode(e,t){this.nodes||(this.nodes=[]);let r={id:e};return t&&(r.v=t),this.nodes.push(r),this.updateNodeCount(),r}addEdge(e,t,r,n){this.edges||(this.edges=[]);let i={id:e,s:t,t:r};return n&&(i.v=n),this.edges.push(i),this.updateEdgeCount(),i}addNodeAttribute(e,t,r){let n=this.nodes.find(i=>i.id===e);n&&(n.v||(n.v={}),n.v[t]=r);}addEdgeAttribute(e,t,r){let n=this.edges.find(i=>i.id===e);n&&(n.v||(n.v={}),n.v[t]=r);}setNodeCoordinates(e,t,r,n){this.nodes||(this.nodes=[]);let i=this.nodes.find(o=>o.id===e);i||(i={id:e},this.nodes.push(i),this.updateNodeCount()),i.x=t,i.y=r,n!==void 0&&(i.z=n);}getNode(e){return this.nodes?.find(t=>t.id===e)}getEdge(e){return this.edges?.find(t=>t.id===e)}getNodes(){return this.nodes||[]}getEdges(){return this.edges||[]}getNodeCount(){return this.nodes?.length||0}getEdgeCount(){return this.edges?.length||0}getNetworkName(){return this.networkAttributes?.find(e=>"name"in e)?.name}setNetworkName(e){this.networkAttributes||(this.networkAttributes=[]),this.networkAttributes=this.networkAttributes.filter(t=>!("name"in t)),this.networkAttributes.push({name:e});}getNetworkAttribute(e){return this.networkAttributes?.find(t=>e in t)?.[e]}setNetworkAttribute(e,t){this.networkAttributes||(this.networkAttributes=[]),this.networkAttributes=this.networkAttributes.filter(r=>!(e in r)),this.networkAttributes.push({[e]:t});}validate(){let e=[];return this.CXVersion||e.push("CXVersion is required"),this.hasFragments===void 0&&e.push("hasFragments is required"),(!this.metaData||this.metaData.length===0)&&e.push("metaData is required and must not be empty"),this.metaData?.forEach((t,r)=>{t.name||e.push(`metaData[${r}] is missing required 'name' field`);}),this.nodes&&this.nodes.forEach((t,r)=>{(t.id===void 0||t.id===null)&&e.push(`nodes[${r}] is missing required 'id' field`);}),this.edges&&this.edges.forEach((t,r)=>{if((t.id===void 0||t.id===null)&&e.push(`edges[${r}] is missing required 'id' field`),(t.s===void 0||t.s===null)&&e.push(`edges[${r}] is missing required 's' (source) field`),(t.t===void 0||t.t===null)&&e.push(`edges[${r}] is missing required 't' (target) field`),this.nodes&&t.s!==void 0&&t.t!==void 0){let n=this.nodes.some(o=>o.id===t.s),i=this.nodes.some(o=>o.id===t.t);n||e.push(`edges[${r}] references non-existent source node ${t.s}`),i||e.push(`edges[${r}] references non-existent target node ${t.t}`);}}),{isValid:e.length===0,errors:e}}toJSON(){return JSON.stringify(this,null,2)}clone(){return new s(JSON.parse(this.toJSON()))}getStatistics(){return {nodeCount:this.getNodeCount(),edgeCount:this.getEdgeCount(),hasCoordinates:!!(this.nodes&&this.nodes.some(e=>e.x!==void 0||e.y!==void 0||e.z!==void 0)),hasVisualProperties:!!(this.visualProperties&&(this.visualProperties.default||this.visualProperties.edgeMapping||this.visualProperties.nodeMapping))}}ensureRequiredMetadata(){this.metaData||(this.metaData=[]),this.nodes&&!this.metaData.find(e=>e.name==="nodes")&&this.metaData.push({name:"nodes",elementCount:this.nodes.length}),this.edges&&!this.metaData.find(e=>e.name==="edges")&&this.metaData.push({name:"edges",elementCount:this.edges.length});}updateNodeCount(){let e=this.metaData?.find(t=>t.name==="nodes");e&&(e.elementCount=this.nodes?.length||0);}updateEdgeCount(){let e=this.metaData?.find(t=>t.name==="edges");e&&(e.elementCount=this.edges?.length||0);}};var H=class{constructor(e){this.http=e;}async getRawCX1Network(e,t={}){let r=new URLSearchParams;t.accesskey&&r.append("accesskey",t.accesskey);let n=`network/${e}${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v2",headers:{Accept:"application/json"}})}async getNetworkSummary(e,t={}){let r=new URLSearchParams;t.accesskey&&r.append("accesskey",t.accesskey);let n=`network/${e}/summary${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v2"})}async copyNetwork(e){let t=`network/${e}/copy`;return this.http.post(t,{},{version:"v2"})}async searchNetworks(e,t,r,n){let i={};t!==void 0&&(i.start=t.toString()),r!==void 0&&(i.limit=r.toString());let o={searchString:e};return n!==void 0&&(n.permission!==void 0&&(o.permission=n.permission),n.includeGroups!==void 0&&(o.includeGroups=n.includeGroups),n.accountName!==void 0&&(o.accountName=n.accountName)),this.http.post("search/network",o,{version:"v2",params:i})}async createNetworkFromRawCX1(e,t={}){let i=(await this.http.post("network",e,{version:"v2",params:t})).split("/");return i[i.length-1]}async updateNetworkFromRawCX1(e,t){let r=`network/${e}`;return this.http.put(r,t,{version:"v2"})}async deleteNetwork(e){let t=`network/${e}`;return this.http.delete(t,{version:"v2"})}async getNetworkSummariesByUUIDs(e,t){let r=t?{accesskey:t}:void 0;return this.http.post("batch/network/summary",e,{version:"v2",params:r})}async getUserNetworks(e,t={}){let r=new URLSearchParams;t.start!==void 0&&r.append("start",t.start.toString()),t.size!==void 0&&r.append("size",t.size.toString());let n=`user/${e}/networks${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v2"})}async setNetworkSystemProperties(e,t){let r=`networks/${e}/systemproperty`;return this.http.put(r,t,{version:"v2"})}async getNetworkPermissions(e){let t=`networks/${e}/permission`;return this.http.get(t,{version:"v2"})}async setNetworkPermissions(e,t){let r=`networks/${e}/permission`;return this.http.put(r,t,{version:"v2"})}async grantNetworkPermission(e,t,r){let n=`networks/${e}/permission`,i={memberUUID:t,permission:r};return this.http.post(n,i,{version:"v2"})}async revokeNetworkPermission(e,t){let r=`networks/${e}/permission`;return this.http.delete(r,{version:"v2",data:{memberUUID:t}})}async getNetworkProfile(e){let t=`networks/${e}/profile`;return this.http.get(t,{version:"v2"})}async setNetworkProfile(e,t){let r=`networks/${e}/profile`;return this.http.put(r,t,{version:"v2"})}async makeNetworkPublic(e){let t=`networks/${e}/systemproperty`,r={visibility:"PUBLIC"};return this.http.put(t,r,{version:"v2"})}async makeNetworkPrivate(e){let t=`networks/${e}/systemproperty`,r={visibility:"PRIVATE"};return this.http.put(t,r,{version:"v2"})}async getNetworkSample(e,t={}){let r=new URLSearchParams;t.accesskey&&r.append("accesskey",t.accesskey);let n=`networks/${e}/sample${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v2"})}async getMetaData(e,t){let r=new URLSearchParams;t!==void 0&&r.append("accesskey",t);let n=`network/${e}/aspect${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v2"})}async getAccessKey(e){let t=`networks/${e}/accesskey`;return this.http.get(t,{version:"v2"})}async updateAccessKey(e,t){let r=`networks/${e}/accesskey`;return this.http.put(r,{action:t},{version:"v2"})}};var W=class{constructor(e){this.http=e;}async getNetworkSummary(e,t={}){let r=new URLSearchParams;t.accesskey&&r.append("accesskey",t.accesskey);let n=`networks/${e}/summary${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v3"})}async getRawCX2Network(e,t={}){let r=new URLSearchParams;t.accesskey&&r.append("accesskey",t.accesskey);let n=`networks/${e}${r.toString()?`?${r.toString()}`:""}`;return this.http.get(n,{version:"v3"})}async createNetworkDOI(e,t,r){let n=new URLSearchParams;n.append("key",t),n.append("email",r);let i=`networks/${e}/DOI?${n.toString()}`;return this.http.get(i,{version:"v3"})}async getAttributesOfSelectedNodes(e,t,r={}){let n=new URLSearchParams;r.accesskey&&n.append("accesskey",r.accesskey);let i={ids:t.ids,attributeNames:t.attributeNames},o=`search/networks/${e}/nodes${n.toString()?`?${n.toString()}`:""}`;return this.http.post(o,i,{version:"v3"})}async getNetworkSummariesV3ByUUIDs(e,t,r){let n={format:r===void 0?"FULL":r};return t!=null&&(n.accesskey=t),this.http.post("batch/networks/summary",e,{version:"v3",params:n})}async searchNetworks(e={}){let t=new URLSearchParams;e.searchString&&t.append("searchString",e.searchString),e.accountName&&t.append("accountName",e.accountName),e.permission&&t.append("permission",e.permission),e.includeGroups!==void 0&&t.append("includeGroups",e.includeGroups.toString()),e.admin&&t.append("admin",e.admin),e.start!==void 0&&t.append("start",e.start.toString()),e.size!==void 0&&t.append("size",e.size.toString()),e.source&&t.append("source",e.source);let r=`search/network${t.toString()?`?${t.toString()}`:""}`;return this.http.get(r,{version:"v3"})}async getNetworkAsCX2Object(e,t={}){let r=await this.getRawCX2Network(e,t);return new F(r)}async createNetworkFromCX2(e,t={}){let r="networks",n=e instanceof F?JSON.parse(e.toJSON()):e;return this.http.post(r,n,{version:"v3",params:t})}async updateNetworkCX2(e,t){let r=`networks/${e}`,n=t instanceof F?JSON.parse(t.toJSON()):t;return this.http.put(r,n,{version:"v3"})}async uploadNetworkFile(e,t={}){return this.http.uploadFile("networks/upload",e,{version:"v3",...t})}async getNetworkMetadata(e){let t=`networks/${e}/metadata`;return this.http.get(t,{version:"v3"})}async updateNetworkMetadata(e,t){let r=`networks/${e}/metadata`;return this.http.put(r,t,{version:"v3"})}async getNetworkAspect(e,t,r={}){let n=new URLSearchParams;r.accesskey&&n.append("accesskey",r.accesskey);let i=`networks/${e}/aspects/${t}${n.toString()?`?${n.toString()}`:""}`;return this.http.get(i,{version:"v3"})}};var z=class{constructor(e){this.http=e;this.v2Service=new H(e),this.v3Service=new W(e);}async getNetworkSummary(e,t={}){return this.v3Service.getNetworkSummary(e,t)}async getRawCX1Network(e,t={}){return this.v2Service.getRawCX1Network(e,t)}async getRawCX2Network(e,t={}){return this.v3Service.getRawCX2Network(e,t)}async deleteNetwork(e){return this.v2Service.deleteNetwork(e)}async createNetworkDOI(e,t,r){return this.v3Service.createNetworkDOI(e,t,r)}async getAttributesOfSelectedNodes(e,t,r={}){return this.v3Service.getAttributesOfSelectedNodes(e,t,r)}async neighborhoodQuery(e,t,r,n,i=false){let o={};r!==void 0&&r===true&&(o.save="true");let c={searchString:t,searchDepth:1};if(n!==void 0&&(n.searchDepth!==void 0&&(c.searchDepth=n.searchDepth),n.edgeLimit!==void 0&&(c.edgeLimit=n.edgeLimit),n.errorWhenLimitIsOver!==void 0&&(c.errorWhenLimitIsOver=n.errorWhenLimitIsOver),n.directOnly!==void 0&&(c.directOnly=n.directOnly),n.nodeIds!=null&&(c.nodeIds=n.nodeIds)),i){let u=`search/network/${e}/query`;return this.http.post(u,c,{version:"v3",params:o})}let d=`search/network/${e}/query`;return this.http.post(d,c,{version:"v2",params:o})}async interConnectQuery(e,t,r,n,i=false){let o={};r!==void 0&&r===true&&(o.save="true");let c={searchString:t};if(n!==void 0&&(n.edgeLimit!==void 0&&(c.edgeLimit=n.edgeLimit),n.errorWhenLimitIsOver!==void 0&&(c.errorWhenLimitIsOver=n.errorWhenLimitIsOver),n.nodeIds!=null&&(c.nodeIds=n.nodeIds)),i){let u=`search/networks/${e}/interconnectquery`;return this.http.post(u,c,{version:"v3",params:o})}let d=`search/network/${e}/interconnectquery`;return this.http.post(d,c,{version:"v2",params:o})}async getNetworkPermissionsByUUIDs(e){return this.http.post("batch/network/permission",e,{version:"v2"})}async exportNetworks(e){return this.http.post("batch/network/export",e,{version:"v2"})}async moveNetworks(e,t){if(!Array.isArray(e))throw new Error("Invalid networkIds - must be an array");let r="batch/networks/move",n={targetFolder:t,networks:e};return this.http.post(r,n,{version:"v3"})}async setNetworksVisibility(e,t){this.validateShareData(e);let r="batch/networks/visibility",n={items:e,visibility:t};return this.http.post(r,n,{version:"v3"})}async getRandomEdges(e,t,r){if(t<=0)throw new Error("Value of parameter limit has to be greater than 0.");let n={size:t.toString(),method:"random"};r!==void 0&&(n.accesskey=r);let i=`networks/${e}/aspects/edges`;return this.http.get(i,{version:"v3",params:n})}validateShareData(e){if(typeof e!="object"||e===null||e.files===void 0)throw new Error('Data must be an object with a "files" property');if(typeof e.files!="object"||e.files===null)throw new Error('The "files" property must be an object');let t=["NETWORK","FOLDER","SHORTCUT"];for(let[r,n]of Object.entries(e.files)){if(!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r))throw new Error(`Invalid UUID format: ${r}`);if(!t.includes(n))throw new Error(`Invalid file type for ${r}: ${n}. Must be one of: ${t.join(", ")}`)}}async getAspectElements(e,t,r,n){let i={};r!==void 0&&(i.size=r.toString()),n!==void 0&&(i.accesskey=n);let o=`networks/${e}/aspects/${t}`;return this.http.get(o,{version:"v3",params:i})}async getFilteredEdges(e,t,r,n,i,o,c,d){let u={};i!==void 0&&(u.size=i.toString()),o!==void 0&&(u.order=o),d!==void 0&&(u.accesskey=d),c!==void 0&&(u.format=c);let p={name:t,value:r,operator:n},l=`search/networks/${e}/edges`;return this.http.post(l,p,{version:"v3",params:u})}async getCX2MetaData(e,t){let r={};t!==void 0&&(r.accesskey=t);let n=`networks/${e}/aspects`;return this.http.get(n,{version:"v3",params:r})}async createNetworkFromRawCX2(e,t={}){return this.v3.createNetworkFromCX2(e,t)}async updateNetworkFromRawCX2(e,t){let r=`networks/${e}`;return this.http.put(r,t,{version:"v3"})}get v2(){return this.v2Service}get v3(){return this.v3Service}};var J=class{constructor(e){this.http=e;}copyFile(e,t,r,n){let i={};return n!==void 0&&(i.accesskey=n),this.http.post("files/copy",{from_uuid:e,type:r,to_path:t},{params:i,version:"v3"})}getCount(){return this.http.get("files/count",{version:"v3"})}getTrash(){return this.http.get("files/trash",{version:"v3"})}emptyTrash(){return this.http.delete("files/trash",{version:"v3"})}permanentlyDeleteFile(e){return this.http.delete(`files/trash/${e}`,{version:"v3"})}restoreFile(e,t,r){return this.http.post("files/trash/restore",{networks:e,folders:t,shortcuts:r},{version:"v3"})}_validateShareData(e){if(typeof e!="object"||e===null||e.files===void 0)throw new Error('Data must be an object with a "files" property');if(typeof e.files!="object"||e.files===null)throw new Error('The "files" property must be an object');let t=["NETWORK","FOLDER","SHORTCUT"];for(let[r,n]of Object.entries(e.files)){if(!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r))throw new Error(`Invalid UUID format: ${r}`);if(!t.includes(n))throw new Error(`Invalid file type for ${r}: ${n}. Must be one of: ${t.join(", ")}`)}}_validateMemberData(e){if(typeof e!="object"||e===null||e.members===void 0)throw new Error('Data must be an object with a "members" property');let t=["READ","WRITE"];for(let[r,n]of Object.entries(e.members)){if(!t.includes(n))throw new Error(`Invalid permission for ${r}: ${n}. Must be one of: ${t.join(", ")}`);if(typeof r!="string"||!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r))throw new Error(`Invalid UUID format: ${r}`)}}updateMember(e,t){return this._validateShareData({files:e}),this._validateMemberData({members:t}),this.http.post("files/sharing/members",{files:e,members:t},{version:"v3"})}listMembers(e){return this.http.get("files/sharing/members/list",{params:e,version:"v3"})}transferOwnership(e,t){return this._validateShareData({files:e}),this.http.post("files/sharing/transfer_ownership",{files:e,new_owner:t},{version:"v3"})}listShares(e){let t={};return e!==void 0&&(t.limit=e),this.http.post("files/sharing/list",t,{version:"v3"})}share(e){return this._validateShareData({files:e}),this.http.post("files/sharing/share",{files:e},{version:"v3"})}unshare(e){return this._validateShareData({files:e}),this.http.post("files/sharing/unshare",{files:e},{version:"v3"})}getFolders(e){let t={};return e!==void 0&&(t.limit=e),this.http.get("files/folders",{params:t,version:"v3"})}createFolder(e,t){return this.http.post("files/folders",{name:e,parent:t},{version:"v3"})}getFolder(e,t){let r={};return t!==void 0&&(r.accesskey=t),this.http.get(`files/folders/${e}`,{params:r,version:"v3"})}updateFolder(e,t,r){return this.http.put(`files/folders/${e}`,{name:t,parent:r},{version:"v3"})}deleteFolder(e){return this.http.delete(`files/folders/${e}`,{version:"v3"})}getFolderCount(e,t){let r={};return t!==void 0&&(r.accesskey=t),this.http.get(`files/folders/${e}/count`,{params:r,version:"v3"})}getFolderList(e,t,r,n){let i={};return t!==void 0&&(i.accesskey=t),r!==void 0&&(i.format=r),n!==void 0&&(i.type=n),this.http.get(`files/folders/${e}/list`,{params:i,version:"v3"})}getShortcuts(e){let t={};return e!==void 0&&(t.limit=e),this.http.get("files/shortcuts",{params:t,version:"v3"})}createShortcut(e,t,r,n){return this.http.post("files/shortcuts",{name:e,parent:t,target:r,targetType:n},{version:"v3"})}getShortcut(e,t){let r={};return t!==void 0&&(r.accesskey=t),this.http.get(`files/shortcuts/${e}`,{params:r,version:"v3"})}updateShortcut(e,t,r,n,i){return this.http.put(`files/shortcuts/${e}`,{name:t,parent:r,target:n,targetType:i},{version:"v3"})}deleteShortcut(e){return this.http.delete(`files/shortcuts/${e}`,{version:"v3"})}};var K=class{constructor(e){this.http=e;}async createCyWebWorkspace(e){return this.http.post("workspaces",e,{version:"v3"})}async getCyWebWorkspace(e){let t=`workspaces/${e}`;return this.http.get(t,{version:"v3"})}async deleteCyWebWorkspace(e){let t=`workspaces/${e}`;return this.http.delete(t,{version:"v3"})}async updateCyWebWorkspace(e,t){let r=`workspaces/${e}`;return this.http.put(r,t,{version:"v3"})}async updateCyWebWorkspaceName(e,t){let r=`workspaces/${e}/name`;return this.http.put(r,{name:t},{version:"v3"})}async updateCyWebWorkspaceNetworks(e,t){let r=`workspaces/${e}/networkids`;return this.http.put(r,t,{version:"v3"})}async getUserCyWebWorkspaces(){let t=`users/${(await this.http.get("user",{params:{valid:true}})).externalId}/workspaces`;return this.http.get(t,{version:"v3"})}};var G=class{constructor(e){this.http=e;}async authenticate(){let e=this.http.getAuthType();if(!e)throw new Error("Authentication parameters are missing in NDEx client.");if(e==="basic"){let t="user",r={valid:true};return this.http.get(t,{params:r})}else if(e==="oauth"){let t=this.http.getIdToken();if(!t)throw new Error("OAuth ID token is missing.");let r="users/signin",n={idToken:t};return this.http.post(r,n,{version:"v3"})}throw new Error(`Unsupported authentication type: ${e}`)}async getCurrentUser(){if(!this.http.getAuthType())throw new Error("Authentication parameters are missing in NDEx client.");let t="user",r={valid:true};return this.http.get(t,{params:r})}async updateCurrentUser(e){if(!e.externalId)throw new Error("User uuid is required in userUpdate object");let t=`user/${e.externalId}`;return this.http.put(t,e)}async requestPasswordReset(e){return this.http.post("user/forgot-password",{email:e})}async resetPassword(e,t){let r=`user/${e}/password`,n={headers:{"Content-Type":"text/plain"}};return this.http.put(r,t,n)}async getUser(e){let t=`user/${e}`;return this.http.get(t)}async getUserByNameOrEmail(e){let t=new URLSearchParams;"username"in e?t.append("username",e.username):"email"in e&&t.append("email",e.email);let r=`user?${t.toString()}`;return this.http.get(r)}async getUsersByUUIDs(e){return this.http.post("batch/user",e)}async searchUsers(e,t,r){let n={};t!==void 0&&(n.start=t.toString()),r!==void 0&&(n.limit=r.toString());let i={searchString:e};return this.http.post("search/user",i,{params:n})}async getAccountPageNetworks(e,t,r){let n={};t!==void 0&&(n.offset=t.toString()),r!==void 0&&(n.limit=r.toString());let i=`user/${e}/networksummary`;return this.http.get(i,{params:n})}async deleteUserAccount(e){let t=`user/${e}`;return this.http.delete(t)}};var Q=class{constructor(e){this.http=e;}};function Z(s,e){return function(){return s.apply(e,arguments)}}var{toString:Kt}=Object.prototype,{getPrototypeOf:$e}=Object,{iterator:we,toStringTag:ct}=Symbol,be=(s=>e=>{let t=Kt.call(e);return s[t]||(s[t]=t.slice(8,-1).toLowerCase())})(Object.create(null)),C=s=>(s=s.toLowerCase(),e=>be(e)===s),ve=s=>e=>typeof e===s,{isArray:B}=Array,Y=ve("undefined");function ee(s){return s!==null&&!Y(s)&&s.constructor!==null&&!Y(s.constructor)&&R(s.constructor.isBuffer)&&s.constructor.isBuffer(s)}var ut=C("ArrayBuffer");function Gt(s){let e;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?e=ArrayBuffer.isView(s):e=s&&s.buffer&&ut(s.buffer),e}var Qt=ve("string"),R=ve("function"),pt=ve("number"),te=s=>s!==null&&typeof s=="object",Zt=s=>s===true||s===false,ye=s=>{if(be(s)!=="object")return false;let e=$e(s);return (e===null||e===Object.prototype||Object.getPrototypeOf(e)===null)&&!(ct in s)&&!(we in s)},Yt=s=>{if(!te(s)||ee(s))return false;try{return Object.keys(s).length===0&&Object.getPrototypeOf(s)===Object.prototype}catch{return false}},er=C("Date"),tr=C("File"),rr=C("Blob"),sr=C("FileList"),nr=s=>te(s)&&R(s.pipe),ir=s=>{let e;return s&&(typeof FormData=="function"&&s instanceof FormData||R(s.append)&&((e=be(s))==="formdata"||e==="object"&&R(s.toString)&&s.toString()==="[object FormData]"))},or=C("URLSearchParams"),[ar,cr,ur,pr]=["ReadableStream","Request","Response","Headers"].map(C),dr=s=>s.trim?s.trim():s.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function re(s,e,{allOwnKeys:t=false}={}){if(s===null||typeof s>"u")return;let r,n;if(typeof s!="object"&&(s=[s]),B(s))for(r=0,n=s.length;r<n;r++)e.call(null,s[r],r,s);else {if(ee(s))return;let i=t?Object.getOwnPropertyNames(s):Object.keys(s),o=i.length,c;for(r=0;r<o;r++)c=i[r],e.call(null,s[c],c,s);}}function dt(s,e){if(ee(s))return null;e=e.toLowerCase();let t=Object.keys(s),r=t.length,n;for(;r-- >0;)if(n=t[r],e===n.toLowerCase())return n;return null}var $=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:globalThis,lt=s=>!Y(s)&&s!==$;function Fe(){let{caseless:s}=lt(this)&&this||{},e={},t=(r,n)=>{let i=s&&dt(e,n)||n;ye(e[i])&&ye(r)?e[i]=Fe(e[i],r):ye(r)?e[i]=Fe({},r):B(r)?e[i]=r.slice():e[i]=r;};for(let r=0,n=arguments.length;r<n;r++)arguments[r]&&re(arguments[r],t);return e}var lr=(s,e,t,{allOwnKeys:r}={})=>(re(e,(n,i)=>{t&&R(n)?s[i]=Z(n,t):s[i]=n;},{allOwnKeys:r}),s),fr=s=>(s.charCodeAt(0)===65279&&(s=s.slice(1)),s),mr=(s,e,t,r)=>{s.prototype=Object.create(e.prototype,r),s.prototype.constructor=s,Object.defineProperty(s,"super",{value:e.prototype}),t&&Object.assign(s.prototype,t);},hr=(s,e,t,r)=>{let n,i,o,c={};if(e=e||{},s==null)return e;do{for(n=Object.getOwnPropertyNames(s),i=n.length;i-- >0;)o=n[i],(!r||r(o,s,e))&&!c[o]&&(e[o]=s[o],c[o]=true);s=t!==false&&$e(s);}while(s&&(!t||t(s,e))&&s!==Object.prototype);return e},gr=(s,e,t)=>{s=String(s),(t===void 0||t>s.length)&&(t=s.length),t-=e.length;let r=s.indexOf(e,t);return r!==-1&&r===t},yr=s=>{if(!s)return null;if(B(s))return s;let e=s.length;if(!pt(e))return null;let t=new Array(e);for(;e-- >0;)t[e]=s[e];return t},wr=(s=>e=>s&&e instanceof s)(typeof Uint8Array<"u"&&$e(Uint8Array)),br=(s,e)=>{let r=(s&&s[we]).call(s),n;for(;(n=r.next())&&!n.done;){let i=n.value;e.call(s,i[0],i[1]);}},vr=(s,e)=>{let t,r=[];for(;(t=s.exec(e))!==null;)r.push(t);return r},xr=C("HTMLFormElement"),Er=s=>s.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(t,r,n){return r.toUpperCase()+n}),at=(({hasOwnProperty:s})=>(e,t)=>s.call(e,t))(Object.prototype),Sr=C("RegExp"),ft=(s,e)=>{let t=Object.getOwnPropertyDescriptors(s),r={};re(t,(n,i)=>{let o;(o=e(n,i,s))!==false&&(r[i]=o||n);}),Object.defineProperties(s,r);},Nr=s=>{ft(s,(e,t)=>{if(R(s)&&["arguments","caller","callee"].indexOf(t)!==-1)return false;let r=s[t];if(R(r)){if(e.enumerable=false,"writable"in e){e.writable=false;return}e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")});}});},kr=(s,e)=>{let t={},r=n=>{n.forEach(i=>{t[i]=true;});};return B(s)?r(s):r(String(s).split(e)),t},Rr=()=>{},Cr=(s,e)=>s!=null&&Number.isFinite(s=+s)?s:e;function Pr(s){return !!(s&&R(s.append)&&s[ct]==="FormData"&&s[we])}var Ar=s=>{let e=new Array(10),t=(r,n)=>{if(te(r)){if(e.indexOf(r)>=0)return;if(ee(r))return r;if(!("toJSON"in r)){e[n]=r;let i=B(r)?[]:{};return re(r,(o,c)=>{let d=t(o,n+1);!Y(d)&&(i[c]=d);}),e[n]=void 0,i}}return r};return t(s,0)},Tr=C("AsyncFunction"),Dr=s=>s&&(te(s)||R(s))&&R(s.then)&&R(s.catch),mt=((s,e)=>s?setImmediate:e?((t,r)=>($.addEventListener("message",({source:n,data:i})=>{n===$&&i===t&&r.length&&r.shift()();},false),n=>{r.push(n),$.postMessage(t,"*");}))(`axios@${Math.random()}`,[]):t=>setTimeout(t))(typeof setImmediate=="function",R($.postMessage)),Or=typeof queueMicrotask<"u"?queueMicrotask.bind($):typeof process<"u"&&process.nextTick||mt,Ur=s=>s!=null&&R(s[we]),a={isArray:B,isArrayBuffer:ut,isBuffer:ee,isFormData:ir,isArrayBufferView:Gt,isString:Qt,isNumber:pt,isBoolean:Zt,isObject:te,isPlainObject:ye,isEmptyObject:Yt,isReadableStream:ar,isRequest:cr,isResponse:ur,isHeaders:pr,isUndefined:Y,isDate:er,isFile:tr,isBlob:rr,isRegExp:Sr,isFunction:R,isStream:nr,isURLSearchParams:or,isTypedArray:wr,isFileList:sr,forEach:re,merge:Fe,extend:lr,trim:dr,stripBOM:fr,inherits:mr,toFlatObject:hr,kindOf:be,kindOfTest:C,endsWith:gr,toArray:yr,forEachEntry:br,matchAll:vr,isHTMLForm:xr,hasOwnProperty:at,hasOwnProp:at,reduceDescriptors:ft,freezeMethods:Nr,toObjectSet:kr,toCamelCase:Er,noop:Rr,toFiniteNumber:Cr,findKey:dt,global:$,isContextDefined:lt,isSpecCompliantForm:Pr,toJSONObject:Ar,isAsyncFn:Tr,isThenable:Dr,setImmediate:mt,asap:Or,isIterable:Ur};function X(s,e,t,r,n){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=s,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),r&&(this.request=r),n&&(this.response=n,this.status=n.status?n.status:null);}a.inherits(X,Error,{toJSON:function(){return {message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:a.toJSONObject(this.config),code:this.code,status:this.status}}});var ht=X.prototype,gt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(s=>{gt[s]={value:s};});Object.defineProperties(X,gt);Object.defineProperty(ht,"isAxiosError",{value:true});X.from=(s,e,t,r,n,i)=>{let o=Object.create(ht);return a.toFlatObject(s,o,function(d){return d!==Error.prototype},c=>c!=="isAxiosError"),X.call(o,s.message,e,t,r,n),o.cause=s,o.name=s.name,i&&Object.assign(o,i),o};var h=X;var xe=null;function Be(s){return a.isPlainObject(s)||a.isArray(s)}function wt(s){return a.endsWith(s,"[]")?s.slice(0,-2):s}function yt(s,e,t){return s?s.concat(e).map(function(n,i){return n=wt(n),!t&&i?"["+n+"]":n}).join(t?".":""):e}function Ir(s){return a.isArray(s)&&!s.some(Be)}var Lr=a.toFlatObject(a,{},null,function(e){return /^is[A-Z]/.test(e)});function Fr(s,e,t){if(!a.isObject(s))throw new TypeError("target must be an object");e=e||new(FormData),t=a.toFlatObject(t,{metaTokens:true,dots:false,indexes:false},false,function(g,m){return !a.isUndefined(m[g])});let r=t.metaTokens,n=t.visitor||p,i=t.dots,o=t.indexes,d=(t.Blob||typeof Blob<"u"&&Blob)&&a.isSpecCompliantForm(e);if(!a.isFunction(n))throw new TypeError("visitor must be a function");function u(f){if(f===null)return "";if(a.isDate(f))return f.toISOString();if(a.isBoolean(f))return f.toString();if(!d&&a.isBlob(f))throw new h("Blob is not supported. Use a Buffer instead.");return a.isArrayBuffer(f)||a.isTypedArray(f)?d&&typeof Blob=="function"?new Blob([f]):Buffer.from(f):f}function p(f,g,m){let b=f;if(f&&!m&&typeof f=="object"){if(a.endsWith(g,"{}"))g=r?g:g.slice(0,-2),f=JSON.stringify(f);else if(a.isArray(f)&&Ir(f)||(a.isFileList(f)||a.endsWith(g,"[]"))&&(b=a.toArray(f)))return g=wt(g),b.forEach(function(N,O){!(a.isUndefined(N)||N===null)&&e.append(o===true?yt([g],O,i):o===null?g:g+"[]",u(N));}),false}return Be(f)?true:(e.append(yt(m,g,i),u(f)),false)}let l=[],y=Object.assign(Lr,{defaultVisitor:p,convertValue:u,isVisitable:Be});function x(f,g){if(!a.isUndefined(f)){if(l.indexOf(f)!==-1)throw Error("Circular reference detected in "+g.join("."));l.push(f),a.forEach(f,function(b,E){(!(a.isUndefined(b)||b===null)&&n.call(e,b,a.isString(E)?E.trim():E,g,y))===true&&x(b,g?g.concat(E):[E]);}),l.pop();}}if(!a.isObject(s))throw new TypeError("data must be an object");return x(s),e}var I=Fr;function bt(s){let e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(s).replace(/[!'()~]|%20|%00/g,function(r){return e[r]})}function vt(s,e){this._pairs=[],s&&I(s,this,e);}var xt=vt.prototype;xt.append=function(e,t){this._pairs.push([e,t]);};xt.toString=function(e){let t=e?function(r){return e.call(this,r,bt)}:bt;return this._pairs.map(function(n){return t(n[0])+"="+t(n[1])},"").join("&")};var Ee=vt;function $r(s){return encodeURIComponent(s).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function se(s,e,t){if(!e)return s;let r=t&&t.encode||$r;a.isFunction(t)&&(t={serialize:t});let n=t&&t.serialize,i;if(n?i=n(e,t):i=a.isURLSearchParams(e)?e.toString():new Ee(e,t).toString(r),i){let o=s.indexOf("#");o!==-1&&(s=s.slice(0,o)),s+=(s.indexOf("?")===-1?"?":"&")+i;}return s}var Xe=class{constructor(){this.handlers=[];}use(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:r?r.synchronous:false,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null);}clear(){this.handlers&&(this.handlers=[]);}forEach(e){a.forEach(this.handlers,function(r){r!==null&&e(r);});}},je=Xe;var Se={silentJSONParsing:true,forcedJSONParsing:true,clarifyTimeoutError:false};var Et=typeof URLSearchParams<"u"?URLSearchParams:Ee;var St=typeof FormData<"u"?FormData:null;var Nt=typeof Blob<"u"?Blob:null;var kt={isBrowser:true,classes:{URLSearchParams:Et,FormData:St,Blob:Nt},protocols:["http","https","file","blob","url","data"]};var Me={};zt(Me,{hasBrowserEnv:()=>Ve,hasStandardBrowserEnv:()=>Br,hasStandardBrowserWebWorkerEnv:()=>Xr,navigator:()=>_e,origin:()=>jr});var Ve=typeof window<"u"&&typeof document<"u",_e=typeof navigator=="object"&&navigator||void 0,Br=Ve&&(!_e||["ReactNative","NativeScript","NS"].indexOf(_e.product)<0),Xr=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",jr=Ve&&window.location.href||"http://localhost";var w={...Me,...kt};function qe(s,e){return I(s,new w.classes.URLSearchParams,{visitor:function(t,r,n,i){return w.isNode&&a.isBuffer(t)?(this.append(r,t.toString("base64")),false):i.defaultVisitor.apply(this,arguments)},...e})}function _r(s){return a.matchAll(/\w+|\[(\w*)]/g,s).map(e=>e[0]==="[]"?"":e[1]||e[0])}function Vr(s){let e={},t=Object.keys(s),r,n=t.length,i;for(r=0;r<n;r++)i=t[r],e[i]=s[i];return e}function Mr(s){function e(t,r,n,i){let o=t[i++];if(o==="__proto__")return true;let c=Number.isFinite(+o),d=i>=t.length;return o=!o&&a.isArray(n)?n.length:o,d?(a.hasOwnProp(n,o)?n[o]=[n[o],r]:n[o]=r,!c):((!n[o]||!a.isObject(n[o]))&&(n[o]=[]),e(t,r,n[o],i)&&a.isArray(n[o])&&(n[o]=Vr(n[o])),!c)}if(a.isFormData(s)&&a.isFunction(s.entries)){let t={};return a.forEachEntry(s,(r,n)=>{e(_r(r),n,t,0);}),t}return null}var Ne=Mr;function qr(s,e,t){if(a.isString(s))try{return (e||JSON.parse)(s),a.trim(s)}catch(r){if(r.name!=="SyntaxError")throw r}return (t||JSON.stringify)(s)}var He={transitional:Se,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){let r=t.getContentType()||"",n=r.indexOf("application/json")>-1,i=a.isObject(e);if(i&&a.isHTMLForm(e)&&(e=new FormData(e)),a.isFormData(e))return n?JSON.stringify(Ne(e)):e;if(a.isArrayBuffer(e)||a.isBuffer(e)||a.isStream(e)||a.isFile(e)||a.isBlob(e)||a.isReadableStream(e))return e;if(a.isArrayBufferView(e))return e.buffer;if(a.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",false),e.toString();let c;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return qe(e,this.formSerializer).toString();if((c=a.isFileList(e))||r.indexOf("multipart/form-data")>-1){let d=this.env&&this.env.FormData;return I(c?{"files[]":e}:e,d&&new d,this.formSerializer)}}return i||n?(t.setContentType("application/json",false),qr(e)):e}],transformResponse:[function(e){let t=this.transitional||He.transitional,r=t&&t.forcedJSONParsing,n=this.responseType==="json";if(a.isResponse(e)||a.isReadableStream(e))return e;if(e&&a.isString(e)&&(r&&!this.responseType||n)){let o=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(c){if(o)throw c.name==="SyntaxError"?h.from(c,h.ERR_BAD_RESPONSE,this,null,this.response):c}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:w.classes.FormData,Blob:w.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};a.forEach(["delete","get","head","post","put","patch"],s=>{He.headers[s]={};});var j=He;var Hr=a.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Rt=s=>{let e={},t,r,n;return s&&s.split(`
3
+ `).forEach(function(o){n=o.indexOf(":"),t=o.substring(0,n).trim().toLowerCase(),r=o.substring(n+1).trim(),!(!t||e[t]&&Hr[t])&&(t==="set-cookie"?e[t]?e[t].push(r):e[t]=[r]:e[t]=e[t]?e[t]+", "+r:r);}),e};var Ct=Symbol("internals");function ne(s){return s&&String(s).trim().toLowerCase()}function ke(s){return s===false||s==null?s:a.isArray(s)?s.map(ke):String(s)}function Wr(s){let e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g,r;for(;r=t.exec(s);)e[r[1]]=r[2];return e}var zr=s=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(s.trim());function We(s,e,t,r,n){if(a.isFunction(r))return r.call(this,e,t);if(n&&(e=t),!!a.isString(e)){if(a.isString(r))return e.indexOf(r)!==-1;if(a.isRegExp(r))return r.test(e)}}function Jr(s){return s.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(e,t,r)=>t.toUpperCase()+r)}function Kr(s,e){let t=a.toCamelCase(" "+e);["get","set","has"].forEach(r=>{Object.defineProperty(s,r+t,{value:function(n,i,o){return this[r].call(this,e,n,i,o)},configurable:true});});}var _=class{constructor(e){e&&this.set(e);}set(e,t,r){let n=this;function i(c,d,u){let p=ne(d);if(!p)throw new Error("header name must be a non-empty string");let l=a.findKey(n,p);(!l||n[l]===void 0||u===true||u===void 0&&n[l]!==false)&&(n[l||d]=ke(c));}let o=(c,d)=>a.forEach(c,(u,p)=>i(u,p,d));if(a.isPlainObject(e)||e instanceof this.constructor)o(e,t);else if(a.isString(e)&&(e=e.trim())&&!zr(e))o(Rt(e),t);else if(a.isObject(e)&&a.isIterable(e)){let c={},d,u;for(let p of e){if(!a.isArray(p))throw TypeError("Object iterator must return a key-value pair");c[u=p[0]]=(d=c[u])?a.isArray(d)?[...d,p[1]]:[d,p[1]]:p[1];}o(c,t);}else e!=null&&i(t,e,r);return this}get(e,t){if(e=ne(e),e){let r=a.findKey(this,e);if(r){let n=this[r];if(!t)return n;if(t===true)return Wr(n);if(a.isFunction(t))return t.call(this,n,r);if(a.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=ne(e),e){let r=a.findKey(this,e);return !!(r&&this[r]!==void 0&&(!t||We(this,this[r],r,t)))}return false}delete(e,t){let r=this,n=false;function i(o){if(o=ne(o),o){let c=a.findKey(r,o);c&&(!t||We(r,r[c],c,t))&&(delete r[c],n=true);}}return a.isArray(e)?e.forEach(i):i(e),n}clear(e){let t=Object.keys(this),r=t.length,n=false;for(;r--;){let i=t[r];(!e||We(this,this[i],i,e,true))&&(delete this[i],n=true);}return n}normalize(e){let t=this,r={};return a.forEach(this,(n,i)=>{let o=a.findKey(r,i);if(o){t[o]=ke(n),delete t[i];return}let c=e?Jr(i):String(i).trim();c!==i&&delete t[i],t[c]=ke(n),r[c]=true;}),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){let t=Object.create(null);return a.forEach(this,(r,n)=>{r!=null&&r!==false&&(t[n]=e&&a.isArray(r)?r.join(", "):r);}),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([e,t])=>e+": "+t).join(`
4
+ `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return "AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){let r=new this(e);return t.forEach(n=>r.set(n)),r}static accessor(e){let r=(this[Ct]=this[Ct]={accessors:{}}).accessors,n=this.prototype;function i(o){let c=ne(o);r[c]||(Kr(n,o),r[c]=true);}return a.isArray(e)?e.forEach(i):i(e),this}};_.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);a.reduceDescriptors(_.prototype,({value:s},e)=>{let t=e[0].toUpperCase()+e.slice(1);return {get:()=>s,set(r){this[t]=r;}}});a.freezeMethods(_);var S=_;function ie(s,e){let t=this||j,r=e||t,n=S.from(r.headers),i=r.data;return a.forEach(s,function(c){i=c.call(t,i,n.normalize(),e?e.status:void 0);}),n.normalize(),i}function oe(s){return !!(s&&s.__CANCEL__)}function Pt(s,e,t){h.call(this,s??"canceled",h.ERR_CANCELED,e,t),this.name="CanceledError";}a.inherits(Pt,h,{__CANCEL__:true});var T=Pt;function ae(s,e,t){let r=t.config.validateStatus;!t.status||!r||r(t.status)?s(t):e(new h("Request failed with status code "+t.status,[h.ERR_BAD_REQUEST,h.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t));}function ze(s){let e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(s);return e&&e[1]||""}function Gr(s,e){s=s||10;let t=new Array(s),r=new Array(s),n=0,i=0,o;return e=e!==void 0?e:1e3,function(d){let u=Date.now(),p=r[i];o||(o=u),t[n]=d,r[n]=u;let l=i,y=0;for(;l!==n;)y+=t[l++],l=l%s;if(n=(n+1)%s,n===i&&(i=(i+1)%s),u-o<e)return;let x=p&&u-p;return x?Math.round(y*1e3/x):void 0}}var At=Gr;function Qr(s,e){let t=0,r=1e3/e,n,i,o=(u,p=Date.now())=>{t=p,n=null,i&&(clearTimeout(i),i=null),s(...u);};return [(...u)=>{let p=Date.now(),l=p-t;l>=r?o(u,p):(n=u,i||(i=setTimeout(()=>{i=null,o(n);},r-l)));},()=>n&&o(n)]}var Tt=Qr;var V=(s,e,t=3)=>{let r=0,n=At(50,250);return Tt(i=>{let o=i.loaded,c=i.lengthComputable?i.total:void 0,d=o-r,u=n(d),p=o<=c;r=o;let l={loaded:o,total:c,progress:c?o/c:void 0,bytes:d,rate:u||void 0,estimated:u&&c&&p?(c-o)/u:void 0,event:i,lengthComputable:c!=null,[e?"download":"upload"]:true};s(l);},t)},Je=(s,e)=>{let t=s!=null;return [r=>e[0]({lengthComputable:t,total:s,loaded:r}),e[1]]},Ke=s=>(...e)=>a.asap(()=>s(...e));var Dt=w.hasStandardBrowserEnv?((s,e)=>t=>(t=new URL(t,w.origin),s.protocol===t.protocol&&s.host===t.host&&(e||s.port===t.port)))(new URL(w.origin),w.navigator&&/(msie|trident)/i.test(w.navigator.userAgent)):()=>true;var Ot=w.hasStandardBrowserEnv?{write(s,e,t,r,n,i){let o=[s+"="+encodeURIComponent(e)];a.isNumber(t)&&o.push("expires="+new Date(t).toGMTString()),a.isString(r)&&o.push("path="+r),a.isString(n)&&o.push("domain="+n),i===true&&o.push("secure"),document.cookie=o.join("; ");},read(s){let e=document.cookie.match(new RegExp("(^|;\\s*)("+s+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(s){this.write(s,"",Date.now()-864e5);}}:{write(){},read(){return null},remove(){}};function Ge(s){return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(s)}function Qe(s,e){return e?s.replace(/\/?\/$/,"")+"/"+e.replace(/^\/+/,""):s}function ce(s,e,t){let r=!Ge(e);return s&&(r||t==false)?Qe(s,e):e}var Ut=s=>s instanceof S?{...s}:s;function P(s,e){e=e||{};let t={};function r(u,p,l,y){return a.isPlainObject(u)&&a.isPlainObject(p)?a.merge.call({caseless:y},u,p):a.isPlainObject(p)?a.merge({},p):a.isArray(p)?p.slice():p}function n(u,p,l,y){if(a.isUndefined(p)){if(!a.isUndefined(u))return r(void 0,u,l,y)}else return r(u,p,l,y)}function i(u,p){if(!a.isUndefined(p))return r(void 0,p)}function o(u,p){if(a.isUndefined(p)){if(!a.isUndefined(u))return r(void 0,u)}else return r(void 0,p)}function c(u,p,l){if(l in e)return r(u,p);if(l in s)return r(void 0,u)}let d={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:c,headers:(u,p,l)=>n(Ut(u),Ut(p),l,true)};return a.forEach(Object.keys({...s,...e}),function(p){let l=d[p]||n,y=l(s[p],e[p],p);a.isUndefined(y)&&l!==c||(t[p]=y);}),t}var Re=s=>{let e=P({},s),{data:t,withXSRFToken:r,xsrfHeaderName:n,xsrfCookieName:i,headers:o,auth:c}=e;e.headers=o=S.from(o),e.url=se(ce(e.baseURL,e.url,e.allowAbsoluteUrls),s.params,s.paramsSerializer),c&&o.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):"")));let d;if(a.isFormData(t)){if(w.hasStandardBrowserEnv||w.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if((d=o.getContentType())!==false){let[u,...p]=d?d.split(";").map(l=>l.trim()).filter(Boolean):[];o.setContentType([u||"multipart/form-data",...p].join("; "));}}if(w.hasStandardBrowserEnv&&(r&&a.isFunction(r)&&(r=r(e)),r||r!==false&&Dt(e.url))){let u=n&&i&&Ot.read(i);u&&o.set(n,u);}return e};var Zr=typeof XMLHttpRequest<"u",It=Zr&&function(s){return new Promise(function(t,r){let n=Re(s),i=n.data,o=S.from(n.headers).normalize(),{responseType:c,onUploadProgress:d,onDownloadProgress:u}=n,p,l,y,x,f;function g(){x&&x(),f&&f(),n.cancelToken&&n.cancelToken.unsubscribe(p),n.signal&&n.signal.removeEventListener("abort",p);}let m=new XMLHttpRequest;m.open(n.method.toUpperCase(),n.url,true),m.timeout=n.timeout;function b(){if(!m)return;let N=S.from("getAllResponseHeaders"in m&&m.getAllResponseHeaders()),k={data:!c||c==="text"||c==="json"?m.responseText:m.response,status:m.status,statusText:m.statusText,headers:N,config:s,request:m};ae(function(L){t(L),g();},function(L){r(L),g();},k),m=null;}"onloadend"in m?m.onloadend=b:m.onreadystatechange=function(){!m||m.readyState!==4||m.status===0&&!(m.responseURL&&m.responseURL.indexOf("file:")===0)||setTimeout(b);},m.onabort=function(){m&&(r(new h("Request aborted",h.ECONNABORTED,s,m)),m=null);},m.onerror=function(){r(new h("Network Error",h.ERR_NETWORK,s,m)),m=null;},m.ontimeout=function(){let O=n.timeout?"timeout of "+n.timeout+"ms exceeded":"timeout exceeded",k=n.transitional||Se;n.timeoutErrorMessage&&(O=n.timeoutErrorMessage),r(new h(O,k.clarifyTimeoutError?h.ETIMEDOUT:h.ECONNABORTED,s,m)),m=null;},i===void 0&&o.setContentType(null),"setRequestHeader"in m&&a.forEach(o.toJSON(),function(O,k){m.setRequestHeader(k,O);}),a.isUndefined(n.withCredentials)||(m.withCredentials=!!n.withCredentials),c&&c!=="json"&&(m.responseType=n.responseType),u&&([y,f]=V(u,true),m.addEventListener("progress",y)),d&&m.upload&&([l,x]=V(d),m.upload.addEventListener("progress",l),m.upload.addEventListener("loadend",x)),(n.cancelToken||n.signal)&&(p=N=>{m&&(r(!N||N.type?new T(null,s,m):N),m.abort(),m=null);},n.cancelToken&&n.cancelToken.subscribe(p),n.signal&&(n.signal.aborted?p():n.signal.addEventListener("abort",p)));let E=ze(n.url);if(E&&w.protocols.indexOf(E)===-1){r(new h("Unsupported protocol "+E+":",h.ERR_BAD_REQUEST,s));return}m.send(i||null);})};var Yr=(s,e)=>{let{length:t}=s=s?s.filter(Boolean):[];if(e||t){let r=new AbortController,n,i=function(u){if(!n){n=true,c();let p=u instanceof Error?u:this.reason;r.abort(p instanceof h?p:new T(p instanceof Error?p.message:p));}},o=e&&setTimeout(()=>{o=null,i(new h(`timeout ${e} of ms exceeded`,h.ETIMEDOUT));},e),c=()=>{s&&(o&&clearTimeout(o),o=null,s.forEach(u=>{u.unsubscribe?u.unsubscribe(i):u.removeEventListener("abort",i);}),s=null);};s.forEach(u=>u.addEventListener("abort",i));let{signal:d}=r;return d.unsubscribe=()=>a.asap(c),d}},Lt=Yr;var es=function*(s,e){let t=s.byteLength;if(t<e){yield s;return}let r=0,n;for(;r<t;)n=r+e,yield s.slice(r,n),r=n;},ts=async function*(s,e){for await(let t of rs(s))yield*es(t,e);},rs=async function*(s){if(s[Symbol.asyncIterator]){yield*s;return}let e=s.getReader();try{for(;;){let{done:t,value:r}=await e.read();if(t)break;yield r;}}finally{await e.cancel();}},Ze=(s,e,t,r)=>{let n=ts(s,e),i=0,o,c=d=>{o||(o=true,r&&r(d));};return new ReadableStream({async pull(d){try{let{done:u,value:p}=await n.next();if(u){c(),d.close();return}let l=p.byteLength;if(t){let y=i+=l;t(y);}d.enqueue(new Uint8Array(p));}catch(u){throw c(u),u}},cancel(d){return c(d),n.return()}},{highWaterMark:2})};var Pe=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",$t=Pe&&typeof ReadableStream=="function",ss=Pe&&(typeof TextEncoder=="function"?(s=>e=>s.encode(e))(new TextEncoder):async s=>new Uint8Array(await new Response(s).arrayBuffer())),Bt=(s,...e)=>{try{return !!s(...e)}catch{return false}},ns=$t&&Bt(()=>{let s=!1,e=new Request(w.origin,{body:new ReadableStream,method:"POST",get duplex(){return s=!0,"half"}}).headers.has("Content-Type");return s&&!e}),Ft=64*1024,Ye=$t&&Bt(()=>a.isReadableStream(new Response("").body)),Ce={stream:Ye&&(s=>s.body)};Pe&&(s=>{["text","arrayBuffer","blob","formData","stream"].forEach(e=>{!Ce[e]&&(Ce[e]=a.isFunction(s[e])?t=>t[e]():(t,r)=>{throw new h(`Response type '${e}' is not supported`,h.ERR_NOT_SUPPORT,r)});});})(new Response);var is=async s=>{if(s==null)return 0;if(a.isBlob(s))return s.size;if(a.isSpecCompliantForm(s))return (await new Request(w.origin,{method:"POST",body:s}).arrayBuffer()).byteLength;if(a.isArrayBufferView(s)||a.isArrayBuffer(s))return s.byteLength;if(a.isURLSearchParams(s)&&(s=s+""),a.isString(s))return (await ss(s)).byteLength},os=async(s,e)=>{let t=a.toFiniteNumber(s.getContentLength());return t??is(e)},Xt=Pe&&(async s=>{let{url:e,method:t,data:r,signal:n,cancelToken:i,timeout:o,onDownloadProgress:c,onUploadProgress:d,responseType:u,headers:p,withCredentials:l="same-origin",fetchOptions:y}=Re(s);u=u?(u+"").toLowerCase():"text";let x=Lt([n,i&&i.toAbortSignal()],o),f,g=x&&x.unsubscribe&&(()=>{x.unsubscribe();}),m;try{if(d&&ns&&t!=="get"&&t!=="head"&&(m=await os(p,r))!==0){let k=new Request(e,{method:"POST",body:r,duplex:"half"}),U;if(a.isFormData(r)&&(U=k.headers.get("content-type"))&&p.setContentType(U),k.body){let[L,de]=Je(m,V(Ke(d)));r=Ze(k.body,Ft,L,de);}}a.isString(l)||(l=l?"include":"omit");let b="credentials"in Request.prototype;f=new Request(e,{...y,signal:x,method:t.toUpperCase(),headers:p.normalize().toJSON(),body:r,duplex:"half",credentials:b?l:void 0});let E=await fetch(f,y),N=Ye&&(u==="stream"||u==="response");if(Ye&&(c||N&&g)){let k={};["status","statusText","headers"].forEach(ot=>{k[ot]=E[ot];});let U=a.toFiniteNumber(E.headers.get("content-length")),[L,de]=c&&Je(U,V(Ke(c),!0))||[];E=new Response(Ze(E.body,Ft,L,()=>{de&&de(),g&&g();}),k);}u=u||"text";let O=await Ce[a.findKey(Ce,u)||"text"](E,s);return !N&&g&&g(),await new Promise((k,U)=>{ae(k,U,{data:O,headers:S.from(E.headers),status:E.status,statusText:E.statusText,config:s,request:f});})}catch(b){throw g&&g(),b&&b.name==="TypeError"&&/Load failed|fetch/i.test(b.message)?Object.assign(new h("Network Error",h.ERR_NETWORK,s,f),{cause:b.cause||b}):h.from(b,b&&b.code,s,f)}});var et={http:xe,xhr:It,fetch:Xt};a.forEach(et,(s,e)=>{if(s){try{Object.defineProperty(s,"name",{value:e});}catch{}Object.defineProperty(s,"adapterName",{value:e});}});var jt=s=>`- ${s}`,as=s=>a.isFunction(s)||s===null||s===false,Ae={getAdapter:s=>{s=a.isArray(s)?s:[s];let{length:e}=s,t,r,n={};for(let i=0;i<e;i++){t=s[i];let o;if(r=t,!as(t)&&(r=et[(o=String(t)).toLowerCase()],r===void 0))throw new h(`Unknown adapter '${o}'`);if(r)break;n[o||"#"+i]=r;}if(!r){let i=Object.entries(n).map(([c,d])=>`adapter ${c} `+(d===false?"is not supported by the environment":"is not available in the build")),o=e?i.length>1?`since :
5
+ `+i.map(jt).join(`
6
+ `):" "+jt(i[0]):"as no adapter specified";throw new h("There is no suitable adapter to dispatch the request "+o,"ERR_NOT_SUPPORT")}return r},adapters:et};function tt(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new T(null,s)}function Te(s){return tt(s),s.headers=S.from(s.headers),s.data=ie.call(s,s.transformRequest),["post","put","patch"].indexOf(s.method)!==-1&&s.headers.setContentType("application/x-www-form-urlencoded",false),Ae.getAdapter(s.adapter||j.adapter)(s).then(function(r){return tt(s),r.data=ie.call(s,s.transformResponse,r),r.headers=S.from(r.headers),r},function(r){return oe(r)||(tt(s),r&&r.response&&(r.response.data=ie.call(s,s.transformResponse,r.response),r.response.headers=S.from(r.response.headers))),Promise.reject(r)})}var De="1.11.0";var Oe={};["object","boolean","number","function","string","symbol"].forEach((s,e)=>{Oe[s]=function(r){return typeof r===s||"a"+(e<1?"n ":" ")+s};});var _t={};Oe.transitional=function(e,t,r){function n(i,o){return "[Axios v"+De+"] Transitional option '"+i+"'"+o+(r?". "+r:"")}return (i,o,c)=>{if(e===false)throw new h(n(o," has been removed"+(t?" in "+t:"")),h.ERR_DEPRECATED);return t&&!_t[o]&&(_t[o]=true,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),e?e(i,o,c):true}};Oe.spelling=function(e){return (t,r)=>(console.warn(`${r} is likely a misspelling of ${e}`),true)};function cs(s,e,t){if(typeof s!="object")throw new h("options must be an object",h.ERR_BAD_OPTION_VALUE);let r=Object.keys(s),n=r.length;for(;n-- >0;){let i=r[n],o=e[i];if(o){let c=s[i],d=c===void 0||o(c,i,s);if(d!==true)throw new h("option "+i+" must be "+d,h.ERR_BAD_OPTION_VALUE);continue}if(t!==true)throw new h("Unknown option "+i,h.ERR_BAD_OPTION)}}var ue={assertOptions:cs,validators:Oe};var D=ue.validators,M=class{constructor(e){this.defaults=e||{},this.interceptors={request:new je,response:new je};}async request(e,t){try{return await this._request(e,t)}catch(r){if(r instanceof Error){let n={};Error.captureStackTrace?Error.captureStackTrace(n):n=new Error;let i=n.stack?n.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=`
7
+ `+i):r.stack=i;}catch{}}throw r}}_request(e,t){typeof e=="string"?(t=t||{},t.url=e):t=e||{},t=P(this.defaults,t);let{transitional:r,paramsSerializer:n,headers:i}=t;r!==void 0&&ue.assertOptions(r,{silentJSONParsing:D.transitional(D.boolean),forcedJSONParsing:D.transitional(D.boolean),clarifyTimeoutError:D.transitional(D.boolean)},false),n!=null&&(a.isFunction(n)?t.paramsSerializer={serialize:n}:ue.assertOptions(n,{encode:D.function,serialize:D.function},true)),t.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=true),ue.assertOptions(t,{baseUrl:D.spelling("baseURL"),withXsrfToken:D.spelling("withXSRFToken")},true),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=i&&a.merge(i.common,i[t.method]);i&&a.forEach(["delete","get","head","post","put","patch","common"],f=>{delete i[f];}),t.headers=S.concat(o,i);let c=[],d=true;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(t)===false||(d=d&&g.synchronous,c.unshift(g.fulfilled,g.rejected));});let u=[];this.interceptors.response.forEach(function(g){u.push(g.fulfilled,g.rejected);});let p,l=0,y;if(!d){let f=[Te.bind(this),void 0];for(f.unshift(...c),f.push(...u),y=f.length,p=Promise.resolve(t);l<y;)p=p.then(f[l++],f[l++]);return p}y=c.length;let x=t;for(l=0;l<y;){let f=c[l++],g=c[l++];try{x=f(x);}catch(m){g.call(this,m);break}}try{p=Te.call(this,x);}catch(f){return Promise.reject(f)}for(l=0,y=u.length;l<y;)p=p.then(u[l++],u[l++]);return p}getUri(e){e=P(this.defaults,e);let t=ce(e.baseURL,e.url,e.allowAbsoluteUrls);return se(t,e.params,e.paramsSerializer)}};a.forEach(["delete","get","head","options"],function(e){M.prototype[e]=function(t,r){return this.request(P(r||{},{method:e,url:t,data:(r||{}).data}))};});a.forEach(["post","put","patch"],function(e){function t(r){return function(i,o,c){return this.request(P(c||{},{method:e,headers:r?{"Content-Type":"multipart/form-data"}:{},url:i,data:o}))}}M.prototype[e]=t(),M.prototype[e+"Form"]=t(true);});var pe=M;var rt=class s{constructor(e){if(typeof e!="function")throw new TypeError("executor must be a function.");let t;this.promise=new Promise(function(i){t=i;});let r=this;this.promise.then(n=>{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](n);r._listeners=null;}),this.promise.then=n=>{let i,o=new Promise(c=>{r.subscribe(c),i=c;}).then(n);return o.cancel=function(){r.unsubscribe(i);},o},e(function(i,o,c){r.reason||(r.reason=new T(i,o,c),t(r.reason));});}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){if(this.reason){e(this.reason);return}this._listeners?this._listeners.push(e):this._listeners=[e];}unsubscribe(e){if(!this._listeners)return;let t=this._listeners.indexOf(e);t!==-1&&this._listeners.splice(t,1);}toAbortSignal(){let e=new AbortController,t=r=>{e.abort(r);};return this.subscribe(t),e.signal.unsubscribe=()=>this.unsubscribe(t),e.signal}static source(){let e;return {token:new s(function(n){e=n;}),cancel:e}}},Vt=rt;function st(s){return function(t){return s.apply(null,t)}}function nt(s){return a.isObject(s)&&s.isAxiosError===true}var it={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(it).forEach(([s,e])=>{it[e]=s;});var Mt=it;function qt(s){let e=new pe(s),t=Z(pe.prototype.request,e);return a.extend(t,pe.prototype,e,{allOwnKeys:true}),a.extend(t,e,null,{allOwnKeys:true}),t.create=function(n){return qt(P(s,n))},t}var v=qt(j);v.Axios=pe;v.CanceledError=T;v.CancelToken=Vt;v.isCancel=oe;v.VERSION=De;v.toFormData=I;v.AxiosError=h;v.Cancel=v.CanceledError;v.all=function(e){return Promise.all(e)};v.spread=st;v.isAxiosError=nt;v.mergeConfig=P;v.AxiosHeaders=S;v.formToJSON=s=>Ne(a.isHTMLForm(s)?new FormData(s):s);v.getAdapter=Ae.getAdapter;v.HttpStatusCode=Mt;v.default=v;var q=v;var{Axios:Co,AxiosError:Po,CanceledError:Ao,isCancel:To,CancelToken:Do,VERSION:Oo,all:Uo,Cancel:Io,isAxiosError:Lo,spread:Fo,toFormData:$o,AxiosHeaders:Bo,HttpStatusCode:Xo,formToJSON:jo,getAdapter:_o,mergeConfig:Vo}=q;var Ue=class{constructor(e=1234,t){this._port=e,this.cyRestBaseURL=t?.cyRestBaseURL||"http://127.0.0.1",this.ndexBaseURL=t?.ndexBaseURL||"https://www.ndexbio.org",this.axiosInstance=q.create({baseURL:this.cyRestURL(),timeout:3e4,headers:{"Content-Type":"application/json"}});}get port(){return this._port}static get cyRestBaseURL(){return "http://127.0.0.1"}setNDExBaseURL(e){e?.trim()&&(this.ndexBaseURL=e.trim());}getNDExBaseURL(){return this.ndexBaseURL}setBasicAuth(e,t){e?.trim()&&t&&(this.authConfig={type:"basic",username:e.trim(),password:t});}setAuthToken(e){e?.trim()&&(this.authConfig={type:"oauth",idToken:e.trim()});}clearAuth(){this.authConfig=void 0;}cyRestURL(){return `${this.cyRestBaseURL}:${this._port}`}getAuthFields(){if(!this.authConfig)return {};switch(this.authConfig.type){case "basic":return {username:this.authConfig.username,password:this.authConfig.password};case "oauth":return {idToken:this.authConfig.idToken};default:return {}}}async _httpGet(e){return (await this.axiosInstance.get(e)).data}async _httpPost(e,t,r){return (await this.axiosInstance.post(e,r,{params:t})).data}async _httpPut(e,t,r){return (await this.axiosInstance.put(e,r,{params:t})).data}async getCyNDExStatus(){return this._httpGet("/cyndex2/v1")}async getCytoscapeNetworkSummary(e="current"){return this._httpGet(`/cyndex2/v1/networks/${e}`)}async postNDExNetworkToCytoscape(e,t,r){let n={serverUrl:`${this.ndexBaseURL}/v2`,uuid:e,accessKey:t,createView:r,...this.getAuthFields()};return this._httpPost("/cyndex2/v1/networks",void 0,n)}async postCXNetworkToCytoscape(e){return this._httpPost("/cyndex2/v1/networks/cx",void 0,e)}async postCX2NetworkToCytoscape(e,t,r){let n={format:"cx2",collection:r,title:t};return this._httpPost("/v1/networks",n,e)}async postCytoscapeNetworkToNDEx(e="current"){let t={serverUrl:`${this.ndexBaseURL}/v2`,...this.getAuthFields()};return this._httpPost(`/cyndex2/v1/networks/${e}`,void 0,t)}async putCytoscapeNetworkInNDEx(e="current",t){let r={serverUrl:`${this.ndexBaseURL}/v2`,uuid:t,...this.getAuthFields()};return this._httpPut(`/cyndex2/v1/networks/${e}`,void 0,r)}};var Ie="0.6.0-alpha.2";var Le=class{constructor(e={}){this.config={baseURL:"https://www.ndexbio.org",timeout:3e4,retries:3,retryDelay:1e3,debug:false,...e};let t={"Content-Type":"application/json",...this.config.headers,...this.getAuthHeaders()};typeof window>"u"&&(t["User-Agent"]=`NDEx-JS-Client/${Ie}`),this.axiosInstance=q.create({baseURL:this.config.baseURL,timeout:this.config.timeout,headers:t}),this.setupInterceptors();}getAuthHeaders(){return this.config.auth?this.config.auth.type==="basic"?{Authorization:`Basic ${btoa(`${this.config.auth.username}:${this.config.auth.password}`)}`}:this.config.auth.type==="oauth"?{Authorization:`Bearer ${this.config.auth.idToken}`}:{}:{}}buildUrl(e,t="v2"){let r=e.startsWith("/")?e.slice(1):e;return `/${t}/${r}`}async get(e,t){let{version:r,...n}=t||{},i=this.buildUrl(e,r);try{let o=await this.axiosInstance.get(i,n);return this.handleResponse(o)}catch(o){this.handleError(o);}}async post(e,t,r){let{version:n,...i}=r||{},o=this.buildUrl(e,n);try{let c=await this.axiosInstance.post(o,t,i);return this.handleResponse(c)}catch(c){this.handleError(c);}}async put(e,t,r){let{version:n,...i}=r||{},o=this.buildUrl(e,n);try{let c=await this.axiosInstance.put(o,t,i);return this.handleResponse(c)}catch(c){this.handleError(c);}}async delete(e,t){let{version:r,...n}=t||{},i=this.buildUrl(e,r);try{let o=await this.axiosInstance.delete(i,n);return this.handleResponse(o)}catch(o){this.handleError(o);}}async uploadFile(e,t,r={}){let{version:n,onProgress:i,contentType:o,...c}=r,d=this.buildUrl(e,n),u=new FormData;if(t instanceof File)u.append("file",t,t.name);else if(t instanceof Blob)u.append("file",t,"file.cx2");else if(typeof t=="string"){let p=new Blob([t],{type:o||"application/json"});u.append("file",p,"file.cx2");}else u.append("file",t,"file.cx2");try{let p=await this.axiosInstance.post(d,u,{headers:{"Content-Type":"multipart/form-data"},onUploadProgress:i?l=>{let y=Math.round(l.loaded*100/(l.total||1));i(y);}:void 0,...c});return this.handleResponse(p)}catch(p){this.handleError(p);}}setupInterceptors(){this.axiosInstance.interceptors.request.use(e=>(this.config.debug&&console.log("NDEx API Request:",{method:e.method?.toUpperCase(),url:e.url,headers:e.headers}),e),e=>(this.config.debug&&console.error("NDEx API Request Error:",e),Promise.reject(e))),this.axiosInstance.interceptors.response.use(e=>(this.config.debug&&console.log("NDEx API Response:",{status:e.status,url:e.config.url,data:e.data}),e),e=>(this.config.debug&&console.error("NDEx API Response Error:",e.response?.data||e.message),Promise.reject(e)));}handleResponse(e){return e.data&&typeof e.data=="object"&&"errorCode"in e.data&&this.throwNDExError(e.data.message||"Unknown error occurred",e.status,e.data.errorCode||"UNKNOWN_ERROR",e.data.description),e.data&&typeof e.data=="object"&&"data"in e.data?e.data.data:e.data}handleError(e){if(e.response){let t=e.response.data?.message||e.message,r=e.response.data?.errorCode||`HTTP_${e.response.status}`,n=e.response.data?.description;this.throwNDExError(t,e.response.status,r,n);}else throw e.request?new le("Network error - no response received",e):new A(e.message||"Unknown error occurred",void 0,"CLIENT_ERROR",e.toString())}throwNDExError(e,t,r,n){switch(t){case 400:throw new he(e,t);case 401:case 403:throw new fe(e,t);case 404:throw new me(e,t);case 500:case 502:case 503:case 504:throw new ge(e,t);default:throw new A(e,t,r,n)}}updateConfig(e){if(this.config={...this.config,...e},e.baseURL&&(this.axiosInstance.defaults.baseURL=e.baseURL),e.timeout&&(this.axiosInstance.defaults.timeout=e.timeout),e.headers&&Object.assign(this.axiosInstance.defaults.headers,e.headers),"auth"in e){let t=this.getAuthHeaders();delete this.axiosInstance.defaults.headers.common.Authorization,Object.assign(this.axiosInstance.defaults.headers.common,t);}}getConfig(){return {...this.config}}getAuthType(){return this.config.auth?.type}getIdToken(){return this.config.auth?.type==="oauth"?this.config.auth.idToken:void 0}setIdToken(e){this.updateConfig({auth:{type:"oauth",idToken:e}});}};var Ht=class{constructor(e={}){this.httpService=new Le(e),this.networks=new z(this.httpService),this.files=new J(this.httpService),this.workspace=new K(this.httpService),this.user=new G(this.httpService),this.admin=new Q(this.httpService);}logout(){this.httpService.updateConfig({auth:void 0});}async getServerStatus(e){let t=new URLSearchParams;e&&t.append("format",e);let r=`admin/status${t.toString()?`?${t.toString()}`:""}`;return this.httpService.get(r)}hasAuthInfo(){let e=this.httpService.getConfig().auth;return e?e.type==="basic"?!!e.username&&!!e.password:e.type==="oauth"?!!e.idToken:false:false}updateConfig(e){this.httpService.updateConfig(e);}getConfig(){return this.httpService.getConfig()}get http(){return this.httpService}get v2(){return {networks:this.networks.v2}}get v3(){return {networks:this.networks.v3}}},fa=Ie;
8
+ exports.AdminService=Q;exports.CX2Network=F;exports.CyNDEx=Ue;exports.CyNDExService=Ue;exports.FilesService=J;exports.NDExAuthError=fe;exports.NDExClient=Ht;exports.NDExError=A;exports.NDExNetworkError=le;exports.NDExNotFoundError=me;exports.NDExServerError=ge;exports.NDExValidationError=he;exports.NetworkIndexLevel=Jt;exports.NetworkServiceV2=H;exports.NetworkServiceV3=W;exports.UnifiedNetworkService=z;exports.UserService=G;exports.WorkspaceService=K;exports.version=fa;return exports;})({});//# sourceMappingURL=index.global.js.map
9
9
  //# sourceMappingURL=index.global.js.map