@hpcc-js/comms 2.69.0 → 2.70.0

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.
Files changed (55) hide show
  1. package/dist/index.es6.js +65 -4
  2. package/dist/index.es6.js.map +1 -1
  3. package/dist/index.js +66 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +1 -1
  6. package/dist/index.min.js.map +1 -1
  7. package/dist/index.node.js +66 -3
  8. package/dist/index.node.js.map +1 -1
  9. package/dist/index.node.min.js +1 -1
  10. package/dist/index.node.min.js.map +1 -1
  11. package/lib-es6/__package__.js +2 -2
  12. package/lib-es6/ecl/workunit.js +3 -0
  13. package/lib-es6/ecl/workunit.js.map +1 -1
  14. package/lib-es6/index-common.js +2 -0
  15. package/lib-es6/index-common.js.map +1 -1
  16. package/lib-es6/services/wsDFU.js +1 -1
  17. package/lib-es6/services/wsDFU.js.map +1 -1
  18. package/lib-es6/services/wsLogaccess.js +11 -0
  19. package/lib-es6/services/wsLogaccess.js.map +1 -0
  20. package/lib-es6/services/wsResources.js +11 -0
  21. package/lib-es6/services/wsResources.js.map +1 -0
  22. package/lib-es6/services/wsdl/WsLogaccess/v1/WsLogaccess.js +28 -0
  23. package/lib-es6/services/wsdl/WsLogaccess/v1/WsLogaccess.js.map +1 -0
  24. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js +20 -0
  25. package/lib-es6/services/wsdl/WsResources/v1.01/WsResources.js.map +1 -0
  26. package/package.json +19 -5
  27. package/src/__package__.ts +2 -2
  28. package/src/ecl/workunit.ts +3 -0
  29. package/src/index-common.ts +2 -0
  30. package/src/services/wsDFU.ts +3 -2
  31. package/src/services/wsLogaccess.ts +8 -0
  32. package/src/services/wsResources.ts +8 -0
  33. package/src/services/wsdl/WsLogaccess/v1/WsLogaccess.ts +78 -0
  34. package/src/services/wsdl/WsResources/v1.01/WsResources.ts +119 -0
  35. package/types/__package__.d.ts +2 -2
  36. package/types/ecl/workunit.d.ts.map +1 -1
  37. package/types/index-common.d.ts +2 -0
  38. package/types/index-common.d.ts.map +1 -1
  39. package/types/services/wsDFU.d.ts +2 -1
  40. package/types/services/wsDFU.d.ts.map +1 -1
  41. package/types/services/wsLogaccess.d.ts +5 -0
  42. package/types/services/wsLogaccess.d.ts.map +1 -0
  43. package/types/services/wsResources.d.ts +5 -0
  44. package/types/services/wsResources.d.ts.map +1 -0
  45. package/types/services/wsdl/WsLogaccess/v1/WsLogaccess.d.ts +51 -0
  46. package/types/services/wsdl/WsLogaccess/v1/WsLogaccess.d.ts.map +1 -0
  47. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts +85 -0
  48. package/types/services/wsdl/WsResources/v1.01/WsResources.d.ts.map +1 -0
  49. package/types-3.4/__package__.d.ts +2 -2
  50. package/types-3.4/index-common.d.ts +2 -0
  51. package/types-3.4/services/wsDFU.d.ts +2 -1
  52. package/types-3.4/services/wsLogaccess.d.ts +5 -0
  53. package/types-3.4/services/wsResources.d.ts +5 -0
  54. package/types-3.4/services/wsdl/WsLogaccess/v1/WsLogaccess.d.ts +51 -0
  55. package/types-3.4/services/wsdl/WsResources/v1.01/WsResources.d.ts +85 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/whatwg-fetch/fetch.js","../../../node_modules/tslib/tslib.es6.js","../src/connection.ts","../src/espConnection.ts","../src/services/wsAccount.ts","../src/services/wsCodesign.ts","../src/services/wsDFU.ts","../src/services/wsDFUXRef.ts","../src/services/wsEcl.ts","../../../node_modules/d3-array/src/ascending.js","../../../node_modules/d3-array/src/bisect.js","../../../node_modules/d3-array/src/bisector.js","../../../node_modules/d3-array/src/number.js","../../../node_modules/d3-array/src/max.js","../../../node_modules/d3-array/src/mean.js","../src/services/wsTopology.ts","../src/services/wsMachine.ts","../src/services/wsSMC.ts","../src/services/wsStore.ts","../src/services/wsWorkunits.ts","../../../node_modules/d3-time/src/interval.js","../../../node_modules/d3-time/src/duration.js","../../../node_modules/d3-time/src/day.js","../../../node_modules/d3-time/src/week.js","../../../node_modules/d3-time/src/year.js","../../../node_modules/d3-time/src/utcDay.js","../../../node_modules/d3-time/src/utcWeek.js","../../../node_modules/d3-time/src/utcYear.js","../../../node_modules/d3-time-format/src/locale.js","../../../node_modules/d3-time-format/src/defaultLocale.js","../src/ecl/graph.ts","../src/ecl/resource.ts","../src/ecl/xsdParser.ts","../src/ecl/activity.ts","../src/ecl/result.ts","../src/ecl/scope.ts","../src/ecl/sourceFile.ts","../src/ecl/timer.ts","../src/ecl/workunit.ts","../src/ecl/logicalFile.ts","../src/ecl/machine.ts","../src/ecl/query.ts","../src/ecl/store.ts","../src/ecl/targetCluster.ts","../src/ecl/topology.ts","../src/__package__.ts"],"names":["global","globalThis","self","support","searchParams","iterable","Symbol","blob","Blob","e","formData","arrayBuffer","viewClasses","isArrayBufferView","ArrayBuffer","isView","obj","indexOf","Object","prototype","toString","call","normalizeName","name","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","iterator","next","shift","done","undefined","Headers","headers","this","map","forEach","append","Array","isArray","header","getOwnPropertyNames","consumed","body","bodyUsed","Promise","reject","fileReaderReady","reader","resolve","onload","result","onerror","error","readBlobAsArrayBuffer","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","get","type","rejected","Error","isConsumed","byteOffset","then","text","readAsText","chars","length","i","fromCharCode","join","readArrayBufferAsText","decode","json","JSON","parse","oldValue","has","hasOwnProperty","callback","thisArg","keys","push","values","entries","methods","Request","input","options","method","upcased","url","credentials","mode","signal","toUpperCase","referrer","cache","reParamSearch","replace","Date","getTime","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","location","DOMException","err","message","stack","create","constructor","fetch","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","key","responseURL","responseText","setTimeout","ontimeout","onabort","open","href","fixUrl","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","extendStatics","d","b","setPrototypeOf","__proto__","p","__extends","__","__assign","assign","t","s","n","arguments","apply","__awaiter","_arguments","P","generator","fulfilled","step","__generator","f","y","g","_","label","sent","trys","ops","verb","throw","return","v","op","pop","logger","scopedLogger","DefaultOptions","baseUrl","userID","password","rejectUnauthorized","timeoutSecs","encode","uriComponent","encodeRequest","encodeURIComponent","serializeRequest","prefix","str","includeItemCount_1","row","deserializeResponse","jsonp","opts","action","console","warn","respondedTimeout","callbackName","Math","round","random","window","doCallback","script","document","createElement","src","appendChild","progress","setInterval","clearInterval","debug","removeChild","_omitMap","doFetch","requestInit","headersInit","handleResponse","Authorization","btoa","authHeader","promiseTimeout","catch","responseBody","post","abortSignal","upload_","abortSignal_","Content-Type","retVal","hookedSend","Connection","defineProperty","_opts","hookSend","arg","createConnection","ESPExceptions","exceptions","_this","_super","Source","isESPExceptions","Exception","Code","Message","ESPConnection","optsConnection","service","version","_connection","isConnection","_service","_version","toESPStringArray","target","arrayName","_request","espResponseType","largeUpload","espResponseField","serviceAction","ver_","actionParts","Exceptions","Service","AccountService","connectionOptions","MyAccount","UpdateUser","UpdateUserInput","VerifyUser","some","exception","retcode","CodesignService","ListUserIDs","UserIDs","Item","Sign","SigningMethod","Verify","DFUService","DFUQuery","DFUInfo","DFUFile","ListHistory","EraseHistory","DFUXRefService","DFUXRefArrayAction","DFUXRefBuild","DFUXRefBuildCancel","DFUXRefCleanDirectories","DFUXRefDirectories","DFUXRefFoundFiles","DFUXRefList","DFUXRefLostFiles","DFUXRefMessages","DFUXRefOrphanFiles","DFUXRefUnusedFiles","jsonToIField","id","item","Row","children","jsonToIFieldArr","fieldType","fields","jsonToIFieldObj","EclService","requestJson","querySet","queryId","requestSchema","responseJson","responseSchema","Results","resultsJson","submit","ascending","a","NaN","compare","x","number","d3Max","valueof","max","d3Mean","m","sum","isNaN","RoxieQueueFilter","TpLogicalClusterQuery","MachineService","GetTargetClusterInfo","GetTargetClusterUsage","targetClusters","bypassCachedResult","TargetClusters","BypassCachedResult","exists","TargetClusterUsages","TargetClusterUsage","GetTargetClusterUsageEx","filter","tcu","ComponentUsages","ComponentUsage","cu","MachineUsages","MachineUsage","mu","DiskUsages","DiskUsage","du","Total","InUse","Available","PercentUsed","PercentAvailable","Name","NetAddress","Description","mean","Type","MachineUsagesDescription","reduce","prev","ComponentUsagesDescription","SMCService","Activity","Running","ActiveWorkunit","BrowseResources","GetBuildInfo","GetStatusServerInfo","GetThorQueueAvailability","LockQuery","NotInCommunityEdition","RoxieControlCmd","SetBanner","SMCJob","StoreService","CreateStore","Delete","Success","DeleteNamespace","Fetch","Value","FetchAll","FetchKeyMD","ListKeys","ListNamespaces","Set","Action","WUUpdate","TopologyService","protocol","ip","DefaultTpLogicalClusterQuery","default","TpLogicalClusters","TpLogicalCluster","idx","first","firstHThor","TpServiceQuery","TpTargetClusterQuery","TpListTargetClusters","isECLResult","WUStateID","WorkunitsService","connection","Ping","WUQuery","deepMixin","Workunits","ECLWorkunit","WUInfo","Wuid","TruncateEclTo64k","IncludeExceptions","IncludeGraphs","IncludeSourceFiles","IncludeResults","IncludeResultsViewNames","IncludeVariables","IncludeTimers","IncludeDebugValues","IncludeApplicationValues","IncludeWorkflows","IncludeXmlSchemas","IncludeResourceURLs","IncludeECL","IncludeHelpers","IncludeAllowedClusters","IncludeTotalClusterTime","IncludeServiceNames","SuppressResultSchemas","WUCreate","WUSubmit","WUResubmit","WUQueryDetails","WUListQueries","WUPushEvent","WUAction","ActionType","WUActionType","WUGetZAPInfo","WUShowScheduled","WUQuerySetAliasAction","WUQuerySetQueryAction","WUPublishWorkunit","WUGetGraph","WUResult","WUQueryGetGraph","WUFile","WUGetStats","WUQueryGetSummaryStats","WUDetailsMeta","_WUDetailsMetaPromise","WUDetails","WUCDebug","xml2json","Result","t0","t1","newInterval","floori","offseti","count","field","interval","date","floor","ceil","d0","d1","offset","range","start","stop","previous","setTime","end","every","isFinite","durationMinute","durationWeek","day","setHours","setDate","getDate","getTimezoneOffset","weekday","getDay","sunday","monday","thursday","year","setMonth","setFullYear","getFullYear","k","utcDay","setUTCHours","setUTCDate","getUTCDate","utcWeekday","getUTCDay","utcSunday","utcMonday","utcThursday","utcYear","setUTCMonth","setUTCFullYear","getUTCFullYear","localDate","H","M","S","L","utcDate","UTC","newDate","locale","utcFormat","utcParse","pads","-","0","numberRe","percentRe","requoteRe","pad","fill","width","sign","string","requote","formatRe","names","RegExp","formatLookup","parseWeekdayNumberSunday","exec","w","parseWeekdayNumberMonday","u","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","q","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","getHours","formatHour12","formatDayOfYear","timeDay","timeYear","formatMilliseconds","getMilliseconds","formatMicroseconds","formatMonthNumber","getMonth","formatMinutes","getMinutes","formatSeconds","getSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","timeSunday","dISO","timeThursday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","timeMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","z","formatUTCDayOfMonth","formatUTCHour24","getUTCHours","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","getUTCMonth","formatUTCMinutes","getUTCMinutes","formatUTCSeconds","getUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","locale_dateTime","dateTime","locale_date","locale_time","time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","A","B","c","G","I","j","X","Y","%","utcFormats","parses","parseSpecifier","newFormat","specifier","format","charCodeAt","charAt","newParse","week","formatLocale","ECLGraph","wu","eclGraph","eclTimers","duration","_i","eclTimers_1","eclTimer","GraphName","HasSubGraphId","Seconds","Time","fetchScopeGraph","subgraphID","fetchGraphDetails","scopes","createGraph","StateObject","GraphCache","Cache","hash","flattenAtt","nodes","node","$","XGMMLGraph","Graph","XGMMLSubgraph","Subgraph","XGMMLVertex","Vertex","XGMMLEdge","Edge","createXGMMLGraph","graphs","subgraphs","vertices","edges","graph","root","walkXmlJson","childNode","tag","attributes","childNodes","_stack","top","subgraph","createSubgraph","vertex","createVertex","edge","createEdge","ScopeGraph","ScopeSubgraph","ScopeVertex","ScopeEdge","scopes_1","scope","ScopeType","Id","ScopeName","scopeStack","parentScope","scopeParent1","parent1","log","scopeParent2","scopeParent3","parent3","source","attr","RawValue","Resource","cleanedURL","urlParts","matchStr","displayPath","displayName","substr","URL","DisplayName","DisplayPath","XSDNode","fix","XSDXMLNode","isSet","attrs","_children","child","_a","splice","setOfType","isAll","charWidth","underbarPos","lastIndexOf","length_1","parseInt","substring","XSDSimpleType","_restricition","_maxLength","maxLength","XSDSchema","simpleTypes","XSDParser","schema","xsdStack","Stack","startXMLNode","xsdXMLNode","depth","simpleType","endXMLNode","xsdXMLNode2","SAXStackParser","parseXSD","xml","saxParser","XSDParser2","rootName","_rootName","_activity","GlobalResultCache","BaseUrl","ResultName","_results","wuid_NodeGroup","name_sequence_eclResult_logicalFile","resultViews_isLogicalFile","NodeGroup","LogicalFileName","ResultViews","ResultSequence","attach","wuid","name_sequence_eclResult","resultViews","attachLogicalFile","nodeGroup","logicalFile","isComplete","fetchXMLSchema","xsdSchema","XmlSchema","refresh","fetchRows","from","includeSchema","rootField","suppressXmlSchema","FilterBy","NamedValue","itemcount","Sequence","LogicalName","Cluster","Start","Count","SuppressXmlSchema","ResultCache","FileName","Attribute","attribute","BaseScope","_attributeMap","update","Property","Note","timeElapsed","Properties","scopeAttr","Measure","FormattedEnd","Formatted","CAttributes","properties","scopeParts","walk","visitor","formattedAttrs","rawAttrs","hasAttr","Creator","CreatorType","attrMeasure","calcTooltip","rows","Scope","SourceFile","eclSourceFile","Timer","secs","espTime2Seconds","SubGraphId","formatter","parser","WsWorkunits.WUStateID","WorkunitCache","_workunits","Workunit","_debugMode","_resultCache","_graphCache","WsWorkunits.WorkunitsService","topologyConnection","WsTopology.TopologyService","clearState","Unknown","StateID","ECLException","View","ECLResult","eclResult","CResults","ECLTimer","Timers","Graphs","CTimers","ResourceURLs","ApplicationValue","ECLHelpFile","ECLSourceFile","SourceFiles","state","existsLocal","server","ecl","compileOnly","QueryText","WsWorkunits.WUUpdate","Compile","compile","query","clear","StateOrig","State","JobnameOrig","Jobname","DescriptionOrig","ProtectedOrig","Protected","ClusterOrig","_cluster","resultLimit","clusterPromise","Run","Debug","cluster","ResultLimit","DebugValues","DebugValue","_submitAction","Compiled","ActionEx","Completed","Failed","Aborted","NotFound","isFailed","isDeleted","isDebugging","DebugPaused","DebugRunning","isRunning","Aborting","Blocked","setToFailed","pause","pauseNow","resume","delete","restore","deschedule","reschedule","resubmit","CloneWorkunit","ResetWorkflow","_monitor","WUs","WU","WUID","refreshState","refreshInfo","refreshDebug","debugStatus","full","all","eclExceptions","fetchArchive","fetchECLExceptions","fetchResults","fetchGraphs","CGraphs","fetchQuery","Query","fetchHelpers","Helpers","fetchAllowedClusters","AllowedClusters","AllowedCluster","fetchTotalClusterTime","TotalClusterTime","fetchServiceNames","ServiceNames","fetchDetailsMeta","fetchDetailsRaw","Scopes","fetchDetailsNormalized","promises","meta","columns","data","props","formattedProps","scopeProperty","toISOString","__formattedProps","fetchInfo","fetchDetails","rawScope","fetchDetailsHierarchy","scopeMap","parentScopeID","graphIDs","rootTypes","ScopeFilter","MaxDepth","Ids","ScopeTypes","NestedFilter","Depth","PropertiesToReturn","AllStatistics","AllAttributes","AllHints","AllProperties","AllScopes","ScopeOptions","IncludeId","IncludeScope","IncludeScopeType","PropertyOptions","IncludeName","IncludeRawValue","IncludeFormatted","IncludeMeasure","IncludeCreator","IncludeCreatorType","fetchScopeGraphs","fetchTimeElapsed","PropertyFilters","PropertyFilter","scopeInfo","elapsed","finish","endTime","setMilliseconds","sort","l","r","_monitorTickCount","_monitorTimeoutDuraction","on","eventID","propIDorCallback","isCallback","changeInfo","watchUntilComplete","watchHandle","watch","changes","release","watchUntilRunning","warning","includeResults","deepMixinT","Wuids","IncludeMatchedScopesInResults","actionType","publish","JobName","AllowForeignFiles","Activate","Wait","command","optsStr","Command","XMLNode","debugState","DebugState","debugContinue","debugStep","debugPause","debugQuit","debugDeleteAllBreakpoints","debugBreakpointResponseParser","rootNode","debugBreakpointAdd","debugBreakpointList","debugGraph","_debugAllGraph","debugBreakpointValid","path","hasECLDefinition","definition","getECLDefinition","file","breakpointLocations","debugPrint","edgeID","startRow","numRows","rowNode","cellNode","content","ATTR_DEFINITION","match","_file","_row","_col","column","lazyRefresh","debounce","runningWorkunits","clusterName","awu","ClusterName","setBanner","LogicalFileCache","_store","LogicalFile","filePartsOnCluster","to","pack","ar","concat","__spreadArray","DFUFilePartsOnClusters","DFUFilePartsOnCluster","fileParts","_c","poc","_d","_e","_b","DFUFileParts","DFUPart","part","FileDetail","fetchDefFile","Format","fetchListHistory","History","Origin","eraseHistory","MachineCache","Address","_machines","Machine","address","_queries","QueryCache","QueryId","QuerySet","queryID","queryDetails","_wsWorkunits","fetchRequestSchema","_requestSchema","fetchResponseSchema","_responseSchema","fetchSchema","fetchSummaryStats","Target","results","requestFields","responseFields","resultNames","resultFields","resultName","StoreCache","UserSpecific","Namespace","ValueChangedMessage","conflate","other","void","Store","_dispatch","Dispatch","_knownValues","broadcast","StoreName","Key","getAll","deletedValues","Pairs","Pair","pair","monitor","TargetClusterCache","_targetCluster","TargetCluster","machineConnection","MachineInfoEx","machineInfoEx","fetchMachines","TargetClusterInfoList","TargetClusterInfo","Processes","CMachineInfoEx","machineStats","maxDisk","totalFree","total","Storage","StorageInfo","storageInfo","usage","meanDisk","fetchUsage","_defaultTargetCluster","TopologyCache","_topology","Topology","tc","GetESPServiceBaseURL","rootProtocol","port","ServiceList","TpEspServers","TpEspServer","TpBindings","TpBinding","binding","Protocol","Port","fetchTargetClusters","TpTargetClusters","TpTargetCluster","CTargetClusters","fetchLogicalClusters","LogicalClusters","fetchServices","Services","force","_prevRefresh","firstItem","defaultItem","hthorItem","TpClusterNameType","IsDefault","defItem","newSend","object","StateEx","newFunc"],"mappings":"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","sourcesContent":["var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global)\n\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this)\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : ''\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n })\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { join, promiseTimeout, scopedLogger } from \"@hpcc-js/util\";\n\nconst logger = scopedLogger(\"comms/connection.ts\");\n\nexport type RequestType = \"post\" | \"get\" | \"jsonp\";\nexport type ResponseType = \"json\" | \"text\";\n\nexport type IOptionsSend = (options: IOptions, action: string, request: any, responseType: ResponseType, defaultSend: SendFunc, header?: any) => Promise<any>;\nexport interface IOptions {\n baseUrl: string;\n type?: RequestType;\n userID?: string;\n password?: string;\n rejectUnauthorized?: boolean;\n timeoutSecs?: number;\n hookSend?: IOptionsSend;\n encodeRequest?: boolean; // defaults to true\n}\nexport function instanceOfIOptions(object: any): object is IOptions {\n return \"baseUrl\" in object;\n}\n\nconst DefaultOptions: IOptions = {\n type: \"post\",\n baseUrl: \"\",\n userID: \"\",\n password: \"\",\n rejectUnauthorized: true,\n timeoutSecs: 60\n};\n\nexport interface IConnection {\n opts(_: Partial<IOptions>): this;\n opts(): IOptions;\n baseUrl: string;\n\n send(action: string, request: any, responseType?: ResponseType): Promise<any>;\n clone(): IConnection;\n}\nexport function instanceOfIConnection(object: any): object is IConnection {\n return typeof object.opts === \"function\" &&\n typeof object.send === \"function\" &&\n typeof object.clone === \"function\";\n}\n\n// comms ---\n\nfunction encode(uriComponent: string | number | boolean, encodeRequest: boolean): string {\n return (encodeRequest === undefined || encodeRequest === true) ? encodeURIComponent(uriComponent) : \"\" + uriComponent;\n}\n\nexport function serializeRequest(obj: any, encodeRequest: boolean = true, prefix: string = \"\"): string {\n if (prefix) {\n prefix += \".\";\n }\n if (typeof obj !== \"object\") {\n return encode(obj, encodeRequest);\n }\n\n const str: string[] = [];\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (obj[key] instanceof Array) {\n // Specific to ESP - but no REST standard exists...\n let includeItemCount = false;\n obj[key].forEach((row: any, i: number) => {\n if (typeof row === \"object\") {\n includeItemCount = true;\n str.push(serializeRequest(row, encodeRequest, prefix + encode(`${key}.${i}`, encodeRequest)));\n } else {\n str.push(prefix + encode(`${key}_i${i}`, encodeRequest) + \"=\" + serializeRequest(row, encodeRequest));\n }\n });\n if (includeItemCount) {\n str.push(prefix + encode(`${key}.itemcount`, encodeRequest) + \"=\" + obj[key].length);\n }\n } else if (typeof obj[key] === \"object\") {\n if (obj[key] && obj[key][\"Item\"] instanceof Array) { // Specific to ws_machine.GetTargetClusterInfo?\n str.push(serializeRequest(obj[key][\"Item\"], encodeRequest, prefix + encode(key, encodeRequest)));\n str.push(prefix + encode(`${key}.itemcount`, encodeRequest) + \"=\" + obj[key][\"Item\"].length);\n } else {\n str.push(serializeRequest(obj[key], encodeRequest, prefix + encode(key, encodeRequest)));\n }\n } else if (obj[key] !== undefined) {\n str.push(prefix + encode(key, encodeRequest) + \"=\" + encode(obj[key], encodeRequest));\n } else {\n str.push(prefix + encode(key, encodeRequest));\n }\n }\n }\n return str.join(\"&\");\n}\n\nexport function deserializeResponse(body: string) {\n return JSON.parse(body);\n}\n\nexport function jsonp(opts: IOptions, action: string, request: any = {}, responseType: ResponseType = \"json\", header?: any): Promise<any> {\n if (header) {\n console.warn(\"Header attributes ignored for JSONP connections\");\n }\n return new Promise<any>((resolve, reject) => {\n let respondedTimeout = opts.timeoutSecs! * 1000;\n const respondedTick = 5000;\n const callbackName = \"jsonp_callback_\" + Math.round(Math.random() * 999999);\n (window as any)[callbackName] = function (response: any) {\n respondedTimeout = 0;\n doCallback();\n resolve(responseType === \"json\" && typeof response === \"string\" ? deserializeResponse(response) : response);\n };\n const script = document.createElement(\"script\");\n let url = join(opts.baseUrl, action);\n url += url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n script.src = url + \"jsonp=\" + callbackName + \"&\" + serializeRequest(request, opts.encodeRequest);\n document.body.appendChild(script);\n const progress = setInterval(function () {\n if (respondedTimeout <= 0) {\n clearInterval(progress);\n } else {\n respondedTimeout -= respondedTick;\n if (respondedTimeout <= 0) {\n clearInterval(progress);\n logger.error(\"Request timeout: \" + script.src);\n doCallback();\n reject(Error(\"Request timeout: \" + script.src));\n } else {\n logger.debug(\"Request pending (\" + respondedTimeout / 1000 + \" sec): \" + script.src);\n }\n }\n }, respondedTick);\n\n function doCallback() {\n delete (window as any)[callbackName];\n document.body.removeChild(script);\n }\n });\n}\n\nfunction authHeader(opts: IOptions): object {\n return opts.userID ? { Authorization: `Basic ${btoa(`${opts.userID}:${opts.password}`)}` } : {};\n}\n\n// _omitMap is a workaround for older HPCC-Platform instances without credentials ---\nconst _omitMap: { [baseUrl: string]: boolean } = {};\nfunction doFetch(opts: IOptions, action: string, requestInit: RequestInit, headersInit: HeadersInit, responseType: string) {\n headersInit = {\n ...authHeader(opts),\n ...headersInit\n };\n\n requestInit = {\n credentials: _omitMap[opts.baseUrl] ? \"omit\" : \"include\",\n ...requestInit,\n headers: headersInit\n };\n\n if (opts.baseUrl.indexOf(\"https:\") === 0) {\n // NodeJS / node-fetch only ---\n if (opts.rejectUnauthorized === false && fetch[\"__rejectUnauthorizedAgent\"]) {\n requestInit[\"agent\"] = fetch[\"__rejectUnauthorizedAgent\"];\n } else if (fetch[\"__trustwaveAgent\"]) {\n requestInit[\"agent\"] = fetch[\"__trustwaveAgent\"];\n }\n }\n\n function handleResponse(response: Response): Promise<any> {\n if (response.ok) {\n return responseType === \"json\" ? response.json() : response.text();\n }\n throw new Error(response.statusText);\n }\n\n return promiseTimeout(opts.timeoutSecs! * 1000, fetch(join(opts.baseUrl, action), requestInit)\n .then(handleResponse)\n .catch(e => {\n // Try again with the opposite credentials mode ---\n requestInit.credentials = !_omitMap[opts.baseUrl] ? \"omit\" : \"include\";\n return fetch(join(opts.baseUrl, action), requestInit)\n .then(handleResponse)\n .then(responseBody => {\n _omitMap[opts.baseUrl] = !_omitMap[opts.baseUrl]; // The \"opposite\" credentials mode is known to work ---\n return responseBody;\n });\n })\n );\n}\n\nexport function post(opts: IOptions, action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\n if (request.upload_) {\n delete request.upload_;\n action += \"?upload_\";\n }\n let abortSignal;\n if (request.abortSignal_) {\n abortSignal = request.abortSignal_;\n delete request.abortSignal_;\n }\n return doFetch(opts, action, {\n method: \"post\",\n body: serializeRequest(request, opts.encodeRequest),\n signal: abortSignal\n }, {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n ...header\n } as any, responseType);\n}\n\nexport function get(opts: IOptions, action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\n let abortSignal;\n if (request.abortSignal_) {\n abortSignal = request.abortSignal_;\n delete request.abortSignal_;\n }\n return doFetch(opts, `${action}?${serializeRequest(request, opts.encodeRequest)}`, {\n method: \"get\",\n signal: abortSignal\n }, {\n ...header\n } as any, responseType);\n}\n\nexport type SendFunc = (opts: IOptions, action: string, request: any, responseType: ResponseType, header?: any) => Promise<any>;\nexport function send(opts: IOptions, action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\n let retVal: Promise<any>;\n switch (opts.type) {\n case \"jsonp\":\n retVal = jsonp(opts, action, request, responseType, header);\n break;\n case \"get\":\n retVal = get(opts, action, request, responseType, header);\n break;\n case \"post\":\n default:\n retVal = post(opts, action, request, responseType, header);\n break;\n }\n return retVal;\n}\n\nlet hookedSend: SendFunc = send;\nexport function hookSend(newSend?: SendFunc): SendFunc {\n const retVal = hookedSend;\n if (newSend) {\n hookedSend = newSend;\n }\n return retVal;\n}\n\nexport class Connection implements IConnection {\n protected _opts: IOptions;\n get baseUrl() { return this._opts.baseUrl; }\n\n constructor(opts: IOptions) {\n this.opts(opts);\n }\n\n // IConnection ---\n opts(_: Partial<IOptions>): this;\n opts(): IOptions;\n opts(_?: Partial<IOptions>): this | IOptions {\n if (arguments.length === 0) return this._opts;\n this._opts = { ...DefaultOptions, ..._ };\n return this;\n }\n\n send(action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\n if (this._opts.hookSend) {\n return this._opts.hookSend(this._opts, action, request, responseType, hookedSend, header);\n }\n return hookedSend(this._opts, action, request, responseType, header);\n }\n\n clone() {\n return new Connection(this.opts());\n }\n}\n\nexport type IConnectionFactory = (opts: IOptions) => IConnection;\nexport let createConnection: IConnectionFactory = function (opts: IOptions): IConnection {\n return new Connection(opts);\n};\n\nexport function setTransportFactory(newFunc: IConnectionFactory): IConnectionFactory {\n const retVal = createConnection;\n createConnection = newFunc;\n return retVal;\n}\n","import { join } from \"@hpcc-js/util\";\nimport { createConnection, IConnection, IOptions, ResponseType } from \"./connection\";\n\nexport type ESPResponseType = ResponseType | \"json2\" | \"xsd\";\n\nexport function isArray(arg: any) {\n return Object.prototype.toString.call(arg) === \"[object Array]\";\n}\n\nexport interface Exception {\n Code: number;\n Message: string;\n}\n\nexport interface Exceptions {\n Source: string;\n Exception: Exception[];\n}\n\nexport class ESPExceptions extends Error implements Exceptions {\n isESPExceptions = true;\n action: string;\n request: string;\n Source: string;\n Exception: Exception[];\n\n constructor(action: string, request: any, exceptions: Exceptions) {\n super(\"ESPException: \" + exceptions.Source);\n this.action = action;\n this.request = request;\n this.Source = exceptions.Source;\n this.Exception = exceptions.Exception;\n if (exceptions.Exception.length) {\n this.message = `${exceptions.Exception[0].Code}: ${exceptions.Exception[0].Message}`;\n } else {\n this.message = \"\";\n }\n }\n}\n\nexport function isExceptions(err: any): err is Exceptions {\n return err instanceof ESPExceptions || (err.isESPExceptions && Array.isArray(err.Exception));\n}\n\nfunction isConnection(optsConnection: IOptions | IConnection): optsConnection is IConnection {\n return (optsConnection as IConnection).send !== undefined;\n}\n\nexport class ESPConnection implements IConnection {\n private _connection: IConnection;\n get baseUrl() { return this._connection.opts().baseUrl; }\n private _service: string;\n private _version: string;\n\n constructor(optsConnection: IOptions | IConnection, service: string, version: string) {\n this._connection = isConnection(optsConnection) ? optsConnection : createConnection(optsConnection);\n this._service = service;\n this._version = version;\n }\n\n service(): string;\n service(_: string): ESPConnection;\n service(_?: string): string | ESPConnection {\n if (_ === void 0) return this._service;\n this._service = _;\n return this;\n }\n\n version(): string;\n version(_: string): ESPConnection;\n version(_?: string): string | ESPConnection {\n if (_ === void 0) return this._version;\n this._version = _;\n return this;\n }\n\n toESPStringArray(target: any, arrayName: string): any {\n if (isArray(target[arrayName])) {\n for (let i = 0; i < target[arrayName].length; ++i) {\n target[arrayName + \"_i\" + i] = target[arrayName][i];\n }\n delete target[arrayName];\n }\n return target;\n }\n\n // IConnection ---\n opts(_: Partial<IOptions>): this;\n opts(): IOptions;\n opts(_?: Partial<IOptions>): this | IOptions {\n if (_ === void 0) return this._connection.opts();\n this._connection.opts(_);\n return this;\n }\n\n send(action: string, _request: any = {}, espResponseType: ESPResponseType = \"json\", largeUpload: boolean = false, abortSignal?: AbortSignal, espResponseField?: string): Promise<any> {\n const request = { ..._request, ...{ ver_: this._version } };\n if (largeUpload) {\n request[\"upload_\"] = true;\n }\n if (abortSignal) {\n request[\"abortSignal_\"] = abortSignal;\n }\n let serviceAction: string;\n let responseType: ResponseType = \"json\";\n switch (espResponseType) {\n case \"text\":\n serviceAction = join(this._service, action);\n responseType = \"text\";\n break;\n case \"xsd\":\n serviceAction = join(this._service, action + \".xsd\");\n responseType = \"text\";\n break;\n case \"json2\":\n serviceAction = join(this._service, action + \"/json\");\n espResponseType = \"json\";\n const actionParts = action.split(\"/\");\n action = actionParts.pop()!;\n break;\n default:\n serviceAction = join(this._service, action + \".json\");\n }\n return this._connection.send(serviceAction, request, responseType).then((response) => {\n if (espResponseType === \"json\") {\n let retVal;\n if (response && response.Exceptions) {\n throw new ESPExceptions(action, request, response.Exceptions);\n } else if (response) {\n retVal = response[espResponseField || (action + \"Response\")];\n }\n if (!retVal) {\n throw new ESPExceptions(action, request, {\n Source: \"ESPConnection.send\",\n Exception: [{ Code: 0, Message: \"Missing Response\" }]\n });\n }\n return retVal;\n }\n return response;\n }).catch(e => {\n if (e.isESPExceptions) {\n throw e;\n }\n throw new ESPExceptions(action, request, {\n Source: \"ESPConnection.send\",\n Exception: [{ Code: 0, Message: e.message }]\n });\n });\n }\n\n clone() {\n return new ESPConnection(this._connection.clone(), this._service, this._version);\n }\n}\n\nexport class Service {\n protected _connection: ESPConnection;\n get baseUrl() { return this._connection.opts().baseUrl; }\n\n constructor(optsConnection: IOptions | IConnection, service: string, version: string) {\n this._connection = new ESPConnection(optsConnection, service, version);\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { ESPConnection, ESPExceptions } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/Ws_Account/?reqjson_\n * http://localhost:8010/Ws_Account/?respjson_\n * http://json2ts.com/\n*/\nexport namespace WsAccount {\n\n export interface MyAccountRequest {\n }\n\n export interface WsAccountPingRequest {\n }\n\n export interface UpdateUserRequest {\n username: string;\n oldpass: string;\n newpass1: string;\n newpass2: string;\n }\n\n export interface UpdateUserInputRequest {\n }\n\n export interface VerifyUserRequest {\n application: string;\n version: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface MyAccountResponse {\n Exceptions: Exceptions;\n username: string;\n firstName: string;\n lastName: string;\n passwordExpiration: string;\n passwordDaysRemaining: number;\n passwordExpirationWarningDays: number;\n employeeID: string;\n distinguishedName: string;\n accountType: string;\n passwordNeverExpires: boolean;\n passwordIsExpired: boolean;\n accountStatus: number;\n }\n\n export interface WsAccountPingResponse {\n }\n\n export interface UpdateUserResponse {\n Exceptions: Exceptions;\n retcode: number;\n message: string;\n }\n\n export interface UpdateUserInputResponse {\n Exceptions: Exceptions;\n username: string;\n }\n\n export interface VerifyUserResponse {\n Exceptions: Exceptions;\n retcode: number;\n }\n}\n\nexport class AccountService {\n private _connection: ESPConnection;\n\n constructor(optsConnection: IOptions | IConnection) {\n this._connection = new ESPConnection(optsConnection, \"Ws_Account\", \"1.05\");\n }\n\n connectionOptions(): IOptions {\n return this._connection.opts();\n }\n\n MyAccount(request: WsAccount.MyAccountRequest): Promise<WsAccount.MyAccountResponse> {\n return this._connection.send(\"MyAccount\", request);\n }\n\n UpdateUser(request: WsAccount.UpdateUserRequest): Promise<WsAccount.UpdateUserResponse> {\n return this._connection.send(\"UpdateUser\", request);\n }\n\n UpdateUserInput(request: WsAccount.UpdateUserInputRequest): Promise<WsAccount.UpdateUserInputResponse> {\n return this._connection.send(\"UpdateUserInput\", request);\n }\n\n VerifyUser(request: WsAccount.VerifyUserRequest): Promise<WsAccount.VerifyUserResponse> {\n return this._connection.send(\"VerifyUser\", request)\n .catch((e: ESPExceptions) => {\n // old client version warning ---\n if (e.isESPExceptions && e.Exception.some(exception => exception.Code === 20043)) {\n return {\n retcode: 20043,\n Exceptions: {\n Source: \"wsAccount\",\n Exception: e.Exception\n }\n };\n }\n throw e;\n });\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { ESPConnection } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/ws_codesign/?ver_=1.1&respjson_\n * http://json2ts.com/\n*/\nexport namespace WsCodesign {\n\n export interface ListUserIDsRequest {\n }\n\n export interface WsCodesignPingRequest {\n }\n\n export interface SignRequest {\n SigningMethod?: string;\n UserID: string;\n KeyPass: string;\n Text: string;\n }\n\n export interface VerifyRequest {\n Text: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface UserIDs {\n Item: string[];\n }\n\n export interface ListUserIDsResponse {\n Exceptions: Exceptions;\n UserIDs: UserIDs;\n }\n\n export interface WsCodesignPingResponse {\n }\n\n export interface SignResponse {\n Exceptions: Exceptions;\n RetCode: number;\n ErrMsg: string;\n SignedText: string;\n }\n\n export interface VerifyResponse {\n Exceptions: Exceptions;\n RetCode: number;\n ErrMsg: string;\n IsVerified: boolean;\n SignedBy: string;\n }\n}\n\nexport class CodesignService {\n private _connection: ESPConnection;\n\n constructor(optsConnection: IOptions | IConnection) {\n this._connection = new ESPConnection(optsConnection, \"ws_codesign\", \"1.1\");\n }\n\n connectionOptions(): IOptions {\n return this._connection.opts();\n }\n\n ListUserIDs(request: WsCodesign.ListUserIDsRequest): Promise<string[]> {\n return this._connection.send(\"ListUserIDs\", request).then((response: WsCodesign.ListUserIDsResponse) => {\n return response.UserIDs.Item;\n }).catch(e => {\n return [];\n });\n }\n\n Sign(request: WsCodesign.SignRequest): Promise<WsCodesign.SignResponse> {\n return this._connection.send(\"Sign\", { SigningMethod: \"gpg\", ...request });\n }\n\n Verify(request: WsCodesign.VerifyRequest): Promise<WsCodesign.VerifyResponse> {\n return this._connection.send(\"Verify\", request);\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { Service } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/WsDfu/?reqjson_\n * http://localhost:8010/WsDfu/?respjson_\n * http://json2ts.com/\n*/\n\nexport namespace WsDfu {\n export interface AddRequest {\n dstname: string;\n xmlmap: string;\n dstcluster: string;\n }\n\n export interface AddRemoteRequest {\n dstname: string;\n srcname: string;\n srcdali: string;\n srcusername: string;\n srcpassword: string;\n }\n\n export interface Names {\n Item: string[];\n }\n\n export interface AddtoSuperfileRequest {\n Superfile: string;\n Subfiles: string;\n names: Names;\n ExistingFile: boolean;\n BackToPage: string;\n }\n\n export interface LogicalFiles {\n Item: string[];\n }\n\n export interface DFUArrayActionRequest {\n Type: string;\n NoDelete: boolean;\n BackToPage: string;\n LogicalFiles: LogicalFiles;\n removeFromSuperfiles: boolean;\n removeRecursively: boolean;\n Protect: string;\n Restrict: string;\n }\n\n export interface DFUBrowseDataRequest {\n LogicalName: string;\n FilterBy: string;\n ShowColumns: string;\n SchemaOnly: boolean;\n StartForGoback: number;\n CountForGoback: number;\n ChooseFile: number;\n Cluster: string;\n ClusterType: string;\n ParentName: string;\n Start: number;\n Count: number;\n DisableUppercaseTranslation: boolean;\n }\n\n export interface DFUDefFileRequest {\n Name: string;\n Format: string;\n }\n\n export interface RequestBase {\n Name: string;\n Cluster: string;\n JobId: string;\n ExpirySeconds: number;\n AccessRole: string;\n AccessType: string;\n ReturnJsonTypeInfo: boolean;\n ReturnBinTypeInfo: boolean;\n }\n\n export interface DFUFileAccessRequest {\n RequestBase: RequestBase;\n }\n\n export interface DFUFileAccessV2Request {\n Name: string;\n Cluster: string;\n RequestId: string;\n ExpirySeconds: number;\n ReturnTextResponse: boolean;\n SessionId: number;\n LockTimeoutMs: number;\n }\n\n export interface PartLocations {\n Item: string[];\n }\n\n export interface RequestBase2 {\n Name: string;\n Cluster: string;\n JobId: string;\n ExpirySeconds: number;\n AccessRole: string;\n AccessType: string;\n ReturnJsonTypeInfo: boolean;\n ReturnBinTypeInfo: boolean;\n }\n\n export interface DFUFileCreateRequest {\n ECLRecordDefinition: string;\n PartLocations: PartLocations;\n RequestBase: RequestBase2;\n }\n\n export interface DFUFileCreateV2Request {\n Name: string;\n Cluster: string;\n Type: string;\n ECLRecordDefinition: string;\n RequestId: string;\n ExpirySeconds: number;\n ReturnTextResponse: boolean;\n Compressed: boolean;\n SessionId: number;\n LockTimeoutMs: number;\n }\n\n export interface DFUFilePublishRequest {\n FileId: string;\n Overwrite: boolean;\n FileDescriptorBlob: string;\n SessionId: number;\n LockTimeoutMs: number;\n ECLRecordDefinition: string;\n RecordCount: number;\n FileSize: number;\n }\n\n export interface DFUFileViewRequest {\n Scope: string;\n IncludeSuperOwner: boolean;\n }\n\n export interface DFUGetDataColumnsRequest {\n OpenLogicalName: string;\n LogicalName: string;\n FilterBy: string;\n ShowColumns: string;\n ChooseFile: number;\n Cluster: string;\n ClusterType: string;\n StartIndex: number;\n EndIndex: number;\n }\n\n export interface DFUGetFileMetaDataRequest {\n LogicalFileName: string;\n ClusterName: string;\n IncludeXmlSchema: boolean;\n AddHeaderInXmlSchema: boolean;\n IncludeXmlXPathSchema: boolean;\n AddHeaderInXmlXPathSchema: boolean;\n }\n\n export interface DFUInfoRequest {\n Name: string;\n Cluster: string;\n UpdateDescription?: boolean;\n QuerySet?: string;\n Query?: string;\n FileDesc?: string;\n IncludeJsonTypeInfo?: boolean;\n IncludeBinTypeInfo?: boolean;\n Protect?: string;\n Restrict?: string;\n }\n\n export interface DFUQueryRequest {\n Prefix?: string;\n NodeGroup?: string;\n ContentType?: string;\n LogicalName?: string;\n Owner?: string;\n StartDate?: string;\n EndDate?: string;\n FileType?: string;\n FileSizeFrom?: number;\n FileSizeTo?: number;\n FirstN?: number;\n PageSize?: number;\n PageStartFrom?: number;\n Sortby?: string;\n Descending?: boolean;\n OneLevelDirFileReturn?: boolean;\n CacheHint?: number;\n MaxNumberOfFiles?: number;\n IncludeSuperOwner?: boolean;\n StartAccessedTime?: string;\n EndAccessedTime?: string;\n }\n\n export interface DFURecordTypeInfoRequest {\n Name: string;\n IncludeJsonTypeInfo: boolean;\n IncludeBinTypeInfo: boolean;\n }\n\n export interface DFUSearchRequest {\n ShowExample: string;\n }\n\n export interface DFUSearchDataRequest {\n Cluster: string;\n ClusterType: string;\n OpenLogicalName: string;\n FilterBy: string;\n ShowColumns: string;\n ChooseFile: number;\n StartIndex: number;\n EndIndex: number;\n LogicalName: string;\n ParentName: string;\n StartForGoback: number;\n CountForGoback: number;\n Start: number;\n Count: number;\n File: string;\n Key: string;\n SchemaOnly: boolean;\n RoxieSelections: boolean;\n DisableUppercaseTranslation: boolean;\n SelectedKey: string;\n }\n\n export interface DFUSpaceRequest {\n CountBy: string;\n ScopeUnder: string;\n OwnerUnder: string;\n Interval: string;\n StartDate: string;\n EndDate: string;\n }\n\n export interface EclRecordTypeInfoRequest {\n Ecl: string;\n IncludeJsonTypeInfo: boolean;\n IncludeBinTypeInfo: boolean;\n }\n\n export interface EraseHistoryRequest {\n Name: string;\n }\n\n export interface ListHistoryRequest {\n Name: string;\n }\n\n export interface WsDfuPingRequest {\n }\n\n export interface SavexmlRequest {\n name: string;\n }\n\n export interface Subfiles {\n Item: string[];\n }\n\n export interface SuperfileActionRequest {\n action: string;\n superfile: string;\n subfiles: Subfiles;\n before: string;\n delete: boolean;\n removeSuperfile: boolean;\n }\n\n export interface SuperfileListRequest {\n superfile: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface AddResponse {\n Exceptions: Exceptions;\n }\n\n export interface AddRemoteResponse {\n Exceptions: Exceptions;\n }\n\n export interface SubfileNames {\n SubfileName: string[];\n }\n\n export interface AddtoSuperfileResponse {\n Exceptions: Exceptions;\n Subfiles: string;\n BackToPage: string;\n SubfileNames: SubfileNames;\n }\n\n export interface DFUActionInfo {\n FileName: string;\n NodeGroup: string;\n ActionResult: string;\n Failed: boolean;\n }\n\n export interface ActionResults {\n DFUActionInfo: DFUActionInfo[];\n }\n\n export interface DFUArrayActionResponse {\n Exceptions: Exceptions;\n BackToPage: string;\n RedirectTo: string;\n ActionResults: ActionResults;\n }\n\n export interface DataColumns {\n DFUDataColumn: any[];\n }\n\n export interface ColumnHidden {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns;\n }\n\n export interface ColumnsHidden {\n ColumnHidden: ColumnHidden[];\n }\n\n export interface DFUBrowseDataResponse {\n Exceptions: Exceptions;\n Name: string;\n LogicalName: string;\n FilterBy: string;\n FilterForGoBack: string;\n ColumnsHidden: ColumnsHidden;\n ColumnCount: number;\n StartForGoback: number;\n CountForGoback: number;\n ChooseFile: number;\n SchemaOnly: boolean;\n Cluster: string;\n ClusterType: string;\n ParentName: string;\n Start: number;\n Count: number;\n PageSize: number;\n Total: number;\n Result: string;\n MsgToDisplay: string;\n DisableUppercaseTranslation: boolean;\n }\n\n export interface DFUDefFileResponse {\n Exceptions: Exceptions;\n defFile: string;\n }\n\n export interface DFUPartLocation {\n LocationIndex: number;\n Host: string;\n }\n\n export interface FileLocations {\n DFUPartLocation: DFUPartLocation[];\n }\n\n export interface DFUFileCopy {\n CopyIndex: number;\n LocationIndex: number;\n Path: string;\n }\n\n export interface Copies {\n DFUFileCopy: DFUFileCopy[];\n }\n\n export interface DFUFilePart {\n PartIndex: number;\n Copies: Copies;\n TopLevelKey: boolean;\n }\n\n export interface FileParts {\n DFUFilePart: DFUFilePart[];\n }\n\n export interface AccessInfo {\n MetaInfoBlob: string;\n ExpiryTime: string;\n NumParts: number;\n FileLocations: FileLocations;\n FileParts: FileParts;\n RecordTypeInfoJson: string;\n fileAccessPort: number;\n fileAccessSSL: boolean;\n }\n\n export interface DFUFileAccessResponse {\n Exceptions: Exceptions;\n AccessInfo: AccessInfo;\n Type: string;\n }\n\n export interface DFUPartLocation2 {\n LocationIndex: number;\n Host: string;\n }\n\n export interface FileLocations2 {\n DFUPartLocation: DFUPartLocation2[];\n }\n\n export interface DFUFileCopy2 {\n CopyIndex: number;\n LocationIndex: number;\n Path: string;\n }\n\n export interface Copies2 {\n DFUFileCopy: DFUFileCopy2[];\n }\n\n export interface DFUFilePart2 {\n PartIndex: number;\n Copies: Copies2;\n TopLevelKey: boolean;\n }\n\n export interface FileParts2 {\n DFUFilePart: DFUFilePart2[];\n }\n\n export interface AccessInfo2 {\n MetaInfoBlob: string;\n ExpiryTime: string;\n NumParts: number;\n FileLocations: FileLocations2;\n FileParts: FileParts2;\n RecordTypeInfoJson: string;\n fileAccessPort: number;\n fileAccessSSL: boolean;\n }\n\n export interface DFUFileCreateResponse {\n Exceptions: Exceptions;\n FileId: string;\n Warning: string;\n AccessInfo: AccessInfo2;\n }\n\n export interface DFUFilePublishResponse {\n Exceptions: Exceptions;\n }\n\n export interface DFULogicalFile {\n Prefix: string;\n NodeGroup: string;\n Directory: string;\n Description: string;\n Parts: string;\n Name: string;\n Owner: string;\n Totalsize: string;\n RecordCount: string;\n Modified: string;\n LongSize: string;\n LongRecordCount: string;\n isSuperfile: boolean;\n isDirectory: boolean;\n Replicate: boolean;\n IntSize: number;\n IntRecordCount: number;\n FromRoxieCluster: boolean;\n BrowseData: boolean;\n IsCompressed: boolean;\n ContentType: string;\n CompressedFileSize: number;\n SuperOwners: string;\n Persistent: boolean;\n IsProtected: boolean;\n KeyType: string;\n NumOfSubfiles: number;\n Accessed: string;\n }\n\n export interface DFULogicalFiles {\n DFULogicalFile: DFULogicalFile[];\n }\n\n export interface DFUFileViewResponse {\n Exceptions: Exceptions;\n Scope: string;\n NumFiles: number;\n DFULogicalFiles: DFULogicalFiles;\n }\n\n export interface DataColumns2 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns2;\n }\n\n export interface DFUDataKeyedColumns1 {\n DFUDataColumn: DFUDataColumn[];\n }\n\n export interface DataColumns3 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn2 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns3;\n }\n\n export interface DFUDataKeyedColumns2 {\n DFUDataColumn: DFUDataColumn2[];\n }\n\n export interface DataColumns4 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn3 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns4;\n }\n\n export interface DFUDataKeyedColumns3 {\n DFUDataColumn: DFUDataColumn3[];\n }\n\n export interface DataColumns5 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn4 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns5;\n }\n\n export interface DFUDataKeyedColumns4 {\n DFUDataColumn: DFUDataColumn4[];\n }\n\n export interface DataColumns6 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn5 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns6;\n }\n\n export interface DFUDataKeyedColumns5 {\n DFUDataColumn: DFUDataColumn5[];\n }\n\n export interface DataColumns7 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn6 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns7;\n }\n\n export interface DFUDataKeyedColumns6 {\n DFUDataColumn: DFUDataColumn6[];\n }\n\n export interface DataColumns8 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn7 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns8;\n }\n\n export interface DFUDataKeyedColumns7 {\n DFUDataColumn: DFUDataColumn7[];\n }\n\n export interface DataColumns9 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn8 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns9;\n }\n\n export interface DFUDataKeyedColumns8 {\n DFUDataColumn: DFUDataColumn8[];\n }\n\n export interface DataColumns10 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn9 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns10;\n }\n\n export interface DFUDataKeyedColumns9 {\n DFUDataColumn: DFUDataColumn9[];\n }\n\n export interface DataColumns11 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn10 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns11;\n }\n\n export interface DFUDataKeyedColumns10 {\n DFUDataColumn: DFUDataColumn10[];\n }\n\n export interface DataColumns12 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn11 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns12;\n }\n\n export interface DFUDataKeyedColumns11 {\n DFUDataColumn: DFUDataColumn11[];\n }\n\n export interface DataColumns13 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn12 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns13;\n }\n\n export interface DFUDataKeyedColumns12 {\n DFUDataColumn: DFUDataColumn12[];\n }\n\n export interface DataColumns14 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn13 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns14;\n }\n\n export interface DFUDataKeyedColumns13 {\n DFUDataColumn: DFUDataColumn13[];\n }\n\n export interface DataColumns15 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn14 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns15;\n }\n\n export interface DFUDataKeyedColumns14 {\n DFUDataColumn: DFUDataColumn14[];\n }\n\n export interface DataColumns16 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn15 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns16;\n }\n\n export interface DFUDataKeyedColumns15 {\n DFUDataColumn: DFUDataColumn15[];\n }\n\n export interface DataColumns17 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn16 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns17;\n }\n\n export interface DFUDataKeyedColumns16 {\n DFUDataColumn: DFUDataColumn16[];\n }\n\n export interface DataColumns18 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn17 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns18;\n }\n\n export interface DFUDataKeyedColumns17 {\n DFUDataColumn: DFUDataColumn17[];\n }\n\n export interface DataColumns19 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn18 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns19;\n }\n\n export interface DFUDataKeyedColumns18 {\n DFUDataColumn: DFUDataColumn18[];\n }\n\n export interface DataColumns20 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn19 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns20;\n }\n\n export interface DFUDataKeyedColumns19 {\n DFUDataColumn: DFUDataColumn19[];\n }\n\n export interface DataColumns21 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn20 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns21;\n }\n\n export interface DFUDataKeyedColumns20 {\n DFUDataColumn: DFUDataColumn20[];\n }\n\n export interface DataColumns22 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn21 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns22;\n }\n\n export interface DFUDataNonKeyedColumns1 {\n DFUDataColumn: DFUDataColumn21[];\n }\n\n export interface DataColumns23 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn22 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns23;\n }\n\n export interface DFUDataNonKeyedColumns2 {\n DFUDataColumn: DFUDataColumn22[];\n }\n\n export interface DataColumns24 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn23 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns24;\n }\n\n export interface DFUDataNonKeyedColumns3 {\n DFUDataColumn: DFUDataColumn23[];\n }\n\n export interface DataColumns25 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn24 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns25;\n }\n\n export interface DFUDataNonKeyedColumns4 {\n DFUDataColumn: DFUDataColumn24[];\n }\n\n export interface DataColumns26 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn25 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns26;\n }\n\n export interface DFUDataNonKeyedColumns5 {\n DFUDataColumn: DFUDataColumn25[];\n }\n\n export interface DataColumns27 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn26 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns27;\n }\n\n export interface DFUDataNonKeyedColumns6 {\n DFUDataColumn: DFUDataColumn26[];\n }\n\n export interface DataColumns28 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn27 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns28;\n }\n\n export interface DFUDataNonKeyedColumns7 {\n DFUDataColumn: DFUDataColumn27[];\n }\n\n export interface DataColumns29 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn28 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns29;\n }\n\n export interface DFUDataNonKeyedColumns8 {\n DFUDataColumn: DFUDataColumn28[];\n }\n\n export interface DataColumns30 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn29 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns30;\n }\n\n export interface DFUDataNonKeyedColumns9 {\n DFUDataColumn: DFUDataColumn29[];\n }\n\n export interface DataColumns31 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn30 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns31;\n }\n\n export interface DFUDataNonKeyedColumns10 {\n DFUDataColumn: DFUDataColumn30[];\n }\n\n export interface DataColumns32 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn31 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns32;\n }\n\n export interface DFUDataNonKeyedColumns11 {\n DFUDataColumn: DFUDataColumn31[];\n }\n\n export interface DataColumns33 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn32 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns33;\n }\n\n export interface DFUDataNonKeyedColumns12 {\n DFUDataColumn: DFUDataColumn32[];\n }\n\n export interface DataColumns34 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn33 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns34;\n }\n\n export interface DFUDataNonKeyedColumns13 {\n DFUDataColumn: DFUDataColumn33[];\n }\n\n export interface DataColumns35 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn34 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns35;\n }\n\n export interface DFUDataNonKeyedColumns14 {\n DFUDataColumn: DFUDataColumn34[];\n }\n\n export interface DataColumns36 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn35 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns36;\n }\n\n export interface DFUDataNonKeyedColumns15 {\n DFUDataColumn: DFUDataColumn35[];\n }\n\n export interface DataColumns37 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn36 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns37;\n }\n\n export interface DFUDataNonKeyedColumns16 {\n DFUDataColumn: DFUDataColumn36[];\n }\n\n export interface DataColumns38 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn37 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns38;\n }\n\n export interface DFUDataNonKeyedColumns17 {\n DFUDataColumn: DFUDataColumn37[];\n }\n\n export interface DataColumns39 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn38 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns39;\n }\n\n export interface DFUDataNonKeyedColumns18 {\n DFUDataColumn: DFUDataColumn38[];\n }\n\n export interface DataColumns40 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn39 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns40;\n }\n\n export interface DFUDataNonKeyedColumns19 {\n DFUDataColumn: DFUDataColumn39[];\n }\n\n export interface DataColumns41 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn40 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns41;\n }\n\n export interface DFUDataNonKeyedColumns20 {\n DFUDataColumn: DFUDataColumn40[];\n }\n\n export interface DFUGetDataColumnsResponse {\n Exceptions: Exceptions;\n LogicalName: string;\n StartIndex: number;\n EndIndex: number;\n DFUDataKeyedColumns1: DFUDataKeyedColumns1;\n DFUDataKeyedColumns2: DFUDataKeyedColumns2;\n DFUDataKeyedColumns3: DFUDataKeyedColumns3;\n DFUDataKeyedColumns4: DFUDataKeyedColumns4;\n DFUDataKeyedColumns5: DFUDataKeyedColumns5;\n DFUDataKeyedColumns6: DFUDataKeyedColumns6;\n DFUDataKeyedColumns7: DFUDataKeyedColumns7;\n DFUDataKeyedColumns8: DFUDataKeyedColumns8;\n DFUDataKeyedColumns9: DFUDataKeyedColumns9;\n DFUDataKeyedColumns10: DFUDataKeyedColumns10;\n DFUDataKeyedColumns11: DFUDataKeyedColumns11;\n DFUDataKeyedColumns12: DFUDataKeyedColumns12;\n DFUDataKeyedColumns13: DFUDataKeyedColumns13;\n DFUDataKeyedColumns14: DFUDataKeyedColumns14;\n DFUDataKeyedColumns15: DFUDataKeyedColumns15;\n DFUDataKeyedColumns16: DFUDataKeyedColumns16;\n DFUDataKeyedColumns17: DFUDataKeyedColumns17;\n DFUDataKeyedColumns18: DFUDataKeyedColumns18;\n DFUDataKeyedColumns19: DFUDataKeyedColumns19;\n DFUDataKeyedColumns20: DFUDataKeyedColumns20;\n DFUDataNonKeyedColumns1: DFUDataNonKeyedColumns1;\n DFUDataNonKeyedColumns2: DFUDataNonKeyedColumns2;\n DFUDataNonKeyedColumns3: DFUDataNonKeyedColumns3;\n DFUDataNonKeyedColumns4: DFUDataNonKeyedColumns4;\n DFUDataNonKeyedColumns5: DFUDataNonKeyedColumns5;\n DFUDataNonKeyedColumns6: DFUDataNonKeyedColumns6;\n DFUDataNonKeyedColumns7: DFUDataNonKeyedColumns7;\n DFUDataNonKeyedColumns8: DFUDataNonKeyedColumns8;\n DFUDataNonKeyedColumns9: DFUDataNonKeyedColumns9;\n DFUDataNonKeyedColumns10: DFUDataNonKeyedColumns10;\n DFUDataNonKeyedColumns11: DFUDataNonKeyedColumns11;\n DFUDataNonKeyedColumns12: DFUDataNonKeyedColumns12;\n DFUDataNonKeyedColumns13: DFUDataNonKeyedColumns13;\n DFUDataNonKeyedColumns14: DFUDataNonKeyedColumns14;\n DFUDataNonKeyedColumns15: DFUDataNonKeyedColumns15;\n DFUDataNonKeyedColumns16: DFUDataNonKeyedColumns16;\n DFUDataNonKeyedColumns17: DFUDataNonKeyedColumns17;\n DFUDataNonKeyedColumns18: DFUDataNonKeyedColumns18;\n DFUDataNonKeyedColumns19: DFUDataNonKeyedColumns19;\n DFUDataNonKeyedColumns20: DFUDataNonKeyedColumns20;\n RowCount: number;\n ShowColumns: string;\n ChooseFile: number;\n Cluster: string;\n ClusterType: string;\n }\n\n export interface DataColumns43 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn41 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns43;\n }\n\n export interface DataColumns42 {\n DFUDataColumn: DFUDataColumn41[];\n }\n\n export interface DFUGetFileMetaDataResponse {\n Exceptions: Exceptions;\n TotalColumnCount: number;\n KeyedColumnCount: number;\n DataColumns: DataColumns42;\n XmlSchema: string;\n XmlXPathSchema: string;\n TotalResultRows: number;\n }\n\n export interface Stat {\n MinSkew: string;\n MaxSkew: string;\n MinSkewInt64: number;\n MaxSkewInt64: number;\n MinSkewPart: number;\n MaxSkewPart: number;\n }\n\n export interface DFUPart {\n Id: number;\n Copy: number;\n Ip: string;\n Partsize: string;\n PartSizeInt64: number;\n CompressedSize: number;\n }\n\n export interface DFUFileParts {\n DFUPart: DFUPart[];\n }\n\n export interface DFUFilePartsOnCluster {\n Cluster: string;\n BaseDir: string;\n ReplicateDir: string;\n Replicate: boolean;\n CanReplicate: boolean;\n DFUFileParts: DFUFileParts;\n }\n\n export interface DFUFilePartsOnClusters {\n DFUFilePartsOnCluster: DFUFilePartsOnCluster[];\n }\n\n export interface Subfiles {\n Item: string[];\n }\n\n export interface DFULogicalFile2 {\n Prefix: string;\n NodeGroup: string;\n Directory: string;\n Description: string;\n Parts: string;\n Name: string;\n Owner: string;\n Totalsize: string;\n RecordCount: string;\n Modified: string;\n LongSize: string;\n LongRecordCount: string;\n isSuperfile: boolean;\n isDirectory: boolean;\n Replicate: boolean;\n IntSize: number;\n IntRecordCount: number;\n FromRoxieCluster: boolean;\n BrowseData: boolean;\n IsCompressed: boolean;\n ContentType: string;\n CompressedFileSize: number;\n SuperOwners: string;\n Persistent: boolean;\n IsProtected: boolean;\n KeyType: string;\n NumOfSubfiles: number;\n Accessed: string;\n Cost?: number;\n }\n\n export interface Superfiles {\n DFULogicalFile: DFULogicalFile2[];\n }\n\n export interface DFUFileProtect {\n Owner: string;\n Modified: string;\n }\n\n export interface ProtectList {\n DFUFileProtect: DFUFileProtect[];\n }\n\n export interface Graphs {\n ECLGraph: string[];\n }\n\n export interface FieldNames {\n Item: string[];\n }\n\n export interface Partition {\n FieldMask: number;\n FieldNames: FieldNames;\n }\n\n export interface FieldNames2 {\n Item: string[];\n }\n\n export interface DFUFileBloom {\n FieldMask: number;\n FieldNames: FieldNames2;\n Limit: number;\n Probability: string;\n }\n\n export interface Blooms {\n DFUFileBloom: DFUFileBloom[];\n }\n\n export interface FileDetail {\n Name: string;\n Filename: string;\n Prefix: string;\n NodeGroup: string;\n NumParts: number;\n Description: string;\n Dir: string;\n PathMask: string;\n Filesize: string;\n FileSizeInt64: number;\n RecordSize: string;\n RecordCount: string;\n RecordSizeInt64: number;\n RecordCountInt64: number;\n Wuid: string;\n Owner: string;\n JobName: string;\n Persistent: string;\n Format: string;\n MaxRecordSize: string;\n CsvSeparate: string;\n CsvQuote: string;\n CsvTerminate: string;\n CsvEscape: string;\n Modified: string;\n Ecl: string;\n Stat: Stat;\n DFUFilePartsOnClusters: DFUFilePartsOnClusters;\n isSuperfile: boolean;\n ShowFileContent: boolean;\n subfiles: Subfiles;\n Superfiles: Superfiles;\n ProtectList: ProtectList;\n FromRoxieCluster: boolean;\n Graphs: Graphs;\n UserPermission: string;\n ContentType: string;\n CompressedFileSize: number;\n PercentCompressed: string;\n IsCompressed: boolean;\n IsRestricted: boolean;\n BrowseData: boolean;\n jsonInfo: string;\n binInfo: string;\n PackageID: string;\n Partition: Partition;\n Blooms: Blooms;\n ExpireDays: number;\n KeyType: string;\n Cost: number;\n }\n\n export interface DFUInfoResponse {\n Exceptions: Exceptions;\n FileDetail: FileDetail;\n }\n\n export interface DFULogicalFile3 {\n Prefix: string;\n NodeGroup: string;\n Directory: string;\n Description: string;\n Parts: string;\n Name: string;\n Owner: string;\n Totalsize: string;\n RecordCount: string;\n Modified: string;\n LongSize: string;\n LongRecordCount: string;\n isSuperfile: boolean;\n isDirectory: boolean;\n Replicate: boolean;\n IntSize: number;\n IntRecordCount: number;\n FromRoxieCluster: boolean;\n BrowseData: boolean;\n IsCompressed: boolean;\n ContentType: string;\n CompressedFileSize: number;\n SuperOwners: string;\n Persistent: boolean;\n IsProtected: boolean;\n KeyType: string;\n NumOfSubfiles: number;\n Accessed: string;\n }\n\n export interface DFULogicalFiles2 {\n DFULogicalFile: DFULogicalFile3[];\n }\n\n export interface DFUQueryResponse {\n Exceptions: Exceptions;\n DFULogicalFiles: DFULogicalFiles2;\n Prefix: string;\n NodeGroup: string;\n LogicalName: string;\n Description: string;\n Owner: string;\n StartDate: string;\n EndDate: string;\n FileType: string;\n FileSizeFrom: number;\n FileSizeTo: number;\n FirstN: number;\n PageSize: number;\n PageStartFrom: number;\n LastPageFrom: number;\n PageEndAt: number;\n PrevPageFrom: number;\n NextPageFrom: number;\n NumFiles: number;\n Sortby: string;\n Descending: boolean;\n BasicQuery: string;\n ParametersForPaging: string;\n Filters: string;\n CacheHint: number;\n IsSubsetOfFiles: boolean;\n Warning: string;\n }\n\n export interface DFURecordTypeInfoResponse {\n jsonInfo: string;\n binInfo: string;\n }\n\n export interface ClusterNames {\n ClusterName: string[];\n }\n\n export interface FileTypes {\n FileType: string[];\n }\n\n export interface DFUSearchResponse {\n Exceptions: Exceptions;\n ShowExample: string;\n ClusterNames: ClusterNames;\n FileTypes: FileTypes;\n }\n\n export interface DataColumns44 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn42 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns44;\n }\n\n export interface DFUDataKeyedColumns110 {\n DFUDataColumn: DFUDataColumn42[];\n }\n\n export interface DataColumns45 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn43 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns45;\n }\n\n export interface DFUDataKeyedColumns22 {\n DFUDataColumn: DFUDataColumn43[];\n }\n\n export interface DataColumns46 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn44 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns46;\n }\n\n export interface DFUDataKeyedColumns32 {\n DFUDataColumn: DFUDataColumn44[];\n }\n\n export interface DataColumns47 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn45 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns47;\n }\n\n export interface DFUDataKeyedColumns42 {\n DFUDataColumn: DFUDataColumn45[];\n }\n\n export interface DataColumns48 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn46 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns48;\n }\n\n export interface DFUDataKeyedColumns52 {\n DFUDataColumn: DFUDataColumn46[];\n }\n\n export interface DataColumns49 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn47 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns49;\n }\n\n export interface DFUDataKeyedColumns62 {\n DFUDataColumn: DFUDataColumn47[];\n }\n\n export interface DataColumns50 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn48 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns50;\n }\n\n export interface DFUDataKeyedColumns72 {\n DFUDataColumn: DFUDataColumn48[];\n }\n\n export interface DataColumns51 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn49 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns51;\n }\n\n export interface DFUDataKeyedColumns82 {\n DFUDataColumn: DFUDataColumn49[];\n }\n\n export interface DataColumns52 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn50 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns52;\n }\n\n export interface DFUDataKeyedColumns92 {\n DFUDataColumn: DFUDataColumn50[];\n }\n\n export interface DataColumns53 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn51 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns53;\n }\n\n export interface DFUDataKeyedColumns102 {\n DFUDataColumn: DFUDataColumn51[];\n }\n\n export interface DataColumns54 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn52 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns54;\n }\n\n export interface DFUDataKeyedColumns112 {\n DFUDataColumn: DFUDataColumn52[];\n }\n\n export interface DataColumns55 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn53 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns55;\n }\n\n export interface DFUDataKeyedColumns122 {\n DFUDataColumn: DFUDataColumn53[];\n }\n\n export interface DataColumns56 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn54 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns56;\n }\n\n export interface DFUDataKeyedColumns132 {\n DFUDataColumn: DFUDataColumn54[];\n }\n\n export interface DataColumns57 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn55 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns57;\n }\n\n export interface DFUDataKeyedColumns142 {\n DFUDataColumn: DFUDataColumn55[];\n }\n\n export interface DataColumns58 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn56 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns58;\n }\n\n export interface DFUDataKeyedColumns152 {\n DFUDataColumn: DFUDataColumn56[];\n }\n\n export interface DataColumns59 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn57 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns59;\n }\n\n export interface DFUDataKeyedColumns162 {\n DFUDataColumn: DFUDataColumn57[];\n }\n\n export interface DataColumns60 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn58 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns60;\n }\n\n export interface DFUDataKeyedColumns172 {\n DFUDataColumn: DFUDataColumn58[];\n }\n\n export interface DataColumns61 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn59 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns61;\n }\n\n export interface DFUDataKeyedColumns182 {\n DFUDataColumn: DFUDataColumn59[];\n }\n\n export interface DataColumns62 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn60 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns62;\n }\n\n export interface DFUDataKeyedColumns192 {\n DFUDataColumn: DFUDataColumn60[];\n }\n\n export interface DataColumns63 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn61 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns63;\n }\n\n export interface DFUDataKeyedColumns202 {\n DFUDataColumn: DFUDataColumn61[];\n }\n\n export interface DataColumns64 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn62 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns64;\n }\n\n export interface DFUDataNonKeyedColumns110 {\n DFUDataColumn: DFUDataColumn62[];\n }\n\n export interface DataColumns65 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn63 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns65;\n }\n\n export interface DFUDataNonKeyedColumns22 {\n DFUDataColumn: DFUDataColumn63[];\n }\n\n export interface DataColumns66 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn64 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns66;\n }\n\n export interface DFUDataNonKeyedColumns32 {\n DFUDataColumn: DFUDataColumn64[];\n }\n\n export interface DataColumns67 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn65 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns67;\n }\n\n export interface DFUDataNonKeyedColumns42 {\n DFUDataColumn: DFUDataColumn65[];\n }\n\n export interface DataColumns68 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn66 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns68;\n }\n\n export interface DFUDataNonKeyedColumns52 {\n DFUDataColumn: DFUDataColumn66[];\n }\n\n export interface DataColumns69 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn67 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns69;\n }\n\n export interface DFUDataNonKeyedColumns62 {\n DFUDataColumn: DFUDataColumn67[];\n }\n\n export interface DataColumns70 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn68 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns70;\n }\n\n export interface DFUDataNonKeyedColumns72 {\n DFUDataColumn: DFUDataColumn68[];\n }\n\n export interface DataColumns71 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn69 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns71;\n }\n\n export interface DFUDataNonKeyedColumns82 {\n DFUDataColumn: DFUDataColumn69[];\n }\n\n export interface DataColumns72 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn70 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns72;\n }\n\n export interface DFUDataNonKeyedColumns92 {\n DFUDataColumn: DFUDataColumn70[];\n }\n\n export interface DataColumns73 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn71 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns73;\n }\n\n export interface DFUDataNonKeyedColumns102 {\n DFUDataColumn: DFUDataColumn71[];\n }\n\n export interface DataColumns74 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn72 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns74;\n }\n\n export interface DFUDataNonKeyedColumns112 {\n DFUDataColumn: DFUDataColumn72[];\n }\n\n export interface DataColumns75 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn73 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns75;\n }\n\n export interface DFUDataNonKeyedColumns122 {\n DFUDataColumn: DFUDataColumn73[];\n }\n\n export interface DataColumns76 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn74 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns76;\n }\n\n export interface DFUDataNonKeyedColumns132 {\n DFUDataColumn: DFUDataColumn74[];\n }\n\n export interface DataColumns77 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn75 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns77;\n }\n\n export interface DFUDataNonKeyedColumns142 {\n DFUDataColumn: DFUDataColumn75[];\n }\n\n export interface DataColumns78 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn76 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns78;\n }\n\n export interface DFUDataNonKeyedColumns152 {\n DFUDataColumn: DFUDataColumn76[];\n }\n\n export interface DataColumns79 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn77 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns79;\n }\n\n export interface DFUDataNonKeyedColumns162 {\n DFUDataColumn: DFUDataColumn77[];\n }\n\n export interface DataColumns80 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn78 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns80;\n }\n\n export interface DFUDataNonKeyedColumns172 {\n DFUDataColumn: DFUDataColumn78[];\n }\n\n export interface DataColumns81 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn79 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns81;\n }\n\n export interface DFUDataNonKeyedColumns182 {\n DFUDataColumn: DFUDataColumn79[];\n }\n\n export interface DataColumns82 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn80 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns82;\n }\n\n export interface DFUDataNonKeyedColumns192 {\n DFUDataColumn: DFUDataColumn80[];\n }\n\n export interface DataColumns83 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn81 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns83;\n }\n\n export interface DFUDataNonKeyedColumns202 {\n DFUDataColumn: DFUDataColumn81[];\n }\n\n export interface DataColumns84 {\n DFUDataColumn: any[];\n }\n\n export interface ColumnHidden2 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns84;\n }\n\n export interface ColumnsHidden2 {\n ColumnHidden: ColumnHidden2[];\n }\n\n export interface DFUSearchDataResponse {\n Exceptions: Exceptions;\n OpenLogicalName: string;\n LogicalName: string;\n ParentName: string;\n StartIndex: number;\n EndIndex: number;\n DFUDataKeyedColumns1: DFUDataKeyedColumns110;\n DFUDataKeyedColumns2: DFUDataKeyedColumns22;\n DFUDataKeyedColumns3: DFUDataKeyedColumns32;\n DFUDataKeyedColumns4: DFUDataKeyedColumns42;\n DFUDataKeyedColumns5: DFUDataKeyedColumns52;\n DFUDataKeyedColumns6: DFUDataKeyedColumns62;\n DFUDataKeyedColumns7: DFUDataKeyedColumns72;\n DFUDataKeyedColumns8: DFUDataKeyedColumns82;\n DFUDataKeyedColumns9: DFUDataKeyedColumns92;\n DFUDataKeyedColumns10: DFUDataKeyedColumns102;\n DFUDataKeyedColumns11: DFUDataKeyedColumns112;\n DFUDataKeyedColumns12: DFUDataKeyedColumns122;\n DFUDataKeyedColumns13: DFUDataKeyedColumns132;\n DFUDataKeyedColumns14: DFUDataKeyedColumns142;\n DFUDataKeyedColumns15: DFUDataKeyedColumns152;\n DFUDataKeyedColumns16: DFUDataKeyedColumns162;\n DFUDataKeyedColumns17: DFUDataKeyedColumns172;\n DFUDataKeyedColumns18: DFUDataKeyedColumns182;\n DFUDataKeyedColumns19: DFUDataKeyedColumns192;\n DFUDataKeyedColumns20: DFUDataKeyedColumns202;\n DFUDataNonKeyedColumns1: DFUDataNonKeyedColumns110;\n DFUDataNonKeyedColumns2: DFUDataNonKeyedColumns22;\n DFUDataNonKeyedColumns3: DFUDataNonKeyedColumns32;\n DFUDataNonKeyedColumns4: DFUDataNonKeyedColumns42;\n DFUDataNonKeyedColumns5: DFUDataNonKeyedColumns52;\n DFUDataNonKeyedColumns6: DFUDataNonKeyedColumns62;\n DFUDataNonKeyedColumns7: DFUDataNonKeyedColumns72;\n DFUDataNonKeyedColumns8: DFUDataNonKeyedColumns82;\n DFUDataNonKeyedColumns9: DFUDataNonKeyedColumns92;\n DFUDataNonKeyedColumns10: DFUDataNonKeyedColumns102;\n DFUDataNonKeyedColumns11: DFUDataNonKeyedColumns112;\n DFUDataNonKeyedColumns12: DFUDataNonKeyedColumns122;\n DFUDataNonKeyedColumns13: DFUDataNonKeyedColumns132;\n DFUDataNonKeyedColumns14: DFUDataNonKeyedColumns142;\n DFUDataNonKeyedColumns15: DFUDataNonKeyedColumns152;\n DFUDataNonKeyedColumns16: DFUDataNonKeyedColumns162;\n DFUDataNonKeyedColumns17: DFUDataNonKeyedColumns172;\n DFUDataNonKeyedColumns18: DFUDataNonKeyedColumns182;\n DFUDataNonKeyedColumns19: DFUDataNonKeyedColumns192;\n DFUDataNonKeyedColumns20: DFUDataNonKeyedColumns202;\n RowCount: number;\n ShowColumns: string;\n ChooseFile: number;\n Name: string;\n FilterBy: string;\n FilterForGoBack: string;\n ColumnsHidden: ColumnsHidden2;\n ColumnCount: number;\n StartForGoback: number;\n CountForGoback: number;\n Start: number;\n Count: number;\n PageSize: number;\n Total: number;\n Result: string;\n MsgToDisplay: string;\n Cluster: string;\n ClusterType: string;\n File: string;\n Key: string;\n SchemaOnly: boolean;\n RoxieSelections: boolean;\n DisableUppercaseTranslation: boolean;\n AutoUppercaseTranslation: boolean;\n SelectedKey: string;\n }\n\n export interface DFUSpaceItem {\n Name: string;\n NumOfFiles: string;\n NumOfFilesUnknown: string;\n TotalSize: string;\n LargestFile: string;\n LargestSize: string;\n SmallestFile: string;\n SmallestSize: string;\n NumOfFilesInt64: number;\n NumOfFilesUnknownInt64: number;\n TotalSizeInt64: number;\n LargestSizeInt64: number;\n SmallestSizeInt64: number;\n }\n\n export interface DFUSpaceItems {\n DFUSpaceItem: DFUSpaceItem[];\n }\n\n export interface DFUSpaceResponse {\n Exceptions: Exceptions;\n CountBy: string;\n ScopeUnder: string;\n OwnerUnder: string;\n Interval: string;\n StartDate: string;\n EndDate: string;\n DFUSpaceItems: DFUSpaceItems;\n }\n\n export interface EclRecordTypeInfoResponse {\n jsonInfo: string;\n binInfo: string;\n }\n\n export interface Origin {\n Name: string;\n Operation: string;\n Timestamp: string;\n IP: string;\n Path: string;\n Owner: string;\n Workunit: string;\n }\n\n export interface History {\n Origin: Origin[];\n }\n\n export interface EraseHistoryResponse {\n Exceptions: Exceptions;\n History: History;\n }\n\n export interface Origin2 {\n Name: string;\n Operation: string;\n Timestamp: string;\n IP: string;\n Path: string;\n Owner: string;\n Workunit: string;\n }\n\n export interface History2 {\n Origin: Origin2[];\n }\n\n export interface ListHistoryResponse {\n Exceptions: Exceptions;\n History: History2;\n }\n\n export interface WsDfuPingResponse {\n }\n\n export interface SavexmlResponse {\n Exceptions: Exceptions;\n xmlmap: string;\n }\n\n export interface SuperfileActionResponse {\n Exceptions: Exceptions;\n superfile: string;\n retcode: number;\n }\n\n export interface Subfiles2 {\n Item: string[];\n }\n\n export interface SuperfileListResponse {\n Exceptions: Exceptions;\n superfile: string;\n subfiles: Subfiles2;\n }\n}\n\nexport class DFUService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsDfu\", \"1.60\");\n }\n\n DFUQuery(request: WsDfu.DFUQueryRequest): Promise<WsDfu.DFUQueryResponse> {\n return this._connection.send(\"DFUQuery\", request);\n }\n\n DFUInfo(request: WsDfu.DFUInfoRequest): Promise<WsDfu.DFUInfoResponse> {\n return this._connection.send(\"DFUInfo\", request);\n }\n\n DFUFile(request: WsDfu.DFUDefFileRequest): Promise<string> {\n return this._connection.send(\"DFUDefFile\", request, \"text\");\n }\n\n ListHistory(request: WsDfu.ListHistoryRequest): Promise<WsDfu.ListHistoryResponse> {\n return this._connection.send(\"ListHistory\", request);\n }\n\n EraseHistory(request: WsDfu.EraseHistoryRequest): Promise<WsDfu.EraseHistoryResponse> {\n return this._connection.send(\"EraseHistory\", request);\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { Service } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/WsDFUXRef/?ver_=1.01&reqjson_\n * http://localhost:8010/WsDFUXRef/?ver_=1.01&respjson_\n * http://json2ts.com/\n*/\n\nexport namespace WsDFUXRef {\n\n export interface XRefFiles {\n Item: string[];\n }\n\n export interface DFUXRefArrayActionRequest {\n Type: string;\n Cluster: string;\n Action: string;\n XRefFiles: XRefFiles;\n }\n\n export interface DFUXRefBuildRequest {\n Cluster: string;\n }\n\n export interface DFUXRefBuildCancelRequest {\n }\n\n export interface DFUXRefCleanDirectoriesRequest {\n Cluster: string;\n }\n\n export interface DFUXRefDirectoriesQueryRequest {\n Cluster: string;\n }\n\n export interface DFUXRefFoundFilesQueryRequest {\n Cluster: string;\n }\n\n export interface DFUXRefListRequest {\n }\n\n export interface DFUXRefLostFilesQueryRequest {\n Cluster: string;\n }\n\n export interface DFUXRefMessagesQueryRequest {\n Cluster: string;\n }\n\n export interface DFUXRefOrphanFilesQueryRequest {\n Cluster: string;\n }\n\n export interface DFUXRefUnusedFilesRequest {\n ProcessCluster: string;\n CheckPackageMaps: boolean;\n GetFileDetails: boolean;\n }\n\n export interface WsDFUXRefPingRequest {\n }\n\n export interface Request {\n DFUXRefArrayActionRequest: DFUXRefArrayActionRequest;\n DFUXRefBuildRequest: DFUXRefBuildRequest;\n DFUXRefBuildCancelRequest: DFUXRefBuildCancelRequest;\n DFUXRefCleanDirectoriesRequest: DFUXRefCleanDirectoriesRequest;\n DFUXRefDirectoriesQueryRequest: DFUXRefDirectoriesQueryRequest;\n DFUXRefFoundFilesQueryRequest: DFUXRefFoundFilesQueryRequest;\n DFUXRefListRequest: DFUXRefListRequest;\n DFUXRefLostFilesQueryRequest: DFUXRefLostFilesQueryRequest;\n DFUXRefMessagesQueryRequest: DFUXRefMessagesQueryRequest;\n DFUXRefOrphanFilesQueryRequest: DFUXRefOrphanFilesQueryRequest;\n DFUXRefUnusedFilesRequest: DFUXRefUnusedFilesRequest;\n WsDFUXRefPingRequest: WsDFUXRefPingRequest;\n }\n\n export interface DFUXRefArrayActionResponse {\n DFUXRefArrayActionResult: string;\n }\n\n export interface DFUXRefBuildResponse {\n DFUXRefActionResult: string;\n }\n\n export interface DFUXRefBuildCancelResponse {\n DFUXRefBuildCancelResult: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Directory {\n Num: string;\n Name: string;\n MaxSize: string;\n MaxIP: string;\n MinSize: string;\n MinIP: string;\n Size: string;\n PositiveSkew: string;\n }\n\n export interface DFUXRefDirectoriesQueryResult {\n Directory: Directory[];\n Cluster: string;\n }\n\n export interface DFUXRefDirectoriesQueryResponse {\n DFUXRefDirectoriesQueryResult: DFUXRefDirectoriesQueryResult;\n }\n\n export interface Part {\n Num: string;\n Node: string;\n }\n\n export interface File {\n Size: string;\n Partmask: string;\n Modified: Date;\n Numparts: string;\n Part: Part[];\n }\n\n export interface DFUXRefFoundFilesQueryResult {\n File: File[];\n Cluster: string;\n }\n\n export interface DFUXRefFoundFilesQueryResponse {\n DFUXRefFoundFilesQueryResult: DFUXRefFoundFilesQueryResult;\n }\n\n export interface XRefNode {\n Name: string;\n Modified: string;\n Status: string;\n }\n\n export interface DFUXRefListResult {\n XRefNode: XRefNode[];\n }\n\n export interface DFUXRefListResponse {\n DFUXRefListResult: DFUXRefListResult;\n }\n\n export interface File2 {\n Partslost: string;\n Name: string;\n Partmask: string;\n Modified: Date;\n Numparts: string;\n Part: any;\n Cluster: string;\n Size: string;\n Primarylost: string;\n Replicatedlost: string;\n }\n\n export interface DFUXRefLostFilesQueryResult {\n File: File2[];\n Cluster: string;\n }\n\n export interface DFUXRefLostFilesQueryResponse {\n DFUXRefLostFilesQueryResult: DFUXRefLostFilesQueryResult;\n }\n\n export interface Warning {\n Text: string;\n File: string;\n }\n\n export interface DFUXRefMessagesQueryResult {\n Warning: Warning[];\n Cluster: string;\n }\n\n export interface DFUXRefMessagesQueryResponse {\n DFUXRefMessagesQueryResult: DFUXRefMessagesQueryResult;\n }\n\n export interface DFUXRefOrphanFilesQueryResult {\n File: File[];\n Cluster: string;\n }\n\n export interface DFUXRefOrphanFilesQueryResponse {\n DFUXRefOrphanFilesQueryResult: DFUXRefOrphanFilesQueryResult;\n }\n\n export interface Exception2 {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions2 {\n Source: string;\n Exception: Exception2[];\n }\n\n export interface UnusedFiles {\n File: string[];\n }\n\n export interface DFULogicalFile {\n Prefix: string;\n ClusterName: string;\n Directory: string;\n Description: string;\n Parts: string;\n Name: string;\n Owner: string;\n Totalsize: string;\n RecordCount: string;\n Modified: string;\n LongSize: string;\n LongRecordCount: string;\n isSuperfile: boolean;\n isZipfile: boolean;\n isDirectory: boolean;\n Replicate: boolean;\n IntSize: number;\n IntRecordCount: number;\n }\n\n export interface UnusedFilesWithDetails {\n DFULogicalFile: DFULogicalFile[];\n }\n\n export interface DFUXRefUnusedFilesResponse {\n Exceptions: Exceptions2;\n UnusedFileCount: number;\n UnusedFiles: UnusedFiles;\n UnusedFilesWithDetails: UnusedFilesWithDetails;\n }\n\n export interface WsDFUXRefPingResponse {\n }\n}\n\nexport class DFUXRefService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsDFUXRef\", \"1.01\");\n }\n\n DFUXRefArrayAction(request: WsDFUXRef.DFUXRefArrayActionRequest): Promise<WsDFUXRef.DFUXRefArrayActionResponse> {\n return this._connection.send(\"DFUXRefArrayAction\", request);\n }\n\n DFUXRefBuild(request: WsDFUXRef.DFUXRefBuildRequest): Promise<WsDFUXRef.DFUXRefBuildResponse> {\n return this._connection.send(\"DFUXRefBuild\", request);\n }\n\n DFUXRefBuildCancel(request: WsDFUXRef.DFUXRefBuildCancelRequest): Promise<WsDFUXRef.DFUXRefBuildCancelResponse> {\n return this._connection.send(\"DFUXRefBuildCancel\", request);\n }\n\n DFUXRefCleanDirectories(request: WsDFUXRef.DFUXRefCleanDirectoriesRequest): Promise<WsDFUXRef.DFUXRefDirectoriesQueryResponse> {\n return this._connection.send(\"DFUXRefCleanDirectories\", request);\n }\n\n DFUXRefDirectories(request: WsDFUXRef.DFUXRefDirectoriesQueryRequest): Promise<WsDFUXRef.DFUXRefDirectoriesQueryResponse> {\n return this._connection.send(\"DFUXRefDirectories\", request, undefined, undefined, undefined, \"DFUXRefDirectoriesQueryResponse\");\n }\n\n DFUXRefFoundFiles(request: WsDFUXRef.DFUXRefFoundFilesQueryRequest): Promise<WsDFUXRef.DFUXRefFoundFilesQueryResponse> {\n return this._connection.send(\"DFUXRefFoundFiles\", request, undefined, undefined, undefined, \"DFUXRefFoundFilesQueryResponse\");\n }\n\n DFUXRefList(request: WsDFUXRef.DFUXRefListRequest = {}): Promise<WsDFUXRef.DFUXRefListResponse> {\n return this._connection.send(\"DFUXRefList\", request);\n }\n\n DFUXRefLostFiles(request: WsDFUXRef.DFUXRefLostFilesQueryRequest): Promise<WsDFUXRef.DFUXRefLostFilesQueryResponse> {\n return this._connection.send(\"DFUXRefLostFiles\", request, undefined, undefined, undefined, \"DFUXRefLostFilesQueryResponse\");\n }\n\n DFUXRefMessages(request: WsDFUXRef.DFUXRefMessagesQueryRequest): Promise<WsDFUXRef.DFUXRefMessagesQueryResponse> {\n return this._connection.send(\"DFUXRefMessages\", request, undefined, undefined, undefined, \"DFUXRefMessagesQueryResponse\");\n }\n\n DFUXRefOrphanFiles(request: WsDFUXRef.DFUXRefOrphanFilesQueryRequest): Promise<WsDFUXRef.DFUXRefOrphanFilesQueryResponse> {\n return this._connection.send(\"DFUXRefOrphanFiles\", request, undefined, undefined, undefined, \"DFUXRefOrphanFilesQueryResponse\");\n }\n\n DFUXRefUnusedFiles(request: WsDFUXRef.DFUXRefUnusedFilesRequest): Promise<WsDFUXRef.DFUXRefUnusedFilesResponse> {\n return this._connection.send(\"DFUXRefUnusedFiles\", request);\n }\n}\n","import { DDL2 } from \"@hpcc-js/ddl-shim\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { ESPExceptions, Service } from \"../espConnection\";\n\nexport type IFieldType = DDL2.IFieldType;\nexport type IField = DDL2.IField;\n\nexport type IWsEclRequest = IField[];\nexport type IWsEclResult = IField[];\nexport type IWsEclResponse = { [id: string]: IField[] };\n\nfunction jsonToIField(id: string, item: any): IField {\n const type = typeof item;\n switch (type) {\n case \"boolean\":\n case \"number\":\n case \"string\":\n return { id, type };\n case \"object\":\n if (item.Row instanceof Array) {\n item = item.Row;\n }\n if (item instanceof Array) {\n return {\n id,\n type: \"dataset\",\n children: jsonToIFieldArr(item[0])\n };\n } else if (item instanceof Object) {\n if (item.Item && item.Item instanceof Array && item.Item.length === 1) {\n const fieldType = typeof item.Item[0];\n if (fieldType === \"string\" || fieldType === \"number\") {\n return {\n id,\n type: \"set\",\n fieldType\n };\n }\n throw new Error(\"Unknown field type\");\n }\n return {\n id,\n type: \"object\",\n fields: jsonToIFieldObj(item)\n };\n }\n // Fall through ---\n default:\n throw new Error(\"Unknown field type\");\n }\n}\n\nfunction jsonToIFieldArr(json: any): IField[] {\n if (json.Row && json.Row instanceof Array) {\n json = json.Row[0];\n }\n const retVal: IField[] = [];\n for (const key in json) {\n retVal.push(jsonToIField(key, json[key]));\n }\n return retVal;\n}\n\nfunction jsonToIFieldObj(json: any): { [id: string]: IField } {\n const fields = {};\n for (const key in json) {\n fields[key] = jsonToIField(key, json[key]);\n }\n return fields;\n}\n\nexport class EclService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsEcl\", \"0\");\n }\n\n opts() {\n return this._connection.opts();\n }\n\n requestJson(querySet: string, queryId: string): Promise<IWsEclRequest> {\n // http://192.168.3.22:8002/WsEcl/example/request/query/roxie/peopleaccounts/json?display\n return this._connection.send(`example/request/query/${querySet}/${queryId}/json`, {}, \"text\").then(response => {\n const requestSchema = JSON.parse(response);\n for (const key in requestSchema) {\n return requestSchema[key];\n }\n return {};\n }).then(jsonToIFieldArr);\n }\n\n responseJson(querySet: string, queryId: string): Promise<IWsEclResponse> {\n // http://192.168.3.22:8002/WsEcl/example/response/query/roxie/peopleaccounts/json?display\n return this._connection.send(`example/response/query/${querySet}/${queryId}/json`, {}, \"text\").then(response => {\n const responseSchema = JSON.parse(response);\n for (const key in responseSchema) {\n return responseSchema[key].Results;\n }\n return {};\n }).then(resultsJson => {\n const retVal: IWsEclResponse = {};\n for (const key in resultsJson) {\n retVal[key] = jsonToIFieldArr(resultsJson[key]);\n }\n return retVal;\n });\n }\n\n submit(querySet: string, queryId: string, request: object) {\n // http://192.168.3.22:8002/WsEcl/submit/query/roxie/peopleaccounts.1/json\n const action = `submit/query/${querySet}/${queryId}`;\n return this._connection.send(action, request, \"json2\").then(response => {\n if (response.Results && response.Results.Exception) {\n throw new ESPExceptions(action, request, {\n Source: \"wsEcl.submit\",\n Exception: response.Results.Exception\n });\n }\n return response.Results;\n });\n }\n}\n","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = n,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { Service } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/WsTopology/TpLogicalClusterQuery?respjson_\n * http://json2ts.com/\n*/\n\nexport namespace TpLogicalClusterQuery {\n export enum RoxieQueueFilter {\n All = \"All\",\n QueriesOnly = \"QueriesOnly\",\n WorkunitsOnly = \"WorkunitsOnly\"\n }\n\n export interface Request {\n EclServerQueue?: string;\n RoxieQueueFilter?: RoxieQueueFilter;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface TpLogicalCluster {\n Name: string;\n Queue: string;\n LanguageVersion: string;\n Process: string;\n Type: string;\n QueriesOnly?: boolean;\n }\n\n export interface TpLogicalClusters {\n TpLogicalCluster: TpLogicalCluster[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n TpLogicalClusters: TpLogicalClusters;\n }\n}\n\nexport namespace TpServiceQuery {\n export interface Request {\n Type?: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface TpMachine {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines {\n TpMachine: TpMachine[];\n }\n\n export interface TpDali {\n Name: string;\n Description: string;\n Build: string;\n BackupComputer: string;\n BackupDirectory: string;\n Type: string;\n Path: string;\n LogDirectory: string;\n TpMachines: TpMachines;\n }\n\n export interface TpDalis {\n TpDali: TpDali[];\n }\n\n export interface TpMachine2 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines2 {\n TpMachine: TpMachine2[];\n }\n\n export interface TpDfuServer {\n Name: string;\n Description: string;\n Build: string;\n Queue: string;\n Type: string;\n Path: string;\n LogDirectory: string;\n TpMachines: TpMachines2;\n }\n\n export interface TpDfuServers {\n TpDfuServer: TpDfuServer[];\n }\n\n export interface TpMachine3 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines3 {\n TpMachine: TpMachine3[];\n }\n\n export interface TpDkcSlave {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n TpMachines: TpMachines3;\n }\n\n export interface TpDkcSlaves {\n TpDkcSlave: TpDkcSlave[];\n }\n\n export interface TpMachine4 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines4 {\n TpMachine: TpMachine4[];\n }\n\n export interface TpDropZone {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n ECLWatchVisible: boolean;\n UMask: string;\n TpMachines: TpMachines4;\n }\n\n export interface TpDropZones {\n TpDropZone: TpDropZone[];\n }\n\n export interface TpMachine5 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines5 {\n TpMachine: TpMachine5[];\n }\n\n export interface TpEclAgent {\n Name: string;\n Description: string;\n Build: string;\n Type: string;\n Path: string;\n DaliServer: string;\n LogDir: string;\n TpMachines: TpMachines5;\n }\n\n export interface TpEclAgents {\n TpEclAgent: TpEclAgent[];\n }\n\n export interface TpMachine6 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines6 {\n TpMachine: TpMachine6[];\n }\n\n export interface TpEclServer {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines6;\n }\n\n export interface TpEclServers {\n TpEclServer: TpEclServer[];\n }\n\n export interface TpMachine7 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines7 {\n TpMachine: TpMachine7[];\n }\n\n export interface TpEclServer2 {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines7;\n }\n\n export interface TpEclCCServers {\n TpEclServer: TpEclServer2[];\n }\n\n export interface TpMachine8 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines8 {\n TpMachine: TpMachine8[];\n }\n\n export interface TpEclScheduler {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines8;\n }\n\n export interface TpEclSchedulers {\n TpEclScheduler: TpEclScheduler[];\n }\n\n export interface TpMachine9 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines9 {\n TpMachine: TpMachine9[];\n }\n\n export interface TpBinding {\n Name: string;\n Service: string;\n ServiceType: string;\n BindingType: string;\n ServiceBuildSet: string;\n Port: string;\n Protocol: string;\n }\n\n export interface TpBindings {\n TpBinding: TpBinding[];\n }\n\n export interface TpEspServer {\n Name: string;\n Description: string;\n Build: string;\n Type: string;\n Path: string;\n LogDirectory: string;\n TpMachines: TpMachines9;\n TpBindings: TpBindings;\n }\n\n export interface TpEspServers {\n TpEspServer: TpEspServer[];\n }\n\n export interface TpMachine10 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines10 {\n TpMachine: TpMachine10[];\n }\n\n export interface TpFTSlave {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n TpMachines: TpMachines10;\n }\n\n export interface TpFTSlaves {\n TpFTSlave: TpFTSlave[];\n }\n\n export interface TpMachine11 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines11 {\n TpMachine: TpMachine11[];\n }\n\n export interface TpGenesisServer {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n TpMachines: TpMachines11;\n }\n\n export interface TpGenesisServers {\n TpGenesisServer: TpGenesisServer[];\n }\n\n export interface TpMachine12 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines12 {\n TpMachine: TpMachine12[];\n }\n\n export interface TpLdapServer {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n TpMachines: TpMachines12;\n }\n\n export interface TpLdapServers {\n TpLdapServer: TpLdapServer[];\n }\n\n export interface TpMachine13 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines13 {\n TpMachine: TpMachine13[];\n }\n\n export interface TpMySqlServer {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n TpMachines: TpMachines13;\n }\n\n export interface TpMySqlServers {\n TpMySqlServer: TpMySqlServer[];\n }\n\n export interface TpMachine14 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines14 {\n TpMachine: TpMachine14[];\n }\n\n export interface TpSashaServer {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n LogDirectory: string;\n TpMachines: TpMachines14;\n }\n\n export interface TpSashaServers {\n TpSashaServer: TpSashaServer[];\n }\n\n export interface ServiceList {\n TpDalis: TpDalis;\n TpDfuServers: TpDfuServers;\n TpDkcSlaves: TpDkcSlaves;\n TpDropZones: TpDropZones;\n TpEclAgents: TpEclAgents;\n TpEclServers: TpEclServers;\n TpEclCCServers: TpEclCCServers;\n TpEclSchedulers: TpEclSchedulers;\n TpEspServers: TpEspServers;\n TpFTSlaves: TpFTSlaves;\n TpGenesisServers: TpGenesisServers;\n TpLdapServers: TpLdapServers;\n TpMySqlServers: TpMySqlServers;\n TpSashaServers: TpSashaServers;\n }\n\n export interface Response {\n Exceptions: Exceptions;\n MemThreshold: number;\n DiskThreshold: number;\n CpuThreshold: number;\n EncapsulatedSystem: boolean;\n EnableSNMP: boolean;\n PreflightProcessFilter: string;\n AcceptLanguage: string;\n MemThresholdType: string;\n DiskThresholdType: string;\n ServiceList: ServiceList;\n }\n}\n\nexport namespace TpTargetClusterQuery {\n\n export interface Request {\n Type?: string;\n Name?: string;\n ShowDetails?: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface TpMachine {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines {\n TpMachine: TpMachine[];\n }\n\n export interface TpCluster {\n Type: string;\n Name: string;\n QueueName: string;\n Build: string;\n Directory: string;\n LogDirectory: string;\n Desc: string;\n Path: string;\n DataModel: string;\n OS: number;\n HasThorSpareProcess: boolean;\n TpMachines: TpMachines;\n }\n\n export interface TpClusters {\n TpCluster: TpCluster[];\n }\n\n export interface TpMachine2 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines2 {\n TpMachine: TpMachine2[];\n }\n\n export interface TpEclServer {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines2;\n }\n\n export interface TpEclCCServers {\n TpEclServer: TpEclServer[];\n }\n\n export interface TpMachine3 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines3 {\n TpMachine: TpMachine3[];\n }\n\n export interface TpEclServer2 {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines3;\n }\n\n export interface TpEclServers {\n TpEclServer: TpEclServer2[];\n }\n\n export interface TpMachine4 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines4 {\n TpMachine: TpMachine4[];\n }\n\n export interface TpEclAgent {\n Name: string;\n Description: string;\n Build: string;\n Type: string;\n Path: string;\n DaliServer: string;\n LogDir: string;\n TpMachines: TpMachines4;\n }\n\n export interface TpEclAgents {\n TpEclAgent: TpEclAgent[];\n }\n\n export interface TpMachine5 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines5 {\n TpMachine: TpMachine5[];\n }\n\n export interface TpEclScheduler {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines5;\n }\n\n export interface TpEclSchedulers {\n TpEclScheduler: TpEclScheduler[];\n }\n\n export interface TpTargetCluster {\n Name: string;\n Prefix: string;\n Type: string;\n TpClusters: TpClusters;\n TpEclCCServers: TpEclCCServers;\n TpEclServers: TpEclServers;\n TpEclAgents: TpEclAgents;\n TpEclSchedulers: TpEclSchedulers;\n }\n\n export interface TpTargetClusters {\n TpTargetCluster: TpTargetCluster[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n ShowDetails: boolean;\n MemThreshold: number;\n DiskThreshold: number;\n CpuThreshold: number;\n MemThresholdType: string;\n DiskThresholdType: string;\n PreflightProcessFilter: string;\n AcceptLanguage: string;\n TpTargetClusters: TpTargetClusters;\n }\n}\n\nexport namespace TpListTargetClusters {\n\n export interface Request {\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface TpClusterNameType {\n Name: string;\n Type: string;\n IsDefault: boolean;\n }\n\n export interface TargetClusters {\n TpClusterNameType: TpClusterNameType[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n TargetClusters: TargetClusters;\n }\n\n}\n\nexport class TopologyService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsTopology\", \"1.25\");\n }\n\n connectionOptions(): IOptions {\n return this._connection.opts();\n }\n\n protocol(): string {\n const parts = this._connection.opts().baseUrl.split(\"//\");\n return parts[0];\n }\n\n ip(): string {\n const parts = this._connection.opts().baseUrl.split(\"//\");\n const parts2 = parts[1].split(\":\");\n return parts2[0];\n }\n\n TpLogicalClusterQuery(request: TpLogicalClusterQuery.Request = {}): Promise<TpLogicalClusterQuery.Response> {\n return this._connection.send(\"TpLogicalClusterQuery\", request);\n }\n\n DefaultTpLogicalClusterQuery(request: TpLogicalClusterQuery.Request = {}): Promise<TpLogicalClusterQuery.TpLogicalCluster> {\n return this.TpLogicalClusterQuery(request).then((response) => {\n if ((response as any).default) {\n return (response as any).default;\n }\n let firstHThor;\n let first;\n response.TpLogicalClusters.TpLogicalCluster.some((item, idx) => {\n if (idx === 0) {\n first = item;\n }\n if (item.Type === \"hthor\") {\n firstHThor = item;\n return true;\n }\n return false;\n });\n return firstHThor || first;\n });\n }\n\n TpServiceQuery(request: TpServiceQuery.Request): Promise<TpServiceQuery.Response> {\n return this._connection.send(\"TpServiceQuery\", request);\n }\n\n TpTargetClusterQuery(request: TpTargetClusterQuery.Request): Promise<TpTargetClusterQuery.Response> {\n return this._connection.send(\"TpTargetClusterQuery\", request);\n }\n\n TpListTargetClusters(request: TpListTargetClusters.Request): Promise<TpListTargetClusters.Response> {\n return this._connection.send(\"TpListTargetClusters\", request);\n }\n}\n","import { exists } from \"@hpcc-js/util\";\nimport { max as d3Max, mean as d3Mean } from \"d3-array\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { ESPConnection } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://192.168.3.22:8010/ws_machine/GetTargetClusterInfo?respjson_\n * http://json2ts.com/\n*/\n\nexport namespace GetTargetClusterInfo {\n\n export interface TargetClusters {\n Item: string[];\n }\n\n export interface Request {\n TargetClusters?: TargetClusters;\n AddProcessesToFilter?: string;\n ApplyProcessFilter?: boolean;\n GetProcessorInfo?: boolean;\n GetStorageInfo?: boolean;\n LocalFileSystemsOnly?: boolean;\n GetSoftwareInfo?: boolean;\n MemThreshold?: number;\n DiskThreshold?: number;\n CpuThreshold?: number;\n AutoRefresh?: number;\n MemThresholdType?: string;\n DiskThresholdType?: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Columns {\n Item: string[];\n }\n\n export interface Addresses {\n Item: string[];\n }\n\n export interface RequestInfo {\n Addresses: Addresses;\n ClusterType: string;\n Cluster: string;\n OldIP: string;\n Path: string;\n AddProcessesToFilter: string;\n ApplyProcessFilter: boolean;\n GetProcessorInfo: boolean;\n GetStorageInfo: boolean;\n LocalFileSystemsOnly: boolean;\n GetSoftwareInfo: boolean;\n MemThreshold: number;\n DiskThreshold: number;\n CpuThreshold: number;\n AutoRefresh: number;\n MemThresholdType: string;\n DiskThresholdType: string;\n SecurityString: string;\n UserName: string;\n Password: string;\n EnableSNMP: boolean;\n }\n\n export interface ProcessorInfo {\n Type: string;\n Load: number;\n }\n\n export interface Processors {\n ProcessorInfo: ProcessorInfo[];\n }\n\n export interface StorageInfo {\n Description: string;\n Type: string;\n Available: number;\n PercentAvail: number;\n Total: number;\n Failures: number;\n }\n\n export interface Storage {\n StorageInfo: StorageInfo[];\n }\n\n export interface SWRunInfo {\n Name: string;\n Instances: number;\n State: number;\n }\n\n export interface Running {\n SWRunInfo: SWRunInfo[];\n }\n\n export interface PhysicalMemory {\n Description: string;\n Type: string;\n Available: number;\n PercentAvail: number;\n Total: number;\n Failures: number;\n }\n\n export interface VirtualMemory {\n Description: string;\n Type: string;\n Available: number;\n PercentAvail: number;\n Total: number;\n Failures: number;\n }\n\n export interface ComponentInfo {\n Condition: number;\n State: number;\n UpTime: string;\n }\n\n export interface MachineInfoEx {\n Address: string;\n ConfigAddress: string;\n Name: string;\n ProcessType: string;\n DisplayType: string;\n Description: string;\n AgentVersion: string;\n Contact: string;\n Location: string;\n UpTime: string;\n ComponentName: string;\n ComponentPath: string;\n RoxieState: string;\n RoxieStateDetails: string;\n OS: number;\n ProcessNumber: number;\n Processors: Processors;\n Storage: Storage;\n Running: Running;\n PhysicalMemory: PhysicalMemory;\n VirtualMemory: VirtualMemory;\n ComponentInfo: ComponentInfo;\n }\n\n export interface Processes {\n MachineInfoEx: MachineInfoEx[];\n }\n\n export interface TargetClusterInfo {\n Name: string;\n Type: string;\n Processes: Processes;\n }\n\n export interface TargetClusterInfoList {\n TargetClusterInfo: TargetClusterInfo[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Columns: Columns;\n RequestInfo: RequestInfo;\n TargetClusterInfoList: TargetClusterInfoList;\n TimeStamp: string;\n AcceptLanguage: string;\n }\n}\n\nexport namespace GetTargetClusterUsage {\n\n export interface TargetClusters {\n Item: string[];\n }\n\n export interface Request {\n TargetClusters?: TargetClusters;\n BypassCachedResult: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface DiskUsage {\n Name: string;\n Path: string;\n Description: string;\n InUse: number;\n Available: number;\n PercentAvailable: number;\n }\n\n export interface DiskUsages {\n DiskUsage: DiskUsage[];\n }\n\n export interface MachineUsage {\n Name: string;\n NetAddress: string;\n Description: string;\n DiskUsages: DiskUsages;\n }\n\n export interface MachineUsages {\n MachineUsage: MachineUsage[];\n }\n\n export interface ComponentUsage {\n Type: string;\n Name: string;\n Description: string;\n MachineUsages: MachineUsages;\n }\n\n export interface ComponentUsages {\n ComponentUsage: ComponentUsage[];\n }\n\n export interface TargetClusterUsage {\n Name: string;\n Description: string;\n ComponentUsages: ComponentUsages;\n }\n\n export interface TargetClusterUsages {\n TargetClusterUsage: TargetClusterUsage[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n TargetClusterUsages: TargetClusterUsages;\n }\n}\n\nexport namespace GetTargetClusterUsageEx {\n\n export interface DiskUsage {\n Name: string;\n Path: string;\n Description: string;\n InUse: number;\n Available: number;\n Total: number;\n PercentAvailable: number;\n PercentUsed: number;\n }\n\n export interface MachineUsage {\n Name: string;\n NetAddress: string;\n Description: string;\n DiskUsages: DiskUsage[];\n mean: number;\n max: number;\n }\n\n export interface ComponentUsage {\n Type: string;\n Name: string;\n Description: string;\n MachineUsages: MachineUsage[];\n MachineUsagesDescription: string;\n mean: number;\n max: number;\n }\n\n export interface TargetClusterUsage {\n Name: string;\n Description: string;\n ComponentUsages: ComponentUsage[];\n ComponentUsagesDescription: string;\n mean: number;\n max: number;\n }\n}\n\nexport class MachineService {\n private _connection: ESPConnection;\n\n constructor(optsConnection: IOptions | IConnection) {\n this._connection = new ESPConnection(optsConnection, \"ws_machine\", \"1.13\");\n }\n\n GetTargetClusterInfo(request: GetTargetClusterInfo.Request = {}): Promise<GetTargetClusterInfo.Response> {\n return this._connection.send(\"GetTargetClusterInfo\", request);\n }\n\n GetTargetClusterUsage(targetClusters?: string[], bypassCachedResult: boolean = false): Promise<GetTargetClusterUsage.TargetClusterUsage[]> {\n return this._connection.send(\"GetTargetClusterUsage\", {\n TargetClusters: targetClusters ? { Item: targetClusters } : {},\n BypassCachedResult: bypassCachedResult\n }).then(response => {\n return exists(\"TargetClusterUsages.TargetClusterUsage\", response) ? response.TargetClusterUsages.TargetClusterUsage : [];\n });\n }\n\n GetTargetClusterUsageEx(targetClusters?: string[], bypassCachedResult: boolean = false): Promise<GetTargetClusterUsageEx.TargetClusterUsage[]> {\n return this.GetTargetClusterUsage(targetClusters, bypassCachedResult).then(response => {\n return response.filter(tcu => !!tcu.ComponentUsages).map(tcu => {\n const ComponentUsages: GetTargetClusterUsageEx.ComponentUsage[] = tcu.ComponentUsages.ComponentUsage.map(cu => {\n const MachineUsages = (cu.MachineUsages && cu.MachineUsages.MachineUsage ? cu.MachineUsages.MachineUsage : []).map(mu => {\n const DiskUsages: GetTargetClusterUsageEx.DiskUsage[] = mu.DiskUsages && mu.DiskUsages.DiskUsage ? mu.DiskUsages.DiskUsage.map(du => {\n return {\n ...du,\n Total: du.InUse + du.Available,\n PercentUsed: 100 - du.PercentAvailable\n };\n }) : [];\n return {\n Name: mu.Name,\n NetAddress: mu.NetAddress,\n Description: mu.Description,\n DiskUsages,\n mean: d3Mean(DiskUsages.filter(du => !isNaN(du.PercentUsed)), du => du.PercentUsed),\n max: d3Max(DiskUsages.filter(du => !isNaN(du.PercentUsed)), du => du.PercentUsed)\n };\n });\n return {\n Type: cu.Type,\n Name: cu.Name,\n Description: cu.Description,\n MachineUsages,\n MachineUsagesDescription: MachineUsages.reduce((prev, mu) => prev + (mu.Description || \"\"), \"\"),\n mean: d3Mean(MachineUsages.filter(mu => !isNaN(mu.mean)), mu => mu.mean),\n max: d3Max(MachineUsages.filter(mu => !isNaN(mu.max)), mu => mu.max)\n };\n });\n return {\n Name: tcu.Name,\n Description: tcu.Description,\n ComponentUsages,\n ComponentUsagesDescription: ComponentUsages.reduce((prev, cu) => prev + (cu.MachineUsagesDescription || \"\"), \"\"),\n mean: d3Mean(ComponentUsages.filter(cu => !isNaN(cu.mean)), cu => cu.mean),\n max: d3Max(ComponentUsages.filter(cu => !isNaN(cu.max)), cu => cu.max)\n };\n });\n });\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { ESPConnection } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://192.168.3.22:8010/WsSMC/Activity?respjson_\n * http://json2ts.com/\n*/\n\nexport namespace WsSMC {\n\n export interface Activity {\n ChatURL: string;\n BannerContent: string;\n BannerColor: string;\n BannerSize: string;\n BannerScroll: string;\n BannerAction: number;\n EnableChatURL: boolean;\n FromSubmitBtn: boolean;\n SortBy: string;\n Descending: boolean;\n }\n\n export interface BrowseResources {\n }\n\n export interface ClearQueue {\n Cluster: string;\n QueueName: string;\n Comment: string;\n ServerType: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface GetBuildInfo {\n }\n\n export interface GetStatusServerInfo {\n ServerName: string;\n ServerType: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface GetThorQueueAvailability {\n }\n\n export interface Index {\n }\n\n export interface LockQuery {\n EPIP: string;\n XPath: string;\n DurationMSLow: number;\n DurationMSHigh: number;\n TimeLockedLow: string;\n TimeLockedHigh: string;\n Mode: string;\n AllFileLocks: boolean;\n }\n\n export interface MoveJobBack {\n ClusterType: number;\n Cluster: string;\n QueueName: string;\n Wuid: string;\n }\n\n export interface MoveJobDown {\n ClusterType: number;\n Cluster: string;\n QueueName: string;\n Wuid: string;\n }\n\n export interface MoveJobFront {\n ClusterType: number;\n Cluster: string;\n QueueName: string;\n Wuid: string;\n }\n\n export interface MoveJobUp {\n ClusterType: number;\n Cluster: string;\n QueueName: string;\n Wuid: string;\n }\n\n export interface NotInCommunityEdition {\n EEPortal: string;\n }\n\n export interface PauseQueue {\n Cluster: string;\n QueueName: string;\n Comment: string;\n ServerType: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface Ping {\n }\n\n export interface RemoveJob {\n ClusterType: number;\n Cluster: string;\n QueueName: string;\n Wuid: string;\n }\n\n export interface ResumeQueue {\n Cluster: string;\n QueueName: string;\n Comment: string;\n ServerType: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface RoxieControlCmd {\n ProcessCluster: string;\n TargetCluster: string;\n Command: string;\n Wait: number;\n }\n\n export interface SetBanner {\n ChatURL: string;\n BannerContent: string;\n BannerColor: string;\n BannerSize: string;\n BannerScroll: string;\n BannerAction: number;\n EnableChatURL: boolean;\n FromSubmitBtn: boolean;\n }\n\n export interface SMCJob {\n Wuid: string;\n QueueName: string;\n }\n\n export interface SMCJobs {\n SMCJob: SMCJob[];\n }\n\n export interface SetJobPriority {\n QueueName: string;\n Wuid: string;\n Priority: string;\n SMCJobs: SMCJobs;\n }\n\n export interface StopQueue {\n Cluster: string;\n QueueName: string;\n Comment: string;\n ServerType: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface TargetCluster {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n StatusDetails: string;\n Warning: string;\n ClusterType: number;\n ClusterSize: number;\n ClusterStatus: number;\n }\n\n export interface ThorClusterList {\n TargetCluster: TargetCluster[];\n }\n\n export interface TargetCluster2 {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n StatusDetails: string;\n Warning: string;\n ClusterType: number;\n ClusterSize: number;\n ClusterStatus: number;\n }\n\n export interface RoxieClusterList {\n TargetCluster: TargetCluster2[];\n }\n\n export interface TargetCluster3 {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n StatusDetails: string;\n Warning: string;\n ClusterType: number;\n ClusterSize: number;\n ClusterStatus: number;\n }\n\n export interface HThorClusterList {\n TargetCluster: TargetCluster3[];\n }\n\n export interface DFUJob {\n TimeStarted: string;\n Done: number;\n Total: number;\n Command: string;\n }\n\n export interface DFUJobs {\n DFUJob: DFUJob[];\n }\n\n export interface ActiveWorkunit {\n Wuid: string;\n State: string;\n StateID: number;\n Owner: string;\n Jobname: string;\n Server: string;\n Instance: string;\n Priority: string;\n Extra: string;\n GraphName: string;\n Duration: string;\n GID: string;\n QueueName: string;\n MemoryBlocked: number;\n IsPausing: boolean;\n Warning: string;\n ClusterName: string;\n ClusterType: string;\n ClusterQueueName: string;\n TargetClusterName: string;\n }\n\n export interface Running {\n ActiveWorkunit: ActiveWorkunit[];\n }\n\n export interface Queues {\n ServerJobQueue: any[];\n }\n\n export interface ServerJobQueue {\n QueueName: string;\n Queues: Queues;\n ServerName: string;\n ServerType: string;\n QueueStatus: string;\n StatusDetails: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface ServerJobQueues {\n ServerJobQueue: ServerJobQueue[];\n }\n\n export interface ActivityResponse {\n Exceptions: Exceptions;\n Build: string;\n ThorClusterList: ThorClusterList;\n RoxieClusterList: RoxieClusterList;\n HThorClusterList: HThorClusterList;\n DFUJobs: DFUJobs;\n Running: Running;\n BannerContent: string;\n BannerColor: string;\n BannerSize: string;\n BannerScroll: string;\n ChatURL: string;\n ShowBanner: number;\n ShowChatURL: number;\n SortBy: string;\n Descending: boolean;\n SuperUser: boolean;\n AccessRight: string;\n ServerJobQueues: ServerJobQueues;\n ActivityTime: string;\n DaliDetached: boolean;\n }\n\n export interface HPCCResource {\n Name: string;\n Description: string;\n FileName: string;\n Version: string;\n }\n\n export interface HPCCResources {\n HPCCResource: HPCCResource[];\n }\n\n export interface HPCCResourceRepository {\n Name: string;\n Path: string;\n HPCCResources: HPCCResources;\n }\n\n export interface HPCCResourceRepositories {\n HPCCResourceRepository: HPCCResourceRepository[];\n }\n\n export interface BrowseResourcesResponse {\n Exceptions: Exceptions;\n PortalURL: string;\n NetAddress: string;\n OS: number;\n UseResource: boolean;\n HPCCResourceRepositories: HPCCResourceRepositories;\n }\n\n export interface TargetClusterInfo {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n StatusDetails: string;\n Warning: string;\n ClusterType: number;\n ClusterSize: number;\n ClusterStatus: number;\n }\n\n export interface Queues2 {\n ServerJobQueue: any[];\n }\n\n export interface ServerInfo {\n QueueName: string;\n Queues: Queues2;\n ServerName: string;\n ServerType: string;\n QueueStatus: string;\n StatusDetails: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface ActiveWorkunit2 {\n Wuid: string;\n State: string;\n StateID: number;\n Owner: string;\n Jobname: string;\n Server: string;\n Instance: string;\n Priority: string;\n Extra: string;\n GraphName: string;\n Duration: string;\n GID: string;\n QueueName: string;\n MemoryBlocked: number;\n IsPausing: boolean;\n Warning: string;\n ClusterName: string;\n ClusterType: string;\n ClusterQueueName: string;\n TargetClusterName: string;\n }\n\n export interface Workunits {\n ActiveWorkunit: ActiveWorkunit2[];\n }\n\n export interface StatusServerInfo {\n TargetClusterInfo: TargetClusterInfo;\n ServerInfo: ServerInfo;\n Workunits: Workunits;\n }\n\n export interface SMCQueueResponse {\n Exceptions: Exceptions;\n StatusServerInfo: StatusServerInfo;\n }\n\n export interface NamedValue {\n Name: string;\n Value: string;\n }\n\n export interface BuildInfo {\n NamedValue: NamedValue[];\n }\n\n export interface GetBuildInfoResponse {\n Exceptions: Exceptions;\n BuildInfo: BuildInfo;\n }\n\n export interface TargetClusterInfo2 {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n StatusDetails: string;\n Warning: string;\n ClusterType: number;\n ClusterSize: number;\n ClusterStatus: number;\n }\n\n export interface Queues3 {\n ServerJobQueue: any[];\n }\n\n export interface ServerInfo2 {\n QueueName: string;\n Queues: Queues3;\n ServerName: string;\n ServerType: string;\n QueueStatus: string;\n StatusDetails: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface ActiveWorkunit3 {\n Wuid: string;\n State: string;\n StateID: number;\n Owner: string;\n Jobname: string;\n Server: string;\n Instance: string;\n Priority: string;\n Extra: string;\n GraphName: string;\n Duration: string;\n GID: string;\n QueueName: string;\n MemoryBlocked: number;\n IsPausing: boolean;\n Warning: string;\n ClusterName: string;\n ClusterType: string;\n ClusterQueueName: string;\n TargetClusterName: string;\n }\n\n export interface Workunits2 {\n ActiveWorkunit: ActiveWorkunit3[];\n }\n\n export interface StatusServerInfo2 {\n TargetClusterInfo: TargetClusterInfo2;\n ServerInfo: ServerInfo2;\n Workunits: Workunits2;\n }\n\n export interface GetStatusServerInfoResponse {\n Exceptions: Exceptions;\n StatusServerInfo: StatusServerInfo2;\n }\n\n export interface ThorCluster {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n QueueAvailable: number;\n JobsRunning: number;\n JobsInQueue: number;\n QueueStatus2: number;\n ThorLCR: string;\n ClusterSize: number;\n }\n\n export interface ThorClusters {\n ThorCluster: ThorCluster[];\n }\n\n export interface GetThorQueueAvailabilityResponse {\n Exceptions: Exceptions;\n ThorClusters: ThorClusters;\n }\n\n export interface SMCIndexResponse {\n Exceptions: Exceptions;\n }\n\n export interface ModeNames {\n Item: string[];\n }\n\n export interface Lock {\n EPIP: string;\n XPath: string;\n LogicalFile: string;\n SessionID: number;\n DurationMS: number;\n TimeLocked: string;\n Modes: string;\n ModeNames: ModeNames;\n }\n\n export interface Locks {\n Lock: Lock[];\n }\n\n export interface LockQueryResponse {\n Exceptions: Exceptions;\n Locks: Locks;\n NumLocks: number;\n }\n\n export interface SMCJobResponse {\n Exceptions: Exceptions;\n }\n\n export interface NotInCommunityEditionResponse {\n Exceptions: Exceptions;\n }\n\n export interface WsSMCPingResponse {\n }\n\n export interface Endpoint {\n Address: string;\n Attached: boolean;\n StateHash: string;\n Status: string;\n }\n\n export interface Endpoints {\n Endpoint: Endpoint[];\n }\n\n export interface RoxieControlCmdResponse {\n Exceptions: Exceptions;\n Endpoints: Endpoints;\n }\n\n export interface SetBannerResponse {\n Exceptions: Exceptions;\n }\n\n export interface SMCPriorityResponse {\n Exceptions: Exceptions;\n }\n}\n\nexport class SMCService {\n private _connection: ESPConnection;\n\n constructor(optsConnection: IOptions | IConnection) {\n this._connection = new ESPConnection(optsConnection, \"WsSMC\", \"1.24\");\n }\n\n connectionOptions(): IOptions {\n return this._connection.opts();\n }\n\n Activity(request: Partial<WsSMC.Activity>): Promise<WsSMC.ActivityResponse> {\n return this._connection.send(\"Activity\", request).then(response => {\n return {\n Running: {\n ActiveWorkunit: []\n },\n ...response\n };\n });\n }\n\n BrowseResources(request: Partial<WsSMC.BrowseResources>): Promise<WsSMC.BrowseResourcesResponse> {\n return this._connection.send(\"BrowseResources\", request);\n }\n\n GetBuildInfo(request: Partial<WsSMC.GetBuildInfo>): Promise<WsSMC.GetBuildInfoResponse> {\n return this._connection.send(\"GetBuildInfo\", request);\n }\n\n GetStatusServerInfo(request: Partial<WsSMC.GetStatusServerInfo>): Promise<WsSMC.GetStatusServerInfoResponse> {\n return this._connection.send(\"GetStatusServerInfo\", request);\n }\n\n GetThorQueueAvailability(request: Partial<WsSMC.GetThorQueueAvailability>): Promise<WsSMC.GetThorQueueAvailabilityResponse> {\n return this._connection.send(\"GetThorQueueAvailability\", request);\n }\n\n LockQuery(request: Partial<WsSMC.LockQuery>): Promise<WsSMC.LockQueryResponse> {\n return this._connection.send(\"LockQuery\", request);\n }\n\n NotInCommunityEdition(request: Partial<WsSMC.NotInCommunityEdition>): Promise<WsSMC.NotInCommunityEditionResponse> {\n return this._connection.send(\"NotInCommunityEdition\", request);\n }\n\n RoxieControlCmd(request: Partial<WsSMC.RoxieControlCmd>): Promise<WsSMC.RoxieControlCmdResponse> {\n return this._connection.send(\"RoxieControlCmd\", request);\n }\n\n SetBanner(request: Partial<WsSMC.SetBanner>): Promise<WsSMC.SetBannerResponse> {\n return this._connection.send(\"SetBanner\", request);\n }\n\n SMCJob(request: Partial<WsSMC.SMCJob>): Promise<WsSMC.SMCJobResponse> {\n return this._connection.send(\"SMCJob\", request);\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { Service } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/wsstore/Fetch?reqjson_\n * http://localhost:8010/wsstore/Fetch?respjson_\n * http://json2ts.com/\n*/\n\nexport namespace WsStore {\n\n export interface CreateStoreRequest {\n Name: string;\n Type: string;\n Description: string;\n UserSpecific: boolean;\n }\n\n export interface DeleteRequest {\n StoreName: string;\n Namespace: string;\n Key: string;\n UserSpecific: boolean;\n TargetUser?: string;\n }\n\n export interface DeleteNamespaceRequest {\n StoreName: string;\n Namespace: string;\n UserSpecific: boolean;\n TargetUser: string;\n }\n\n export interface FetchRequest {\n StoreName: string;\n Namespace: string;\n Key: string;\n UserSpecific: boolean;\n }\n\n export interface FetchAllRequest {\n StoreName: string;\n Namespace: string;\n UserSpecific: boolean;\n }\n\n export interface FetchKeyMDRequest {\n StoreName: string;\n Namespace: string;\n Key: string;\n UserSpecific: boolean;\n }\n\n export interface ListKeysRequest {\n StoreName: string;\n Namespace: string;\n UserSpecific: boolean;\n }\n\n export interface ListNamespacesRequest {\n StoreName: string;\n UserSpecific: boolean;\n }\n\n export interface SetRequest {\n StoreName: string;\n Namespace: string;\n Key: string;\n Value: string;\n UserSpecific: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface CreateStoreResponse {\n Exceptions: Exceptions;\n Name: string;\n Type: string;\n Description: string;\n Owner: string;\n }\n\n export interface DeleteResponse {\n Exceptions: Exceptions;\n Success: boolean;\n }\n\n export interface DeleteNamespaceResponse {\n Exceptions: Exceptions;\n Success: boolean;\n }\n\n export interface FetchResponse {\n Exceptions: Exceptions;\n Value: string;\n }\n\n export interface Pair {\n Key: string;\n Value: string;\n }\n\n export interface Pairs {\n Pair: Pair[];\n }\n\n export interface FetchAllResponse {\n Exceptions: Exceptions;\n Namespace: string;\n Pairs: Pairs;\n }\n\n export interface Pair2 {\n Key: string;\n Value: string;\n }\n\n export interface Pairs2 {\n Pair: Pair2[];\n }\n\n export interface FetchKeyMDResponse {\n Exceptions: Exceptions;\n StoreName: string;\n Namespace: string;\n Key: string;\n Pairs: Pairs2;\n }\n\n export interface KeySet {\n Key: string[];\n }\n\n export interface ListKeysResponse {\n Exceptions: Exceptions;\n StoreName: string;\n Namespace: string;\n KeySet: KeySet;\n }\n\n export interface Namespaces {\n Namespace: string[];\n }\n\n export interface ListNamespacesResponse {\n Exceptions: Exceptions;\n StoreName: string;\n Namespaces: Namespaces;\n }\n\n export interface WsstorePingResponse {\n }\n\n export interface SetResponse {\n Exceptions: Exceptions;\n Success: boolean;\n }\n}\n\nexport class StoreService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsStore\", \"1\");\n }\n\n CreateStore(request: WsStore.CreateStoreRequest): Promise<WsStore.CreateStoreResponse> {\n return this._connection.send(\"Fetch\", request);\n }\n\n Delete(request: WsStore.DeleteRequest): Promise<WsStore.DeleteResponse> {\n return this._connection.send(\"Delete\", request).catch(e => {\n if (e.isESPExceptions && e.Exception.some(e => e.Code === -1)) {\n // \"Delete\" item does not exist ---\n return {\n Exceptions: undefined,\n Success: true\n } as WsStore.DeleteResponse;\n }\n throw e;\n });\n }\n\n DeleteNamespace(request: WsStore.DeleteNamespaceRequest): Promise<WsStore.DeleteNamespaceResponse> {\n return this._connection.send(\"DeleteNamespace\", request);\n }\n\n Fetch(request: WsStore.FetchRequest): Promise<WsStore.FetchResponse> {\n return this._connection.send(\"Fetch\", request).catch(e => {\n if (e.isESPExceptions && e.Exception.some(e => e.Code === -1)) {\n // \"Fetch\" item does not exist ---\n return {\n Exceptions: undefined,\n Value: undefined\n } as WsStore.FetchResponse;\n }\n throw e;\n });\n }\n\n FetchAll(request: WsStore.FetchAllRequest): Promise<WsStore.FetchAllResponse> {\n return this._connection.send(\"FetchAll\", request);\n }\n\n FetchKeyMD(request: WsStore.FetchKeyMDRequest): Promise<WsStore.FetchKeyMDResponse> {\n return this._connection.send(\"FetchKeyMD\", request);\n }\n\n ListKeys(request: WsStore.ListKeysRequest): Promise<WsStore.ListKeysResponse> {\n return this._connection.send(\"ListKeys\", request);\n }\n\n ListNamespaces(request: WsStore.ListNamespacesRequest): Promise<WsStore.ListNamespacesResponse> {\n return this._connection.send(\"ListNamespaces\", request);\n }\n\n Set(request: WsStore.SetRequest): Promise<WsStore.SetResponse> {\n return this._connection.send(\"Set\", request);\n }\n}\n","import { deepMixin, xml2json, XMLNode } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { ESPConnection, Service } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/WsWorkunits/WUInfo?reqjson_\n * http://localhost:8010/WsWorkunits/WUInfo?respjson_\n * http://json2ts.com/\n*/\n\nexport enum WUStateID {\n Unknown = 0,\n Compiled,\n Running,\n Completed,\n Failed,\n Archived,\n Aborting,\n Aborted,\n Blocked,\n Submitted,\n Scheduled,\n Compiling,\n Wait,\n UploadingFiled,\n DebugPaused,\n DebugRunning,\n Paused,\n LAST,\n NotFound = 999\n}\n\nexport namespace WUInfo {\n export interface Request {\n Wuid: string;\n TruncateEclTo64k?: boolean;\n Type?: string;\n IncludeExceptions?: boolean;\n IncludeGraphs?: boolean;\n IncludeSourceFiles?: boolean;\n IncludeResults?: boolean;\n IncludeResultsViewNames?: boolean;\n IncludeVariables?: boolean;\n IncludeTimers?: boolean;\n IncludeDebugValues?: boolean;\n IncludeApplicationValues?: boolean;\n IncludeWorkflows?: boolean;\n IncludeXmlSchemas?: boolean;\n IncludeResourceURLs?: boolean;\n IncludeECL?: boolean;\n IncludeHelpers?: boolean;\n IncludeAllowedClusters?: boolean;\n IncludeTotalClusterTime?: boolean;\n IncludeServiceNames?: boolean;\n SuppressResultSchemas?: boolean;\n ThorSlaveIP?: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Query {\n Text: string;\n Cpp: string;\n ResTxt: string;\n Dll: string;\n ThorLog: string;\n QueryMainDefinition: string;\n }\n\n export interface ECLHelpFile {\n Name: string;\n Type: string;\n IPAddress: string;\n Description: string;\n FileSize: number;\n PID: number;\n minActivityId: number;\n maxActivityId: number;\n }\n\n export interface Helpers {\n ECLHelpFile: ECLHelpFile[];\n }\n\n export interface ECLException {\n Source: string;\n Severity: string;\n Code: number;\n Message: string;\n FileName: string;\n LineNo: number;\n Column: number;\n Activity: number;\n Scope?: string;\n Priority?: number;\n }\n\n export interface Exceptions2 {\n ECLException: ECLException[];\n }\n\n export interface ECLGraph {\n Name: string;\n Label: string;\n Type: string;\n Running: boolean;\n Complete: boolean;\n Failed: boolean;\n RunningId: number;\n WhenStarted: string;\n WhenFinished: string;\n }\n\n export interface Graphs {\n ECLGraph: ECLGraph[];\n }\n\n export interface ECLSourceFiles {\n ECLSourceFile: any[];\n }\n\n export interface ECLSourceFile {\n FileCluster: string;\n Name: string;\n IsSuperFile: boolean;\n Subs: number;\n Count: number;\n ECLSourceFiles: ECLSourceFiles;\n }\n\n export interface SourceFiles {\n ECLSourceFile: ECLSourceFile[];\n }\n\n export interface ECLSchemaItem {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas {\n ECLSchemaItem: ECLSchemaItem[];\n }\n\n export interface ECLResult {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas;\n XmlSchema: string;\n }\n\n export interface Results {\n ECLResult: ECLResult[];\n }\n\n export interface ECLSchemaItem2 {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas2 {\n ECLSchemaItem: ECLSchemaItem2[];\n }\n\n export interface ECLResult2 {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas2;\n XmlSchema: string;\n }\n\n export interface Variables {\n ECLResult: ECLResult2[];\n }\n\n export interface ECLTimer {\n Name: string;\n Value: string;\n count: number;\n GraphName: string;\n SubGraphId: number;\n Timestamp?: number;\n When?: string;\n }\n\n export interface Timers {\n ECLTimer: ECLTimer[];\n }\n\n export interface DebugValue {\n Name: string;\n Value: string;\n }\n\n export interface DebugValues {\n DebugValue: DebugValue[];\n }\n\n export interface ApplicationValue {\n Application: string;\n Name: string;\n Value: string;\n }\n\n export interface ApplicationValues {\n ApplicationValue: ApplicationValue[];\n }\n\n export interface ECLWorkflow {\n WFID: string;\n EventName: string;\n EventText: string;\n Count: number;\n CountRemaining: number;\n }\n\n export interface Workflows {\n ECLWorkflow: ECLWorkflow[];\n }\n\n export interface ECLTimingData {\n Name: string;\n GraphNum: number;\n SubGraphNum: number;\n GID: number;\n Min: number;\n MS: number;\n }\n\n export interface TimingData {\n ECLTimingData: ECLTimingData[];\n }\n\n export interface AllowedClusters {\n AllowedCluster: string[];\n }\n\n export interface ThorLogInfo {\n ProcessName: string;\n ClusterGroup: string;\n LogDate: string;\n NumberSlaves: number;\n }\n\n export interface ThorLogList {\n ThorLogInfo: ThorLogInfo[];\n }\n\n export interface ResourceURLs {\n URL: string[];\n }\n\n export interface ServiceNames {\n Item: string[];\n }\n\n export interface Workunit {\n Wuid: string;\n Owner: string;\n Cluster: string;\n RoxieCluster: string;\n Jobname: string;\n Queue: string;\n StateID: number;\n State: string;\n StateEx: string;\n Description: string;\n Protected: boolean;\n Active: boolean;\n Action: number;\n ActionEx: string;\n DateTimeScheduled: string;\n PriorityClass: number;\n PriorityLevel: number;\n Scope: string;\n Snapshot: string;\n ResultLimit: number;\n Archived: boolean;\n IsPausing: boolean;\n ThorLCR: boolean;\n EventSchedule: number;\n HaveSubGraphTimings?: boolean;\n TotalClusterTime: string;\n AbortBy: string;\n AbortTime: string;\n Query: Query;\n Helpers: Helpers;\n Exceptions: Exceptions2;\n Graphs: Graphs;\n SourceFiles: SourceFiles;\n Results: Results;\n Variables: Variables;\n Timers: Timers;\n DebugValues: DebugValues;\n ApplicationValues: ApplicationValues;\n Workflows: Workflows;\n TimingData: TimingData;\n AllowedClusters: AllowedClusters;\n ErrorCount: number;\n WarningCount: number;\n InfoCount: number;\n AlertCount: number;\n GraphCount: number;\n SourceFileCount: number;\n ResultCount: number;\n VariableCount: number;\n TimerCount: number;\n HasDebugValue: boolean;\n ApplicationValueCount: number;\n XmlParams: string;\n AccessFlag: number;\n ClusterFlag: number;\n HelpersDesc: string;\n GraphsDesc: string;\n SourceFilesDesc: string;\n ResultsDesc: string;\n VariablesDesc: string;\n TimersDesc: string;\n DebugValuesDesc: string;\n ApplicationValuesDesc: string;\n WorkflowsDesc: string;\n HasArchiveQuery: boolean;\n ThorLogList: ThorLogList;\n ResourceURLs: ResourceURLs;\n ResultViewCount: number;\n ResourceURLCount: number;\n DebugValueCount: number;\n WorkflowCount: number;\n HelpersCount: number;\n ServiceNames?: ServiceNames;\n ExecuteCost?: number;\n FileAccessCost?: number;\n }\n\n export interface ResultViews {\n View: string[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Workunit: Workunit;\n AutoRefresh: number;\n CanCompile: boolean;\n ThorSlaveIP: string;\n ResultViews: ResultViews;\n SecMethod: string;\n }\n}\n\nexport function isECLResult(_: any): _ is WUInfo.ECLResult {\n return typeof (_ as WUInfo.ECLResult).Name === \"string\";\n}\n\nexport namespace WUQuery {\n export interface ApplicationValue {\n Application: string;\n Name: string;\n Value: string;\n }\n\n export interface Request {\n Wuid?: string;\n Type?: string;\n Cluster?: string;\n RoxieCluster?: string;\n Owner?: string;\n State?: string;\n StartDate?: string;\n EndDate?: string;\n ECL?: string;\n Jobname?: string;\n LogicalFile?: string;\n LogicalFileSearchType?: string;\n ApplicationValues?: {\n ApplicationValue: ApplicationValue[]\n };\n After?: string;\n Before?: string;\n Count?: number;\n PageSize?: number;\n PageStartFrom?: number;\n PageEndAt?: number;\n LastNDays?: number;\n Sortby?: string;\n Descending?: boolean;\n CacheHint?: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Query {\n Text: string;\n Cpp: string;\n ResTxt: string;\n Dll: string;\n ThorLog: string;\n QueryMainDefinition: string;\n }\n\n export interface ECLHelpFile {\n Name: string;\n Type: string;\n IPAddress: string;\n Description: string;\n FileSize: number;\n PID: number;\n minActivityId: number;\n maxActivityId: number;\n }\n\n export interface Helpers {\n ECLHelpFile: ECLHelpFile[];\n }\n\n export interface ECLException {\n Source: string;\n Severity: string;\n Code: number;\n Message: string;\n FileName: string;\n LineNo: number;\n Column: number;\n Activity: number;\n }\n\n export interface Exceptions2 {\n ECLException: ECLException[];\n }\n\n export interface ECLGraph {\n Name: string;\n Label: string;\n Type: string;\n Running: boolean;\n Complete: boolean;\n Failed: boolean;\n RunningId: number;\n WhenStarted: string;\n WhenFinished: string;\n }\n\n export interface Graphs {\n ECLGraph: ECLGraph[];\n }\n\n export interface ECLSourceFiles {\n ECLSourceFile: any[];\n }\n\n export interface ECLSourceFile {\n FileCluster: string;\n Name: string;\n IsSuperFile: boolean;\n Subs: number;\n Count: number;\n ECLSourceFiles: ECLSourceFiles;\n }\n\n export interface SourceFiles {\n ECLSourceFile: ECLSourceFile[];\n }\n\n export interface ECLSchemaItem {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas {\n ECLSchemaItem: ECLSchemaItem[];\n }\n\n export interface ECLResult {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas;\n XmlSchema: string;\n }\n\n export interface Results {\n ECLResult: ECLResult[];\n }\n\n export interface ECLSchemaItem2 {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas2 {\n ECLSchemaItem: ECLSchemaItem2[];\n }\n\n export interface ECLResult2 {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas2;\n XmlSchema: string;\n }\n\n export interface Variables {\n ECLResult: ECLResult2[];\n }\n\n export interface ECLTimer {\n Name: string;\n Value: string;\n count: number;\n GraphName: string;\n SubGraphId: number;\n }\n\n export interface Timers {\n ECLTimer: ECLTimer[];\n }\n\n export interface DebugValue {\n Name: string;\n Value: string;\n }\n\n export interface DebugValues {\n DebugValue: DebugValue[];\n }\n\n export interface ApplicationValue {\n Application: string;\n Name: string;\n Value: string;\n }\n\n export interface ApplicationValues {\n ApplicationValue: ApplicationValue[];\n }\n\n export interface ECLWorkflow {\n WFID: string;\n EventName: string;\n EventText: string;\n Count: number;\n CountRemaining: number;\n }\n\n export interface Workflows {\n ECLWorkflow: ECLWorkflow[];\n }\n\n export interface ECLTimingData {\n Name: string;\n GraphNum: number;\n SubGraphNum: number;\n GID: number;\n Min: number;\n MS: number;\n }\n\n export interface TimingData {\n ECLTimingData: ECLTimingData[];\n }\n\n export interface AllowedClusters {\n AllowedCluster: string[];\n }\n\n export interface ThorLogInfo {\n ProcessName: string;\n ClusterGroup: string;\n LogDate: string;\n NumberSlaves: number;\n }\n\n export interface ThorLogList {\n ThorLogInfo: ThorLogInfo[];\n }\n\n export interface ResourceURLs {\n URL: string[];\n }\n\n export interface ECLWorkunit {\n Wuid: string;\n Owner: string;\n Cluster: string;\n RoxieCluster: string;\n Jobname: string;\n Queue: string;\n StateID: number;\n State: string;\n StateEx: string;\n Description: string;\n Protected: boolean;\n Active: boolean;\n Action: number;\n ActionEx: string;\n DateTimeScheduled: string;\n PriorityClass: number;\n PriorityLevel: number;\n Scope: string;\n Snapshot: string;\n ResultLimit: number;\n Archived: boolean;\n IsPausing: boolean;\n ThorLCR: boolean;\n EventSchedule: number;\n HaveSubGraphTimings: boolean;\n TotalClusterTime: string;\n AbortBy: string;\n AbortTime: string;\n Query: Query;\n Helpers: Helpers;\n Exceptions: Exceptions2;\n Graphs: Graphs;\n SourceFiles: SourceFiles;\n Results: Results;\n Variables: Variables;\n Timers: Timers;\n DebugValues: DebugValues;\n ApplicationValues: ApplicationValues;\n Workflows: Workflows;\n TimingData: TimingData;\n AllowedClusters: AllowedClusters;\n ErrorCount: number;\n WarningCount: number;\n InfoCount: number;\n AlertCount: number;\n GraphCount: number;\n SourceFileCount: number;\n ResultCount: number;\n VariableCount: number;\n TimerCount: number;\n HasDebugValue: boolean;\n ApplicationValueCount: number;\n XmlParams: string;\n AccessFlag: number;\n ClusterFlag: number;\n HelpersDesc: string;\n GraphsDesc: string;\n SourceFilesDesc: string;\n ResultsDesc: string;\n VariablesDesc: string;\n TimersDesc: string;\n DebugValuesDesc: string;\n ApplicationValuesDesc: string;\n WorkflowsDesc: string;\n HasArchiveQuery: boolean;\n ThorLogList: ThorLogList;\n ResourceURLs: ResourceURLs;\n ResultViewCount: number;\n ResourceURLCount: number;\n DebugValueCount: number;\n WorkflowCount: number;\n HelpersCount: number;\n ExecuteCost?: number;\n FileAccessCost?: number;\n }\n\n export interface Workunits {\n ECLWorkunit: ECLWorkunit[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Type: string;\n Cluster: string;\n RoxieCluster: string;\n Owner: string;\n State: string;\n StartDate: string;\n EndDate: string;\n ECL: string;\n Jobname: string;\n LogicalFile: string;\n LogicalFileSearchType: string;\n Current: string;\n Next: string;\n Count: number;\n PageSize: number;\n PrevPage: number;\n NextPage: number;\n LastPage: number;\n NumWUs: number;\n First: boolean;\n PageStartFrom: number;\n PageEndAt: number;\n LastNDays: number;\n Sortby: string;\n Descending: boolean;\n BasicQuery: string;\n Filters: string;\n CacheHint: number;\n Workunits: Workunits;\n }\n}\n\nexport namespace WUCreate {\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Query {\n Text: string;\n Cpp: string;\n ResTxt: string;\n Dll: string;\n ThorLog: string;\n QueryMainDefinition: string;\n }\n\n export interface ECLHelpFile {\n Name: string;\n Type: string;\n IPAddress: string;\n Description: string;\n FileSize: number;\n PID: number;\n minActivityId: number;\n maxActivityId: number;\n }\n\n export interface Helpers {\n ECLHelpFile: ECLHelpFile[];\n }\n\n export interface ECLException {\n Source: string;\n Severity: string;\n Code: number;\n Message: string;\n FileName: string;\n LineNo: number;\n Column: number;\n Activity: number;\n }\n\n export interface Exceptions2 {\n ECLException: ECLException[];\n }\n\n export interface ECLGraph {\n Name: string;\n Label: string;\n Type: string;\n Running: boolean;\n Complete: boolean;\n Failed: boolean;\n RunningId: number;\n WhenStarted: string;\n WhenFinished: string;\n }\n\n export interface Graphs {\n ECLGraph: ECLGraph[];\n }\n\n export interface ECLSourceFiles {\n ECLSourceFile: any[];\n }\n\n export interface ECLSourceFile {\n FileCluster: string;\n Name: string;\n IsSuperFile: boolean;\n Subs: number;\n Count: number;\n ECLSourceFiles: ECLSourceFiles;\n }\n\n export interface SourceFiles {\n ECLSourceFile: ECLSourceFile[];\n }\n\n export interface ECLSchemaItem {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas {\n ECLSchemaItem: ECLSchemaItem[];\n }\n\n export interface ECLResult {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas;\n XmlSchema: string;\n }\n\n export interface Results {\n ECLResult: ECLResult[];\n }\n\n export interface ECLSchemaItem2 {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas2 {\n ECLSchemaItem: ECLSchemaItem2[];\n }\n\n export interface ECLResult2 {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas2;\n XmlSchema: string;\n }\n\n export interface Variables {\n ECLResult: ECLResult2[];\n }\n\n export interface ECLTimer {\n Name: string;\n Value: string;\n count: number;\n GraphName: string;\n SubGraphId: number;\n }\n\n export interface Timers {\n ECLTimer: ECLTimer[];\n }\n\n export interface DebugValue {\n Name: string;\n Value: string;\n }\n\n export interface DebugValues {\n DebugValue: DebugValue[];\n }\n\n export interface ApplicationValue {\n Application: string;\n Name: string;\n Value: string;\n }\n\n export interface ApplicationValues {\n ApplicationValue: ApplicationValue[];\n }\n\n export interface ECLWorkflow {\n WFID: string;\n EventName: string;\n EventText: string;\n Count: number;\n CountRemaining: number;\n }\n\n export interface Workflows {\n ECLWorkflow: ECLWorkflow[];\n }\n\n export interface ECLTimingData {\n Name: string;\n GraphNum: number;\n SubGraphNum: number;\n GID: number;\n Min: number;\n MS: number;\n }\n\n export interface TimingData {\n ECLTimingData: ECLTimingData[];\n }\n\n export interface AllowedClusters {\n AllowedCluster: string[];\n }\n\n export interface ThorLogInfo {\n ProcessName: string;\n ClusterGroup: string;\n LogDate: string;\n NumberSlaves: number;\n }\n\n export interface ThorLogList {\n ThorLogInfo: ThorLogInfo[];\n }\n\n export interface ResourceURLs {\n URL: string[];\n }\n\n export interface Workunit {\n Wuid: string;\n Owner: string;\n Cluster: string;\n RoxieCluster: string;\n Jobname: string;\n Queue: string;\n StateID: number;\n State: string;\n StateEx: string;\n Description: string;\n Protected: boolean;\n Active: boolean;\n Action: number;\n ActionEx: string;\n DateTimeScheduled: string;\n PriorityClass: number;\n PriorityLevel: number;\n Scope: string;\n Snapshot: string;\n ResultLimit: number;\n Archived: boolean;\n IsPausing: boolean;\n ThorLCR: boolean;\n EventSchedule: number;\n HaveSubGraphTimings: boolean;\n TotalClusterTime: string;\n AbortBy: string;\n AbortTime: string;\n Query: Query;\n Helpers: Helpers;\n Exceptions: Exceptions2;\n Graphs: Graphs;\n SourceFiles: SourceFiles;\n Results: Results;\n Variables: Variables;\n Timers: Timers;\n DebugValues: DebugValues;\n ApplicationValues: ApplicationValues;\n Workflows: Workflows;\n TimingData: TimingData;\n AllowedClusters: AllowedClusters;\n ErrorCount: number;\n WarningCount: number;\n InfoCount: number;\n AlertCount: number;\n GraphCount: number;\n SourceFileCount: number;\n ResultCount: number;\n VariableCount: number;\n TimerCount: number;\n HasDebugValue: boolean;\n ApplicationValueCount: number;\n XmlParams: string;\n AccessFlag: number;\n ClusterFlag: number;\n HelpersDesc: string;\n GraphsDesc: string;\n SourceFilesDesc: string;\n ResultsDesc: string;\n VariablesDesc: string;\n TimersDesc: string;\n DebugValuesDesc: string;\n ApplicationValuesDesc: string;\n WorkflowsDesc: string;\n HasArchiveQuery: boolean;\n ThorLogList: ThorLogList;\n ResourceURLs: ResourceURLs;\n ResultViewCount: number;\n ResourceURLCount: number;\n DebugValueCount: number;\n WorkflowCount: number;\n HelpersCount: number;\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Workunit: Workunit;\n }\n}\n\nexport namespace WUListQueries {\n export interface Request {\n QueryID: string;\n QueryName: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface ClusterQueryState {\n Cluster: string;\n State: string;\n Errors: string;\n MixedNodeStates: boolean;\n }\n\n export interface Clusters {\n ClusterQueryState: ClusterQueryState[];\n }\n\n export interface QuerySetQuery {\n Id: string;\n Name: string;\n Wuid: string;\n Dll: string;\n Suspended: boolean;\n Clusters: Clusters;\n memoryLimit: string;\n timeLimit: number;\n warnTimeLimit: number;\n priority: string;\n Comment: string;\n QuerySetId: string;\n IsLibrary: boolean;\n Activated: boolean;\n PublishedBy: string;\n snapshot: string;\n }\n\n export interface QuerysetQueries {\n QuerySetQuery: QuerySetQuery[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n NumberOfQueries: number;\n CacheHint: number;\n QuerysetQueries: QuerysetQueries;\n }\n}\n\nexport namespace WUPushEvent {\n export interface Request {\n EventName: string;\n EventText: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n }\n}\n\nexport namespace WUUpdate {\n export enum Action {\n Unknown = 0,\n Compile,\n Check,\n Run,\n ExecuteExisting,\n Pause,\n PauseNow,\n Resume,\n Debug,\n __size\n }\n\n export interface Request {\n Wuid: string;\n State?: string;\n StateOrig?: string;\n Jobname?: string;\n JobnameOrig?: string;\n QueryText?: string;\n Action?: Action;\n Description?: string;\n DescriptionOrig?: string;\n AddDrilldownFields?: boolean;\n ResultLimit?: number;\n Protected?: boolean;\n ProtectedOrig?: boolean;\n PriorityClass?: string;\n PriorityLevel?: string;\n Scope?: string;\n ScopeOrig?: string;\n ClusterSelection?: string;\n ClusterOrig?: string;\n XmlParams?: string;\n ThorSlaveIP?: string;\n QueryMainDefinition?: string;\n DebugValues?: DebugValues;\n ApplicationValues?: ApplicationValues;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Query {\n Text: string;\n Cpp: string;\n ResTxt: string;\n Dll: string;\n ThorLog: string;\n QueryMainDefinition: string;\n }\n\n export interface ECLHelpFile {\n Name: string;\n Type: string;\n IPAddress: string;\n Description: string;\n FileSize: number;\n PID: number;\n minActivityId: number;\n maxActivityId: number;\n }\n\n export interface Helpers {\n ECLHelpFile: ECLHelpFile[];\n }\n\n export interface ECLException {\n Source: string;\n Severity: string;\n Code: number;\n Message: string;\n FileName: string;\n LineNo: number;\n Column: number;\n Activity: number;\n }\n\n export interface Exceptions2 {\n ECLException: ECLException[];\n }\n\n export interface ECLGraph {\n Name: string;\n Label: string;\n Type: string;\n Running: boolean;\n Complete: boolean;\n Failed: boolean;\n RunningId: number;\n WhenStarted: string;\n WhenFinished: string;\n }\n\n export interface Graphs {\n ECLGraph: ECLGraph[];\n }\n\n export interface ECLSourceFiles {\n ECLSourceFile: any[];\n }\n\n export interface ECLSourceFile {\n FileCluster: string;\n Name: string;\n IsSuperFile: boolean;\n Subs: number;\n Count: number;\n ECLSourceFiles: ECLSourceFiles;\n }\n\n export interface SourceFiles {\n ECLSourceFile: ECLSourceFile[];\n }\n\n export interface ECLSchemaItem {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas {\n ECLSchemaItem: ECLSchemaItem[];\n }\n\n export interface ECLResult {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas;\n XmlSchema: string;\n }\n\n export interface Results {\n ECLResult: ECLResult[];\n }\n\n export interface ECLSchemaItem2 {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas2 {\n ECLSchemaItem: ECLSchemaItem2[];\n }\n\n export interface ECLResult2 {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas2;\n XmlSchema: string;\n }\n\n export interface Variables {\n ECLResult: ECLResult2[];\n }\n\n export interface ECLTimer {\n Name: string;\n Value: string;\n count: number;\n GraphName: string;\n SubGraphId: number;\n }\n\n export interface Timers {\n ECLTimer: ECLTimer[];\n }\n\n export interface DebugValue {\n Name: string;\n Value: string;\n }\n\n export interface DebugValues {\n DebugValue: DebugValue[];\n }\n\n export interface ApplicationValue {\n Application: string;\n Name: string;\n Value: string;\n }\n\n export interface ApplicationValues {\n ApplicationValue: ApplicationValue[];\n }\n\n export interface ECLWorkflow {\n WFID: string;\n EventName: string;\n EventText: string;\n Count: number;\n CountRemaining: number;\n }\n\n export interface Workflows {\n ECLWorkflow: ECLWorkflow[];\n }\n\n export interface ECLTimingData {\n Name: string;\n GraphNum: number;\n SubGraphNum: number;\n GID: number;\n Min: number;\n MS: number;\n }\n\n export interface TimingData {\n ECLTimingData: ECLTimingData[];\n }\n\n export interface AllowedClusters {\n AllowedCluster: string[];\n }\n\n export interface ThorLogInfo {\n ProcessName: string;\n ClusterGroup: string;\n LogDate: string;\n NumberSlaves: number;\n }\n\n export interface ThorLogList {\n ThorLogInfo: ThorLogInfo[];\n }\n\n export interface ResourceURLs {\n URL: string[];\n }\n\n export interface Workunit {\n Wuid: string;\n Owner: string;\n Cluster: string;\n RoxieCluster: string;\n Jobname: string;\n Queue: string;\n StateID: number;\n State: string;\n StateEx: string;\n Description: string;\n Protected: boolean;\n Active: boolean;\n Action: number;\n ActionEx: string;\n DateTimeScheduled: string;\n PriorityClass: number;\n PriorityLevel: number;\n Scope: string;\n Snapshot: string;\n ResultLimit: number;\n Archived: boolean;\n IsPausing: boolean;\n ThorLCR: boolean;\n EventSchedule: number;\n HaveSubGraphTimings: boolean;\n TotalClusterTime: string;\n AbortBy: string;\n AbortTime: string;\n Query: Query;\n Helpers: Helpers;\n Exceptions: Exceptions2;\n Graphs: Graphs;\n SourceFiles: SourceFiles;\n Results: Results;\n Variables: Variables;\n Timers: Timers;\n DebugValues: DebugValues;\n ApplicationValues: ApplicationValues;\n Workflows: Workflows;\n TimingData: TimingData;\n AllowedClusters: AllowedClusters;\n ErrorCount: number;\n WarningCount: number;\n InfoCount: number;\n AlertCount: number;\n GraphCount: number;\n SourceFileCount: number;\n ResultCount: number;\n VariableCount: number;\n TimerCount: number;\n HasDebugValue: boolean;\n ApplicationValueCount: number;\n XmlParams: string;\n AccessFlag: number;\n ClusterFlag: number;\n HelpersDesc: string;\n GraphsDesc: string;\n SourceFilesDesc: string;\n ResultsDesc: string;\n VariablesDesc: string;\n TimersDesc: string;\n DebugValuesDesc: string;\n ApplicationValuesDesc: string;\n WorkflowsDesc: string;\n HasArchiveQuery: boolean;\n ThorLogList: ThorLogList;\n ResourceURLs: ResourceURLs;\n ResultViewCount: number;\n ResourceURLCount: number;\n DebugValueCount: number;\n WorkflowCount: number;\n HelpersCount: number;\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Workunit: Workunit;\n }\n}\n\nexport namespace WUSubmit {\n export interface Request {\n Wuid: string;\n Cluster: string;\n Queue?: string;\n Snapshot?: string;\n MaxRunTime?: number;\n BlockTillFinishTimer?: boolean;\n SyntaxCheck?: boolean;\n NotifyCluster?: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n }\n}\n\nexport namespace WUResubmit {\n export interface Request {\n Wuids: string[];\n ResetWorkflow: boolean;\n CloneWorkunit: boolean;\n BlockTillFinishTimer?: number;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface WU {\n WUID: string;\n ParentWUID: string;\n }\n\n export interface WUs {\n WU: WU[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n WUs: WUs;\n }\n}\n\nexport namespace WUQueryDetails {\n export interface Request {\n QueryId: string;\n QuerySet: string;\n IncludeStateOnClusters: boolean;\n IncludeSuperFiles: boolean;\n IncludeWsEclAddresses: boolean;\n CheckAllNodes: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface ClusterQueryState {\n Cluster: string;\n State: string;\n Errors: string;\n MixedNodeStates: boolean;\n }\n\n export interface Clusters {\n ClusterQueryState: ClusterQueryState[];\n }\n\n export interface LogicalFiles {\n Item: string[];\n }\n\n export interface SubFiles {\n File: string[];\n }\n\n export interface SuperFiles2 {\n SuperFile: any[];\n }\n\n export interface SuperFile {\n Name: string;\n SubFiles: SubFiles;\n SuperFiles: SuperFiles2;\n }\n\n export interface SuperFiles {\n SuperFile: SuperFile[];\n }\n\n export interface LibrariesUsed {\n Item: string[];\n }\n\n export interface WsEclAddresses {\n Address: string[];\n }\n\n export interface ECLGraph {\n Name: string;\n Label: string;\n Type: string;\n Running: boolean;\n Complete: boolean;\n Failed: boolean;\n RunningId: number;\n WhenStarted: string;\n WhenFinished: string;\n }\n\n export interface WUGraphs {\n ECLGraph: ECLGraph[];\n }\n\n export interface ECLTimer {\n Name: string;\n Value: string;\n count: number;\n GraphName: string;\n SubGraphId: number;\n }\n\n export interface WUTimers {\n ECLTimer: ECLTimer[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n QueryId: string;\n QuerySet: string;\n QueryName: string;\n Wuid: string;\n Dll: string;\n Suspended: boolean;\n Activated: boolean;\n SuspendedBy: string;\n Clusters: Clusters;\n PublishedBy: string;\n Comment: string;\n LogicalFiles: LogicalFiles;\n SuperFiles: SuperFiles;\n IsLibrary: boolean;\n Priority: string;\n WUSnapShot: string;\n CompileTime: string;\n LibrariesUsed: LibrariesUsed;\n CountGraphs: number;\n ResourceURLCount: number;\n WsEclAddresses: WsEclAddresses;\n WUGraphs: WUGraphs;\n WUTimers: WUTimers;\n }\n}\n\nexport namespace WUAction {\n export type Type = \"SetToFailed\" | \"Pause\" | \"PauseNow\" | \"Resume\" | \"Abort\" | \"Delete\" | \"Restore\" | \"Deschedule\" | \"Reschedule\";\n export interface Request {\n Wuids: string[];\n WUActionType: Type;\n Cluster?: string;\n Owner?: string;\n State?: string;\n StartDate?: string;\n EndDate?: string;\n ECL?: string;\n Jobname?: string;\n Test?: string;\n CurrentPage?: number;\n PageSize?: number;\n Sortby?: number;\n Descending?: boolean;\n EventServer?: string;\n EventName?: string;\n PageFrom?: number;\n BlockTillFinishTimer?: number;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface WUActionResult {\n Wuid: string;\n Action: string;\n Result: string;\n }\n\n export interface ActionResults {\n WUActionResult: WUActionResult[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n ActionResults: ActionResults;\n }\n}\n\nexport namespace WUGetZAPInfo {\n export interface Request {\n WUID: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n WUID: string;\n ESPIPAddress: string;\n ThorIPAddress: string;\n BuildVersion: string;\n Archive: string;\n }\n}\n\nexport namespace WUShowScheduled {\n export interface Request {\n Cluster: string;\n EventName: string;\n PushEventName: string;\n PushEventText: string;\n State: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface ServerInfo {\n Name: string;\n NetAddress: string;\n }\n\n export interface Clusters {\n ServerInfo: ServerInfo[];\n }\n\n export interface ScheduledWU {\n Wuid: string;\n Cluster: string;\n EventName: string;\n EventText: string;\n JobName: string;\n StateID: number;\n State: string;\n Owner: string;\n }\n\n export interface Workunits {\n ScheduledWU: ScheduledWU[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n ClusterSelected: number;\n EventName: string;\n PushEventName: string;\n PushEventText: string;\n Query: string;\n Clusters: Clusters;\n Workunits: Workunits;\n }\n}\n\nexport namespace WUQuerySetQueryAction {\n export interface Request {\n Action: string;\n QuerySetName: string;\n Queries: any[];\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Result {\n QueryId: string;\n Suspended: boolean;\n Success: boolean;\n Code: number;\n Message: string;\n }\n\n export interface Results {\n Result: Result[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Action: string;\n QuerySetName: string;\n Results: Results;\n }\n}\n\nexport namespace WUQuerySetAliasAction {\n export interface Request {\n Action: string;\n QuerySetName: string;\n Queries: any[];\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Result {\n Name: string;\n Success: boolean;\n Code: number;\n Message: string;\n }\n\n export interface Results {\n Result: Result[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Action: string;\n QuerySetName: string;\n Results: Results;\n }\n}\n\nexport namespace WUPublishWorkunit {\n export interface Request {\n Wuid: string;\n Cluster: string;\n JobName: string;\n Activate: boolean;\n NotifyCluster?: boolean;\n Wait?: number;\n NoReload?: boolean;\n UpdateWorkUnitName?: boolean;\n memoryLimit?: string;\n TimeLimit?: string;\n WarnTimeLimit?: string;\n Priority?: string;\n RemoteDali?: string;\n Comment?: string;\n DontCopyFiles?: boolean;\n SourceProcess?: string;\n AllowForeignFiles: boolean;\n UpdateDfs?: boolean;\n UpdateSuperFiles?: boolean;\n UpdateCloneFrom?: boolean;\n AppendCluster?: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Clusters {\n Item: string[];\n }\n\n export interface WULogicalFileCopyInfo {\n IsIndex: boolean;\n LogicalName: string;\n DfuCopyWuid: string;\n DfuCopyError: string;\n Clusters: Clusters;\n }\n\n export interface OnCluster {\n WULogicalFileCopyInfo: WULogicalFileCopyInfo[];\n }\n\n export interface Clusters2 {\n Item: string[];\n }\n\n export interface WULogicalFileCopyInfo2 {\n IsIndex: boolean;\n LogicalName: string;\n DfuCopyWuid: string;\n DfuCopyError: string;\n Clusters: Clusters2;\n }\n\n export interface NotOnCluster {\n WULogicalFileCopyInfo: WULogicalFileCopyInfo2[];\n }\n\n export interface Clusters3 {\n Item: string[];\n }\n\n export interface WULogicalFileCopyInfo3 {\n IsIndex: boolean;\n LogicalName: string;\n DfuCopyWuid: string;\n DfuCopyError: string;\n Clusters: Clusters3;\n }\n\n export interface Foreign {\n WULogicalFileCopyInfo: WULogicalFileCopyInfo3[];\n }\n\n export interface Clusters4 {\n Item: string[];\n }\n\n export interface WULogicalFileCopyInfo4 {\n IsIndex: boolean;\n LogicalName: string;\n DfuCopyWuid: string;\n DfuCopyError: string;\n Clusters: Clusters4;\n }\n\n export interface NotFound {\n WULogicalFileCopyInfo: WULogicalFileCopyInfo4[];\n }\n\n export interface Cluster {\n ClusterName: string;\n OnCluster: OnCluster;\n NotOnCluster: NotOnCluster;\n Foreign: Foreign;\n NotFound: NotFound;\n }\n\n export interface ClusterFiles {\n Cluster: Cluster[];\n }\n\n export interface File {\n Error: string;\n LogicalName: string;\n }\n\n export interface FileErrors {\n File: File[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Wuid: string;\n Result: string;\n QuerySet: string;\n QueryName: string;\n QueryId: string;\n ReloadFailed: boolean;\n Suspended: boolean;\n ErrorMessage: string;\n ClusterFiles: ClusterFiles;\n FileErrors: FileErrors;\n }\n}\n\nexport namespace WUGetGraph {\n\n export interface Request {\n Wuid: string;\n GraphName: string;\n SubGraphId: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface ECLGraphEx {\n Name: string;\n Label: string;\n Type: string;\n Graph: string;\n Running: boolean;\n RunningId: number;\n Complete: boolean;\n Failed: boolean;\n }\n\n export interface Graphs {\n ECLGraphEx: ECLGraphEx[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Graphs: Graphs;\n }\n}\n\nexport namespace WUResult {\n export interface Request {\n Wuid?: string;\n Sequence?: number;\n ResultName?: string;\n LogicalName?: string;\n Cluster?: string;\n SuppressXmlSchema?: boolean;\n BypassCachedResult?: boolean;\n FilterBy?: any;\n Start: number;\n Count: number;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface XmlSchema {\n \"@name\": string;\n xml: string;\n }\n\n export interface Result {\n XmlSchema: XmlSchema;\n \"@xmlSchema\": string;\n Row: any[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Wuid: string;\n Sequence: number;\n LogicalName: string;\n Cluster: string;\n Name: string;\n Start: number;\n Requested: number;\n Count: number;\n Total: number;\n Result: Result;\n }\n}\n\nexport namespace WUQueryGetGraph {\n export interface Request {\n Target: string;\n QueryId: string;\n GraphName: string;\n SubGraphId: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface ECLGraphEx {\n Name: string;\n Label: string;\n Type: string;\n Graph: string;\n Running: boolean;\n RunningId: number;\n Complete: boolean;\n Failed: boolean;\n }\n\n export interface Graphs {\n ECLGraphEx: ECLGraphEx[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Graphs: Graphs;\n }\n}\n\nexport interface WUFileRequest {\n Wuid: string;\n Type: string;\n Name?: string;\n Option?: string;\n SlaveIP?: string;\n IPAddress?: string;\n Description?: string;\n QuerySet?: string;\n Query?: string;\n Process?: string;\n ClusterGroup?: string;\n LogDate?: string;\n SlaveNumber?: number;\n SizeLimit?: number;\n PlainText?: string;\n}\n\nexport namespace WUGetStats {\n export interface Request {\n WUID: string;\n CreatorType: string;\n Creator: string;\n ScopeType: string;\n Scope: string;\n Kind: string;\n Measure: string;\n MinScopeDepth: number;\n MaxScopeDepth: number;\n IncludeGraphs: boolean;\n CreateDescriptions: boolean;\n MinValue: number;\n MaxValue: number;\n Filter: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface WUStatisticItem {\n Creator: string;\n CreatorType: string;\n Scope: string;\n ScopeType: string;\n Description: string;\n TimeStamp: string;\n Measure: string;\n Kind: string;\n Value: string;\n RawValue: number;\n Count: number;\n Max: number;\n Wuid: string;\n }\n\n export interface Statistics {\n WUStatisticItem: WUStatisticItem[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n WUID: string;\n Statistics: Statistics;\n }\n}\n\nexport namespace WUCDebug {\n export interface Request {\n Wuid: string;\n Command: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Result: string;\n }\n}\n\nexport namespace WUDetailsMeta {\n export interface Request {\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Property {\n Name: string;\n ValueType: string;\n }\n\n export interface Properties {\n Property: Property[];\n }\n\n export interface ScopeTypes {\n ScopeType: string[];\n }\n\n export interface Measures {\n Measure: string[];\n }\n\n export interface Activity {\n Kind: number;\n Name: string;\n IsSink: boolean;\n IsSource: boolean;\n }\n\n export interface Activities {\n Activity: Activity[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Properties: Properties;\n ScopeTypes: ScopeTypes;\n Measures: Measures;\n Activities: Activities;\n }\n}\n\nexport namespace WUDetails {\n export namespace RequestNS {\n\n export interface Scopes {\n Scope: string[];\n }\n\n export interface Ids {\n id: string[];\n }\n\n export interface ScopeTypes {\n ScopeType: string[];\n }\n\n export interface PropertyFilter {\n Name?: string;\n ExactValue?: string;\n MinValue?: string;\n MaxValue?: string;\n }\n\n export interface PropertyFilters {\n PropertyFilter: PropertyFilter[];\n }\n\n export interface ScopeFilter {\n MaxDepth?: number;\n Scopes?: Scopes;\n Ids?: string[];\n ScopeTypes?: string[];\n PropertyFilters?: PropertyFilters;\n }\n\n export interface ScopeTypes2 {\n ScopeType: string[];\n }\n\n export interface NestedFilter {\n Depth?: number;\n ScopeTypes: string[];\n }\n\n export interface Properties {\n Property: string[];\n }\n\n export interface Properties2 {\n Property: string[];\n }\n\n export interface Extra {\n scopeType: string;\n Properties: Properties2;\n }\n\n export interface ExtraProperties {\n Extra: Extra[];\n }\n\n export interface PropertiesToReturn {\n AllStatistics?: boolean;\n AllAttributes?: boolean;\n AllHints?: boolean;\n AllScopes?: boolean;\n AllProperties?: boolean;\n AllNotes?: boolean;\n MinVersion?: string;\n Measure?: string;\n Properties?: string[];\n ExtraProperties?: ExtraProperties;\n }\n\n export interface ScopeOptions {\n IncludeMatchedScopesInResults?: boolean;\n IncludeScope?: boolean;\n IncludeId?: boolean;\n IncludeScopeType?: boolean;\n }\n\n export interface PropertyOptions {\n IncludeName?: boolean;\n IncludeRawValue?: boolean;\n IncludeFormatted?: boolean;\n IncludeMeasure?: boolean;\n IncludeCreator?: boolean;\n IncludeCreatorType?: boolean;\n }\n }\n\n export interface Request {\n WUID: string;\n ScopeFilter?: RequestNS.ScopeFilter;\n NestedFilter?: RequestNS.NestedFilter;\n PropertiesToReturn: RequestNS.PropertiesToReturn;\n Filter?: string;\n ScopeOptions: RequestNS.ScopeOptions;\n PropertyOptions: RequestNS.PropertyOptions;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Property {\n Name: string;\n RawValue: string;\n Formatted: string;\n Measure: string;\n Creator: string;\n CreatorType: string;\n }\n\n export interface Properties {\n Property: Property[];\n }\n\n export interface Note {\n Source: string;\n Message: string;\n ErrorCode: number;\n Severity: string;\n Cost: number;\n }\n\n export interface Notes {\n Note: Note[];\n }\n\n export interface Scope {\n ScopeName: string;\n Id: string;\n ScopeType: string;\n Properties: Properties;\n Notes: Notes;\n }\n\n export interface Scopes {\n Scope: Scope[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n MaxVersion: string;\n WUID: string;\n Scopes: Scopes;\n }\n}\n\nexport function isWUQueryECLWorkunit(_: WUQuery.ECLWorkunit | WUInfo.Workunit): _ is WUQuery.ECLWorkunit {\n return (_ as WUQuery.ECLWorkunit).TotalClusterTime !== undefined;\n}\n\nexport function isWUInfoWorkunit(_: WUQuery.ECLWorkunit | WUInfo.Workunit): _ is WUInfo.Workunit {\n return (_ as WUInfo.Workunit).StateEx !== undefined;\n}\n\nexport namespace Ping {\n export interface Response {\n result: boolean;\n error?: any;\n }\n}\n\nexport namespace WUQueryGetSummaryStats {\n\n export interface Request {\n Target: string;\n QueryId: string;\n FromTime?: string;\n ToTime?: string;\n IncludeRawStats?: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface QuerySummaryStat {\n Endpoint: string;\n Status: string;\n StartTime: string;\n EndTime: string;\n CountTotal: number;\n CountFailed: number;\n AverageSlavesReplyLen: number;\n AverageBytesOut: number;\n SizeAvgPeakMemory: number;\n TimeAvgTotalExecuteMinutes: number;\n TimeMinTotalExecuteMinutes: number;\n TimeMaxTotalExecuteMinutes: number;\n Percentile97: number;\n Percentile97Estimate: boolean;\n }\n\n export interface StatsList {\n QuerySummaryStats: QuerySummaryStat[];\n }\n\n export interface QuerySummaryStat2 {\n Endpoint: string;\n Status: string;\n StartTime: string;\n EndTime: string;\n CountTotal: number;\n CountFailed: number;\n AverageSlavesReplyLen: number;\n AverageBytesOut: number;\n SizeAvgPeakMemory: number;\n TimeAvgTotalExecuteMinutes: number;\n TimeMinTotalExecuteMinutes: number;\n TimeMaxTotalExecuteMinutes: number;\n Percentile97: number;\n Percentile97Estimate: boolean;\n }\n\n export interface AggregateQueryStatsList {\n QuerySummaryStats: QuerySummaryStat2[];\n }\n\n export interface QueryStatsRecord {\n StartTime: string;\n ElapsedTimeMs: number;\n MemoryUsed: number;\n BytesOut: number;\n SlavesReplyLen: number;\n Failed: boolean;\n }\n\n export interface QueryStatsRecordList {\n QueryStatsRecord: QueryStatsRecord[];\n }\n\n export interface QueryStat {\n ID: string;\n AggregateQueryStatsList: AggregateQueryStatsList;\n QueryStatsRecordList: QueryStatsRecordList;\n }\n\n export interface QueryStatsList2 {\n QueryStats: QueryStat[];\n }\n\n export interface EndpointQueryStat {\n Endpoint: string;\n Status: string;\n QueryStatsList: QueryStatsList2;\n }\n\n export interface QueryStatsList {\n EndpointQueryStats: EndpointQueryStat[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n StatsList: StatsList;\n QueryStatsList: QueryStatsList;\n }\n\n}\n\nexport class WorkunitsService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsWorkunits\", \"1.85\");\n }\n\n opts() {\n return this._connection.opts();\n }\n\n connection(): ESPConnection {\n return this._connection.clone();\n }\n\n Ping(): Promise<Ping.Response> {\n return this._connection.send(\"Ping\", {}, \"json\", false, undefined, \"WsWorkunitsPingResponse\").then((response) => {\n return { result: true };\n }).catch((e: Error) => {\n return { result: false, error: e };\n });\n }\n\n WUQuery(request: WUQuery.Request = {}): Promise<WUQuery.Response> {\n return this._connection.send(\"WUQuery\", request).then((response) => {\n return deepMixin({ Workunits: { ECLWorkunit: [] } }, response);\n });\n }\n\n WUInfo(_request: WUInfo.Request): Promise<WUInfo.Response> {\n const request: WUInfo.Request = {\n Wuid: \"\",\n TruncateEclTo64k: true,\n IncludeExceptions: false,\n IncludeGraphs: false,\n IncludeSourceFiles: false,\n IncludeResults: false,\n IncludeResultsViewNames: false,\n IncludeVariables: false,\n IncludeTimers: false,\n IncludeDebugValues: false,\n IncludeApplicationValues: false,\n IncludeWorkflows: false,\n IncludeXmlSchemas: false,\n IncludeResourceURLs: false,\n IncludeECL: false,\n IncludeHelpers: false,\n IncludeAllowedClusters: false,\n IncludeTotalClusterTime: true,\n IncludeServiceNames: true,\n SuppressResultSchemas: true,\n ..._request\n };\n return this._connection.send(\"WUInfo\", request);\n }\n\n WUCreate(): Promise<WUCreate.Response> {\n return this._connection.send(\"WUCreate\");\n }\n\n WUUpdate(request: WUUpdate.Request): Promise<WUUpdate.Response> {\n return this._connection.send(\"WUUpdate\", request, \"json\", true);\n }\n\n WUSubmit(request: WUSubmit.Request): Promise<WUSubmit.Response> {\n return this._connection.send(\"WUSubmit\", request);\n }\n\n WUResubmit(request: WUResubmit.Request): Promise<WUResubmit.Response> {\n this._connection.toESPStringArray(request, \"Wuids\");\n return this._connection.send(\"WUResubmit\", request);\n }\n\n WUQueryDetails(request: WUQueryDetails.Request): Promise<WUQueryDetails.Response> {\n return this._connection.send(\"WUQueryDetails\", request);\n }\n\n WUListQueries(request: WUListQueries.Request): Promise<WUListQueries.Response> {\n return this._connection.send(\"WUListQueries\", request);\n }\n\n WUPushEvent(request: WUPushEvent.Request): Promise<WUPushEvent.Response> {\n return this._connection.send(\"WUPushEvent\", request);\n }\n\n WUAction(request: WUAction.Request): Promise<WUAction.Response> {\n (request as any).ActionType = request.WUActionType; // v5.x compatibility\n return this._connection.send(\"WUAction\", request);\n }\n\n WUGetZAPInfo(request: WUGetZAPInfo.Request): Promise<WUGetZAPInfo.Response> {\n return this._connection.send(\"WUGetZAPInfo\", request);\n }\n\n WUShowScheduled(request: WUShowScheduled.Request): Promise<WUShowScheduled.Response> {\n return this._connection.send(\"WUShowScheduled\", request);\n }\n\n WUQuerySetAliasAction(request: WUQuerySetAliasAction.Request): Promise<WUQuerySetAliasAction.Response> {\n return this._connection.send(\"WUQuerySetAliasAction\", request);\n }\n\n WUQuerySetQueryAction(request: WUQuerySetQueryAction.Request): Promise<WUQuerySetQueryAction.Response> {\n return this._connection.send(\"WUQuerySetQueryAction\", request);\n }\n\n WUPublishWorkunit(request: WUPublishWorkunit.Request): Promise<WUPublishWorkunit.Response> {\n return this._connection.send(\"WUPublishWorkunit\", request);\n }\n\n WUGetGraph(request: WUGetGraph.Request): Promise<WUGetGraph.Response> {\n return this._connection.send(\"WUGetGraph\", request);\n }\n\n WUResult(request: WUResult.Request, abortSignal?: AbortSignal): Promise<WUResult.Response> {\n return this._connection.send(\"WUResult\", request, \"json\", false, abortSignal);\n }\n\n WUQueryGetGraph(request: WUQueryGetGraph.Request): Promise<WUQueryGetGraph.Response> {\n return this._connection.send(\"WUQueryGetGraph\", request);\n }\n\n WUFile(request: WUFileRequest): Promise<string> {\n return this._connection.send(\"WUFile\", request, \"text\");\n }\n\n WUGetStats(request: WUGetStats.Request): Promise<WUGetStats.Response> {\n return this._connection.send(\"WUGetStats\", request);\n }\n\n WUQueryGetSummaryStats(request: WUQueryGetSummaryStats.Request): Promise<WUQueryGetSummaryStats.Response> {\n return this._connection.send(\"WUQueryGetSummaryStats\", request);\n }\n\n private _WUDetailsMetaPromise: Promise<WUDetailsMeta.Response>;\n WUDetailsMeta(request: WUDetailsMeta.Request): Promise<WUDetailsMeta.Response> {\n if (!this._WUDetailsMetaPromise) {\n this._WUDetailsMetaPromise = this._connection.send(\"WUDetailsMeta\", request);\n }\n return this._WUDetailsMetaPromise;\n }\n\n WUDetails(request: WUDetails.Request): Promise<WUDetails.Response> {\n return this._connection.send(\"WUDetails\", request);\n }\n\n WUCDebug(request: WUCDebug.Request): Promise<XMLNode | null> {\n return this._connection.send(\"WUCDebug\", request, undefined, undefined, undefined, \"WUDebug\").then((response) => {\n const retVal = xml2json(response.Result);\n const children = retVal.children();\n if (children.length) {\n return children[0];\n }\n return null;\n });\n }\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function(date) {\n return date.getDate() - 1;\n});\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import { Cache, Edge, Graph, StateObject, StringAnyMap, Subgraph, Vertex, XMLNode } from \"@hpcc-js/util\";\nimport { WUInfo } from \"../services/wsWorkunits\";\nimport { BaseScope } from \"./scope\";\nimport { Timer } from \"./timer\";\nimport { Workunit } from \"./workunit\";\n\nexport interface ECLGraphEx extends WUInfo.ECLGraph {\n Time: number;\n}\n\nexport class ECLGraph extends StateObject<ECLGraphEx, ECLGraphEx> implements ECLGraphEx {\n protected wu: Workunit;\n\n get properties(): ECLGraphEx { return this.get(); }\n get Name(): string { return this.get(\"Name\"); }\n get Label(): string { return this.get(\"Label\"); }\n get Type(): string { return this.get(\"Type\"); }\n get Complete(): boolean { return this.get(\"Complete\"); }\n get WhenStarted(): string { return this.get(\"WhenStarted\"); }\n get WhenFinished(): string { return this.get(\"WhenFinished\"); }\n get Time(): number { return this.get(\"Time\"); }\n get Running(): boolean { return this.get(\"Running\"); }\n get RunningId(): number { return this.get(\"RunningId\"); }\n get Failed(): boolean { return this.get(\"Failed\"); }\n\n constructor(wu: Workunit, eclGraph: WUInfo.ECLGraph, eclTimers: Timer[]) {\n super();\n this.wu = wu;\n let duration = 0;\n for (const eclTimer of eclTimers) {\n if (eclTimer.GraphName === eclGraph.Name && !eclTimer.HasSubGraphId) {\n duration = Math.round(eclTimer.Seconds * 1000) / 1000;\n break;\n }\n }\n this.set({ Time: duration, ...eclGraph });\n }\n\n fetchScopeGraph(subgraphID?: string): Promise<ScopeGraph> {\n if (subgraphID) {\n return this.wu.fetchGraphDetails([subgraphID], [\"subgraph\"]).then((scopes) => {\n return createGraph(scopes);\n });\n }\n return this.wu.fetchGraphDetails([this.Name], [\"graph\"]).then((scopes) => {\n return createGraph(scopes);\n });\n }\n}\n\nexport class GraphCache extends Cache<WUInfo.ECLGraph, ECLGraph> {\n constructor() {\n super((obj) => {\n return Cache.hash([obj.Name]);\n });\n }\n}\n\ntype Callback = (tag: string, attributes: StringAnyMap, children: XMLNode[], _stack: XMLNode[]) => void;\nfunction walkXmlJson(node: XMLNode, callback: Callback, stack?: XMLNode[]) {\n stack = stack || [];\n stack.push(node);\n callback(node.name, node.$, node.children(), stack);\n node.children().forEach((childNode) => {\n walkXmlJson(childNode, callback, stack);\n });\n stack.pop();\n}\n\nfunction flattenAtt(nodes: XMLNode[]): StringAnyMap {\n const retVal: StringAnyMap = {};\n nodes.forEach((node: XMLNode) => {\n if (node.name === \"att\") {\n retVal[node.$[\"name\"]] = node.$[\"value\"];\n }\n });\n return retVal;\n}\n\nexport class XGMMLGraph extends Graph<StringAnyMap, StringAnyMap, StringAnyMap> { }\nexport class XGMMLSubgraph extends Subgraph<StringAnyMap, StringAnyMap, StringAnyMap> { }\nexport class XGMMLVertex extends Vertex<StringAnyMap, StringAnyMap, StringAnyMap> { }\nexport class XGMMLEdge extends Edge<StringAnyMap, StringAnyMap, StringAnyMap> { }\n\nexport function createXGMMLGraph(id: string, graphs: XMLNode): XGMMLGraph {\n const subgraphs: { [id: string]: XGMMLSubgraph } = {};\n const vertices: { [id: string]: XGMMLVertex } = {};\n const edges: { [id: string]: XGMMLEdge } = {};\n\n const graph = new XGMMLGraph((item) => {\n return item._![\"id\"];\n });\n\n const stack: XGMMLSubgraph[] = [graph.root];\n walkXmlJson(graphs, (tag: string, attributes: StringAnyMap, childNodes: XMLNode[], _stack) => {\n const top = stack[stack.length - 1];\n switch (tag) {\n case \"graph\":\n break;\n case \"node\":\n if (childNodes.length && childNodes[0].children().length && childNodes[0].children()[0].name === \"graph\") {\n const subgraph = top.createSubgraph(flattenAtt(childNodes));\n stack.push(subgraph);\n subgraphs[attributes[\"id\"]] = subgraph;\n } else {\n }\n // TODO: Is this really a node when its also a subgraph?\n const vertex = top.createVertex(flattenAtt(childNodes));\n vertices[attributes[\"id\"]] = vertex;\n break;\n case \"edge\":\n const edge = top.createEdge(vertices[attributes[\"source\"]], vertices[attributes[\"target\"]], flattenAtt(childNodes));\n edges[attributes[\"id\"]] = edge;\n break;\n default:\n }\n });\n return graph;\n}\n\nexport class ScopeGraph extends Graph<BaseScope, BaseScope, BaseScope> { }\nexport class ScopeSubgraph extends Subgraph<BaseScope, BaseScope, BaseScope> { }\nexport class ScopeVertex extends Vertex<BaseScope, BaseScope, BaseScope> { }\nexport class ScopeEdge extends Edge<BaseScope, BaseScope, BaseScope> { }\n\nexport function createGraph(scopes: BaseScope[]): ScopeGraph {\n const subgraphs: { [scopeName: string]: ScopeSubgraph } = {};\n const edges: { [scopeName: string]: BaseScope } = {};\n const vertices: { [scopeName: string]: ScopeVertex } = {};\n\n let graph: ScopeGraph | undefined;\n for (const scope of scopes) {\n switch (scope.ScopeType) {\n case \"graph\":\n graph = new ScopeGraph(item => item._!.Id, scope);\n subgraphs[scope.ScopeName] = graph.root;\n break;\n case \"subgraph\":\n if (!graph) {\n graph = new ScopeGraph(item => item._!.Id, scope);\n subgraphs[scope.ScopeName] = graph.root;\n }\n const scopeStack = scope.parentScope().split(\":\");\n let scopeParent1 = subgraphs[scope.parentScope()];\n while (scopeStack.length && !scopeParent1) {\n scopeParent1 = subgraphs[scopeStack.join(\":\")];\n scopeStack.pop();\n }\n if (!scopeParent1) {\n console.log(`Missing SG:Parent (${scope.Id}): ${scope.parentScope()}`);\n } else {\n const parent1: ScopeSubgraph = scopeParent1;\n subgraphs[scope.ScopeName] = parent1.createSubgraph(scope);\n }\n break;\n case \"activity\":\n const scopeParent2 = subgraphs[scope.parentScope()];\n if (!scopeParent2) {\n console.log(`Missing A:Parent (${scope.Id}): ${scope.parentScope()}`);\n } else {\n vertices[scope.ScopeName] = scopeParent2.createVertex(scope);\n }\n break;\n case \"edge\":\n edges[scope.ScopeName] = scope;\n break;\n case \"function\":\n const scopeParent3 = vertices[scope.parentScope()];\n if (!scopeParent3) {\n console.log(`Missing F:Parent (${scope.Id}): ${scope.parentScope()}`);\n } else {\n scopeParent3._.children().push(scope);\n }\n break;\n }\n }\n for (const id in edges) {\n const scope = edges[id];\n const scopeParent3 = subgraphs[scope.parentScope()];\n if (!scopeParent3) {\n console.log(`Missing E:Parent (${scope.Id}): ${scope.parentScope()}`);\n } else {\n const parent3: ScopeSubgraph = scopeParent3;\n try {\n const source = graph!.vertex(scope.attr(\"IdSource\").RawValue);\n const target = graph!.vertex(scope.attr(\"IdTarget\").RawValue);\n parent3.createEdge(source, target, scope);\n } catch (e) {\n // const sourceIndex = scope.attr(\"SourceIndex\").RawValue;\n // const targetIndex = scope.attr(\"TargetIndex\").RawValue;\n console.log(`Invalid Edge: ${id}`);\n }\n }\n }\n return graph!;\n}\n","import { StateObject } from \"@hpcc-js/util\";\nimport { Workunit } from \"./workunit\";\n\nexport interface ResourceEx {\n URL: string;\n DisplayName: string;\n DisplayPath: string;\n}\n\nexport class Resource extends StateObject<ResourceEx, ResourceEx> implements ResourceEx {\n protected wu: Workunit;\n\n get properties(): ResourceEx { return this.get(); }\n get URL(): string { return this.get(\"URL\"); }\n get DisplayName(): string { return this.get(\"DisplayName\"); }\n get DisplayPath(): string { return this.get(\"DisplayPath\"); }\n\n constructor(wu: Workunit, url: string) {\n super();\n this.wu = wu;\n\n const cleanedURL = url.split(\"\\\\\").join(\"/\");\n const urlParts = cleanedURL.split(\"/\");\n const matchStr = \"res/\" + this.wu.Wuid + \"/\";\n let displayPath = \"\";\n let displayName = \"\";\n\n if (cleanedURL.indexOf(matchStr) === 0) {\n displayPath = cleanedURL.substr(matchStr.length);\n displayName = urlParts[urlParts.length - 1];\n }\n\n this.set({\n URL: url,\n DisplayName: displayName,\n DisplayPath: displayPath\n });\n }\n}\n","import { SAXStackParser, Stack, XMLNode } from \"@hpcc-js/util\";\n\nexport class XSDNode {\n protected e?: XMLNode;\n\n constructor(e: XMLNode) {\n this.e = e;\n }\n fix() {\n delete this.e;\n }\n}\n\nexport class XSDXMLNode extends XSDNode {\n name: string;\n type: string;\n isSet = false;\n attrs: { [key: string]: string } = {};\n private _children: XSDXMLNode[] = [];\n\n constructor(e: XMLNode) {\n super(e);\n }\n\n append(child: XSDXMLNode) {\n this._children.push(child);\n if (!this.type) {\n this.type = \"hpcc:childDataset\";\n }\n }\n\n fix() {\n this.name = this.e!.$[\"name\"];\n this.type = this.e!.$[\"type\"];\n for (let i = this._children.length - 1; i >= 0; --i) {\n const row = this._children[i];\n if (row.name === \"Row\" && row.type === undefined) {\n this._children.push(...row._children);\n this._children.splice(i, 1);\n }\n }\n const setOfType = this.setOfType();\n if (setOfType) {\n this.type = setOfType;\n this.isSet = true;\n this._children = [];\n }\n }\n\n children(): XSDXMLNode[] {\n return this._children;\n }\n\n private isAll(node: XSDXMLNode) {\n return node.name === \"All\" && node.type === undefined;\n }\n\n private setOfType(): string {\n const children = this.children();\n if (this.type === undefined && children.length === 2) {\n if (this.isAll(children[0])) {\n return children[1].type;\n } else if (this.isAll(children[1])) {\n return children[0].type;\n }\n }\n return undefined;\n }\n\n charWidth() {\n let retVal: number = -1;\n\n switch (this.type) {\n case \"xs:boolean\":\n retVal = 5;\n break;\n case \"xs:integer\":\n retVal = 8;\n break;\n case \"xs:nonNegativeInteger\":\n retVal = 8;\n break;\n case \"xs:double\":\n retVal = 8;\n break;\n case \"xs:string\":\n retVal = 32;\n break;\n default:\n const numStr: string = \"0123456789\";\n const underbarPos: number = this.type.lastIndexOf(\"_\");\n const length: number = underbarPos > 0 ? underbarPos : this.type.length;\n let i: number = length - 1;\n for (; i >= 0; --i) {\n if (numStr.indexOf(this.type.charAt(i)) === -1)\n break;\n }\n if (i + 1 < length) {\n retVal = parseInt(this.type.substring(i + 1, length), 10);\n }\n if (this.type.indexOf(\"data\") === 0) {\n retVal *= 2;\n }\n break;\n }\n if (retVal < this.name.length)\n retVal = this.name.length;\n\n return retVal;\n }\n}\n\nexport class XSDSimpleType extends XSDNode {\n name: string;\n type: string;\n maxLength: number | undefined;\n\n protected _restricition?: XMLNode;\n protected _maxLength?: XMLNode;\n\n constructor(e: XMLNode) {\n super(e);\n }\n\n append(e: XMLNode) {\n switch (e.name) {\n case \"xs:restriction\":\n this._restricition = e;\n break;\n case \"xs:maxLength\":\n this._maxLength = e;\n break;\n default:\n }\n }\n\n fix() {\n this.name = this.e!.$[\"name\"];\n this.type = this._restricition!.$[\"base\"];\n this.maxLength = this._maxLength ? +this._maxLength!.$[\"value\"] : undefined;\n delete this._restricition;\n delete this._maxLength;\n super.fix();\n }\n}\n\nexport class XSDSchema {\n root: XSDXMLNode;\n simpleTypes: { [name: string]: XSDSimpleType } = {};\n\n fields(): XSDXMLNode[] {\n return this.root.children();\n }\n}\n\nclass XSDParser extends SAXStackParser {\n schema: XSDSchema = new XSDSchema();\n simpleType: XSDSimpleType;\n simpleTypes: { [name: string]: XSDSimpleType } = {};\n\n xsdStack: Stack<XSDXMLNode> = new Stack<XSDXMLNode>();\n\n startXMLNode(e: XMLNode) {\n super.startXMLNode(e);\n switch (e.name) {\n case \"xs:element\":\n const xsdXMLNode = new XSDXMLNode(e);\n if (!this.schema.root) {\n this.schema.root = xsdXMLNode;\n } else if (this.xsdStack.depth()) {\n this.xsdStack.top()!.append(xsdXMLNode);\n }\n this.xsdStack.push(xsdXMLNode);\n break;\n case \"xs:simpleType\":\n this.simpleType = new XSDSimpleType(e);\n break;\n default:\n break;\n }\n }\n\n endXMLNode(e: XMLNode) {\n switch (e!.name) {\n case \"xs:element\":\n const xsdXMLNode = this.xsdStack.pop();\n xsdXMLNode!.fix();\n break;\n case \"xs:simpleType\":\n this.simpleType.fix();\n this.simpleTypes[this.simpleType.name] = this.simpleType;\n delete this.simpleType;\n break;\n case \"xs:appinfo\":\n const xsdXMLNode2 = this.xsdStack.top();\n for (const key in e.$) {\n xsdXMLNode2!.attrs[key] = e.$[key];\n }\n break;\n default:\n if (this.simpleType) {\n this.simpleType.append(e);\n }\n }\n super.endXMLNode(e);\n }\n}\n\nexport function parseXSD(xml: string): XSDSchema {\n const saxParser = new XSDParser();\n saxParser.parse(xml);\n return saxParser.schema;\n}\n\nclass XSDParser2 extends XSDParser {\n _rootName: string;\n schema: XSDSchema = new XSDSchema();\n simpleType: XSDSimpleType;\n simpleTypes: { [name: string]: XSDSimpleType } = {};\n\n xsdStack: Stack<XSDXMLNode> = new Stack<XSDXMLNode>();\n\n constructor(rootName: string) {\n super();\n this._rootName = rootName;\n }\n\n startXMLNode(e: XMLNode) {\n super.startXMLNode(e);\n switch (e.name) {\n case \"xsd:element\":\n const xsdXMLNode = new XSDXMLNode(e);\n if (!this.schema.root && this._rootName === e.$.name) {\n this.schema.root = xsdXMLNode;\n }\n if (this.xsdStack.depth()) {\n this.xsdStack.top()!.append(xsdXMLNode);\n }\n this.xsdStack.push(xsdXMLNode);\n break;\n case \"xsd:simpleType\":\n this.simpleType = new XSDSimpleType(e);\n break;\n default:\n break;\n }\n }\n\n endXMLNode(e: XMLNode) {\n switch (e!.name) {\n case \"xsd:element\":\n const xsdXMLNode = this.xsdStack.pop()!;\n xsdXMLNode.fix();\n break;\n case \"xsd:simpleType\":\n break;\n default:\n break;\n }\n super.endXMLNode(e);\n }\n}\n\nexport function parseXSD2(xml: string, rootName): XSDSchema {\n const saxParser = new XSDParser2(rootName);\n saxParser.parse(xml);\n return saxParser.schema;\n}\n","import { debounce, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { WsSMC, SMCService } from \"../services/wsSMC\";\nimport { Workunit } from \"./workunit\";\n\nlet _activity: Activity;\n\nexport interface ActivityEx {\n}\n\nexport type UActivityState = WsSMC.ActivityResponse & ActivityEx;\nexport type IActivityState = WsSMC.ActivityResponse | ActivityEx;\nexport class Activity extends StateObject<UActivityState, IActivityState> implements UActivityState {\n protected connection: SMCService;\n\n get properties(): UActivityState { return this.get(); }\n get Exceptions(): WsSMC.Exceptions { return this.get(\"Exceptions\"); }\n get Build(): string { return this.get(\"Build\"); }\n get ThorClusterList(): WsSMC.ThorClusterList { return this.get(\"ThorClusterList\"); }\n get RoxieClusterList(): WsSMC.RoxieClusterList { return this.get(\"RoxieClusterList\"); }\n get HThorClusterList(): WsSMC.HThorClusterList { return this.get(\"HThorClusterList\"); }\n get DFUJobs(): WsSMC.DFUJobs { return this.get(\"DFUJobs\"); }\n get Running(): WsSMC.Running { return this.get(\"Running\", { ActiveWorkunit: [] }); }\n get BannerContent(): string { return this.get(\"BannerContent\"); }\n get BannerColor(): string { return this.get(\"BannerColor\"); }\n get BannerSize(): string { return this.get(\"BannerSize\"); }\n get BannerScroll(): string { return this.get(\"BannerScroll\"); }\n get ChatURL(): string { return this.get(\"ChatURL\"); }\n get ShowBanner(): number { return this.get(\"ShowBanner\"); }\n get ShowChatURL(): number { return this.get(\"ShowChatURL\"); }\n get SortBy(): string { return this.get(\"SortBy\"); }\n get Descending(): boolean { return this.get(\"Descending\"); }\n get SuperUser(): boolean { return this.get(\"SuperUser\"); }\n get AccessRight(): string { return this.get(\"AccessRight\"); }\n get ServerJobQueues(): WsSMC.ServerJobQueues { return this.get(\"ServerJobQueues\"); }\n get ActivityTime(): string { return this.get(\"ActivityTime\"); }\n get DaliDetached(): boolean { return this.get(\"DaliDetached\"); }\n\n static attach(optsConnection: IOptions | IConnection | SMCService, state?: IActivityState): Activity {\n if (!_activity) {\n _activity = new Activity(optsConnection);\n }\n if (state) {\n _activity.set({\n ...state\n });\n }\n return _activity;\n }\n\n protected constructor(optsConnection: IOptions | IConnection | SMCService) {\n super();\n if (optsConnection instanceof SMCService) {\n this.connection = optsConnection;\n } else {\n this.connection = new SMCService(optsConnection);\n }\n this.clear({\n });\n }\n\n runningWorkunits(clusterName: string = \"\"): Workunit[] {\n return this.Running.ActiveWorkunit.filter(awu => clusterName === \"\" || awu.ClusterName === clusterName).map(awu => Workunit.attach(this.connection.connectionOptions(), awu.Wuid, awu));\n }\n\n setBanner(request: Partial<WsSMC.SetBanner>): Promise<Activity> {\n return this.connection.SetBanner({\n ...request\n }).then((response) => {\n this.set(response);\n return this;\n });\n }\n\n lazyRefresh = debounce(async (): Promise<this> => {\n const response = await this.connection.Activity({});\n this.set(response);\n return this;\n });\n\n async refresh(): Promise<this> {\n return this.lazyRefresh();\n }\n}\n","import { Cache, exists, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { WsDfu } from \"../services/wsDFU\";\nimport { isECLResult, WorkunitsService, WUInfo, WUResult } from \"../services/wsWorkunits\";\nimport { parseXSD, XSDSchema, XSDXMLNode } from \"./xsdParser\";\n\nexport class GlobalResultCache extends Cache<{ BaseUrl: string, Wuid: string, ResultName: string }, Result> {\n constructor() {\n super((obj) => {\n return `${obj.BaseUrl}-${obj.Wuid}-${obj.ResultName}`;\n });\n }\n}\nconst _results = new GlobalResultCache();\n\nexport type ResultFilter = { [key: string]: string | number };\n\nexport interface ECLResultEx extends WUInfo.ECLResult {\n Wuid: string;\n ResultName?: string;\n ResultSequence?: number;\n LogicalFileName?: string;\n NodeGroup?: string;\n ResultViews: string[];\n}\n\nexport type UResulState = ECLResultEx & WsDfu.DFULogicalFile;\nexport type IResulState = ECLResultEx | WsDfu.DFULogicalFile;\nexport class Result extends StateObject<UResulState, IResulState> implements ECLResultEx {\n protected connection: WorkunitsService;\n get BaseUrl() { return this.connection.baseUrl; }\n protected xsdSchema: XSDSchema;\n\n get properties(): WUInfo.ECLResult { return this.get(); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get ResultName(): string | undefined { return this.get(\"ResultName\"); }\n get ResultSequence(): number | undefined { return this.get(\"ResultSequence\"); }\n get LogicalFileName(): string | undefined { return this.get(\"LogicalFileName\"); }\n get Name(): string { return this.get(\"Name\"); }\n get Sequence(): number { return this.get(\"Sequence\"); }\n get Value(): string { return this.get(\"Value\"); }\n get Link(): string { return this.get(\"Link\"); }\n get FileName(): string { return this.get(\"FileName\"); }\n get IsSupplied(): boolean { return this.get(\"IsSupplied\"); }\n get ShowFileContent() { return this.get(\"ShowFileContent\"); }\n get Total(): number { return this.get(\"Total\"); }\n get ECLSchemas(): WUInfo.ECLSchemas { return this.get(\"ECLSchemas\"); }\n get NodeGroup(): string { return this.get(\"NodeGroup\"); }\n get ResultViews(): string[] { return this.get(\"ResultViews\"); }\n get XmlSchema(): string { return this.get(\"XmlSchema\"); }\n\n static attach(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, name: string);\n static attach(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, sequence: number);\n static attach(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, eclResult: WUInfo.ECLResult, resultViews: string[]);\n static attach(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, name_sequence_eclResult?: string | number | WUInfo.ECLResult, resultViews?: string[]): Result {\n let retVal: Result;\n if (Array.isArray(resultViews)) {\n retVal = _results.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid, ResultName: (name_sequence_eclResult as WUInfo.ECLResult).Name }, () => {\n return new Result(optsConnection, wuid, name_sequence_eclResult as WUInfo.ECLResult, resultViews);\n });\n retVal.set(name_sequence_eclResult as any);\n } else if (typeof resultViews === \"undefined\") {\n if (typeof name_sequence_eclResult === \"number\") {\n retVal = _results.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid, ResultName: \"Sequence_\" + name_sequence_eclResult }, () => {\n return new Result(optsConnection, wuid, name_sequence_eclResult);\n });\n } else if (typeof name_sequence_eclResult === \"string\") {\n retVal = _results.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid, ResultName: name_sequence_eclResult }, () => {\n return new Result(optsConnection, wuid, name_sequence_eclResult);\n });\n }\n }\n return retVal;\n }\n\n static attachLogicalFile(optsConnection: IOptions | IConnection | WorkunitsService, nodeGroup: string, logicalFile: string) {\n return _results.get({ BaseUrl: optsConnection.baseUrl, Wuid: nodeGroup, ResultName: logicalFile }, () => {\n return new Result(optsConnection, nodeGroup, logicalFile, true);\n });\n }\n\n private constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, name: string);\n private constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, sequence: number);\n private constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, eclResult: WUInfo.ECLResult, resultViews: string[]);\n private constructor(optsConnection: IOptions | IConnection | WorkunitsService, nodeGroup: string, logicalFile: string, isLogicalFiles: boolean);\n private constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid_NodeGroup: string, name_sequence_eclResult_logicalFile?: string | number | WUInfo.ECLResult, resultViews_isLogicalFile?: any[] | boolean) {\n super();\n if (optsConnection instanceof WorkunitsService) {\n this.connection = optsConnection;\n } else {\n this.connection = new WorkunitsService(optsConnection);\n }\n\n if (typeof resultViews_isLogicalFile === \"boolean\" && resultViews_isLogicalFile === true) {\n this.set({\n NodeGroup: wuid_NodeGroup,\n LogicalFileName: name_sequence_eclResult_logicalFile\n } as ECLResultEx);\n } else if (isECLResult(name_sequence_eclResult_logicalFile) && Array.isArray(resultViews_isLogicalFile)) {\n this.set({\n ...name_sequence_eclResult_logicalFile,\n Wuid: wuid_NodeGroup,\n ResultName: name_sequence_eclResult_logicalFile.Name,\n ResultViews: resultViews_isLogicalFile\n } as ECLResultEx);\n } else if (typeof resultViews_isLogicalFile === \"undefined\") {\n if (typeof name_sequence_eclResult_logicalFile === \"number\") {\n this.set({\n Wuid: wuid_NodeGroup,\n ResultSequence: name_sequence_eclResult_logicalFile\n } as ECLResultEx);\n } else if (typeof name_sequence_eclResult_logicalFile === \"string\") {\n this.set({\n Wuid: wuid_NodeGroup,\n ResultName: name_sequence_eclResult_logicalFile\n } as ECLResultEx);\n } else {\n console.warn(\"Unknown Result.attach (1)\");\n }\n } else {\n console.warn(\"Unknown Result.attach (2)\");\n }\n }\n\n isComplete() {\n return this.Total !== -1;\n }\n\n fetchXMLSchema(): Promise<XSDSchema | null> {\n if (this.xsdSchema) {\n return Promise.resolve(this.xsdSchema);\n }\n return this.WUResult().then((response) => {\n if (exists(\"Result.XmlSchema.xml\", response)) {\n this.xsdSchema = parseXSD(response.Result.XmlSchema.xml);\n return this.xsdSchema;\n }\n return null;\n });\n }\n\n async refresh(): Promise<this> {\n await this.fetchRows(0, 1, true);\n return this;\n }\n\n fetchRows(from: number = 0, count: number = -1, includeSchema: boolean = false, filter: ResultFilter = {}, abortSignal?: AbortSignal): Promise<any[]> {\n return this.WUResult(from, count, !includeSchema, filter, abortSignal).then((response) => {\n const result = response.Result;\n delete response.Result; // Do not want it in \"set\"\n this.set({\n ...response\n } as any);\n if (exists(\"XmlSchema.xml\", result)) {\n this.xsdSchema = parseXSD(result.XmlSchema.xml);\n }\n if (exists(\"Row\", result)) {\n return result.Row;\n } else if (this.ResultName && exists(this.ResultName, result)) {\n return result[this.ResultName].Row;\n }\n return [];\n });\n }\n\n rootField(): XSDXMLNode | null {\n if (!this.xsdSchema) return null;\n return this.xsdSchema.root;\n }\n\n fields(): XSDXMLNode[] {\n if (!this.xsdSchema) return [];\n return this.xsdSchema.root.children();\n }\n\n protected WUResult(start: number = 0, count: number = 1, suppressXmlSchema: boolean = false, filter: { [key: string]: string | number } = {}, abortSignal?: AbortSignal): Promise<WUResult.Response> {\n const FilterBy = {\n NamedValue: {\n itemcount: 0\n }\n };\n for (const key in filter) {\n FilterBy.NamedValue[FilterBy.NamedValue.itemcount++] = {\n Name: key,\n Value: filter[key]\n };\n }\n const request: WUResult.Request = { FilterBy } as WUResult.Request;\n if (this.Wuid && this.ResultName !== undefined) {\n request.Wuid = this.Wuid;\n request.ResultName = this.ResultName;\n } else if (this.Wuid && this.ResultSequence !== undefined) {\n request.Wuid = this.Wuid;\n request.Sequence = this.ResultSequence;\n } else if (this.LogicalFileName && this.NodeGroup) {\n request.LogicalName = this.LogicalFileName;\n request.Cluster = this.NodeGroup;\n } else if (this.LogicalFileName) {\n request.LogicalName = this.LogicalFileName;\n }\n request.Start = start;\n request.Count = count;\n request.SuppressXmlSchema = suppressXmlSchema;\n return this.connection.WUResult(request, abortSignal).then((response) => {\n return response;\n });\n }\n}\n\nexport class ResultCache extends Cache<WUInfo.ECLResult, Result> {\n constructor() {\n super((obj) => {\n return Cache.hash([obj.Sequence, obj.Name, obj.Value, obj.FileName]);\n });\n }\n}\n","import { StateObject, StringAnyMap } from \"@hpcc-js/util\";\n// import { utcFormat, utcParse } from \"d3-time-format\";\nimport { WUDetails } from \"../services/wsWorkunits\";\nimport { Workunit } from \"./workunit\";\n\n// const formatter = utcFormat(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n// const parser = utcParse(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n\nexport interface AttributeEx extends WUDetails.Property {\n FormattedEnd?: string;\n}\n\nexport class Attribute extends StateObject<AttributeEx, AttributeEx> implements AttributeEx {\n readonly scope: BaseScope;\n\n get properties(): AttributeEx { return this.get(); }\n get Name(): string { return this.get(\"Name\"); }\n get RawValue(): string { return this.get(\"RawValue\"); }\n get Formatted(): string { return this.get(\"Formatted\"); }\n get FormattedEnd(): string | undefined { return this.get(\"FormattedEnd\"); }\n get Measure(): string { return this.get(\"Measure\"); }\n get Creator(): string { return this.get(\"Creator\"); }\n get CreatorType(): string { return this.get(\"CreatorType\"); }\n\n constructor(scope: BaseScope, attribute: WUDetails.Property) {\n super();\n this.scope = scope;\n this.set(attribute);\n }\n}\n\nexport interface ScopeEx extends WUDetails.Scope {\n}\n\nexport interface IScopeVisitor {\n start(scope: BaseScope): boolean;\n end(scope: BaseScope): boolean;\n}\n\nexport class BaseScope extends StateObject<ScopeEx, ScopeEx> implements ScopeEx {\n protected _attributeMap: { [key: string]: Attribute } = {};\n protected _children: BaseScope[] = [];\n\n get properties(): ScopeEx { return this.get(); }\n get ScopeName(): string { return this.get(\"ScopeName\"); }\n get Id(): string { return this.get(\"Id\"); }\n get ScopeType(): string { return this.get(\"ScopeType\"); }\n get Properties(): WUDetails.Properties { return this.get(\"Properties\", { Property: [] }); }\n get Notes(): WUDetails.Notes { return this.get(\"Notes\", { Note: [] }); }\n get CAttributes(): Attribute[] {\n // Match \"started\" and time elapsed\n const retVal: Attribute[] = [];\n const timeElapsed: { start: AttributeEx | null, end: AttributeEx | null } = {\n start: null,\n end: null\n };\n this.Properties.Property.forEach((scopeAttr) => {\n if (scopeAttr.Measure === \"ts\" && scopeAttr.Name.indexOf(\"Started\") >= 0) {\n timeElapsed.start = scopeAttr;\n } else if (this.ScopeName && scopeAttr.Measure === \"ts\" && scopeAttr.Name.indexOf(\"Finished\") >= 0) {\n timeElapsed.end = scopeAttr;\n } else {\n retVal.push(new Attribute(this, scopeAttr));\n }\n });\n if (timeElapsed.start && timeElapsed.end) {\n // const endTime = parser(timeElapsed.start.Formatted);\n // endTime!.setMilliseconds(endTime!.getMilliseconds() + (+timeElapsed.elapsed.RawValue) / 1000000);\n // timeElapsed.start.FormattedEnd = formatter(endTime!);\n timeElapsed.start.FormattedEnd = timeElapsed.end.Formatted;\n retVal.push(new Attribute(this, timeElapsed.start));\n } else if (timeElapsed.start) {\n retVal.push(new Attribute(this, timeElapsed.start));\n } else if (timeElapsed.end) {\n retVal.push(new Attribute(this, timeElapsed.end)); // Should not happen?\n }\n return retVal;\n }\n\n constructor(scope: WUDetails.Scope) {\n super();\n this.update(scope);\n }\n\n update(scope: WUDetails.Scope) {\n this.set(scope);\n this.CAttributes.forEach((attr) => {\n this._attributeMap[attr.Name] = attr;\n });\n this.Properties.Property = [];\n for (const key in this._attributeMap) {\n if (this._attributeMap.hasOwnProperty(key)) {\n this.Properties.Property.push(this._attributeMap[key].properties);\n }\n }\n }\n\n parentScope(): string {\n const scopeParts = this.ScopeName.split(\":\");\n scopeParts.pop();\n return scopeParts.join(\":\");\n }\n\n children(): BaseScope[];\n children(_: BaseScope[]): BaseScope;\n children(_?: BaseScope[]): BaseScope[] | BaseScope {\n if (!arguments.length) return this._children;\n this._children = _!;\n return this;\n }\n\n walk(visitor: IScopeVisitor): boolean {\n if (visitor.start(this)) return true;\n for (const scope of this.children()) {\n if (scope.walk(visitor)) {\n return true;\n }\n }\n return visitor.end(this);\n }\n\n formattedAttrs(): StringAnyMap {\n const retVal: StringAnyMap = {};\n for (const attr in this._attributeMap) {\n retVal[attr] = this._attributeMap[attr].Formatted || this._attributeMap[attr].RawValue;\n }\n return retVal;\n }\n\n rawAttrs(): StringAnyMap {\n const retVal: StringAnyMap = {};\n for (const attr in this._attributeMap) {\n retVal[attr] = this._attributeMap[attr].RawValue;\n }\n return retVal;\n }\n\n hasAttr(name: string): boolean {\n return this._attributeMap[name] !== undefined;\n }\n\n attr(name: string): Attribute {\n return this._attributeMap[name] || new Attribute(this, {\n Creator: \"\",\n CreatorType: \"\",\n Formatted: \"\",\n Measure: \"\",\n Name: \"\",\n RawValue: \"\"\n });\n }\n\n attrMeasure(name: string): string {\n return this._attributeMap[name].Measure;\n }\n\n calcTooltip(parentScope?: BaseScope) {\n let label = \"\";\n const rows: string[] = [];\n label = this.Id;\n rows.push(`<tr><td class=\"key\">ID:</td><td class=\"value\">${this.Id}</td></tr>`);\n if (parentScope) {\n rows.push(`<tr><td class=\"key\">Parent ID:</td><td class=\"value\">${parentScope.Id}</td></tr>`);\n }\n rows.push(`<tr><td class=\"key\">Scope:</td><td class=\"value\">${this.ScopeName}</td></tr>`);\n const attrs = this.formattedAttrs();\n for (const key in attrs) {\n if (key === \"Label\") {\n label = attrs[key];\n } else {\n rows.push(`<tr><td class=\"key\">${key}</td><td class=\"value\">${attrs[key]}</td></tr>`);\n }\n }\n\n return `<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">${label}</h4>\n <table>\n ${rows.join(\"\")}\n </table>\n </div>`;\n }\n}\n\nexport class Scope extends BaseScope {\n readonly wu: Workunit;\n\n constructor(wu: Workunit, scope: WUDetails.Scope) {\n super(scope);\n this.wu = wu;\n }\n}\n","import { StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { WorkunitsService, WUInfo } from \"../services/wsWorkunits\";\n\nexport interface ECLSourceFileEx extends WUInfo.ECLSourceFile {\n Wuid: string;\n}\n\nexport class SourceFile extends StateObject<ECLSourceFileEx, ECLSourceFileEx> implements ECLSourceFileEx {\n protected connection: WorkunitsService;\n\n get properties(): WUInfo.ECLSourceFile { return this.get(); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get FileCluster(): string { return this.get(\"FileCluster\"); }\n get Name(): string { return this.get(\"Name\"); }\n get IsSuperFile(): boolean { return this.get(\"IsSuperFile\"); }\n get Subs(): number { return this.get(\"Subs\"); }\n get Count(): number { return this.get(\"Count\"); }\n get ECLSourceFiles(): WUInfo.ECLSourceFiles { return this.get(\"ECLSourceFiles\"); }\n\n constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, eclSourceFile: WUInfo.ECLSourceFile) {\n super();\n if (optsConnection instanceof WorkunitsService) {\n this.connection = optsConnection;\n } else {\n this.connection = new WorkunitsService(optsConnection);\n }\n\n this.set({\n Wuid: wuid,\n ...eclSourceFile\n });\n }\n}\n","import { espTime2Seconds, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { WorkunitsService, WUInfo } from \"../services/wsWorkunits\";\n\nexport interface ECLTimerEx extends WUInfo.ECLTimer {\n Wuid: string;\n Seconds: number;\n HasSubGraphId: boolean;\n}\n\nexport class Timer extends StateObject<ECLTimerEx, ECLTimerEx> implements ECLTimerEx {\n protected connection: WorkunitsService;\n\n get properties(): WUInfo.ECLTimer { return this.get(); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get Name(): string { return this.get(\"Name\"); }\n get Value(): string { return this.get(\"Value\"); }\n get Seconds(): number { return this.get(\"Seconds\"); }\n get GraphName(): string { return this.get(\"GraphName\"); }\n get SubGraphId(): number { return this.get(\"SubGraphId\"); }\n get HasSubGraphId(): boolean { return this.get(\"HasSubGraphId\"); }\n get count(): number { return this.get(\"count\"); }\n\n constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, eclTimer: WUInfo.ECLTimer) {\n super();\n if (optsConnection instanceof WorkunitsService) {\n this.connection = optsConnection;\n } else {\n this.connection = new WorkunitsService(optsConnection);\n }\n\n const secs = espTime2Seconds(eclTimer.Value);\n this.set({\n Wuid: wuid,\n Seconds: Math.round(secs * 1000) / 1000,\n HasSubGraphId: eclTimer.SubGraphId !== undefined,\n ...eclTimer\n });\n }\n}\n","import { Cache, deepMixinT, IEvent, scopedLogger, StateCallback, StateEvents, StateObject, StatePropCallback, StringAnyMap, XMLNode } from \"@hpcc-js/util\";\nimport { utcFormat, utcParse } from \"d3-time-format\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { ESPExceptions } from \"../espConnection\";\nimport { WsSMC } from \"../services/wsSMC\";\nimport * as WsTopology from \"../services/wsTopology\";\nimport * as WsWorkunits from \"../services/wsWorkunits\";\nimport { createGraph, createXGMMLGraph, ECLGraph, GraphCache, ScopeGraph, XGMMLGraph, XGMMLVertex } from \"./graph\";\nimport { Resource } from \"./resource\";\nimport { Result, ResultCache } from \"./result\";\nimport { BaseScope, Scope } from \"./scope\";\nimport { SourceFile } from \"./sourceFile\";\nimport { Timer } from \"./timer\";\n\nconst formatter = utcFormat(\"%Y-%m-%dT%H:%M:%S.%LZ\");\nconst parser = utcParse(\"%Y-%m-%dT%H:%M:%S.%LZ\");\nconst logger = scopedLogger(\"workunit.ts\");\n\nconst WUStateID = WsWorkunits.WUStateID;\n\nexport class WorkunitCache extends Cache<{ BaseUrl: string, Wuid: string }, Workunit> {\n constructor() {\n super((obj) => {\n return `${obj.BaseUrl}-${obj.Wuid}`;\n });\n }\n}\nconst _workunits = new WorkunitCache();\n\nexport interface DebugState {\n sequence: number;\n state: string;\n [key: string]: any;\n}\n\nexport interface IWorkunit {\n ResultViews: WsWorkunits.WUInfo.ResultViews;\n HelpersCount: number;\n}\n\nexport interface IDebugWorkunit {\n DebugState?: DebugState;\n}\n\nexport interface ITimeElapsed {\n scope: string;\n start: string;\n elapsed: number;\n finish: string;\n}\n\nexport type WorkunitEvents = \"completed\" | StateEvents;\nexport type UWorkunitState = WsWorkunits.WUQuery.ECLWorkunit & WsWorkunits.WUInfo.Workunit & WsSMC.ActiveWorkunit & IWorkunit & IDebugWorkunit;\nexport type IWorkunitState = WsWorkunits.WUQuery.ECLWorkunit | WsWorkunits.WUInfo.Workunit | WsSMC.ActiveWorkunit | IWorkunit | IDebugWorkunit;\nexport class Workunit extends StateObject<UWorkunitState, IWorkunitState> implements WsWorkunits.WUInfo.Workunit {\n connection: WsWorkunits.WorkunitsService;\n topologyConnection: WsTopology.TopologyService;\n get BaseUrl() { return this.connection.baseUrl; }\n\n private _debugMode: boolean = false;\n private _debugAllGraph: any;\n private _submitAction: WsWorkunits.WUUpdate.Action;\n\n // Accessors ---\n get properties(): WsWorkunits.WUQuery.ECLWorkunit & WsWorkunits.WUInfo.Workunit { return this.get(); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get Owner(): string { return this.get(\"Owner\", \"\"); }\n get Cluster(): string { return this.get(\"Cluster\", \"\"); }\n get Jobname(): string { return this.get(\"Jobname\", \"\"); }\n get Description(): string { return this.get(\"Description\", \"\"); }\n get ActionEx(): string { return this.get(\"ActionEx\", \"\"); }\n get StateID(): WsWorkunits.WUStateID { return this.get(\"StateID\", WsWorkunits.WUStateID.Unknown); }\n get State(): string { return this.get(\"State\") || WsWorkunits.WUStateID[this.StateID]; }\n get Protected(): boolean { return this.get(\"Protected\", false); }\n get Exceptions(): WsWorkunits.WUInfo.Exceptions2 { return this.get(\"Exceptions\", { ECLException: [] }); }\n get ResultViews(): WsWorkunits.WUInfo.ResultViews { return this.get(\"ResultViews\", { View: [] }); }\n\n private _resultCache = new ResultCache();\n get ResultCount(): number { return this.get(\"ResultCount\", 0); }\n get Results(): WsWorkunits.WUInfo.Results { return this.get(\"Results\", { ECLResult: [] }); }\n get CResults(): Result[] {\n return this.Results.ECLResult.map((eclResult) => {\n return this._resultCache.get(eclResult, () => {\n return Result.attach(this.connection, this.Wuid, eclResult, this.ResultViews.View);\n });\n });\n }\n get SequenceResults(): { [key: number]: Result } {\n const retVal: { [key: number]: Result } = {};\n this.CResults.forEach((result) => {\n retVal[result.Sequence] = result;\n });\n return retVal;\n }\n get Timers(): WsWorkunits.WUInfo.Timers { return this.get(\"Timers\", { ECLTimer: [] }); }\n get CTimers(): Timer[] {\n return this.Timers.ECLTimer.map((eclTimer) => {\n return new Timer(this.connection, this.Wuid, eclTimer);\n });\n }\n\n private _graphCache = new GraphCache();\n get GraphCount(): number { return this.get(\"GraphCount\", 0); }\n get Graphs(): WsWorkunits.WUInfo.Graphs { return this.get(\"Graphs\", { ECLGraph: [] }); }\n get CGraphs(): ECLGraph[] {\n return this.Graphs.ECLGraph.map((eclGraph) => {\n return this._graphCache.get(eclGraph, () => {\n return new ECLGraph(this, eclGraph, this.CTimers);\n });\n });\n }\n get ThorLogList(): WsWorkunits.WUInfo.ThorLogList { return this.get(\"ThorLogList\"); }\n get ResourceURLCount(): number { return this.get(\"ResourceURLCount\", 0); }\n get ResourceURLs(): WsWorkunits.WUInfo.ResourceURLs { return this.get(\"ResourceURLs\", { URL: [] }); }\n get CResourceURLs(): Resource[] {\n return this.ResourceURLs.URL.map((url) => {\n return new Resource(this, url);\n });\n }\n get TotalClusterTime(): string { return this.get(\"TotalClusterTime\", \"\"); }\n get DateTimeScheduled(): string { return this.get(\"DateTimeScheduled\"); }\n get IsPausing(): boolean { return this.get(\"IsPausing\"); }\n get ThorLCR(): boolean { return this.get(\"ThorLCR\"); }\n get ApplicationValues(): WsWorkunits.WUInfo.ApplicationValues { return this.get(\"ApplicationValues\", { ApplicationValue: [] }); }\n get HasArchiveQuery(): boolean { return this.get(\"HasArchiveQuery\"); }\n get StateEx(): string { return this.get(\"StateEx\"); }\n get PriorityClass(): number { return this.get(\"PriorityClass\"); }\n get PriorityLevel(): number { return this.get(\"PriorityLevel\"); }\n get Snapshot(): string { return this.get(\"Snapshot\"); }\n get ResultLimit(): number { return this.get(\"ResultLimit\"); }\n get EventSchedule(): number { return this.get(\"EventSchedule\"); }\n get HaveSubGraphTimings(): boolean { return this.get(\"HaveSubGraphTimings\"); }\n get Query(): WsWorkunits.WUInfo.Query { return this.get(\"Query\"); }\n get HelpersCount(): number { return this.get(\"HelpersCount\", 0); }\n get Helpers(): WsWorkunits.WUInfo.Helpers { return this.get(\"Helpers\", { ECLHelpFile: [] }); }\n get DebugValues(): WsWorkunits.WUInfo.DebugValues { return this.get(\"DebugValues\"); }\n get AllowedClusters(): WsWorkunits.WUInfo.AllowedClusters { return this.get(\"AllowedClusters\"); }\n get ErrorCount(): number { return this.get(\"ErrorCount\", 0); }\n get WarningCount(): number { return this.get(\"WarningCount\", 0); }\n get InfoCount(): number { return this.get(\"InfoCount\", 0); }\n get AlertCount(): number { return this.get(\"AlertCount\", 0); }\n get SourceFileCount(): number { return this.get(\"SourceFileCount\", 0); }\n get SourceFiles(): WsWorkunits.WUInfo.SourceFiles { return this.get(\"SourceFiles\", { ECLSourceFile: [] }); }\n get CSourceFiles(): SourceFile[] {\n return this.SourceFiles.ECLSourceFile.map(eclSourceFile => new SourceFile(this.connection, this.Wuid, eclSourceFile));\n }\n get VariableCount(): number { return this.get(\"VariableCount\", 0); }\n get Variables(): WsWorkunits.WUInfo.Variables { return this.get(\"Variables\", { ECLResult: [] }); }\n get TimerCount(): number { return this.get(\"TimerCount\", 0); }\n get HasDebugValue(): boolean { return this.get(\"HasDebugValue\"); }\n get ApplicationValueCount(): number { return this.get(\"ApplicationValueCount\", 0); }\n get XmlParams(): string { return this.get(\"XmlParams\"); }\n get AccessFlag(): number { return this.get(\"AccessFlag\"); }\n get ClusterFlag(): number { return this.get(\"ClusterFlag\"); }\n get ResultViewCount(): number { return this.get(\"ResultViewCount\", 0); }\n get DebugValueCount(): number { return this.get(\"DebugValueCount\", 0); }\n get WorkflowCount(): number { return this.get(\"WorkflowCount\", 0); }\n get Archived(): boolean { return this.get(\"Archived\"); }\n get RoxieCluster(): string { return this.get(\"RoxieCluster\"); }\n get DebugState(): DebugState { return this.get(\"DebugState\", {} as DebugState)!; }\n get Queue(): string { return this.get(\"Queue\"); }\n get Active(): boolean { return this.get(\"Active\"); }\n get Action(): number { return this.get(\"Action\"); }\n get Scope(): string { return this.get(\"Scope\"); }\n get AbortBy(): string { return this.get(\"AbortBy\"); }\n get AbortTime(): string { return this.get(\"AbortTime\"); }\n get Workflows(): WsWorkunits.WUInfo.Workflows { return this.get(\"Workflows\"); }\n get TimingData(): WsWorkunits.WUInfo.TimingData { return this.get(\"TimingData\"); }\n get HelpersDesc(): string { return this.get(\"HelpersDesc\"); }\n get GraphsDesc(): string { return this.get(\"GraphsDesc\"); }\n get SourceFilesDesc(): string { return this.get(\"SourceFilesDesc\"); }\n get ResultsDesc(): string { return this.get(\"ResultsDesc\"); }\n get VariablesDesc(): string { return this.get(\"VariablesDesc\"); }\n get TimersDesc(): string { return this.get(\"TimersDesc\"); }\n get DebugValuesDesc(): string { return this.get(\"DebugValuesDesc\"); }\n get ApplicationValuesDesc(): string { return this.get(\"ApplicationValuesDesc\"); }\n get WorkflowsDesc(): string { return this.get(\"WorkflowsDesc\"); }\n get ServiceNames(): WsWorkunits.WUInfo.ServiceNames { return this.get(\"ServiceNames\"); }\n get ExecuteCost(): number { return this.get(\"ExecuteCost\"); }\n get FileAccessCost(): number { return this.get(\"FileAccessCost\"); }\n\n // Factories ---\n static create(optsConnection: IOptions | IConnection): Promise<Workunit> {\n const retVal: Workunit = new Workunit(optsConnection);\n return retVal.connection.WUCreate().then((response) => {\n _workunits.set(retVal);\n retVal.set(response.Workunit);\n return retVal;\n });\n }\n\n static attach(optsConnection: IOptions | IConnection, wuid: string, state?: IWorkunitState): Workunit {\n const retVal: Workunit = _workunits.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid }, () => {\n return new Workunit(optsConnection, wuid);\n });\n if (state) {\n retVal.set(state);\n }\n return retVal;\n }\n\n static existsLocal(baseUrl: string, wuid: string): boolean {\n return _workunits.has({ BaseUrl: baseUrl, Wuid: wuid });\n }\n\n static submit(server: IOptions | IConnection, target: string, ecl: string, compileOnly = false): Promise<Workunit> {\n return Workunit.create(server).then((wu) => {\n return wu.update({ QueryText: ecl });\n }).then((wu) => {\n return compileOnly ? wu.submit(target, WsWorkunits.WUUpdate.Action.Compile) : wu.submit(target);\n });\n }\n\n static compile(server: IOptions | IConnection, target: string, ecl: string): Promise<Workunit> {\n return Workunit.submit(server, target, ecl, true);\n }\n\n static query(server: IOptions | IConnection, opts: WsWorkunits.WUQuery.Request): Promise<Workunit[]> {\n const wsWorkunits = new WsWorkunits.WorkunitsService(server);\n return wsWorkunits.WUQuery(opts).then((response) => {\n return response.Workunits.ECLWorkunit.map(function (wu) {\n return Workunit.attach(server, wu.Wuid, wu);\n });\n });\n }\n\n // --- --- ---\n protected constructor(optsConnection: IOptions | IConnection, wuid?: string) {\n super();\n this.connection = new WsWorkunits.WorkunitsService(optsConnection);\n this.topologyConnection = new WsTopology.TopologyService(optsConnection);\n this.clearState(wuid);\n }\n\n clearState(wuid?: string) {\n this.clear({\n Wuid: wuid,\n StateID: WUStateID.Unknown\n });\n }\n\n update(request: Partial<WsWorkunits.WUUpdate.Request>): Promise<Workunit> {\n return this.connection.WUUpdate({\n ...request,\n ...{\n Wuid: this.Wuid,\n StateOrig: this.State,\n JobnameOrig: this.Jobname,\n DescriptionOrig: this.Description,\n ProtectedOrig: this.Protected,\n ClusterOrig: this.Cluster\n }\n }).then((response) => {\n this.set(response.Workunit);\n return this;\n });\n }\n\n submit(_cluster?: string, action: WsWorkunits.WUUpdate.Action = WsWorkunits.WUUpdate.Action.Run, resultLimit?: number): Promise<Workunit> {\n let clusterPromise;\n if (_cluster !== void 0) {\n clusterPromise = Promise.resolve(_cluster);\n } else {\n clusterPromise = this.topologyConnection.DefaultTpLogicalClusterQuery().then((response) => {\n return response.Name;\n });\n }\n\n this._debugMode = false;\n if (action === WsWorkunits.WUUpdate.Action.Debug) {\n action = WsWorkunits.WUUpdate.Action.Run;\n this._debugMode = true;\n }\n\n return clusterPromise.then((cluster) => {\n return this.connection.WUUpdate({\n Wuid: this.Wuid,\n Action: action,\n ResultLimit: resultLimit,\n DebugValues: {\n DebugValue: [\n {\n Name: \"Debug\",\n Value: this._debugMode ? \"1\" : \"\"\n }\n ]\n }\n }).then((response) => {\n this.set(response.Workunit);\n this._submitAction = action;\n return this.connection.WUSubmit({ Wuid: this.Wuid, Cluster: cluster });\n });\n }).then(() => {\n return this;\n });\n }\n\n isComplete(): boolean {\n switch (this.StateID) {\n case WUStateID.Compiled:\n return this.ActionEx === \"compile\" || this._submitAction === WsWorkunits.WUUpdate.Action.Compile;\n case WUStateID.Completed:\n case WUStateID.Failed:\n case WUStateID.Aborted:\n case WUStateID.NotFound:\n return true;\n default:\n }\n return false;\n }\n\n isFailed() {\n switch (this.StateID) {\n case WUStateID.Aborted:\n case WUStateID.Failed:\n return true;\n default:\n }\n return false;\n }\n\n isDeleted() {\n switch (this.StateID) {\n case WUStateID.NotFound:\n return true;\n default:\n }\n return false;\n }\n\n isDebugging() {\n switch (this.StateID) {\n case WUStateID.DebugPaused:\n case WUStateID.DebugRunning:\n return true;\n default:\n }\n return this._debugMode;\n }\n\n isRunning(): boolean {\n switch (this.StateID) {\n case WUStateID.Compiled:\n case WUStateID.Running:\n case WUStateID.Aborting:\n case WUStateID.Blocked:\n case WUStateID.DebugPaused:\n case WUStateID.DebugRunning:\n return true;\n default:\n }\n return false;\n }\n\n setToFailed() {\n return this.WUAction(\"SetToFailed\");\n }\n\n pause() {\n return this.WUAction(\"Pause\");\n }\n\n pauseNow() {\n return this.WUAction(\"PauseNow\");\n }\n\n resume() {\n return this.WUAction(\"Resume\");\n }\n\n abort() {\n return this.WUAction(\"Abort\");\n }\n\n delete() {\n return this.WUAction(\"Delete\");\n }\n\n restore() {\n return this.WUAction(\"Restore\");\n }\n\n deschedule() {\n return this.WUAction(\"Deschedule\");\n }\n\n reschedule() {\n return this.WUAction(\"Reschedule\");\n }\n\n resubmit(): Promise<Workunit> {\n return this.WUResubmit({\n CloneWorkunit: false,\n ResetWorkflow: false\n }).then(() => {\n this.clearState(this.Wuid);\n return this.refresh().then(() => {\n this._monitor();\n return this;\n });\n });\n }\n\n clone(): Promise<Workunit> {\n return this.WUResubmit({\n CloneWorkunit: true,\n ResetWorkflow: false\n }).then((response) => {\n return Workunit.attach(this.connection.opts(), response.WUs.WU[0].WUID)\n .refresh()\n ;\n });\n }\n\n async refreshState(): Promise<this> {\n await this.WUQuery();\n return this;\n }\n\n async refreshInfo(): Promise<this> {\n await this.WUInfo();\n return this;\n }\n\n async refreshDebug(): Promise<this> {\n await this.debugStatus();\n return this;\n }\n\n async refresh(full: boolean = false): Promise<this> {\n if (full) {\n await Promise.all([this.refreshInfo(), this.refreshDebug()]);\n } else {\n await this.refreshState();\n }\n return this;\n }\n\n eclExceptions(): WsWorkunits.WUInfo.ECLException[] {\n return this.Exceptions.ECLException;\n }\n\n fetchArchive(): Promise<string> {\n return this.connection.WUFile({\n Wuid: this.Wuid,\n Type: \"ArchiveQuery\"\n });\n }\n\n fetchECLExceptions(): Promise<WsWorkunits.WUInfo.ECLException[]> {\n return this.WUInfo({ IncludeExceptions: true }).then(() => {\n return this.eclExceptions();\n });\n }\n\n fetchResults(): Promise<Result[]> {\n return this.WUInfo({ IncludeResults: true }).then(() => {\n return this.CResults;\n });\n }\n\n fetchGraphs(): Promise<ECLGraph[]> {\n return this.WUInfo({ IncludeGraphs: true }).then(() => {\n return this.CGraphs;\n });\n }\n\n fetchQuery(): Promise<WsWorkunits.WUInfo.Query> {\n return this.WUInfo({ IncludeECL: true, TruncateEclTo64k: false }).then(() => {\n return this.Query;\n });\n }\n\n fetchHelpers(): Promise<WsWorkunits.WUInfo.ECLHelpFile[]> {\n return this.WUInfo({ IncludeHelpers: true }).then(() => {\n return this.Helpers?.ECLHelpFile || [];\n });\n }\n\n fetchAllowedClusters(): Promise<string[]> {\n return this.WUInfo({ IncludeAllowedClusters: true }).then(() => {\n return this.AllowedClusters?.AllowedCluster || [];\n });\n }\n\n fetchTotalClusterTime(): Promise<string> {\n return this.WUInfo({ IncludeTotalClusterTime: true }).then(() => {\n return this.TotalClusterTime;\n });\n }\n\n fetchServiceNames(): Promise<string[]> {\n return this.WUInfo({ IncludeServiceNames: true }).then(() => {\n return this.ServiceNames?.Item;\n });\n }\n\n fetchDetailsMeta(request: Partial<WsWorkunits.WUDetailsMeta.Request> = {}): Promise<WsWorkunits.WUDetailsMeta.Response> {\n return this.WUDetailsMeta(request);\n }\n\n fetchDetailsRaw(request: Partial<WsWorkunits.WUDetails.Request> = {}): Promise<WsWorkunits.WUDetails.Scope[]> {\n return this.WUDetails(request).then(response => response.Scopes.Scope);\n }\n\n fetchDetailsNormalized(request: Partial<WsWorkunits.WUDetails.Request> = {}): Promise<{ meta: WsWorkunits.WUDetailsMeta.Response, columns: { [id: string]: any }, data: object[] }> {\n return Promise.all([this.fetchDetailsMeta(), this.fetchDetailsRaw(request)]).then(promises => {\n const meta = promises[0];\n const scopes = promises[1];\n const columns: { [id: string]: any } = {\n id: {\n Measure: \"label\"\n },\n name: {\n Measure: \"label\"\n },\n type: {\n Measure: \"label\"\n }\n };\n const data: object[] = [];\n for (const scope of scopes) {\n const props = {};\n const formattedProps = {};\n if (scope && scope.Id && scope.Properties && scope.Properties.Property) {\n for (const key in scope.Properties.Property) {\n const scopeProperty = scope.Properties.Property[key];\n if (scopeProperty.Measure === \"ns\") {\n scopeProperty.Measure = \"s\";\n }\n columns[scopeProperty.Name] = { ...scopeProperty };\n delete columns[scopeProperty.Name].RawValue;\n delete columns[scopeProperty.Name].Formatted;\n switch (scopeProperty.Measure) {\n case \"bool\":\n props[scopeProperty.Name] = !!+scopeProperty.RawValue;\n break;\n case \"sz\":\n props[scopeProperty.Name] = +scopeProperty.RawValue;\n break;\n case \"s\":\n props[scopeProperty.Name] = +scopeProperty.RawValue / 1000000000;\n break;\n case \"ns\":\n props[scopeProperty.Name] = +scopeProperty.RawValue;\n break;\n case \"ts\":\n props[scopeProperty.Name] = new Date(+scopeProperty.RawValue / 1000).toISOString();\n break;\n case \"cnt\":\n props[scopeProperty.Name] = +scopeProperty.RawValue;\n break;\n case \"cpu\":\n case \"skw\":\n case \"node\":\n case \"ppm\":\n case \"ip\":\n case \"cy\":\n case \"en\":\n case \"txt\":\n case \"id\":\n case \"fname\":\n default:\n props[scopeProperty.Name] = scopeProperty.RawValue;\n }\n formattedProps[scopeProperty.Name] = scopeProperty.Formatted ?? props[scopeProperty.Name];\n\n }\n data.push({\n id: scope.Id,\n name: scope.ScopeName,\n type: scope.ScopeType,\n __formattedProps: formattedProps,\n ...props\n });\n }\n }\n return {\n meta,\n columns,\n data\n };\n });\n }\n\n fetchInfo(request: Partial<WsWorkunits.WUInfo.Request> = {}): Promise<WsWorkunits.WUInfo.Response> {\n return this.WUInfo(request);\n }\n\n fetchDetails(request: Partial<WsWorkunits.WUDetails.Request> = {}): Promise<Scope[]> {\n return this.WUDetails(request).then((response) => {\n return response.Scopes.Scope.map((rawScope) => {\n return new Scope(this, rawScope);\n });\n });\n }\n\n fetchDetailsHierarchy(request: Partial<WsWorkunits.WUDetails.Request> = {}): Promise<Scope[]> {\n return this.WUDetails(request).then((response) => {\n const retVal: Scope[] = [];\n\n // Recreate Scope Hierarchy and dedup ---\n const scopeMap: { [key: string]: Scope } = {};\n response.Scopes.Scope.forEach((rawScope) => {\n if (scopeMap[rawScope.ScopeName]) {\n scopeMap[rawScope.ScopeName].update(rawScope);\n return null;\n } else {\n const scope = new Scope(this, rawScope);\n scopeMap[scope.ScopeName] = scope;\n return scope;\n }\n });\n for (const key in scopeMap) {\n if (scopeMap.hasOwnProperty(key)) {\n const scope = scopeMap[key];\n const parentScopeID = scope.parentScope();\n if (parentScopeID && scopeMap[parentScopeID]) {\n scopeMap[parentScopeID].children().push(scope);\n } else {\n retVal.push(scope);\n }\n }\n }\n\n return retVal;\n });\n }\n\n fetchGraphDetails(graphIDs: string[] = [], rootTypes: string[]): Promise<BaseScope[]> {\n return this.fetchDetails({\n ScopeFilter: {\n MaxDepth: 999999,\n Ids: graphIDs,\n ScopeTypes: rootTypes\n },\n NestedFilter: {\n Depth: 999999,\n ScopeTypes: [\"graph\", \"subgraph\", \"activity\", \"edge\", \"function\"]\n },\n PropertiesToReturn: {\n AllStatistics: true,\n AllAttributes: true,\n AllHints: true,\n AllProperties: true,\n AllScopes: true\n },\n ScopeOptions: {\n IncludeId: true,\n IncludeScope: true,\n IncludeScopeType: true\n },\n PropertyOptions: {\n IncludeName: true,\n IncludeRawValue: true,\n IncludeFormatted: true,\n IncludeMeasure: true,\n IncludeCreator: false,\n IncludeCreatorType: false\n }\n });\n }\n\n fetchScopeGraphs(graphIDs: string[] = []): Promise<ScopeGraph> {\n return this.fetchGraphDetails(graphIDs, [\"graph\"]).then((scopes) => {\n return createGraph(scopes);\n });\n }\n\n fetchTimeElapsed(): Promise<ITimeElapsed[]> {\n return this.fetchDetails({\n ScopeFilter: {\n PropertyFilters: {\n PropertyFilter: [{ Name: \"TimeElapsed\" }]\n }\n }\n }).then((scopes) => {\n const scopeInfo: { [key: string]: ITimeElapsed } = {};\n scopes.forEach((scope) => {\n scopeInfo[scope.ScopeName] = scopeInfo[scope.ScopeName] || {\n scope: scope.ScopeName,\n start: null,\n elapsed: null,\n finish: null\n };\n scope.CAttributes.forEach((attr) => {\n if (attr.Name === \"TimeElapsed\") {\n scopeInfo[scope.ScopeName].elapsed = +attr.RawValue;\n } else if (attr.Measure === \"ts\" && attr.Name.indexOf(\"Started\") >= 0) {\n scopeInfo[scope.ScopeName].start = attr.Formatted;\n }\n });\n });\n // Workaround duplicate scope responses\n const retVal: ITimeElapsed[] = [];\n for (const key in scopeInfo) {\n const scope = scopeInfo[key];\n if (scope.start && scope.elapsed) {\n const endTime = parser(scope.start);\n endTime!.setMilliseconds(endTime!.getMilliseconds() + scope.elapsed / 1000000);\n scope.finish = formatter(endTime!);\n retVal.push(scope);\n }\n }\n retVal.sort((l, r) => {\n if (l.start < r.start) return -1;\n if (l.start > r.start) return 1;\n return 0;\n });\n return retVal;\n });\n }\n\n // Monitoring ---\n protected _monitor(): void {\n if (this.isComplete()) {\n this._monitorTickCount = 0;\n return;\n }\n super._monitor();\n }\n\n protected _monitorTimeoutDuraction(): number {\n const retVal = super._monitorTimeoutDuraction();\n if (this._monitorTickCount <= 1) { // Once\n return 1000;\n } else if (this._monitorTickCount <= 3) { // Twice\n return 3000;\n } else if (this._monitorTickCount <= 5) { // Twice\n return 5000;\n } else if (this._monitorTickCount <= 7) { // Twice\n return 10000;\n }\n return retVal;\n }\n\n // Events ---\n on(eventID: WorkunitEvents, propIDorCallback: StateCallback | keyof UWorkunitState, callback?: StatePropCallback): this {\n if (this.isCallback(propIDorCallback)) {\n switch (eventID) {\n case \"completed\":\n super.on(\"propChanged\", \"StateID\", (changeInfo: IEvent) => {\n if (this.isComplete()) {\n propIDorCallback([changeInfo]);\n }\n });\n break;\n case \"changed\":\n super.on(eventID, propIDorCallback);\n break;\n default:\n }\n } else {\n switch (eventID) {\n case \"changed\":\n super.on(eventID, propIDorCallback, callback!);\n break;\n default:\n }\n }\n this._monitor();\n return this;\n }\n\n watchUntilComplete(callback?: StateCallback): Promise<this> {\n return new Promise((resolve, _) => {\n const watchHandle = this.watch((changes) => {\n if (callback) {\n callback(changes);\n }\n if (this.isComplete()) {\n watchHandle.release();\n resolve(this);\n }\n });\n });\n }\n\n watchUntilRunning(callback?: StateCallback): Promise<this> {\n return new Promise((resolve, _) => {\n const watchHandle = this.watch((changes) => {\n if (callback) {\n callback(changes);\n }\n if (this.isComplete() || this.isRunning()) {\n watchHandle.release();\n resolve(this);\n }\n });\n });\n }\n\n // WsWorkunits passthroughs ---\n protected WUQuery(_request: Partial<WsWorkunits.WUQuery.Request> = {}): Promise<WsWorkunits.WUQuery.Response> {\n return this.connection.WUQuery({ ..._request, Wuid: this.Wuid }).then((response) => {\n this.set(response.Workunits.ECLWorkunit[0]);\n return response;\n }).catch((e: ESPExceptions) => {\n // deleted ---\n const wuMissing = e.Exception.some((exception) => {\n if (exception.Code === 20081) {\n this.clearState(this.Wuid);\n this.set(\"StateID\", WUStateID.NotFound);\n return true;\n }\n return false;\n });\n if (!wuMissing) {\n logger.warning(\"Unexpected exception: \");\n throw e;\n }\n return {} as WsWorkunits.WUQuery.Response;\n });\n }\n\n protected WUCreate() {\n return this.connection.WUCreate().then((response) => {\n this.set(response.Workunit);\n _workunits.set(this);\n return response;\n });\n }\n\n protected WUInfo(_request: Partial<WsWorkunits.WUInfo.Request> = {}): Promise<WsWorkunits.WUInfo.Response> {\n const includeResults = _request.IncludeResults || _request.IncludeResultsViewNames;\n return this.connection.WUInfo({\n ..._request, Wuid: this.Wuid,\n IncludeResults: includeResults,\n IncludeResultsViewNames: includeResults,\n SuppressResultSchemas: false\n }).then((response) => {\n this.set(response.Workunit);\n if (includeResults) {\n this.set({\n ResultViews: response.ResultViews\n } as IWorkunitState);\n }\n return response;\n }).catch((e: ESPExceptions) => {\n // deleted ---\n const wuMissing = e.Exception.some((exception) => {\n if (exception.Code === 20080) {\n this.clearState(this.Wuid);\n this.set(\"StateID\", WUStateID.NotFound);\n return true;\n }\n return false;\n });\n if (!wuMissing) {\n logger.warning(\"Unexpected exception: \");\n throw e;\n }\n return {} as WsWorkunits.WUInfo.Response;\n });\n }\n\n protected WUResubmit(request: Partial<WsWorkunits.WUResubmit.Request>): Promise<WsWorkunits.WUResubmit.Response> {\n return this.connection.WUResubmit(deepMixinT<WsWorkunits.WUResubmit.Request>({}, request, {\n Wuids: [this.Wuid]\n }));\n }\n\n protected WUDetailsMeta(request: Partial<WsWorkunits.WUDetailsMeta.Request>): Promise<WsWorkunits.WUDetailsMeta.Response> {\n return this.connection.WUDetailsMeta(request);\n }\n\n protected WUDetails(request: Partial<WsWorkunits.WUDetails.Request>): Promise<WsWorkunits.WUDetails.Response> {\n return this.connection.WUDetails(deepMixinT<WsWorkunits.WUDetails.Request>({\n ScopeFilter: {\n MaxDepth: 9999\n },\n ScopeOptions: {\n IncludeMatchedScopesInResults: true,\n IncludeScope: true,\n IncludeId: false,\n IncludeScopeType: false\n },\n PropertyOptions: {\n IncludeName: true,\n IncludeRawValue: false,\n IncludeFormatted: true,\n IncludeMeasure: true,\n IncludeCreator: false,\n IncludeCreatorType: false\n }\n }, request, { WUID: this.Wuid })).then((response) => {\n return deepMixinT<WsWorkunits.WUDetails.Response>({\n Scopes: {\n Scope: []\n }\n }, response);\n });\n }\n\n protected WUAction(actionType: WsWorkunits.WUAction.Type): Promise<WsWorkunits.WUAction.Response> {\n return this.connection.WUAction({\n Wuids: [this.Wuid],\n WUActionType: actionType\n }).then((response) => {\n return this.refresh().then(() => {\n this._monitor();\n return response;\n });\n });\n }\n\n publish(name?: string) {\n return this.connection.WUPublishWorkunit({\n Wuid: this.Wuid,\n Cluster: this.Cluster,\n JobName: name || this.Jobname,\n AllowForeignFiles: true,\n Activate: true,\n Wait: 5000\n });\n }\n\n protected WUCDebug(command: string, opts: any = {}): Promise<XMLNode | null> {\n let optsStr = \"\";\n for (const key in opts) {\n if (opts.hasOwnProperty(key)) {\n optsStr += ` ${key}='${opts[key]}'`;\n }\n }\n return this.connection.WUCDebug({\n Wuid: this.Wuid,\n Command: `<debug:${command} uid='${this.Wuid}'${optsStr}/>`\n }).then((response) => {\n return response;\n });\n }\n\n debug(command: string, opts?: object): Promise<XMLNode> {\n if (!this.isDebugging()) {\n return Promise.resolve(new XMLNode(command));\n }\n return this.WUCDebug(command, opts).then((response: XMLNode) => {\n const retVal: XMLNode[] = response.children(command);\n if (retVal.length) {\n return retVal[0];\n }\n return new XMLNode(command);\n }).catch((_) => {\n logger.error(_);\n return Promise.resolve(new XMLNode(command));\n });\n }\n\n debugStatus(): Promise<XMLNode> {\n if (!this.isDebugging()) {\n return Promise.resolve<any>({\n DebugState: { state: \"unknown\" }\n });\n }\n return this.debug(\"status\").then((response) => {\n const debugState = { ...this.DebugState, ...response.$ };\n this.set({\n DebugState: debugState\n });\n return response;\n });\n }\n\n debugContinue(mode = \"\"): Promise<XMLNode> {\n return this.debug(\"continue\", {\n mode\n });\n }\n\n debugStep(mode: string): Promise<XMLNode> {\n return this.debug(\"step\", {\n mode\n });\n }\n\n debugPause(): Promise<XMLNode> {\n return this.debug(\"interrupt\");\n }\n\n debugQuit(): Promise<XMLNode> {\n return this.debug(\"quit\");\n }\n\n debugDeleteAllBreakpoints(): Promise<XMLNode> {\n return this.debug(\"delete\", {\n idx: 0\n });\n }\n\n protected debugBreakpointResponseParser(rootNode: StringAnyMap) {\n return rootNode.children().map((childNode: XMLNode) => {\n if (childNode.name === \"break\") {\n return childNode.$;\n }\n });\n }\n\n debugBreakpointAdd(id: string, mode: string, action: string): Promise<XMLNode> {\n return this.debug(\"breakpoint\", {\n id,\n mode,\n action\n }).then((rootNode) => {\n return this.debugBreakpointResponseParser(rootNode);\n });\n }\n\n debugBreakpointList(): Promise<any[]> {\n return this.debug(\"list\").then((rootNode) => {\n return this.debugBreakpointResponseParser(rootNode);\n });\n }\n\n debugGraph(): Promise<XGMMLGraph> {\n if (this._debugAllGraph && this.DebugState[\"_prevGraphSequenceNum\"] === this.DebugState[\"graphSequenceNum\"]) {\n return Promise.resolve(this._debugAllGraph);\n }\n return this.debug(\"graph\", { name: \"all\" }).then((response) => {\n this.DebugState[\"_prevGraphSequenceNum\"] = this.DebugState[\"graphSequenceNum\"];\n this._debugAllGraph = createXGMMLGraph(this.Wuid, response);\n return this._debugAllGraph;\n });\n }\n\n debugBreakpointValid(path: string): Promise<IECLDefintion[]> {\n return this.debugGraph().then((graph) => {\n return breakpointLocations(graph, path);\n });\n }\n\n debugPrint(edgeID: string, startRow: number = 0, numRows: number = 10): Promise<StringAnyMap[]> {\n return this.debug(\"print\", {\n edgeID,\n startRow,\n numRows\n }).then((response: XMLNode) => {\n return response.children().map((rowNode) => {\n const retVal: StringAnyMap = {};\n rowNode.children().forEach((cellNode) => {\n retVal[cellNode.name] = cellNode.content;\n });\n return retVal;\n });\n });\n }\n}\n\nexport interface IECLDefintion {\n id: string;\n file: string;\n line: number;\n column: number;\n}\n\nconst ATTR_DEFINITION = \"definition\";\n\nfunction hasECLDefinition(vertex: XGMMLVertex): boolean {\n return vertex._![ATTR_DEFINITION] !== undefined;\n}\n\nfunction getECLDefinition(vertex: XGMMLVertex): IECLDefintion {\n const match = /([a-z]:\\\\(?:[-\\w\\.\\d]+\\\\)*(?:[-\\w\\.\\d]+)?|(?:\\/[\\w\\.\\-]+)+)\\((\\d*),(\\d*)\\)/.exec(vertex._![ATTR_DEFINITION]);\n if (match) {\n const [, _file, _row, _col] = match;\n _file.replace(/\\/\\.\\//g, \"/\");\n return {\n id: vertex._![\"id\"],\n file: _file,\n line: +_row,\n column: +_col\n };\n }\n throw new Error(`Bad definition: ${vertex._![ATTR_DEFINITION]}`);\n}\n\nfunction breakpointLocations(graph: XGMMLGraph, path?: string): IECLDefintion[] {\n const retVal: IECLDefintion[] = [];\n for (const vertex of graph.vertices) {\n if (hasECLDefinition(vertex)) {\n const definition = getECLDefinition(vertex);\n if (definition && !path || path === definition.file) {\n retVal.push(definition);\n }\n }\n }\n return retVal.sort((l, r) => {\n return l.line - r.line;\n });\n}\n","import { Cache, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { DFUService, WsDfu } from \"../services/wsDFU\";\n\nexport class LogicalFileCache extends Cache<{ BaseUrl: string, Cluster: string, Name: string }, LogicalFile> {\n constructor() {\n super((obj) => {\n return `${obj.BaseUrl}-${obj.Cluster}-${obj.Name}`;\n });\n }\n}\nconst _store = new LogicalFileCache();\n\nexport interface DFUPartEx extends WsDfu.DFUPart {\n // From WsDfu.DFUFilePartsOnCluster ---\n Cluster: string;\n BaseDir: string;\n ReplicateDir: string;\n Replicate: boolean;\n CanReplicate: boolean;\n}\n\nexport interface FileDetailEx extends WsDfu.FileDetail {\n Cluster: string;\n}\n\nexport class LogicalFile extends StateObject<FileDetailEx, FileDetailEx> implements FileDetailEx {\n protected connection: DFUService;\n get BaseUrl() { return this.connection.baseUrl; }\n\n get Cluster(): string { return this.get(\"Cluster\"); }\n get Name(): string { return this.get(\"Name\"); }\n\n get Filename(): string { return this.get(\"Filename\"); }\n get Prefix(): string { return this.get(\"Prefix\"); }\n get NodeGroup(): string { return this.get(\"NodeGroup\"); }\n get NumParts(): number { return this.get(\"NumParts\"); }\n get Description(): string { return this.get(\"Description\"); }\n get Dir(): string { return this.get(\"Dir\"); }\n get PathMask(): string { return this.get(\"PathMask\"); }\n get Filesize(): string { return this.get(\"Filesize\"); }\n get FileSizeInt64(): number { return this.get(\"FileSizeInt64\"); }\n get RecordSize(): string { return this.get(\"RecordSize\"); }\n get RecordCount(): string { return this.get(\"RecordCount\"); }\n get RecordSizeInt64(): number { return this.get(\"RecordSizeInt64\"); }\n get RecordCountInt64(): number { return this.get(\"RecordCountInt64\"); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get Owner(): string { return this.get(\"Owner\"); }\n get JobName(): string { return this.get(\"JobName\"); }\n get Persistent(): string { return this.get(\"Persistent\"); }\n get Format(): string { return this.get(\"Format\"); }\n get MaxRecordSize(): string { return this.get(\"MaxRecordSize\"); }\n get CsvSeparate(): string { return this.get(\"CsvSeparate\"); }\n get CsvQuote(): string { return this.get(\"CsvQuote\"); }\n get CsvTerminate(): string { return this.get(\"CsvTerminate\"); }\n get CsvEscape(): string { return this.get(\"CsvEscape\"); }\n get Modified(): string { return this.get(\"Modified\"); }\n get Ecl(): string { return this.get(\"Ecl\"); }\n get Stat(): WsDfu.Stat { return this.get(\"Stat\"); }\n get DFUFilePartsOnClusters(): WsDfu.DFUFilePartsOnClusters { return this.get(\"DFUFilePartsOnClusters\"); }\n get isSuperfile(): boolean { return this.get(\"isSuperfile\"); }\n get ShowFileContent(): boolean { return this.get(\"ShowFileContent\"); }\n get subfiles(): WsDfu.Subfiles { return this.get(\"subfiles\"); }\n get Superfiles(): WsDfu.Superfiles { return this.get(\"Superfiles\"); }\n get ProtectList(): WsDfu.ProtectList { return this.get(\"ProtectList\"); }\n get FromRoxieCluster(): boolean { return this.get(\"FromRoxieCluster\"); }\n get Graphs(): WsDfu.Graphs { return this.get(\"Graphs\"); }\n get UserPermission(): string { return this.get(\"UserPermission\"); }\n get ContentType(): string { return this.get(\"ContentType\"); }\n get CompressedFileSize(): number { return this.get(\"CompressedFileSize\"); }\n get PercentCompressed(): string { return this.get(\"PercentCompressed\"); }\n get IsCompressed(): boolean { return this.get(\"IsCompressed\"); }\n get BrowseData(): boolean { return this.get(\"BrowseData\"); }\n get jsonInfo(): string { return this.get(\"jsonInfo\"); }\n get binInfo(): string { return this.get(\"binInfo\"); }\n get PackageID(): string { return this.get(\"PackageID\"); }\n get Partition(): WsDfu.Partition { return this.get(\"Partition\"); }\n get Blooms(): WsDfu.Blooms { return this.get(\"Blooms\"); }\n get ExpireDays(): number { return this.get(\"ExpireDays\"); }\n get KeyType(): string { return this.get(\"KeyType\"); }\n get IsRestricted(): boolean { return this.get(\"IsRestricted\"); }\n get Cost(): number { return this.get(\"Cost\"); }\n\n get properties(): FileDetailEx { return this.get(); }\n\n static attach(optsConnection: IOptions | IConnection | DFUService, Cluster: string, Name: string): LogicalFile {\n const retVal: LogicalFile = _store.get({ BaseUrl: optsConnection.baseUrl, Cluster, Name }, () => {\n return new LogicalFile(optsConnection, Cluster, Name);\n });\n return retVal;\n }\n\n protected constructor(optsConnection: IOptions | IConnection | DFUService, Cluster: string, Name: string) {\n super();\n if (optsConnection instanceof DFUService) {\n this.connection = optsConnection;\n } else {\n this.connection = new DFUService(optsConnection);\n }\n\n this.clear({\n Cluster,\n Name\n });\n }\n\n filePartsOnCluster() {\n return [...(this.DFUFilePartsOnClusters?.DFUFilePartsOnCluster || [])];\n }\n\n fileParts() {\n const retVal: DFUPartEx[] = [];\n for (const poc of this.DFUFilePartsOnClusters?.DFUFilePartsOnCluster || []) {\n for (const part of poc?.DFUFileParts?.DFUPart || []) {\n const row = { ...poc, ...part };\n delete row.DFUFileParts;\n retVal.push(row);\n }\n }\n return retVal;\n }\n\n update(request: Partial<WsDfu.DFUInfoRequest>): Promise<WsDfu.DFUInfoResponse> {\n return this.connection.DFUInfo({\n ...request,\n ...{\n Cluster: this.Cluster,\n Name: this.Name\n }\n }).then((response) => {\n this.set({\n Cluster: this.Cluster,\n ...response.FileDetail\n });\n return response;\n });\n }\n\n fetchInfo(): Promise<WsDfu.FileDetail> {\n return this.connection.DFUInfo({ Cluster: this.Cluster, Name: this.Name }).then(response => {\n this.set({\n Cluster: this.Cluster,\n ...response.FileDetail\n });\n return response.FileDetail;\n });\n }\n\n fetchDefFile(format: \"def\" | \"xml\"): Promise<string> {\n return this.connection.DFUFile({ Name: this.Name, Format: format });\n }\n\n fetchListHistory(): Promise<WsDfu.Origin2[]> {\n return this.connection.ListHistory({ Name: this.Name }).then(response => {\n return response?.History?.Origin || [];\n });\n }\n\n eraseHistory(): Promise<WsDfu.Origin[]> {\n return this.connection.EraseHistory({ Name: this.Name }).then(response => {\n return response?.History?.Origin || [];\n });\n }\n}\n","import { Cache, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { GetTargetClusterInfo, MachineService } from \"../services/wsMachine\";\n\nexport class MachineCache extends Cache<{ Address: string }, Machine> {\n constructor() {\n super((obj) => {\n return obj.Address;\n });\n }\n}\nconst _machines = new MachineCache();\n\nexport interface MachineInfoEx extends GetTargetClusterInfo.MachineInfoEx {\n}\n\nexport class Machine extends StateObject<MachineInfoEx, MachineInfoEx> implements MachineInfoEx {\n protected connection: MachineService;\n\n get Address(): string { return this.get(\"Address\"); }\n get ConfigAddress(): string { return this.get(\"ConfigAddress\"); }\n get Name(): string { return this.get(\"Name\"); }\n get ProcessType(): string { return this.get(\"ProcessType\"); }\n get DisplayType(): string { return this.get(\"DisplayType\"); }\n get Description(): string { return this.get(\"Description\"); }\n get AgentVersion(): string { return this.get(\"AgentVersion\"); }\n get Contact(): string { return this.get(\"Contact\"); }\n get Location(): string { return this.get(\"Location\"); }\n get UpTime(): string { return this.get(\"UpTime\"); }\n get ComponentName(): string { return this.get(\"ComponentName\"); }\n get ComponentPath(): string { return this.get(\"ComponentPath\"); }\n get RoxieState(): string { return this.get(\"RoxieState\"); }\n get RoxieStateDetails(): string { return this.get(\"RoxieStateDetails\"); }\n get OS(): number { return this.get(\"OS\"); }\n get ProcessNumber(): number { return this.get(\"ProcessNumber\"); }\n get Processors(): GetTargetClusterInfo.Processors { return this.get(\"Processors\"); }\n get Storage(): GetTargetClusterInfo.Storage { return this.get(\"Storage\"); }\n get Running(): GetTargetClusterInfo.Running { return this.get(\"Running\"); }\n get PhysicalMemory(): GetTargetClusterInfo.PhysicalMemory { return this.get(\"PhysicalMemory\"); }\n get VirtualMemory(): GetTargetClusterInfo.VirtualMemory { return this.get(\"VirtualMemory\"); }\n get ComponentInfo(): GetTargetClusterInfo.ComponentInfo { return this.get(\"ComponentInfo\"); }\n\n static attach(optsConnection: IOptions | IConnection | MachineService, address: string, state?: GetTargetClusterInfo.MachineInfoEx): Machine {\n const retVal: Machine = _machines.get({ Address: address }, () => {\n return new Machine(optsConnection);\n });\n if (state) {\n retVal.set(state);\n }\n return retVal;\n }\n\n private constructor(optsConnection: IOptions | IConnection | MachineService) {\n super();\n if (optsConnection instanceof MachineService) {\n this.connection = optsConnection;\n } else {\n this.connection = new MachineService(optsConnection);\n }\n }\n}\n","import { Cache, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { EclService, IWsEclRequest, IWsEclResponse, IWsEclResult } from \"../services/wsEcl\";\nimport { WorkunitsService, WUQueryDetails } from \"../services/wsWorkunits\";\n\nexport interface QueryEx extends WUQueryDetails.Response {\n BaseUrl: string;\n}\n\nclass QueryCache extends Cache<QueryEx, Query> {\n constructor() {\n super((obj) => {\n return Cache.hash([obj.QueryId, obj.QuerySet]);\n });\n }\n}\nconst _queries = new QueryCache();\n\nexport class Query extends StateObject<QueryEx, QueryEx> implements QueryEx {\n protected connection: EclService;\n get BaseUrl() { return this.connection.baseUrl; }\n // protected _topology: Topology;\n protected _wsWorkunits: WorkunitsService;\n // protected _wu: Workunit;\n protected _requestSchema: IWsEclRequest;\n protected _responseSchema: IWsEclResponse;\n\n get properties(): WUQueryDetails.Response { return this.get(); }\n get Exceptions(): WUQueryDetails.Exceptions { return this.get(\"Exceptions\"); }\n get QueryId(): string { return this.get(\"QueryId\"); }\n get QuerySet(): string { return this.get(\"QuerySet\"); }\n get QueryName(): string { return this.get(\"QueryName\"); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get Dll(): string { return this.get(\"Dll\"); }\n get Suspended(): boolean { return this.get(\"Suspended\"); }\n get Activated(): boolean { return this.get(\"Activated\"); }\n get SuspendedBy(): string { return this.get(\"SuspendedBy\"); }\n get Clusters(): WUQueryDetails.Clusters { return this.get(\"Clusters\"); }\n get PublishedBy(): string { return this.get(\"PublishedBy\"); }\n get Comment() { return this.get(\"Comment\"); }\n get LogicalFiles(): WUQueryDetails.LogicalFiles { return this.get(\"LogicalFiles\"); }\n get SuperFiles(): WUQueryDetails.SuperFiles { return this.get(\"SuperFiles\"); }\n get IsLibrary(): boolean { return this.get(\"IsLibrary\"); }\n get Priority(): string { return this.get(\"Priority\"); }\n get WUSnapShot(): string { return this.get(\"WUSnapShot\"); }\n get CompileTime(): string { return this.get(\"CompileTime\"); }\n get LibrariesUsed(): WUQueryDetails.LibrariesUsed { return this.get(\"LibrariesUsed\"); }\n get CountGraphs(): number { return this.get(\"CountGraphs\"); }\n get ResourceURLCount(): number { return this.get(\"ResourceURLCount\"); }\n get WsEclAddresses(): WUQueryDetails.WsEclAddresses { return this.get(\"WsEclAddresses\"); }\n get WUGraphs(): WUQueryDetails.WUGraphs { return this.get(\"WUGraphs\"); }\n get WUTimers(): WUQueryDetails.WUTimers { return this.get(\"WUTimers\"); }\n\n private constructor(optsConnection: IOptions | IConnection | EclService, querySet: string, queryID: string, queryDetails?: WUQueryDetails.Response) {\n super();\n if (optsConnection instanceof EclService) {\n this.connection = optsConnection;\n\n // this._topology = new Topology(this.connection.opts());\n } else {\n this.connection = new EclService(optsConnection);\n // this._topology = new Topology(optsConnection);\n }\n this._wsWorkunits = new WorkunitsService(optsConnection);\n this.set({\n QuerySet: querySet,\n QueryId: queryID,\n ...queryDetails\n } as QueryEx);\n }\n\n static attach(optsConnection: IOptions | IConnection, querySet: string, queryId: string): Query {\n const retVal: Query = _queries.get({ BaseUrl: optsConnection.baseUrl, QuerySet: querySet, QueryId: queryId } as QueryEx, () => {\n return new Query(optsConnection, querySet, queryId);\n });\n return retVal;\n }\n\n private async fetchRequestSchema(): Promise<void> {\n this._requestSchema = await this.connection.requestJson(this.QuerySet, this.QueryId);\n }\n\n private async fetchResponseSchema(): Promise<void> {\n this._responseSchema = await this.connection.responseJson(this.QuerySet, this.QueryId);\n }\n\n private async fetchSchema(): Promise<void> {\n await Promise.all([this.fetchRequestSchema(), this.fetchResponseSchema()]);\n }\n\n fetchSummaryStats() {\n return this._wsWorkunits.WUQueryGetSummaryStats({ Target: this.QuerySet, QueryId: this.QueryId });\n }\n\n submit(request: object): Promise<Array<{ [key: string]: object[] }>> {\n return this.connection.submit(this.QuerySet, this.QueryId, request).then(results => {\n for (const key in results) {\n results[key] = results[key].Row;\n }\n return results;\n });\n }\n\n async refresh(): Promise<this> {\n return this.fetchSchema().then(schema => this);\n }\n\n requestFields(): IWsEclRequest {\n if (!this._requestSchema) return [];\n return this._requestSchema;\n }\n\n responseFields(): IWsEclResponse {\n if (!this._responseSchema) return {};\n return this._responseSchema;\n }\n\n resultNames(): string[] {\n const retVal: string[] = [];\n for (const key in this.responseFields()) {\n retVal.push(key);\n }\n return retVal;\n }\n\n resultFields(resultName: string): IWsEclResult {\n if (!this._responseSchema[resultName]) return [];\n return this._responseSchema[resultName];\n }\n\n /*\n protected WUQueryDetails(): Promise<WUQueryDetails.Response> {\n const request: WUQueryDetails.Request = {} as WUQueryDetails.Request;\n request.QueryId = this.QueryId;\n request.QuerySet = this.QuerySet;\n request.IncludeSuperFiles = true;\n request.IncludeStateOnClusters = true;\n return this.connection.WUQueryDetails(request).then((response) => {\n this.set(response);\n return response;\n });\n }\n */\n}\n","import { Cache, Dispatch, IObserverHandle, Message } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { StoreService } from \"../services/wsStore\";\n\nexport class StoreCache extends Cache<{ BaseUrl: string, Name: string, UserSpecific: boolean, Namespace: string }, Store> {\n constructor() {\n super((obj) => {\n return `${obj.BaseUrl}-${obj.Name}:${obj.UserSpecific}-${obj.Namespace}`;\n });\n }\n}\nconst _store = new StoreCache();\n\nexport class ValueChangedMessage extends Message {\n\n constructor(readonly key: string, public value: any, public oldValue?: any) {\n super();\n }\n\n get canConflate(): boolean { return true; }\n conflate(other: ValueChangedMessage): boolean {\n if (this.key === other.key) {\n this.value = other.value;\n return true;\n }\n return false;\n }\n\n void(): boolean {\n return this.value === this.oldValue;\n }\n}\n\nexport class Store {\n protected connection: StoreService;\n get BaseUrl() { return this.connection.baseUrl; }\n readonly Name: string;\n readonly UserSpecific: boolean;\n readonly Namespace: string;\n\n protected _dispatch = new Dispatch();\n\n static attach(optsConnection: IOptions | IConnection | StoreService, Name: string = \"HPCCApps\", Namespace: string, UserSpecific: boolean = true): Store {\n const retVal: Store = _store.get({ BaseUrl: optsConnection.baseUrl, Name, UserSpecific, Namespace }, () => {\n return new Store(optsConnection, Name, Namespace, UserSpecific);\n });\n return retVal;\n }\n\n protected constructor(optsConnection: IOptions | IConnection | StoreService, Name: string, Namespace: string, UserSpecific: boolean) {\n if (optsConnection instanceof StoreService) {\n this.connection = optsConnection;\n } else {\n this.connection = new StoreService(optsConnection);\n }\n this.Name = Name;\n this.UserSpecific = UserSpecific;\n this.Namespace = Namespace;\n }\n\n private _knownValues: { [key: string]: any } = {};\n\n protected create() {\n this.connection.CreateStore({ Name: this.Name, UserSpecific: this.UserSpecific, Type: \"\", Description: \"\" });\n }\n\n set(key: string, value: string, broadcast = true): Promise<void> {\n return this.connection.Set({\n StoreName: this.Name,\n UserSpecific: this.UserSpecific,\n Namespace: this.Namespace,\n Key: key,\n Value: value\n }).then(response => {\n const oldValue = this._knownValues[key];\n this._knownValues[key] = value;\n if (broadcast) {\n this._dispatch.post(new ValueChangedMessage(key, value, oldValue));\n }\n }).catch(e => {\n console.error(`Store.set(\"${key}\", \"${value}\") failed:`, e);\n });\n }\n\n get(key: string, broadcast = true): Promise<string | undefined> {\n return this.connection.Fetch({\n StoreName: this.Name,\n UserSpecific: this.UserSpecific,\n Namespace: this.Namespace,\n Key: key\n }).then(response => {\n const oldValue = this._knownValues[key];\n this._knownValues[key] = response.Value;\n if (broadcast) {\n this._dispatch.post(new ValueChangedMessage(key, response.Value, oldValue));\n }\n return response.Value;\n }).catch(e => {\n console.error(`Store.get(${key}) failed:`, e);\n return undefined;\n });\n }\n\n getAll(broadcast = true): Promise<{ [key: string]: string }> {\n return this.connection.FetchAll({\n StoreName: this.Name,\n UserSpecific: this.UserSpecific,\n Namespace: this.Namespace\n }).then(response => {\n const retVal: { [key: string]: string } = {};\n const deletedValues = this._knownValues;\n this._knownValues = {};\n response.Pairs.Pair.forEach(pair => {\n const oldValue = this._knownValues[pair.Key];\n this._knownValues[pair.Key] = pair.Value;\n delete deletedValues[pair.Key];\n retVal[pair.Key] = pair.Value;\n if (broadcast) {\n this._dispatch.post(new ValueChangedMessage(pair.Key, pair.Value, oldValue));\n }\n });\n if (broadcast) {\n for (const key in deletedValues) {\n this._dispatch.post(new ValueChangedMessage(key, undefined, deletedValues[key]));\n }\n }\n return retVal;\n }).catch(e => {\n console.error(\"Store.getAll failed:\", e);\n return {};\n });\n }\n\n delete(key: string, broadcast = true): Promise<void> {\n return this.connection.Delete({\n StoreName: this.Name,\n UserSpecific: this.UserSpecific,\n Namespace: this.Namespace,\n Key: key\n }).then(response => {\n const oldValue = this._knownValues[key];\n delete this._knownValues[key];\n if (broadcast) {\n this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));\n }\n }).catch(e => {\n console.error(`Store.delete(${key}) failed:`, e);\n });\n }\n\n monitor(callback: (messages: ValueChangedMessage[]) => void): IObserverHandle {\n return this._dispatch.attach(callback);\n }\n}\n","import { Cache, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { GetTargetClusterInfo, GetTargetClusterUsageEx, MachineService } from \"../services/wsMachine\";\nimport { TopologyService, TpListTargetClusters, TpTargetClusterQuery } from \"../services/wsTopology\";\nimport { Machine } from \"./machine\";\n\nexport class TargetClusterCache extends Cache<{ BaseUrl: string, Name: string }, TargetCluster> {\n constructor() {\n super((obj) => {\n return `${obj.BaseUrl}-${obj.Name}`;\n });\n }\n}\nconst _targetCluster = new TargetClusterCache();\n\nexport interface TpTargetClusterEx {\n MachineInfoEx: GetTargetClusterInfo.MachineInfoEx[];\n}\n\nexport type UTargetClusterState = TpTargetClusterQuery.TpTargetCluster & TpListTargetClusters.TpClusterNameType & TpTargetClusterEx;\nexport type ITargetClusterState = TpTargetClusterQuery.TpTargetCluster | TpListTargetClusters.TpClusterNameType | TpTargetClusterEx;\nexport class TargetCluster extends StateObject<UTargetClusterState, ITargetClusterState> implements UTargetClusterState {\n protected connection: TopologyService;\n protected machineConnection: MachineService;\n get BaseUrl() { return this.connection.baseUrl; }\n\n get Name(): string { return this.get(\"Name\"); }\n get Prefix(): string { return this.get(\"Prefix\"); }\n get Type(): string { return this.get(\"Type\"); }\n get IsDefault(): boolean { return this.get(\"IsDefault\"); }\n get TpClusters(): TpTargetClusterQuery.TpClusters { return this.get(\"TpClusters\"); }\n get TpEclCCServers(): TpTargetClusterQuery.TpEclCCServers { return this.get(\"TpEclCCServers\"); }\n get TpEclServers(): TpTargetClusterQuery.TpEclServers { return this.get(\"TpEclServers\"); }\n get TpEclAgents(): TpTargetClusterQuery.TpEclAgents { return this.get(\"TpEclAgents\"); }\n get TpEclSchedulers(): TpTargetClusterQuery.TpEclSchedulers { return this.get(\"TpEclSchedulers\"); }\n get MachineInfoEx(): GetTargetClusterInfo.MachineInfoEx[] { return this.get(\"MachineInfoEx\", []); }\n get CMachineInfoEx(): Machine[] {\n return this.MachineInfoEx.map(machineInfoEx => Machine.attach(this.machineConnection, machineInfoEx.Address, machineInfoEx));\n }\n\n static attach(optsConnection: IOptions | IConnection | TopologyService, name: string, state?: ITargetClusterState): TargetCluster {\n const retVal: TargetCluster = _targetCluster.get({ BaseUrl: optsConnection.baseUrl, Name: name }, () => {\n return new TargetCluster(optsConnection, name);\n });\n if (state) {\n retVal.set({\n ...state\n });\n }\n return retVal;\n }\n\n protected constructor(optsConnection: IOptions | IConnection | TopologyService, name: string) {\n super();\n if (optsConnection instanceof TopologyService) {\n this.connection = optsConnection;\n this.machineConnection = new MachineService(optsConnection.connectionOptions());\n } else {\n this.connection = new TopologyService(optsConnection);\n this.machineConnection = new MachineService(optsConnection);\n }\n this.clear({\n Name: name\n });\n }\n\n fetchMachines(request: GetTargetClusterInfo.Request = {}): Promise<Machine[]> {\n return this.machineConnection.GetTargetClusterInfo({\n TargetClusters: {\n Item: [`${this.Type}:${this.Name}`]\n },\n ...request\n }).then(response => {\n const retVal: GetTargetClusterInfo.MachineInfoEx[] = [];\n for (const machineInfo of response.TargetClusterInfoList.TargetClusterInfo) {\n for (const machineInfoEx of machineInfo.Processes.MachineInfoEx) {\n retVal.push(machineInfoEx);\n }\n }\n this.set(\"MachineInfoEx\", retVal);\n return this.CMachineInfoEx;\n });\n }\n\n machineStats(): { maxDisk: number; meanDisk: number } {\n let maxDisk = 0;\n let totalFree = 0;\n let total = 0;\n for (const machine of this.CMachineInfoEx) {\n for (const storageInfo of machine.Storage.StorageInfo) {\n totalFree += storageInfo.Available;\n total += storageInfo.Total;\n const usage = 1 - storageInfo.Available / storageInfo.Total;\n if (usage > maxDisk) {\n maxDisk = usage;\n }\n }\n }\n return {\n maxDisk,\n meanDisk: 1 - (total ? totalFree / total : 1)\n };\n }\n\n fetchUsage(): Promise<GetTargetClusterUsageEx.TargetClusterUsage[]> {\n return this.machineConnection.GetTargetClusterUsageEx([this.Name]);\n }\n}\n\nexport function targetClusters(optsConnection: IOptions | IConnection | TopologyService): Promise<TargetCluster[]> {\n let connection: TopologyService;\n if (optsConnection instanceof TopologyService) {\n connection = optsConnection;\n } else {\n connection = new TopologyService(optsConnection);\n }\n return connection.TpListTargetClusters({}).then(response => {\n return response.TargetClusters.TpClusterNameType.map(item => TargetCluster.attach(optsConnection, item.Name, item));\n });\n}\n\nconst _defaultTargetCluster: { [baseUrl: string]: Promise<TargetCluster> } = {};\nexport function defaultTargetCluster(optsConnection: IOptions | IConnection | TopologyService): Promise<TargetCluster> {\n if (!_defaultTargetCluster[optsConnection.baseUrl]) {\n let connection: TopologyService;\n if (optsConnection instanceof TopologyService) {\n connection = optsConnection;\n } else {\n connection = new TopologyService(optsConnection);\n }\n _defaultTargetCluster[optsConnection.baseUrl] = connection.TpListTargetClusters({}).then(response => {\n let firstItem: TpListTargetClusters.TpClusterNameType;\n let defaultItem: TpListTargetClusters.TpClusterNameType;\n let hthorItem: TpListTargetClusters.TpClusterNameType;\n response.TargetClusters.TpClusterNameType.forEach(item => {\n if (!firstItem) {\n firstItem = item;\n }\n if (!defaultItem && item.IsDefault === true) {\n defaultItem = item;\n }\n if (!hthorItem && item.Type === \"hthor\") {\n hthorItem = item;\n }\n });\n const defItem = defaultItem || hthorItem || firstItem;\n return TargetCluster.attach(optsConnection, defItem.Name, defItem);\n });\n }\n return _defaultTargetCluster[optsConnection.baseUrl];\n}\n","import { Cache, exists, StateCallback, StateEvents, StateObject, StatePropCallback } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { TopologyService, TpLogicalClusterQuery, TpServiceQuery, TpTargetClusterQuery } from \"../services/wsTopology\";\nimport { TargetCluster } from \"./targetCluster\";\n\nexport class TopologyCache extends Cache<{ BaseUrl: string }, Topology> {\n constructor() {\n super((obj) => {\n return obj.BaseUrl;\n });\n }\n}\nconst _topology = new TopologyCache();\n\nexport interface TopologyStateEx {\n TargetClusters?: TpTargetClusterQuery.TpTargetCluster[];\n LogicalClusters?: TpLogicalClusterQuery.TpLogicalCluster[];\n Services?: TpServiceQuery.ServiceList;\n}\nexport class Topology extends StateObject<TopologyStateEx, TopologyStateEx> implements TopologyStateEx {\n protected connection: TopologyService;\n get BaseUrl() { return this.connection.baseUrl; }\n\n // Accessors ---\n get properties(): TopologyStateEx { return this.get(); }\n get TargetClusters(): TpTargetClusterQuery.TpTargetCluster[] { return this.get(\"TargetClusters\"); }\n get CTargetClusters(): TargetCluster[] {\n return this.TargetClusters.map(tc => TargetCluster.attach(this.connection, tc.Name, tc));\n }\n get LogicalClusters(): TpLogicalClusterQuery.TpLogicalCluster[] { return this.get(\"LogicalClusters\"); }\n get Services(): TpServiceQuery.ServiceList { return this.get(\"Services\"); }\n\n static attach(optsConnection: IOptions | IConnection | TopologyService) {\n const retVal: Topology = _topology.get({ BaseUrl: optsConnection.baseUrl }, () => {\n return new Topology(optsConnection);\n });\n return retVal;\n }\n\n protected constructor(optsConnection: IOptions | IConnection | TopologyService) {\n super();\n if (optsConnection instanceof TopologyService) {\n this.connection = optsConnection;\n } else {\n this.connection = new TopologyService(optsConnection);\n }\n }\n\n GetESPServiceBaseURL(type: string = \"\"): Promise<string> {\n return this.connection.TpServiceQuery({}).then(response => {\n const rootProtocol = this.connection.protocol();\n const ip = this.connection.ip();\n let port = rootProtocol === \"https:\" ? \"18002\" : \"8002\";\n if (exists(\"ServiceList.TpEspServers.TpEspServer\", response)) {\n for (const item of response.ServiceList.TpEspServers.TpEspServer) {\n if (exists(\"TpBindings.TpBinding\", item)) {\n for (const binding of item.TpBindings.TpBinding) {\n if (binding.Service === type && binding.Protocol + \":\" === rootProtocol) {\n port = binding.Port;\n }\n }\n }\n }\n }\n return `${rootProtocol}//${ip}:${port}/`;\n });\n }\n\n fetchTargetClusters(): Promise<TargetCluster[]> {\n return this.connection.TpTargetClusterQuery({ Type: \"ROOT\" }).then(response => {\n this.set({\n TargetClusters: response.TpTargetClusters?.TpTargetCluster ?? []\n });\n return this.CTargetClusters;\n });\n }\n\n fetchLogicalClusters(request: TpLogicalClusterQuery.Request = {}): Promise<TpLogicalClusterQuery.TpLogicalCluster[]> {\n return this.connection.TpLogicalClusterQuery(request).then(response => {\n this.set({\n LogicalClusters: response.TpLogicalClusters.TpLogicalCluster\n });\n return this.LogicalClusters;\n });\n }\n\n fetchServices(request: TpServiceQuery.Request = {}): Promise<TpServiceQuery.ServiceList> {\n return this.connection.TpServiceQuery(request).then(response => {\n this.set({\n Services: response.ServiceList\n });\n return this.Services;\n });\n }\n\n protected _prevRefresh\n refresh(force: boolean = false): Promise<this> {\n if (!this._prevRefresh || force) {\n this._prevRefresh = Promise.all([this.fetchTargetClusters(), this.fetchLogicalClusters(), this.fetchServices()]).then(() => {\n return this;\n });\n }\n return this._prevRefresh;\n }\n\n // Monitoring ---\n\n // Events ---\n on(eventID: StateEvents, propIDorCallback: StateCallback | keyof TopologyStateEx, callback?: StatePropCallback): this {\n if (this.isCallback(propIDorCallback)) {\n switch (eventID) {\n case \"changed\":\n super.on(eventID, propIDorCallback);\n break;\n default:\n }\n } else {\n switch (eventID) {\n case \"changed\":\n super.on(eventID, propIDorCallback, callback!);\n break;\n default:\n }\n }\n this._monitor();\n return this;\n }\n}\n","export const PKG_NAME = \"@hpcc-js/comms\";\r\nexport const PKG_VERSION = \"2.69.0\";\r\nexport const BUILD_VERSION = \"2.100.0\";\r\n"]}
1
+ {"version":3,"sources":["../../../node_modules/whatwg-fetch/fetch.js","../../../node_modules/tslib/tslib.es6.js","../src/connection.ts","../src/espConnection.ts","../src/services/wsAccount.ts","../src/services/wsCodesign.ts","../src/services/wsDFU.ts","../src/services/wsDFUXRef.ts","../src/services/wsEcl.ts","../src/services/wsdl/WsLogaccess/v1/WsLogaccess.ts","../src/services/wsLogaccess.ts","../../../node_modules/d3-array/src/ascending.js","../../../node_modules/d3-array/src/bisect.js","../../../node_modules/d3-array/src/bisector.js","../../../node_modules/d3-array/src/number.js","../../../node_modules/d3-array/src/max.js","../../../node_modules/d3-array/src/mean.js","../src/services/wsTopology.ts","../src/services/wsMachine.ts","../src/services/wsResources.ts","../src/services/wsdl/WsResources/v1.01/WsResources.ts","../src/services/wsSMC.ts","../src/services/wsStore.ts","../src/services/wsWorkunits.ts","../../../node_modules/d3-time/src/interval.js","../../../node_modules/d3-time/src/duration.js","../../../node_modules/d3-time/src/day.js","../../../node_modules/d3-time/src/week.js","../../../node_modules/d3-time/src/year.js","../../../node_modules/d3-time/src/utcDay.js","../../../node_modules/d3-time/src/utcWeek.js","../../../node_modules/d3-time/src/utcYear.js","../../../node_modules/d3-time-format/src/locale.js","../../../node_modules/d3-time-format/src/defaultLocale.js","../src/ecl/graph.ts","../src/ecl/resource.ts","../src/ecl/xsdParser.ts","../src/ecl/activity.ts","../src/ecl/result.ts","../src/ecl/scope.ts","../src/ecl/sourceFile.ts","../src/ecl/timer.ts","../src/ecl/workunit.ts","../src/ecl/logicalFile.ts","../src/ecl/machine.ts","../src/ecl/query.ts","../src/ecl/store.ts","../src/ecl/targetCluster.ts","../src/ecl/topology.ts","../src/__package__.ts"],"names":["global","globalThis","self","support","searchParams","iterable","Symbol","blob","Blob","e","formData","arrayBuffer","viewClasses","isArrayBufferView","ArrayBuffer","isView","obj","indexOf","Object","prototype","toString","call","normalizeName","name","String","test","TypeError","toLowerCase","normalizeValue","value","iteratorFor","items","iterator","next","shift","done","undefined","Headers","headers","this","map","forEach","append","Array","isArray","header","getOwnPropertyNames","consumed","body","bodyUsed","Promise","reject","fileReaderReady","reader","resolve","onload","result","onerror","error","readBlobAsArrayBuffer","FileReader","promise","readAsArrayBuffer","bufferClone","buf","slice","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","get","type","rejected","Error","isConsumed","byteOffset","then","text","readAsText","chars","length","i","fromCharCode","join","readArrayBufferAsText","decode","json","JSON","parse","oldValue","has","hasOwnProperty","callback","thisArg","keys","push","values","entries","methods","Request","input","options","method","upcased","url","credentials","mode","signal","toUpperCase","referrer","cache","reParamSearch","replace","Date","getTime","form","trim","split","bytes","decodeURIComponent","Response","bodyInit","status","ok","statusText","clone","response","redirectStatuses","redirect","RangeError","location","DOMException","err","message","stack","create","constructor","fetch","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","key","responseURL","responseText","setTimeout","ontimeout","onabort","open","href","fixUrl","withCredentials","responseType","setRequestHeader","addEventListener","onreadystatechange","readyState","removeEventListener","send","polyfill","extendStatics","d","b","setPrototypeOf","__proto__","p","__extends","__","__assign","assign","t","s","n","arguments","apply","__awaiter","_arguments","P","generator","fulfilled","step","__generator","f","y","g","_","label","sent","trys","ops","verb","throw","return","v","op","pop","logger","scopedLogger","DefaultOptions","baseUrl","userID","password","rejectUnauthorized","timeoutSecs","encode","uriComponent","encodeRequest","encodeURIComponent","serializeRequest","prefix","str","includeItemCount_1","row","deserializeResponse","jsonp","opts","action","console","warn","respondedTimeout","callbackName","Math","round","random","window","doCallback","script","document","createElement","src","appendChild","progress","setInterval","clearInterval","debug","removeChild","_omitMap","doFetch","requestInit","headersInit","handleResponse","Authorization","btoa","authHeader","promiseTimeout","catch","responseBody","post","abortSignal","upload_","abortSignal_","Content-Type","retVal","hookedSend","Connection","defineProperty","_opts","hookSend","arg","createConnection","ESPExceptions","exceptions","_this","_super","Source","isESPExceptions","Exception","Code","Message","ESPConnection","optsConnection","service","version","_connection","isConnection","_service","_version","toESPStringArray","target","arrayName","_request","espResponseType","largeUpload","espResponseField","serviceAction","ver_","actionParts","Exceptions","Service","AccountService","connectionOptions","MyAccount","UpdateUser","UpdateUserInput","VerifyUser","some","exception","retcode","CodesignService","ListUserIDs","UserIDs","Item","Sign","SigningMethod","Verify","DFUService","DFUQuery","DFUInfo","DFUFile","ListHistory","EraseHistory","DFUXRefService","DFUXRefArrayAction","DFUXRefBuild","DFUXRefBuildCancel","DFUXRefCleanDirectories","DFUXRefDirectories","DFUXRefFoundFiles","DFUXRefList","DFUXRefLostFiles","DFUXRefMessages","DFUXRefOrphanFiles","DFUXRefUnusedFiles","jsonToIField","id","item","Row","children","jsonToIFieldArr","fieldType","fields","jsonToIFieldObj","LogAccessType","EclService","requestJson","querySet","queryId","requestSchema","responseJson","responseSchema","Results","resultsJson","submit","LogaccessServiceEx","LogaccessService","GetLogAccessInfo","GetLogs","Ping","ascending","a","NaN","compare","x","number","d3Max","valueof","max","d3Mean","m","sum","isNaN","RoxieQueueFilter","TpLogicalClusterQuery","MachineService","GetTargetClusterInfo","GetTargetClusterUsage","targetClusters","bypassCachedResult","TargetClusters","BypassCachedResult","exists","TargetClusterUsages","TargetClusterUsage","GetTargetClusterUsageEx","filter","tcu","ComponentUsages","ComponentUsage","cu","MachineUsages","MachineUsage","mu","DiskUsages","DiskUsage","du","Total","InUse","Available","PercentUsed","PercentAvailable","Name","NetAddress","Description","mean","Type","MachineUsagesDescription","reduce","prev","ComponentUsagesDescription","ResourcesServiceEx","ResourcesService","ServiceQuery","WebLinksQuery","SMCService","Activity","Running","ActiveWorkunit","BrowseResources","GetBuildInfo","GetStatusServerInfo","GetThorQueueAvailability","LockQuery","NotInCommunityEdition","RoxieControlCmd","SetBanner","SMCJob","StoreService","CreateStore","Delete","Success","DeleteNamespace","Fetch","Value","FetchAll","FetchKeyMD","ListKeys","ListNamespaces","Set","Action","WUUpdate","TopologyService","protocol","ip","DefaultTpLogicalClusterQuery","default","TpLogicalClusters","TpLogicalCluster","idx","first","firstHThor","TpServiceQuery","TpTargetClusterQuery","TpListTargetClusters","isECLResult","WUStateID","WorkunitsService","connection","WUQuery","deepMixin","Workunits","ECLWorkunit","WUInfo","Wuid","TruncateEclTo64k","IncludeExceptions","IncludeGraphs","IncludeSourceFiles","IncludeResults","IncludeResultsViewNames","IncludeVariables","IncludeTimers","IncludeDebugValues","IncludeApplicationValues","IncludeWorkflows","IncludeXmlSchemas","IncludeResourceURLs","IncludeECL","IncludeHelpers","IncludeAllowedClusters","IncludeTotalClusterTime","IncludeServiceNames","SuppressResultSchemas","WUCreate","WUSubmit","WUResubmit","WUQueryDetails","WUListQueries","WUPushEvent","WUAction","ActionType","WUActionType","WUGetZAPInfo","WUShowScheduled","WUQuerySetAliasAction","WUQuerySetQueryAction","WUPublishWorkunit","WUGetGraph","WUResult","WUQueryGetGraph","WUFile","WUGetStats","WUQueryGetSummaryStats","WUDetailsMeta","_WUDetailsMetaPromise","WUDetails","WUCDebug","xml2json","Result","t0","t1","newInterval","floori","offseti","count","field","interval","date","floor","ceil","d0","d1","offset","range","start","stop","previous","setTime","end","every","isFinite","durationMinute","durationWeek","day","setHours","setDate","getDate","getTimezoneOffset","weekday","getDay","sunday","monday","thursday","year","setMonth","setFullYear","getFullYear","k","utcDay","setUTCHours","setUTCDate","getUTCDate","utcWeekday","getUTCDay","utcSunday","utcMonday","utcThursday","utcYear","setUTCMonth","setUTCFullYear","getUTCFullYear","localDate","H","M","S","L","utcDate","UTC","newDate","locale","utcFormat","utcParse","pads","-","0","numberRe","percentRe","requoteRe","pad","fill","width","sign","string","requote","formatRe","names","RegExp","formatLookup","parseWeekdayNumberSunday","exec","w","parseWeekdayNumberMonday","u","parseWeekNumberSunday","U","parseWeekNumberISO","V","parseWeekNumberMonday","W","parseFullYear","parseYear","parseZone","Z","parseQuarter","q","parseMonthNumber","parseDayOfMonth","parseDayOfYear","parseHour24","parseMinutes","parseSeconds","parseMilliseconds","parseMicroseconds","parseLiteralPercent","parseUnixTimestamp","Q","parseUnixTimestampSeconds","formatDayOfMonth","formatHour24","getHours","formatHour12","formatDayOfYear","timeDay","timeYear","formatMilliseconds","getMilliseconds","formatMicroseconds","formatMonthNumber","getMonth","formatMinutes","getMinutes","formatSeconds","getSeconds","formatWeekdayNumberMonday","formatWeekNumberSunday","timeSunday","dISO","timeThursday","formatWeekNumberISO","formatWeekdayNumberSunday","formatWeekNumberMonday","timeMonday","formatYear","formatYearISO","formatFullYear","formatFullYearISO","formatZone","z","formatUTCDayOfMonth","formatUTCHour24","getUTCHours","formatUTCHour12","formatUTCDayOfYear","formatUTCMilliseconds","getUTCMilliseconds","formatUTCMicroseconds","formatUTCMonthNumber","getUTCMonth","formatUTCMinutes","getUTCMinutes","formatUTCSeconds","getUTCSeconds","formatUTCWeekdayNumberMonday","dow","formatUTCWeekNumberSunday","UTCdISO","formatUTCWeekNumberISO","formatUTCWeekdayNumberSunday","formatUTCWeekNumberMonday","formatUTCYear","formatUTCYearISO","formatUTCFullYear","formatUTCFullYearISO","formatUTCZone","formatLiteralPercent","formatUnixTimestamp","formatUnixTimestampSeconds","locale_dateTime","dateTime","locale_date","locale_time","time","locale_periods","periods","locale_weekdays","days","locale_shortWeekdays","shortDays","locale_months","months","locale_shortMonths","shortMonths","periodRe","periodLookup","weekdayRe","weekdayLookup","shortWeekdayRe","shortWeekdayLookup","monthRe","monthLookup","shortMonthRe","shortMonthLookup","formats","A","B","c","G","I","j","X","Y","%","utcFormats","parses","parseSpecifier","newFormat","specifier","format","charCodeAt","charAt","newParse","week","formatLocale","ECLGraph","wu","eclGraph","eclTimers","duration","_i","eclTimers_1","eclTimer","GraphName","HasSubGraphId","Seconds","Time","fetchScopeGraph","subgraphID","fetchGraphDetails","scopes","createGraph","StateObject","GraphCache","Cache","hash","flattenAtt","nodes","node","$","XGMMLGraph","Graph","XGMMLSubgraph","Subgraph","XGMMLVertex","Vertex","XGMMLEdge","Edge","createXGMMLGraph","graphs","subgraphs","vertices","edges","graph","root","walkXmlJson","childNode","tag","attributes","childNodes","_stack","top","subgraph","createSubgraph","vertex","createVertex","edge","createEdge","ScopeGraph","ScopeSubgraph","ScopeVertex","ScopeEdge","scopes_1","scope","ScopeType","Id","ScopeName","scopeStack","parentScope","scopeParent1","parent1","log","scopeParent2","scopeParent3","parent3","source","attr","RawValue","Resource","cleanedURL","urlParts","matchStr","displayPath","displayName","substr","URL","DisplayName","DisplayPath","XSDNode","fix","XSDXMLNode","isSet","attrs","_children","child","_a","splice","setOfType","isAll","charWidth","underbarPos","lastIndexOf","length_1","parseInt","substring","XSDSimpleType","_restricition","_maxLength","maxLength","XSDSchema","simpleTypes","XSDParser","schema","xsdStack","Stack","startXMLNode","xsdXMLNode","depth","simpleType","endXMLNode","xsdXMLNode2","SAXStackParser","parseXSD","xml","saxParser","XSDParser2","rootName","_rootName","_activity","GlobalResultCache","BaseUrl","ResultName","_results","wuid_NodeGroup","name_sequence_eclResult_logicalFile","resultViews_isLogicalFile","NodeGroup","LogicalFileName","ResultViews","ResultSequence","attach","wuid","name_sequence_eclResult","resultViews","attachLogicalFile","nodeGroup","logicalFile","isComplete","fetchXMLSchema","xsdSchema","XmlSchema","refresh","fetchRows","from","includeSchema","rootField","suppressXmlSchema","FilterBy","NamedValue","itemcount","Sequence","LogicalName","Cluster","Start","Count","SuppressXmlSchema","ResultCache","FileName","Attribute","attribute","BaseScope","_attributeMap","update","Property","Note","timeElapsed","Properties","scopeAttr","Measure","FormattedEnd","Formatted","CAttributes","properties","scopeParts","walk","visitor","formattedAttrs","rawAttrs","hasAttr","Creator","CreatorType","attrMeasure","calcTooltip","rows","Scope","SourceFile","eclSourceFile","Timer","secs","espTime2Seconds","SubGraphId","formatter","parser","WsWorkunits.WUStateID","WorkunitCache","_workunits","Workunit","_debugMode","_resultCache","_graphCache","WsWorkunits.WorkunitsService","topologyConnection","WsTopology.TopologyService","clearState","Unknown","StateID","ECLException","View","ECLResult","eclResult","CResults","ECLTimer","Timers","Graphs","CTimers","ResourceURLs","ApplicationValue","ECLHelpFile","ECLSourceFile","SourceFiles","state","existsLocal","server","ecl","compileOnly","QueryText","WsWorkunits.WUUpdate","Compile","compile","query","clear","StateOrig","State","JobnameOrig","Jobname","DescriptionOrig","ProtectedOrig","Protected","ClusterOrig","_cluster","resultLimit","clusterPromise","Run","Debug","cluster","ResultLimit","DebugValues","DebugValue","_submitAction","Compiled","ActionEx","Completed","Failed","Aborted","NotFound","isFailed","isDeleted","isDebugging","DebugPaused","DebugRunning","isRunning","Aborting","Blocked","setToFailed","pause","pauseNow","resume","delete","restore","deschedule","reschedule","resubmit","CloneWorkunit","ResetWorkflow","_monitor","WUs","WU","WUID","refreshState","refreshInfo","refreshDebug","debugStatus","full","all","eclExceptions","fetchArchive","fetchECLExceptions","fetchResults","fetchGraphs","CGraphs","fetchQuery","Query","fetchHelpers","Helpers","fetchAllowedClusters","AllowedClusters","AllowedCluster","fetchTotalClusterTime","TotalClusterTime","fetchServiceNames","ServiceNames","fetchDetailsMeta","fetchDetailsRaw","Scopes","fetchDetailsNormalized","promises","meta","columns","data","props","formattedProps","scopeProperty","toISOString","__formattedProps","fetchInfo","fetchDetails","rawScope","fetchDetailsHierarchy","scopeMap","parentScopeID","graphIDs","rootTypes","ScopeFilter","MaxDepth","Ids","ScopeTypes","NestedFilter","Depth","PropertiesToReturn","AllStatistics","AllAttributes","AllHints","AllProperties","AllScopes","ScopeOptions","IncludeId","IncludeScope","IncludeScopeType","PropertyOptions","IncludeName","IncludeRawValue","IncludeFormatted","IncludeMeasure","IncludeCreator","IncludeCreatorType","fetchScopeGraphs","fetchTimeElapsed","PropertyFilters","PropertyFilter","scopeInfo","elapsed","finish","endTime","setMilliseconds","sort","l","r","_monitorTickCount","_monitorTimeoutDuraction","on","eventID","propIDorCallback","isCallback","changeInfo","watchUntilComplete","watchHandle","watch","changes","release","watchUntilRunning","warning","includeResults","deepMixinT","Wuids","IncludeMatchedScopesInResults","actionType","publish","JobName","AllowForeignFiles","Activate","Wait","command","optsStr","Command","XMLNode","debugState","DebugState","debugContinue","debugStep","debugPause","debugQuit","debugDeleteAllBreakpoints","debugBreakpointResponseParser","rootNode","debugBreakpointAdd","debugBreakpointList","debugGraph","_debugAllGraph","debugBreakpointValid","path","hasECLDefinition","definition","getECLDefinition","file","breakpointLocations","debugPrint","edgeID","startRow","numRows","rowNode","cellNode","content","ATTR_DEFINITION","match","_file","_row","_col","column","lazyRefresh","debounce","runningWorkunits","clusterName","awu","ClusterName","setBanner","LogicalFileCache","_store","LogicalFile","filePartsOnCluster","to","pack","ar","concat","__spreadArray","DFUFilePartsOnClusters","DFUFilePartsOnCluster","fileParts","_c","poc","_d","_e","_b","DFUFileParts","DFUPart","part","FileDetail","fetchDefFile","Format","fetchListHistory","History","Origin","eraseHistory","MachineCache","Address","_machines","Machine","address","_queries","QueryCache","QueryId","QuerySet","queryID","queryDetails","_wsWorkunits","fetchRequestSchema","_requestSchema","fetchResponseSchema","_responseSchema","fetchSchema","fetchSummaryStats","Target","results","requestFields","responseFields","resultNames","resultFields","resultName","StoreCache","UserSpecific","Namespace","ValueChangedMessage","conflate","other","void","Store","_dispatch","Dispatch","_knownValues","broadcast","StoreName","Key","getAll","deletedValues","Pairs","Pair","pair","monitor","TargetClusterCache","_targetCluster","TargetCluster","machineConnection","MachineInfoEx","machineInfoEx","fetchMachines","TargetClusterInfoList","TargetClusterInfo","Processes","CMachineInfoEx","machineStats","maxDisk","totalFree","total","Storage","StorageInfo","storageInfo","usage","meanDisk","fetchUsage","_defaultTargetCluster","TopologyCache","_topology","Topology","tc","GetESPServiceBaseURL","rootProtocol","port","ServiceList","TpEspServers","TpEspServer","TpBindings","TpBinding","binding","Protocol","Port","fetchTargetClusters","TpTargetClusters","TpTargetCluster","CTargetClusters","fetchLogicalClusters","LogicalClusters","fetchServices","Services","force","_prevRefresh","firstItem","defaultItem","hthorItem","TpClusterNameType","IsDefault","defItem","newSend","object","StateEx","newFunc"],"mappings":"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","sourcesContent":["var global =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n (typeof global !== 'undefined' && global)\n\nvar support = {\n searchParams: 'URLSearchParams' in global,\n iterable: 'Symbol' in global && 'iterator' in Symbol,\n blob:\n 'FileReader' in global &&\n 'Blob' in global &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in global,\n arrayBuffer: 'ArrayBuffer' in global\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n this.bodyUsed = this.bodyUsed\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this)\n if (isConsumed) {\n return isConsumed\n }\n if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime())\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime()\n }\n }\n }\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : ''\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = global.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n setTimeout(function() {\n resolve(new Response(body, options))\n }, 0)\n }\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'))\n }, 0)\n }\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }, 0)\n }\n\n function fixUrl(url) {\n try {\n return url === '' && global.location.href ? global.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob'\n } else if (\n support.arrayBuffer &&\n request.headers.get('Content-Type') &&\n request.headers.get('Content-Type').indexOf('application/octet-stream') !== -1\n ) {\n xhr.responseType = 'arraybuffer'\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers)) {\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]))\n })\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!global.fetch) {\n global.fetch = fetch\n global.Headers = Headers\n global.Request = Request\n global.Response = Response\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { join, promiseTimeout, scopedLogger } from \"@hpcc-js/util\";\n\nconst logger = scopedLogger(\"comms/connection.ts\");\n\nexport type RequestType = \"post\" | \"get\" | \"jsonp\";\nexport type ResponseType = \"json\" | \"text\";\n\nexport type IOptionsSend = (options: IOptions, action: string, request: any, responseType: ResponseType, defaultSend: SendFunc, header?: any) => Promise<any>;\nexport interface IOptions {\n baseUrl: string;\n type?: RequestType;\n userID?: string;\n password?: string;\n rejectUnauthorized?: boolean;\n timeoutSecs?: number;\n hookSend?: IOptionsSend;\n encodeRequest?: boolean; // defaults to true\n}\nexport function instanceOfIOptions(object: any): object is IOptions {\n return \"baseUrl\" in object;\n}\n\nconst DefaultOptions: IOptions = {\n type: \"post\",\n baseUrl: \"\",\n userID: \"\",\n password: \"\",\n rejectUnauthorized: true,\n timeoutSecs: 60\n};\n\nexport interface IConnection {\n opts(_: Partial<IOptions>): this;\n opts(): IOptions;\n baseUrl: string;\n\n send(action: string, request: any, responseType?: ResponseType): Promise<any>;\n clone(): IConnection;\n}\nexport function instanceOfIConnection(object: any): object is IConnection {\n return typeof object.opts === \"function\" &&\n typeof object.send === \"function\" &&\n typeof object.clone === \"function\";\n}\n\n// comms ---\n\nfunction encode(uriComponent: string | number | boolean, encodeRequest: boolean): string {\n return (encodeRequest === undefined || encodeRequest === true) ? encodeURIComponent(uriComponent) : \"\" + uriComponent;\n}\n\nexport function serializeRequest(obj: any, encodeRequest: boolean = true, prefix: string = \"\"): string {\n if (prefix) {\n prefix += \".\";\n }\n if (typeof obj !== \"object\") {\n return encode(obj, encodeRequest);\n }\n\n const str: string[] = [];\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (obj[key] instanceof Array) {\n // Specific to ESP - but no REST standard exists...\n let includeItemCount = false;\n obj[key].forEach((row: any, i: number) => {\n if (typeof row === \"object\") {\n includeItemCount = true;\n str.push(serializeRequest(row, encodeRequest, prefix + encode(`${key}.${i}`, encodeRequest)));\n } else {\n str.push(prefix + encode(`${key}_i${i}`, encodeRequest) + \"=\" + serializeRequest(row, encodeRequest));\n }\n });\n if (includeItemCount) {\n str.push(prefix + encode(`${key}.itemcount`, encodeRequest) + \"=\" + obj[key].length);\n }\n } else if (typeof obj[key] === \"object\") {\n if (obj[key] && obj[key][\"Item\"] instanceof Array) { // Specific to ws_machine.GetTargetClusterInfo?\n str.push(serializeRequest(obj[key][\"Item\"], encodeRequest, prefix + encode(key, encodeRequest)));\n str.push(prefix + encode(`${key}.itemcount`, encodeRequest) + \"=\" + obj[key][\"Item\"].length);\n } else {\n str.push(serializeRequest(obj[key], encodeRequest, prefix + encode(key, encodeRequest)));\n }\n } else if (obj[key] !== undefined) {\n str.push(prefix + encode(key, encodeRequest) + \"=\" + encode(obj[key], encodeRequest));\n } else {\n str.push(prefix + encode(key, encodeRequest));\n }\n }\n }\n return str.join(\"&\");\n}\n\nexport function deserializeResponse(body: string) {\n return JSON.parse(body);\n}\n\nexport function jsonp(opts: IOptions, action: string, request: any = {}, responseType: ResponseType = \"json\", header?: any): Promise<any> {\n if (header) {\n console.warn(\"Header attributes ignored for JSONP connections\");\n }\n return new Promise<any>((resolve, reject) => {\n let respondedTimeout = opts.timeoutSecs! * 1000;\n const respondedTick = 5000;\n const callbackName = \"jsonp_callback_\" + Math.round(Math.random() * 999999);\n (window as any)[callbackName] = function (response: any) {\n respondedTimeout = 0;\n doCallback();\n resolve(responseType === \"json\" && typeof response === \"string\" ? deserializeResponse(response) : response);\n };\n const script = document.createElement(\"script\");\n let url = join(opts.baseUrl, action);\n url += url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n script.src = url + \"jsonp=\" + callbackName + \"&\" + serializeRequest(request, opts.encodeRequest);\n document.body.appendChild(script);\n const progress = setInterval(function () {\n if (respondedTimeout <= 0) {\n clearInterval(progress);\n } else {\n respondedTimeout -= respondedTick;\n if (respondedTimeout <= 0) {\n clearInterval(progress);\n logger.error(\"Request timeout: \" + script.src);\n doCallback();\n reject(Error(\"Request timeout: \" + script.src));\n } else {\n logger.debug(\"Request pending (\" + respondedTimeout / 1000 + \" sec): \" + script.src);\n }\n }\n }, respondedTick);\n\n function doCallback() {\n delete (window as any)[callbackName];\n document.body.removeChild(script);\n }\n });\n}\n\nfunction authHeader(opts: IOptions): object {\n return opts.userID ? { Authorization: `Basic ${btoa(`${opts.userID}:${opts.password}`)}` } : {};\n}\n\n// _omitMap is a workaround for older HPCC-Platform instances without credentials ---\nconst _omitMap: { [baseUrl: string]: boolean } = {};\nfunction doFetch(opts: IOptions, action: string, requestInit: RequestInit, headersInit: HeadersInit, responseType: string) {\n headersInit = {\n ...authHeader(opts),\n ...headersInit\n };\n\n requestInit = {\n credentials: _omitMap[opts.baseUrl] ? \"omit\" : \"include\",\n ...requestInit,\n headers: headersInit\n };\n\n if (opts.baseUrl.indexOf(\"https:\") === 0) {\n // NodeJS / node-fetch only ---\n if (opts.rejectUnauthorized === false && fetch[\"__rejectUnauthorizedAgent\"]) {\n requestInit[\"agent\"] = fetch[\"__rejectUnauthorizedAgent\"];\n } else if (fetch[\"__trustwaveAgent\"]) {\n requestInit[\"agent\"] = fetch[\"__trustwaveAgent\"];\n }\n }\n\n function handleResponse(response: Response): Promise<any> {\n if (response.ok) {\n return responseType === \"json\" ? response.json() : response.text();\n }\n throw new Error(response.statusText);\n }\n\n return promiseTimeout(opts.timeoutSecs! * 1000, fetch(join(opts.baseUrl, action), requestInit)\n .then(handleResponse)\n .catch(e => {\n // Try again with the opposite credentials mode ---\n requestInit.credentials = !_omitMap[opts.baseUrl] ? \"omit\" : \"include\";\n return fetch(join(opts.baseUrl, action), requestInit)\n .then(handleResponse)\n .then(responseBody => {\n _omitMap[opts.baseUrl] = !_omitMap[opts.baseUrl]; // The \"opposite\" credentials mode is known to work ---\n return responseBody;\n });\n })\n );\n}\n\nexport function post(opts: IOptions, action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\n if (request.upload_) {\n delete request.upload_;\n action += \"?upload_\";\n }\n let abortSignal;\n if (request.abortSignal_) {\n abortSignal = request.abortSignal_;\n delete request.abortSignal_;\n }\n return doFetch(opts, action, {\n method: \"post\",\n body: serializeRequest(request, opts.encodeRequest),\n signal: abortSignal\n }, {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n ...header\n } as any, responseType);\n}\n\nexport function get(opts: IOptions, action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\n let abortSignal;\n if (request.abortSignal_) {\n abortSignal = request.abortSignal_;\n delete request.abortSignal_;\n }\n return doFetch(opts, `${action}?${serializeRequest(request, opts.encodeRequest)}`, {\n method: \"get\",\n signal: abortSignal\n }, {\n ...header\n } as any, responseType);\n}\n\nexport type SendFunc = (opts: IOptions, action: string, request: any, responseType: ResponseType, header?: any) => Promise<any>;\nexport function send(opts: IOptions, action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\n let retVal: Promise<any>;\n switch (opts.type) {\n case \"jsonp\":\n retVal = jsonp(opts, action, request, responseType, header);\n break;\n case \"get\":\n retVal = get(opts, action, request, responseType, header);\n break;\n case \"post\":\n default:\n retVal = post(opts, action, request, responseType, header);\n break;\n }\n return retVal;\n}\n\nlet hookedSend: SendFunc = send;\nexport function hookSend(newSend?: SendFunc): SendFunc {\n const retVal = hookedSend;\n if (newSend) {\n hookedSend = newSend;\n }\n return retVal;\n}\n\nexport class Connection implements IConnection {\n protected _opts: IOptions;\n get baseUrl() { return this._opts.baseUrl; }\n\n constructor(opts: IOptions) {\n this.opts(opts);\n }\n\n // IConnection ---\n opts(_: Partial<IOptions>): this;\n opts(): IOptions;\n opts(_?: Partial<IOptions>): this | IOptions {\n if (arguments.length === 0) return this._opts;\n this._opts = { ...DefaultOptions, ..._ };\n return this;\n }\n\n send(action: string, request: any, responseType: ResponseType = \"json\", header?: any): Promise<any> {\n if (this._opts.hookSend) {\n return this._opts.hookSend(this._opts, action, request, responseType, hookedSend, header);\n }\n return hookedSend(this._opts, action, request, responseType, header);\n }\n\n clone() {\n return new Connection(this.opts());\n }\n}\n\nexport type IConnectionFactory = (opts: IOptions) => IConnection;\nexport let createConnection: IConnectionFactory = function (opts: IOptions): IConnection {\n return new Connection(opts);\n};\n\nexport function setTransportFactory(newFunc: IConnectionFactory): IConnectionFactory {\n const retVal = createConnection;\n createConnection = newFunc;\n return retVal;\n}\n","import { join } from \"@hpcc-js/util\";\nimport { createConnection, IConnection, IOptions, ResponseType } from \"./connection\";\n\nexport type ESPResponseType = ResponseType | \"json2\" | \"xsd\";\n\nexport function isArray(arg: any) {\n return Object.prototype.toString.call(arg) === \"[object Array]\";\n}\n\nexport interface Exception {\n Code: number;\n Message: string;\n}\n\nexport interface Exceptions {\n Source: string;\n Exception: Exception[];\n}\n\nexport class ESPExceptions extends Error implements Exceptions {\n isESPExceptions = true;\n action: string;\n request: string;\n Source: string;\n Exception: Exception[];\n\n constructor(action: string, request: any, exceptions: Exceptions) {\n super(\"ESPException: \" + exceptions.Source);\n this.action = action;\n this.request = request;\n this.Source = exceptions.Source;\n this.Exception = exceptions.Exception;\n if (exceptions.Exception.length) {\n this.message = `${exceptions.Exception[0].Code}: ${exceptions.Exception[0].Message}`;\n } else {\n this.message = \"\";\n }\n }\n}\n\nexport function isExceptions(err: any): err is Exceptions {\n return err instanceof ESPExceptions || (err.isESPExceptions && Array.isArray(err.Exception));\n}\n\nfunction isConnection(optsConnection: IOptions | IConnection): optsConnection is IConnection {\n return (optsConnection as IConnection).send !== undefined;\n}\n\nexport class ESPConnection implements IConnection {\n private _connection: IConnection;\n get baseUrl() { return this._connection.opts().baseUrl; }\n private _service: string;\n private _version: string;\n\n constructor(optsConnection: IOptions | IConnection, service: string, version: string) {\n this._connection = isConnection(optsConnection) ? optsConnection : createConnection(optsConnection);\n this._service = service;\n this._version = version;\n }\n\n service(): string;\n service(_: string): ESPConnection;\n service(_?: string): string | ESPConnection {\n if (_ === void 0) return this._service;\n this._service = _;\n return this;\n }\n\n version(): string;\n version(_: string): ESPConnection;\n version(_?: string): string | ESPConnection {\n if (_ === void 0) return this._version;\n this._version = _;\n return this;\n }\n\n toESPStringArray(target: any, arrayName: string): any {\n if (isArray(target[arrayName])) {\n for (let i = 0; i < target[arrayName].length; ++i) {\n target[arrayName + \"_i\" + i] = target[arrayName][i];\n }\n delete target[arrayName];\n }\n return target;\n }\n\n // IConnection ---\n opts(_: Partial<IOptions>): this;\n opts(): IOptions;\n opts(_?: Partial<IOptions>): this | IOptions {\n if (_ === void 0) return this._connection.opts();\n this._connection.opts(_);\n return this;\n }\n\n send(action: string, _request: any = {}, espResponseType: ESPResponseType = \"json\", largeUpload: boolean = false, abortSignal?: AbortSignal, espResponseField?: string): Promise<any> {\n const request = { ..._request, ...{ ver_: this._version } };\n if (largeUpload) {\n request[\"upload_\"] = true;\n }\n if (abortSignal) {\n request[\"abortSignal_\"] = abortSignal;\n }\n let serviceAction: string;\n let responseType: ResponseType = \"json\";\n switch (espResponseType) {\n case \"text\":\n serviceAction = join(this._service, action);\n responseType = \"text\";\n break;\n case \"xsd\":\n serviceAction = join(this._service, action + \".xsd\");\n responseType = \"text\";\n break;\n case \"json2\":\n serviceAction = join(this._service, action + \"/json\");\n espResponseType = \"json\";\n const actionParts = action.split(\"/\");\n action = actionParts.pop()!;\n break;\n default:\n serviceAction = join(this._service, action + \".json\");\n }\n return this._connection.send(serviceAction, request, responseType).then((response) => {\n if (espResponseType === \"json\") {\n let retVal;\n if (response && response.Exceptions) {\n throw new ESPExceptions(action, request, response.Exceptions);\n } else if (response) {\n retVal = response[espResponseField || (action + \"Response\")];\n }\n if (!retVal) {\n throw new ESPExceptions(action, request, {\n Source: \"ESPConnection.send\",\n Exception: [{ Code: 0, Message: \"Missing Response\" }]\n });\n }\n return retVal;\n }\n return response;\n }).catch(e => {\n if (e.isESPExceptions) {\n throw e;\n }\n throw new ESPExceptions(action, request, {\n Source: \"ESPConnection.send\",\n Exception: [{ Code: 0, Message: e.message }]\n });\n });\n }\n\n clone() {\n return new ESPConnection(this._connection.clone(), this._service, this._version);\n }\n}\n\nexport class Service {\n protected _connection: ESPConnection;\n get baseUrl() { return this._connection.opts().baseUrl; }\n\n constructor(optsConnection: IOptions | IConnection, service: string, version: string) {\n this._connection = new ESPConnection(optsConnection, service, version);\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { ESPConnection, ESPExceptions } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/Ws_Account/?reqjson_\n * http://localhost:8010/Ws_Account/?respjson_\n * http://json2ts.com/\n*/\nexport namespace WsAccount {\n\n export interface MyAccountRequest {\n }\n\n export interface WsAccountPingRequest {\n }\n\n export interface UpdateUserRequest {\n username: string;\n oldpass: string;\n newpass1: string;\n newpass2: string;\n }\n\n export interface UpdateUserInputRequest {\n }\n\n export interface VerifyUserRequest {\n application: string;\n version: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface MyAccountResponse {\n Exceptions: Exceptions;\n username: string;\n firstName: string;\n lastName: string;\n passwordExpiration: string;\n passwordDaysRemaining: number;\n passwordExpirationWarningDays: number;\n employeeID: string;\n distinguishedName: string;\n accountType: string;\n passwordNeverExpires: boolean;\n passwordIsExpired: boolean;\n accountStatus: number;\n }\n\n export interface WsAccountPingResponse {\n }\n\n export interface UpdateUserResponse {\n Exceptions: Exceptions;\n retcode: number;\n message: string;\n }\n\n export interface UpdateUserInputResponse {\n Exceptions: Exceptions;\n username: string;\n }\n\n export interface VerifyUserResponse {\n Exceptions: Exceptions;\n retcode: number;\n }\n}\n\nexport class AccountService {\n private _connection: ESPConnection;\n\n constructor(optsConnection: IOptions | IConnection) {\n this._connection = new ESPConnection(optsConnection, \"Ws_Account\", \"1.05\");\n }\n\n connectionOptions(): IOptions {\n return this._connection.opts();\n }\n\n MyAccount(request: WsAccount.MyAccountRequest): Promise<WsAccount.MyAccountResponse> {\n return this._connection.send(\"MyAccount\", request);\n }\n\n UpdateUser(request: WsAccount.UpdateUserRequest): Promise<WsAccount.UpdateUserResponse> {\n return this._connection.send(\"UpdateUser\", request);\n }\n\n UpdateUserInput(request: WsAccount.UpdateUserInputRequest): Promise<WsAccount.UpdateUserInputResponse> {\n return this._connection.send(\"UpdateUserInput\", request);\n }\n\n VerifyUser(request: WsAccount.VerifyUserRequest): Promise<WsAccount.VerifyUserResponse> {\n return this._connection.send(\"VerifyUser\", request)\n .catch((e: ESPExceptions) => {\n // old client version warning ---\n if (e.isESPExceptions && e.Exception.some(exception => exception.Code === 20043)) {\n return {\n retcode: 20043,\n Exceptions: {\n Source: \"wsAccount\",\n Exception: e.Exception\n }\n };\n }\n throw e;\n });\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { ESPConnection } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/ws_codesign/?ver_=1.1&respjson_\n * http://json2ts.com/\n*/\nexport namespace WsCodesign {\n\n export interface ListUserIDsRequest {\n }\n\n export interface WsCodesignPingRequest {\n }\n\n export interface SignRequest {\n SigningMethod?: string;\n UserID: string;\n KeyPass: string;\n Text: string;\n }\n\n export interface VerifyRequest {\n Text: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface UserIDs {\n Item: string[];\n }\n\n export interface ListUserIDsResponse {\n Exceptions: Exceptions;\n UserIDs: UserIDs;\n }\n\n export interface WsCodesignPingResponse {\n }\n\n export interface SignResponse {\n Exceptions: Exceptions;\n RetCode: number;\n ErrMsg: string;\n SignedText: string;\n }\n\n export interface VerifyResponse {\n Exceptions: Exceptions;\n RetCode: number;\n ErrMsg: string;\n IsVerified: boolean;\n SignedBy: string;\n }\n}\n\nexport class CodesignService {\n private _connection: ESPConnection;\n\n constructor(optsConnection: IOptions | IConnection) {\n this._connection = new ESPConnection(optsConnection, \"ws_codesign\", \"1.1\");\n }\n\n connectionOptions(): IOptions {\n return this._connection.opts();\n }\n\n ListUserIDs(request: WsCodesign.ListUserIDsRequest): Promise<string[]> {\n return this._connection.send(\"ListUserIDs\", request).then((response: WsCodesign.ListUserIDsResponse) => {\n return response.UserIDs.Item;\n }).catch(e => {\n return [];\n });\n }\n\n Sign(request: WsCodesign.SignRequest): Promise<WsCodesign.SignResponse> {\n return this._connection.send(\"Sign\", { SigningMethod: \"gpg\", ...request });\n }\n\n Verify(request: WsCodesign.VerifyRequest): Promise<WsCodesign.VerifyResponse> {\n return this._connection.send(\"Verify\", request);\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { Service } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/WsDfu/?reqjson_\n * http://localhost:8010/WsDfu/?respjson_\n * http://json2ts.com/\n*/\n\nexport namespace WsDfu {\n export interface AddRequest {\n dstname: string;\n xmlmap: string;\n dstcluster: string;\n }\n\n export interface AddRemoteRequest {\n dstname: string;\n srcname: string;\n srcdali: string;\n srcusername: string;\n srcpassword: string;\n }\n\n export interface Names {\n Item: string[];\n }\n\n export interface AddtoSuperfileRequest {\n Superfile: string;\n Subfiles: string;\n names: Names;\n ExistingFile: boolean;\n BackToPage: string;\n }\n\n export interface LogicalFiles {\n Item: string[];\n }\n\n export interface DFUArrayActionRequest {\n Type: string;\n NoDelete: boolean;\n BackToPage: string;\n LogicalFiles: LogicalFiles;\n removeFromSuperfiles: boolean;\n removeRecursively: boolean;\n Protect: string;\n Restrict: string;\n }\n\n export interface DFUBrowseDataRequest {\n LogicalName: string;\n FilterBy: string;\n ShowColumns: string;\n SchemaOnly: boolean;\n StartForGoback: number;\n CountForGoback: number;\n ChooseFile: number;\n Cluster: string;\n ClusterType: string;\n ParentName: string;\n Start: number;\n Count: number;\n DisableUppercaseTranslation: boolean;\n }\n\n export interface DFUDefFileRequest {\n Name: string;\n Format: string;\n }\n\n export interface RequestBase {\n Name: string;\n Cluster: string;\n JobId: string;\n ExpirySeconds: number;\n AccessRole: string;\n AccessType: string;\n ReturnJsonTypeInfo: boolean;\n ReturnBinTypeInfo: boolean;\n }\n\n export interface DFUFileAccessRequest {\n RequestBase: RequestBase;\n }\n\n export interface DFUFileAccessV2Request {\n Name: string;\n Cluster: string;\n RequestId: string;\n ExpirySeconds: number;\n ReturnTextResponse: boolean;\n SessionId: number;\n LockTimeoutMs: number;\n }\n\n export interface PartLocations {\n Item: string[];\n }\n\n export interface RequestBase2 {\n Name: string;\n Cluster: string;\n JobId: string;\n ExpirySeconds: number;\n AccessRole: string;\n AccessType: string;\n ReturnJsonTypeInfo: boolean;\n ReturnBinTypeInfo: boolean;\n }\n\n export interface DFUFileCreateRequest {\n ECLRecordDefinition: string;\n PartLocations: PartLocations;\n RequestBase: RequestBase2;\n }\n\n export interface DFUFileCreateV2Request {\n Name: string;\n Cluster: string;\n Type: string;\n ECLRecordDefinition: string;\n RequestId: string;\n ExpirySeconds: number;\n ReturnTextResponse: boolean;\n Compressed: boolean;\n SessionId: number;\n LockTimeoutMs: number;\n }\n\n export interface DFUFilePublishRequest {\n FileId: string;\n Overwrite: boolean;\n FileDescriptorBlob: string;\n SessionId: number;\n LockTimeoutMs: number;\n ECLRecordDefinition: string;\n RecordCount: number;\n FileSize: number;\n }\n\n export interface DFUFileViewRequest {\n Scope: string;\n IncludeSuperOwner: boolean;\n }\n\n export interface DFUGetDataColumnsRequest {\n OpenLogicalName: string;\n LogicalName: string;\n FilterBy: string;\n ShowColumns: string;\n ChooseFile: number;\n Cluster: string;\n ClusterType: string;\n StartIndex: number;\n EndIndex: number;\n }\n\n export interface DFUGetFileMetaDataRequest {\n LogicalFileName: string;\n ClusterName: string;\n IncludeXmlSchema: boolean;\n AddHeaderInXmlSchema: boolean;\n IncludeXmlXPathSchema: boolean;\n AddHeaderInXmlXPathSchema: boolean;\n }\n\n export interface DFUInfoRequest {\n Name: string;\n Cluster: string;\n UpdateDescription?: boolean;\n QuerySet?: string;\n Query?: string;\n FileDesc?: string;\n IncludeJsonTypeInfo?: boolean;\n IncludeBinTypeInfo?: boolean;\n Protect?: string;\n Restrict?: string;\n }\n\n export interface DFUQueryRequest {\n Prefix?: string;\n NodeGroup?: string;\n ContentType?: string;\n LogicalName?: string;\n Owner?: string;\n StartDate?: string;\n EndDate?: string;\n FileType?: string;\n FileSizeFrom?: number;\n FileSizeTo?: number;\n FirstN?: number;\n PageSize?: number;\n PageStartFrom?: number;\n Sortby?: string;\n Descending?: boolean;\n OneLevelDirFileReturn?: boolean;\n CacheHint?: number;\n MaxNumberOfFiles?: number;\n IncludeSuperOwner?: boolean;\n StartAccessedTime?: string;\n EndAccessedTime?: string;\n }\n\n export interface DFURecordTypeInfoRequest {\n Name: string;\n IncludeJsonTypeInfo: boolean;\n IncludeBinTypeInfo: boolean;\n }\n\n export interface DFUSearchRequest {\n ShowExample: string;\n }\n\n export interface DFUSearchDataRequest {\n Cluster: string;\n ClusterType: string;\n OpenLogicalName: string;\n FilterBy: string;\n ShowColumns: string;\n ChooseFile: number;\n StartIndex: number;\n EndIndex: number;\n LogicalName: string;\n ParentName: string;\n StartForGoback: number;\n CountForGoback: number;\n Start: number;\n Count: number;\n File: string;\n Key: string;\n SchemaOnly: boolean;\n RoxieSelections: boolean;\n DisableUppercaseTranslation: boolean;\n SelectedKey: string;\n }\n\n export interface DFUSpaceRequest {\n CountBy: string;\n ScopeUnder: string;\n OwnerUnder: string;\n Interval: string;\n StartDate: string;\n EndDate: string;\n }\n\n export interface EclRecordTypeInfoRequest {\n Ecl: string;\n IncludeJsonTypeInfo: boolean;\n IncludeBinTypeInfo: boolean;\n }\n\n export interface EraseHistoryRequest {\n Name: string;\n }\n\n export interface ListHistoryRequest {\n Name: string;\n }\n\n export interface WsDfuPingRequest {\n }\n\n export interface SavexmlRequest {\n name: string;\n }\n\n export interface Subfiles {\n Item: string[];\n }\n\n export interface SuperfileActionRequest {\n action: string;\n superfile: string;\n subfiles: Subfiles;\n before: string;\n delete: boolean;\n removeSuperfile: boolean;\n }\n\n export interface SuperfileListRequest {\n superfile: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface AddResponse {\n Exceptions: Exceptions;\n }\n\n export interface AddRemoteResponse {\n Exceptions: Exceptions;\n }\n\n export interface SubfileNames {\n SubfileName: string[];\n }\n\n export interface AddtoSuperfileResponse {\n Exceptions: Exceptions;\n Subfiles: string;\n BackToPage: string;\n SubfileNames: SubfileNames;\n }\n\n export interface DFUActionInfo {\n FileName: string;\n NodeGroup: string;\n ActionResult: string;\n Failed: boolean;\n }\n\n export interface ActionResults {\n DFUActionInfo: DFUActionInfo[];\n }\n\n export interface DFUArrayActionResponse {\n Exceptions: Exceptions;\n BackToPage: string;\n RedirectTo: string;\n ActionResults: ActionResults;\n }\n\n export interface DataColumns {\n DFUDataColumn: any[];\n }\n\n export interface ColumnHidden {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns;\n }\n\n export interface ColumnsHidden {\n ColumnHidden: ColumnHidden[];\n }\n\n export interface DFUBrowseDataResponse {\n Exceptions: Exceptions;\n Name: string;\n LogicalName: string;\n FilterBy: string;\n FilterForGoBack: string;\n ColumnsHidden: ColumnsHidden;\n ColumnCount: number;\n StartForGoback: number;\n CountForGoback: number;\n ChooseFile: number;\n SchemaOnly: boolean;\n Cluster: string;\n ClusterType: string;\n ParentName: string;\n Start: number;\n Count: number;\n PageSize: number;\n Total: number;\n Result: string;\n MsgToDisplay: string;\n DisableUppercaseTranslation: boolean;\n }\n\n export interface DFUDefFileResponse {\n Exceptions: Exceptions;\n defFile: string;\n }\n\n export interface DFUPartLocation {\n LocationIndex: number;\n Host: string;\n }\n\n export interface FileLocations {\n DFUPartLocation: DFUPartLocation[];\n }\n\n export interface DFUFileCopy {\n CopyIndex: number;\n LocationIndex: number;\n Path: string;\n }\n\n export interface Copies {\n DFUFileCopy: DFUFileCopy[];\n }\n\n export interface DFUFilePart {\n PartIndex: number;\n Copies: Copies;\n TopLevelKey: boolean;\n }\n\n export interface FileParts {\n DFUFilePart: DFUFilePart[];\n }\n\n export interface AccessInfo {\n MetaInfoBlob: string;\n ExpiryTime: string;\n NumParts: number;\n FileLocations: FileLocations;\n FileParts: FileParts;\n RecordTypeInfoJson: string;\n fileAccessPort: number;\n fileAccessSSL: boolean;\n }\n\n export interface DFUFileAccessResponse {\n Exceptions: Exceptions;\n AccessInfo: AccessInfo;\n Type: string;\n }\n\n export interface DFUPartLocation2 {\n LocationIndex: number;\n Host: string;\n }\n\n export interface FileLocations2 {\n DFUPartLocation: DFUPartLocation2[];\n }\n\n export interface DFUFileCopy2 {\n CopyIndex: number;\n LocationIndex: number;\n Path: string;\n }\n\n export interface Copies2 {\n DFUFileCopy: DFUFileCopy2[];\n }\n\n export interface DFUFilePart2 {\n PartIndex: number;\n Copies: Copies2;\n TopLevelKey: boolean;\n }\n\n export interface FileParts2 {\n DFUFilePart: DFUFilePart2[];\n }\n\n export interface AccessInfo2 {\n MetaInfoBlob: string;\n ExpiryTime: string;\n NumParts: number;\n FileLocations: FileLocations2;\n FileParts: FileParts2;\n RecordTypeInfoJson: string;\n fileAccessPort: number;\n fileAccessSSL: boolean;\n }\n\n export interface DFUFileCreateResponse {\n Exceptions: Exceptions;\n FileId: string;\n Warning: string;\n AccessInfo: AccessInfo2;\n }\n\n export interface DFUFilePublishResponse {\n Exceptions: Exceptions;\n }\n\n export interface DFULogicalFile {\n Prefix: string;\n NodeGroup: string;\n Directory: string;\n Description: string;\n Parts: string;\n Name: string;\n Owner: string;\n Totalsize: string;\n RecordCount: string;\n Modified: string;\n LongSize: string;\n LongRecordCount: string;\n isSuperfile: boolean;\n isDirectory: boolean;\n Replicate: boolean;\n IntSize: number;\n IntRecordCount: number;\n FromRoxieCluster: boolean;\n BrowseData: boolean;\n IsCompressed: boolean;\n ContentType: string;\n CompressedFileSize: number;\n SuperOwners: string;\n Persistent: boolean;\n IsProtected: boolean;\n KeyType: string;\n NumOfSubfiles: number;\n Accessed: string;\n }\n\n export interface DFULogicalFiles {\n DFULogicalFile: DFULogicalFile[];\n }\n\n export interface DFUFileViewResponse {\n Exceptions: Exceptions;\n Scope: string;\n NumFiles: number;\n DFULogicalFiles: DFULogicalFiles;\n }\n\n export interface DataColumns2 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns2;\n }\n\n export interface DFUDataKeyedColumns1 {\n DFUDataColumn: DFUDataColumn[];\n }\n\n export interface DataColumns3 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn2 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns3;\n }\n\n export interface DFUDataKeyedColumns2 {\n DFUDataColumn: DFUDataColumn2[];\n }\n\n export interface DataColumns4 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn3 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns4;\n }\n\n export interface DFUDataKeyedColumns3 {\n DFUDataColumn: DFUDataColumn3[];\n }\n\n export interface DataColumns5 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn4 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns5;\n }\n\n export interface DFUDataKeyedColumns4 {\n DFUDataColumn: DFUDataColumn4[];\n }\n\n export interface DataColumns6 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn5 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns6;\n }\n\n export interface DFUDataKeyedColumns5 {\n DFUDataColumn: DFUDataColumn5[];\n }\n\n export interface DataColumns7 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn6 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns7;\n }\n\n export interface DFUDataKeyedColumns6 {\n DFUDataColumn: DFUDataColumn6[];\n }\n\n export interface DataColumns8 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn7 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns8;\n }\n\n export interface DFUDataKeyedColumns7 {\n DFUDataColumn: DFUDataColumn7[];\n }\n\n export interface DataColumns9 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn8 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns9;\n }\n\n export interface DFUDataKeyedColumns8 {\n DFUDataColumn: DFUDataColumn8[];\n }\n\n export interface DataColumns10 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn9 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns10;\n }\n\n export interface DFUDataKeyedColumns9 {\n DFUDataColumn: DFUDataColumn9[];\n }\n\n export interface DataColumns11 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn10 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns11;\n }\n\n export interface DFUDataKeyedColumns10 {\n DFUDataColumn: DFUDataColumn10[];\n }\n\n export interface DataColumns12 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn11 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns12;\n }\n\n export interface DFUDataKeyedColumns11 {\n DFUDataColumn: DFUDataColumn11[];\n }\n\n export interface DataColumns13 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn12 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns13;\n }\n\n export interface DFUDataKeyedColumns12 {\n DFUDataColumn: DFUDataColumn12[];\n }\n\n export interface DataColumns14 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn13 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns14;\n }\n\n export interface DFUDataKeyedColumns13 {\n DFUDataColumn: DFUDataColumn13[];\n }\n\n export interface DataColumns15 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn14 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns15;\n }\n\n export interface DFUDataKeyedColumns14 {\n DFUDataColumn: DFUDataColumn14[];\n }\n\n export interface DataColumns16 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn15 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns16;\n }\n\n export interface DFUDataKeyedColumns15 {\n DFUDataColumn: DFUDataColumn15[];\n }\n\n export interface DataColumns17 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn16 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns17;\n }\n\n export interface DFUDataKeyedColumns16 {\n DFUDataColumn: DFUDataColumn16[];\n }\n\n export interface DataColumns18 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn17 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns18;\n }\n\n export interface DFUDataKeyedColumns17 {\n DFUDataColumn: DFUDataColumn17[];\n }\n\n export interface DataColumns19 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn18 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns19;\n }\n\n export interface DFUDataKeyedColumns18 {\n DFUDataColumn: DFUDataColumn18[];\n }\n\n export interface DataColumns20 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn19 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns20;\n }\n\n export interface DFUDataKeyedColumns19 {\n DFUDataColumn: DFUDataColumn19[];\n }\n\n export interface DataColumns21 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn20 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns21;\n }\n\n export interface DFUDataKeyedColumns20 {\n DFUDataColumn: DFUDataColumn20[];\n }\n\n export interface DataColumns22 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn21 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns22;\n }\n\n export interface DFUDataNonKeyedColumns1 {\n DFUDataColumn: DFUDataColumn21[];\n }\n\n export interface DataColumns23 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn22 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns23;\n }\n\n export interface DFUDataNonKeyedColumns2 {\n DFUDataColumn: DFUDataColumn22[];\n }\n\n export interface DataColumns24 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn23 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns24;\n }\n\n export interface DFUDataNonKeyedColumns3 {\n DFUDataColumn: DFUDataColumn23[];\n }\n\n export interface DataColumns25 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn24 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns25;\n }\n\n export interface DFUDataNonKeyedColumns4 {\n DFUDataColumn: DFUDataColumn24[];\n }\n\n export interface DataColumns26 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn25 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns26;\n }\n\n export interface DFUDataNonKeyedColumns5 {\n DFUDataColumn: DFUDataColumn25[];\n }\n\n export interface DataColumns27 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn26 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns27;\n }\n\n export interface DFUDataNonKeyedColumns6 {\n DFUDataColumn: DFUDataColumn26[];\n }\n\n export interface DataColumns28 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn27 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns28;\n }\n\n export interface DFUDataNonKeyedColumns7 {\n DFUDataColumn: DFUDataColumn27[];\n }\n\n export interface DataColumns29 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn28 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns29;\n }\n\n export interface DFUDataNonKeyedColumns8 {\n DFUDataColumn: DFUDataColumn28[];\n }\n\n export interface DataColumns30 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn29 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns30;\n }\n\n export interface DFUDataNonKeyedColumns9 {\n DFUDataColumn: DFUDataColumn29[];\n }\n\n export interface DataColumns31 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn30 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns31;\n }\n\n export interface DFUDataNonKeyedColumns10 {\n DFUDataColumn: DFUDataColumn30[];\n }\n\n export interface DataColumns32 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn31 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns32;\n }\n\n export interface DFUDataNonKeyedColumns11 {\n DFUDataColumn: DFUDataColumn31[];\n }\n\n export interface DataColumns33 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn32 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns33;\n }\n\n export interface DFUDataNonKeyedColumns12 {\n DFUDataColumn: DFUDataColumn32[];\n }\n\n export interface DataColumns34 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn33 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns34;\n }\n\n export interface DFUDataNonKeyedColumns13 {\n DFUDataColumn: DFUDataColumn33[];\n }\n\n export interface DataColumns35 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn34 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns35;\n }\n\n export interface DFUDataNonKeyedColumns14 {\n DFUDataColumn: DFUDataColumn34[];\n }\n\n export interface DataColumns36 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn35 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns36;\n }\n\n export interface DFUDataNonKeyedColumns15 {\n DFUDataColumn: DFUDataColumn35[];\n }\n\n export interface DataColumns37 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn36 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns37;\n }\n\n export interface DFUDataNonKeyedColumns16 {\n DFUDataColumn: DFUDataColumn36[];\n }\n\n export interface DataColumns38 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn37 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns38;\n }\n\n export interface DFUDataNonKeyedColumns17 {\n DFUDataColumn: DFUDataColumn37[];\n }\n\n export interface DataColumns39 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn38 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns39;\n }\n\n export interface DFUDataNonKeyedColumns18 {\n DFUDataColumn: DFUDataColumn38[];\n }\n\n export interface DataColumns40 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn39 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns40;\n }\n\n export interface DFUDataNonKeyedColumns19 {\n DFUDataColumn: DFUDataColumn39[];\n }\n\n export interface DataColumns41 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn40 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns41;\n }\n\n export interface DFUDataNonKeyedColumns20 {\n DFUDataColumn: DFUDataColumn40[];\n }\n\n export interface DFUGetDataColumnsResponse {\n Exceptions: Exceptions;\n LogicalName: string;\n StartIndex: number;\n EndIndex: number;\n DFUDataKeyedColumns1: DFUDataKeyedColumns1;\n DFUDataKeyedColumns2: DFUDataKeyedColumns2;\n DFUDataKeyedColumns3: DFUDataKeyedColumns3;\n DFUDataKeyedColumns4: DFUDataKeyedColumns4;\n DFUDataKeyedColumns5: DFUDataKeyedColumns5;\n DFUDataKeyedColumns6: DFUDataKeyedColumns6;\n DFUDataKeyedColumns7: DFUDataKeyedColumns7;\n DFUDataKeyedColumns8: DFUDataKeyedColumns8;\n DFUDataKeyedColumns9: DFUDataKeyedColumns9;\n DFUDataKeyedColumns10: DFUDataKeyedColumns10;\n DFUDataKeyedColumns11: DFUDataKeyedColumns11;\n DFUDataKeyedColumns12: DFUDataKeyedColumns12;\n DFUDataKeyedColumns13: DFUDataKeyedColumns13;\n DFUDataKeyedColumns14: DFUDataKeyedColumns14;\n DFUDataKeyedColumns15: DFUDataKeyedColumns15;\n DFUDataKeyedColumns16: DFUDataKeyedColumns16;\n DFUDataKeyedColumns17: DFUDataKeyedColumns17;\n DFUDataKeyedColumns18: DFUDataKeyedColumns18;\n DFUDataKeyedColumns19: DFUDataKeyedColumns19;\n DFUDataKeyedColumns20: DFUDataKeyedColumns20;\n DFUDataNonKeyedColumns1: DFUDataNonKeyedColumns1;\n DFUDataNonKeyedColumns2: DFUDataNonKeyedColumns2;\n DFUDataNonKeyedColumns3: DFUDataNonKeyedColumns3;\n DFUDataNonKeyedColumns4: DFUDataNonKeyedColumns4;\n DFUDataNonKeyedColumns5: DFUDataNonKeyedColumns5;\n DFUDataNonKeyedColumns6: DFUDataNonKeyedColumns6;\n DFUDataNonKeyedColumns7: DFUDataNonKeyedColumns7;\n DFUDataNonKeyedColumns8: DFUDataNonKeyedColumns8;\n DFUDataNonKeyedColumns9: DFUDataNonKeyedColumns9;\n DFUDataNonKeyedColumns10: DFUDataNonKeyedColumns10;\n DFUDataNonKeyedColumns11: DFUDataNonKeyedColumns11;\n DFUDataNonKeyedColumns12: DFUDataNonKeyedColumns12;\n DFUDataNonKeyedColumns13: DFUDataNonKeyedColumns13;\n DFUDataNonKeyedColumns14: DFUDataNonKeyedColumns14;\n DFUDataNonKeyedColumns15: DFUDataNonKeyedColumns15;\n DFUDataNonKeyedColumns16: DFUDataNonKeyedColumns16;\n DFUDataNonKeyedColumns17: DFUDataNonKeyedColumns17;\n DFUDataNonKeyedColumns18: DFUDataNonKeyedColumns18;\n DFUDataNonKeyedColumns19: DFUDataNonKeyedColumns19;\n DFUDataNonKeyedColumns20: DFUDataNonKeyedColumns20;\n RowCount: number;\n ShowColumns: string;\n ChooseFile: number;\n Cluster: string;\n ClusterType: string;\n }\n\n export interface DataColumns43 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn41 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns43;\n }\n\n export interface DataColumns42 {\n DFUDataColumn: DFUDataColumn41[];\n }\n\n export interface DFUGetFileMetaDataResponse {\n Exceptions: Exceptions;\n TotalColumnCount: number;\n KeyedColumnCount: number;\n DataColumns: DataColumns42;\n XmlSchema: string;\n XmlXPathSchema: string;\n TotalResultRows: number;\n }\n\n export interface Stat {\n MinSkew: string;\n MaxSkew: string;\n MinSkewInt64: number;\n MaxSkewInt64: number;\n MinSkewPart: number;\n MaxSkewPart: number;\n }\n\n export interface DFUPart {\n Id: number;\n Copy: number;\n Ip: string;\n Partsize: string;\n PartSizeInt64: number;\n CompressedSize: number;\n }\n\n export interface DFUFileParts {\n DFUPart: DFUPart[];\n }\n\n export interface DFUFilePartsOnCluster {\n Cluster: string;\n BaseDir: string;\n ReplicateDir: string;\n Replicate: boolean;\n CanReplicate: boolean;\n DFUFileParts: DFUFileParts;\n }\n\n export interface DFUFilePartsOnClusters {\n DFUFilePartsOnCluster: DFUFilePartsOnCluster[];\n }\n\n export interface Subfiles {\n Item: string[];\n }\n\n export interface DFULogicalFile2 {\n Prefix: string;\n NodeGroup: string;\n Directory: string;\n Description: string;\n Parts: string;\n Name: string;\n Owner: string;\n Totalsize: string;\n RecordCount: string;\n Modified: string;\n LongSize: string;\n LongRecordCount: string;\n isSuperfile: boolean;\n isDirectory: boolean;\n Replicate: boolean;\n IntSize: number;\n IntRecordCount: number;\n FromRoxieCluster: boolean;\n BrowseData: boolean;\n IsCompressed: boolean;\n ContentType: string;\n CompressedFileSize: number;\n SuperOwners: string;\n Persistent: boolean;\n IsProtected: boolean;\n KeyType: string;\n NumOfSubfiles: number;\n Accessed: string;\n AtRestCost?: number;\n AccessCost?: number;\n }\n\n export interface Superfiles {\n DFULogicalFile: DFULogicalFile2[];\n }\n\n export interface DFUFileProtect {\n Owner: string;\n Modified: string;\n }\n\n export interface ProtectList {\n DFUFileProtect: DFUFileProtect[];\n }\n\n export interface Graphs {\n ECLGraph: string[];\n }\n\n export interface FieldNames {\n Item: string[];\n }\n\n export interface Partition {\n FieldMask: number;\n FieldNames: FieldNames;\n }\n\n export interface FieldNames2 {\n Item: string[];\n }\n\n export interface DFUFileBloom {\n FieldMask: number;\n FieldNames: FieldNames2;\n Limit: number;\n Probability: string;\n }\n\n export interface Blooms {\n DFUFileBloom: DFUFileBloom[];\n }\n\n export interface FileDetail {\n Name: string;\n Filename: string;\n Prefix: string;\n NodeGroup: string;\n NumParts: number;\n Description: string;\n Dir: string;\n PathMask: string;\n Filesize: string;\n FileSizeInt64: number;\n RecordSize: string;\n RecordCount: string;\n RecordSizeInt64: number;\n RecordCountInt64: number;\n Wuid: string;\n Owner: string;\n JobName: string;\n Persistent: string;\n Format: string;\n MaxRecordSize: string;\n CsvSeparate: string;\n CsvQuote: string;\n CsvTerminate: string;\n CsvEscape: string;\n Modified: string;\n Ecl: string;\n Stat: Stat;\n DFUFilePartsOnClusters: DFUFilePartsOnClusters;\n isSuperfile: boolean;\n ShowFileContent: boolean;\n subfiles: Subfiles;\n Superfiles: Superfiles;\n ProtectList: ProtectList;\n FromRoxieCluster: boolean;\n Graphs: Graphs;\n UserPermission: string;\n ContentType: string;\n CompressedFileSize: number;\n PercentCompressed: string;\n IsCompressed: boolean;\n IsRestricted: boolean;\n BrowseData: boolean;\n jsonInfo: string;\n binInfo: string;\n PackageID: string;\n Partition: Partition;\n Blooms: Blooms;\n ExpireDays: number;\n KeyType: string;\n Cost: number;\n }\n\n export interface DFUInfoResponse {\n Exceptions: Exceptions;\n FileDetail: FileDetail;\n }\n\n export interface DFULogicalFile3 {\n Prefix: string;\n NodeGroup: string;\n Directory: string;\n Description: string;\n Parts: string;\n Name: string;\n Owner: string;\n Totalsize: string;\n RecordCount: string;\n Modified: string;\n LongSize: string;\n LongRecordCount: string;\n isSuperfile: boolean;\n isDirectory: boolean;\n Replicate: boolean;\n IntSize: number;\n IntRecordCount: number;\n FromRoxieCluster: boolean;\n BrowseData: boolean;\n IsCompressed: boolean;\n ContentType: string;\n CompressedFileSize: number;\n SuperOwners: string;\n Persistent: boolean;\n IsProtected: boolean;\n KeyType: string;\n NumOfSubfiles: number;\n Accessed: string;\n }\n\n export interface DFULogicalFiles2 {\n DFULogicalFile: DFULogicalFile3[];\n }\n\n export interface DFUQueryResponse {\n Exceptions: Exceptions;\n DFULogicalFiles: DFULogicalFiles2;\n Prefix: string;\n NodeGroup: string;\n LogicalName: string;\n Description: string;\n Owner: string;\n StartDate: string;\n EndDate: string;\n FileType: string;\n FileSizeFrom: number;\n FileSizeTo: number;\n FirstN: number;\n PageSize: number;\n PageStartFrom: number;\n LastPageFrom: number;\n PageEndAt: number;\n PrevPageFrom: number;\n NextPageFrom: number;\n NumFiles: number;\n Sortby: string;\n Descending: boolean;\n BasicQuery: string;\n ParametersForPaging: string;\n Filters: string;\n CacheHint: number;\n IsSubsetOfFiles: boolean;\n Warning: string;\n }\n\n export interface DFURecordTypeInfoResponse {\n jsonInfo: string;\n binInfo: string;\n }\n\n export interface ClusterNames {\n ClusterName: string[];\n }\n\n export interface FileTypes {\n FileType: string[];\n }\n\n export interface DFUSearchResponse {\n Exceptions: Exceptions;\n ShowExample: string;\n ClusterNames: ClusterNames;\n FileTypes: FileTypes;\n }\n\n export interface DataColumns44 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn42 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns44;\n }\n\n export interface DFUDataKeyedColumns110 {\n DFUDataColumn: DFUDataColumn42[];\n }\n\n export interface DataColumns45 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn43 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns45;\n }\n\n export interface DFUDataKeyedColumns22 {\n DFUDataColumn: DFUDataColumn43[];\n }\n\n export interface DataColumns46 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn44 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns46;\n }\n\n export interface DFUDataKeyedColumns32 {\n DFUDataColumn: DFUDataColumn44[];\n }\n\n export interface DataColumns47 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn45 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns47;\n }\n\n export interface DFUDataKeyedColumns42 {\n DFUDataColumn: DFUDataColumn45[];\n }\n\n export interface DataColumns48 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn46 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns48;\n }\n\n export interface DFUDataKeyedColumns52 {\n DFUDataColumn: DFUDataColumn46[];\n }\n\n export interface DataColumns49 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn47 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns49;\n }\n\n export interface DFUDataKeyedColumns62 {\n DFUDataColumn: DFUDataColumn47[];\n }\n\n export interface DataColumns50 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn48 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns50;\n }\n\n export interface DFUDataKeyedColumns72 {\n DFUDataColumn: DFUDataColumn48[];\n }\n\n export interface DataColumns51 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn49 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns51;\n }\n\n export interface DFUDataKeyedColumns82 {\n DFUDataColumn: DFUDataColumn49[];\n }\n\n export interface DataColumns52 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn50 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns52;\n }\n\n export interface DFUDataKeyedColumns92 {\n DFUDataColumn: DFUDataColumn50[];\n }\n\n export interface DataColumns53 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn51 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns53;\n }\n\n export interface DFUDataKeyedColumns102 {\n DFUDataColumn: DFUDataColumn51[];\n }\n\n export interface DataColumns54 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn52 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns54;\n }\n\n export interface DFUDataKeyedColumns112 {\n DFUDataColumn: DFUDataColumn52[];\n }\n\n export interface DataColumns55 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn53 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns55;\n }\n\n export interface DFUDataKeyedColumns122 {\n DFUDataColumn: DFUDataColumn53[];\n }\n\n export interface DataColumns56 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn54 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns56;\n }\n\n export interface DFUDataKeyedColumns132 {\n DFUDataColumn: DFUDataColumn54[];\n }\n\n export interface DataColumns57 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn55 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns57;\n }\n\n export interface DFUDataKeyedColumns142 {\n DFUDataColumn: DFUDataColumn55[];\n }\n\n export interface DataColumns58 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn56 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns58;\n }\n\n export interface DFUDataKeyedColumns152 {\n DFUDataColumn: DFUDataColumn56[];\n }\n\n export interface DataColumns59 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn57 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns59;\n }\n\n export interface DFUDataKeyedColumns162 {\n DFUDataColumn: DFUDataColumn57[];\n }\n\n export interface DataColumns60 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn58 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns60;\n }\n\n export interface DFUDataKeyedColumns172 {\n DFUDataColumn: DFUDataColumn58[];\n }\n\n export interface DataColumns61 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn59 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns61;\n }\n\n export interface DFUDataKeyedColumns182 {\n DFUDataColumn: DFUDataColumn59[];\n }\n\n export interface DataColumns62 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn60 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns62;\n }\n\n export interface DFUDataKeyedColumns192 {\n DFUDataColumn: DFUDataColumn60[];\n }\n\n export interface DataColumns63 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn61 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns63;\n }\n\n export interface DFUDataKeyedColumns202 {\n DFUDataColumn: DFUDataColumn61[];\n }\n\n export interface DataColumns64 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn62 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns64;\n }\n\n export interface DFUDataNonKeyedColumns110 {\n DFUDataColumn: DFUDataColumn62[];\n }\n\n export interface DataColumns65 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn63 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns65;\n }\n\n export interface DFUDataNonKeyedColumns22 {\n DFUDataColumn: DFUDataColumn63[];\n }\n\n export interface DataColumns66 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn64 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns66;\n }\n\n export interface DFUDataNonKeyedColumns32 {\n DFUDataColumn: DFUDataColumn64[];\n }\n\n export interface DataColumns67 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn65 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns67;\n }\n\n export interface DFUDataNonKeyedColumns42 {\n DFUDataColumn: DFUDataColumn65[];\n }\n\n export interface DataColumns68 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn66 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns68;\n }\n\n export interface DFUDataNonKeyedColumns52 {\n DFUDataColumn: DFUDataColumn66[];\n }\n\n export interface DataColumns69 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn67 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns69;\n }\n\n export interface DFUDataNonKeyedColumns62 {\n DFUDataColumn: DFUDataColumn67[];\n }\n\n export interface DataColumns70 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn68 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns70;\n }\n\n export interface DFUDataNonKeyedColumns72 {\n DFUDataColumn: DFUDataColumn68[];\n }\n\n export interface DataColumns71 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn69 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns71;\n }\n\n export interface DFUDataNonKeyedColumns82 {\n DFUDataColumn: DFUDataColumn69[];\n }\n\n export interface DataColumns72 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn70 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns72;\n }\n\n export interface DFUDataNonKeyedColumns92 {\n DFUDataColumn: DFUDataColumn70[];\n }\n\n export interface DataColumns73 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn71 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns73;\n }\n\n export interface DFUDataNonKeyedColumns102 {\n DFUDataColumn: DFUDataColumn71[];\n }\n\n export interface DataColumns74 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn72 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns74;\n }\n\n export interface DFUDataNonKeyedColumns112 {\n DFUDataColumn: DFUDataColumn72[];\n }\n\n export interface DataColumns75 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn73 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns75;\n }\n\n export interface DFUDataNonKeyedColumns122 {\n DFUDataColumn: DFUDataColumn73[];\n }\n\n export interface DataColumns76 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn74 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns76;\n }\n\n export interface DFUDataNonKeyedColumns132 {\n DFUDataColumn: DFUDataColumn74[];\n }\n\n export interface DataColumns77 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn75 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns77;\n }\n\n export interface DFUDataNonKeyedColumns142 {\n DFUDataColumn: DFUDataColumn75[];\n }\n\n export interface DataColumns78 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn76 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns78;\n }\n\n export interface DFUDataNonKeyedColumns152 {\n DFUDataColumn: DFUDataColumn76[];\n }\n\n export interface DataColumns79 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn77 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns79;\n }\n\n export interface DFUDataNonKeyedColumns162 {\n DFUDataColumn: DFUDataColumn77[];\n }\n\n export interface DataColumns80 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn78 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns80;\n }\n\n export interface DFUDataNonKeyedColumns172 {\n DFUDataColumn: DFUDataColumn78[];\n }\n\n export interface DataColumns81 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn79 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns81;\n }\n\n export interface DFUDataNonKeyedColumns182 {\n DFUDataColumn: DFUDataColumn79[];\n }\n\n export interface DataColumns82 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn80 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns82;\n }\n\n export interface DFUDataNonKeyedColumns192 {\n DFUDataColumn: DFUDataColumn80[];\n }\n\n export interface DataColumns83 {\n DFUDataColumn: any[];\n }\n\n export interface DFUDataColumn81 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns83;\n }\n\n export interface DFUDataNonKeyedColumns202 {\n DFUDataColumn: DFUDataColumn81[];\n }\n\n export interface DataColumns84 {\n DFUDataColumn: any[];\n }\n\n export interface ColumnHidden2 {\n ColumnID: number;\n ColumnLabel: string;\n ColumnType: string;\n ColumnValue: string;\n ColumnSize: number;\n MaxSize: number;\n ColumnEclType: string;\n ColumnRawSize: number;\n IsNaturalColumn: boolean;\n IsKeyedColumn: boolean;\n DataColumns: DataColumns84;\n }\n\n export interface ColumnsHidden2 {\n ColumnHidden: ColumnHidden2[];\n }\n\n export interface DFUSearchDataResponse {\n Exceptions: Exceptions;\n OpenLogicalName: string;\n LogicalName: string;\n ParentName: string;\n StartIndex: number;\n EndIndex: number;\n DFUDataKeyedColumns1: DFUDataKeyedColumns110;\n DFUDataKeyedColumns2: DFUDataKeyedColumns22;\n DFUDataKeyedColumns3: DFUDataKeyedColumns32;\n DFUDataKeyedColumns4: DFUDataKeyedColumns42;\n DFUDataKeyedColumns5: DFUDataKeyedColumns52;\n DFUDataKeyedColumns6: DFUDataKeyedColumns62;\n DFUDataKeyedColumns7: DFUDataKeyedColumns72;\n DFUDataKeyedColumns8: DFUDataKeyedColumns82;\n DFUDataKeyedColumns9: DFUDataKeyedColumns92;\n DFUDataKeyedColumns10: DFUDataKeyedColumns102;\n DFUDataKeyedColumns11: DFUDataKeyedColumns112;\n DFUDataKeyedColumns12: DFUDataKeyedColumns122;\n DFUDataKeyedColumns13: DFUDataKeyedColumns132;\n DFUDataKeyedColumns14: DFUDataKeyedColumns142;\n DFUDataKeyedColumns15: DFUDataKeyedColumns152;\n DFUDataKeyedColumns16: DFUDataKeyedColumns162;\n DFUDataKeyedColumns17: DFUDataKeyedColumns172;\n DFUDataKeyedColumns18: DFUDataKeyedColumns182;\n DFUDataKeyedColumns19: DFUDataKeyedColumns192;\n DFUDataKeyedColumns20: DFUDataKeyedColumns202;\n DFUDataNonKeyedColumns1: DFUDataNonKeyedColumns110;\n DFUDataNonKeyedColumns2: DFUDataNonKeyedColumns22;\n DFUDataNonKeyedColumns3: DFUDataNonKeyedColumns32;\n DFUDataNonKeyedColumns4: DFUDataNonKeyedColumns42;\n DFUDataNonKeyedColumns5: DFUDataNonKeyedColumns52;\n DFUDataNonKeyedColumns6: DFUDataNonKeyedColumns62;\n DFUDataNonKeyedColumns7: DFUDataNonKeyedColumns72;\n DFUDataNonKeyedColumns8: DFUDataNonKeyedColumns82;\n DFUDataNonKeyedColumns9: DFUDataNonKeyedColumns92;\n DFUDataNonKeyedColumns10: DFUDataNonKeyedColumns102;\n DFUDataNonKeyedColumns11: DFUDataNonKeyedColumns112;\n DFUDataNonKeyedColumns12: DFUDataNonKeyedColumns122;\n DFUDataNonKeyedColumns13: DFUDataNonKeyedColumns132;\n DFUDataNonKeyedColumns14: DFUDataNonKeyedColumns142;\n DFUDataNonKeyedColumns15: DFUDataNonKeyedColumns152;\n DFUDataNonKeyedColumns16: DFUDataNonKeyedColumns162;\n DFUDataNonKeyedColumns17: DFUDataNonKeyedColumns172;\n DFUDataNonKeyedColumns18: DFUDataNonKeyedColumns182;\n DFUDataNonKeyedColumns19: DFUDataNonKeyedColumns192;\n DFUDataNonKeyedColumns20: DFUDataNonKeyedColumns202;\n RowCount: number;\n ShowColumns: string;\n ChooseFile: number;\n Name: string;\n FilterBy: string;\n FilterForGoBack: string;\n ColumnsHidden: ColumnsHidden2;\n ColumnCount: number;\n StartForGoback: number;\n CountForGoback: number;\n Start: number;\n Count: number;\n PageSize: number;\n Total: number;\n Result: string;\n MsgToDisplay: string;\n Cluster: string;\n ClusterType: string;\n File: string;\n Key: string;\n SchemaOnly: boolean;\n RoxieSelections: boolean;\n DisableUppercaseTranslation: boolean;\n AutoUppercaseTranslation: boolean;\n SelectedKey: string;\n }\n\n export interface DFUSpaceItem {\n Name: string;\n NumOfFiles: string;\n NumOfFilesUnknown: string;\n TotalSize: string;\n LargestFile: string;\n LargestSize: string;\n SmallestFile: string;\n SmallestSize: string;\n NumOfFilesInt64: number;\n NumOfFilesUnknownInt64: number;\n TotalSizeInt64: number;\n LargestSizeInt64: number;\n SmallestSizeInt64: number;\n }\n\n export interface DFUSpaceItems {\n DFUSpaceItem: DFUSpaceItem[];\n }\n\n export interface DFUSpaceResponse {\n Exceptions: Exceptions;\n CountBy: string;\n ScopeUnder: string;\n OwnerUnder: string;\n Interval: string;\n StartDate: string;\n EndDate: string;\n DFUSpaceItems: DFUSpaceItems;\n }\n\n export interface EclRecordTypeInfoResponse {\n jsonInfo: string;\n binInfo: string;\n }\n\n export interface Origin {\n Name: string;\n Operation: string;\n Timestamp: string;\n IP: string;\n Path: string;\n Owner: string;\n Workunit: string;\n }\n\n export interface History {\n Origin: Origin[];\n }\n\n export interface EraseHistoryResponse {\n Exceptions: Exceptions;\n History: History;\n }\n\n export interface Origin2 {\n Name: string;\n Operation: string;\n Timestamp: string;\n IP: string;\n Path: string;\n Owner: string;\n Workunit: string;\n }\n\n export interface History2 {\n Origin: Origin2[];\n }\n\n export interface ListHistoryResponse {\n Exceptions: Exceptions;\n History: History2;\n }\n\n export interface WsDfuPingResponse {\n }\n\n export interface SavexmlResponse {\n Exceptions: Exceptions;\n xmlmap: string;\n }\n\n export interface SuperfileActionResponse {\n Exceptions: Exceptions;\n superfile: string;\n retcode: number;\n }\n\n export interface Subfiles2 {\n Item: string[];\n }\n\n export interface SuperfileListResponse {\n Exceptions: Exceptions;\n superfile: string;\n subfiles: Subfiles2;\n }\n}\n\nexport class DFUService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsDfu\", \"1.62\");\n }\n\n DFUQuery(request: WsDfu.DFUQueryRequest): Promise<WsDfu.DFUQueryResponse> {\n return this._connection.send(\"DFUQuery\", request);\n }\n\n DFUInfo(request: WsDfu.DFUInfoRequest): Promise<WsDfu.DFUInfoResponse> {\n return this._connection.send(\"DFUInfo\", request);\n }\n\n DFUFile(request: WsDfu.DFUDefFileRequest): Promise<string> {\n return this._connection.send(\"DFUDefFile\", request, \"text\");\n }\n\n ListHistory(request: WsDfu.ListHistoryRequest): Promise<WsDfu.ListHistoryResponse> {\n return this._connection.send(\"ListHistory\", request);\n }\n\n EraseHistory(request: WsDfu.EraseHistoryRequest): Promise<WsDfu.EraseHistoryResponse> {\n return this._connection.send(\"EraseHistory\", request);\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { Service } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/WsDFUXRef/?ver_=1.01&reqjson_\n * http://localhost:8010/WsDFUXRef/?ver_=1.01&respjson_\n * http://json2ts.com/\n*/\n\nexport namespace WsDFUXRef {\n\n export interface XRefFiles {\n Item: string[];\n }\n\n export interface DFUXRefArrayActionRequest {\n Type: string;\n Cluster: string;\n Action: string;\n XRefFiles: XRefFiles;\n }\n\n export interface DFUXRefBuildRequest {\n Cluster: string;\n }\n\n export interface DFUXRefBuildCancelRequest {\n }\n\n export interface DFUXRefCleanDirectoriesRequest {\n Cluster: string;\n }\n\n export interface DFUXRefDirectoriesQueryRequest {\n Cluster: string;\n }\n\n export interface DFUXRefFoundFilesQueryRequest {\n Cluster: string;\n }\n\n export interface DFUXRefListRequest {\n }\n\n export interface DFUXRefLostFilesQueryRequest {\n Cluster: string;\n }\n\n export interface DFUXRefMessagesQueryRequest {\n Cluster: string;\n }\n\n export interface DFUXRefOrphanFilesQueryRequest {\n Cluster: string;\n }\n\n export interface DFUXRefUnusedFilesRequest {\n ProcessCluster: string;\n CheckPackageMaps: boolean;\n GetFileDetails: boolean;\n }\n\n export interface WsDFUXRefPingRequest {\n }\n\n export interface Request {\n DFUXRefArrayActionRequest: DFUXRefArrayActionRequest;\n DFUXRefBuildRequest: DFUXRefBuildRequest;\n DFUXRefBuildCancelRequest: DFUXRefBuildCancelRequest;\n DFUXRefCleanDirectoriesRequest: DFUXRefCleanDirectoriesRequest;\n DFUXRefDirectoriesQueryRequest: DFUXRefDirectoriesQueryRequest;\n DFUXRefFoundFilesQueryRequest: DFUXRefFoundFilesQueryRequest;\n DFUXRefListRequest: DFUXRefListRequest;\n DFUXRefLostFilesQueryRequest: DFUXRefLostFilesQueryRequest;\n DFUXRefMessagesQueryRequest: DFUXRefMessagesQueryRequest;\n DFUXRefOrphanFilesQueryRequest: DFUXRefOrphanFilesQueryRequest;\n DFUXRefUnusedFilesRequest: DFUXRefUnusedFilesRequest;\n WsDFUXRefPingRequest: WsDFUXRefPingRequest;\n }\n\n export interface DFUXRefArrayActionResponse {\n DFUXRefArrayActionResult: string;\n }\n\n export interface DFUXRefBuildResponse {\n DFUXRefActionResult: string;\n }\n\n export interface DFUXRefBuildCancelResponse {\n DFUXRefBuildCancelResult: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Directory {\n Num: string;\n Name: string;\n MaxSize: string;\n MaxIP: string;\n MinSize: string;\n MinIP: string;\n Size: string;\n PositiveSkew: string;\n }\n\n export interface DFUXRefDirectoriesQueryResult {\n Directory: Directory[];\n Cluster: string;\n }\n\n export interface DFUXRefDirectoriesQueryResponse {\n DFUXRefDirectoriesQueryResult: DFUXRefDirectoriesQueryResult;\n }\n\n export interface Part {\n Num: string;\n Node: string;\n }\n\n export interface File {\n Size: string;\n Partmask: string;\n Modified: Date;\n Numparts: string;\n Part: Part[];\n }\n\n export interface DFUXRefFoundFilesQueryResult {\n File: File[];\n Cluster: string;\n }\n\n export interface DFUXRefFoundFilesQueryResponse {\n DFUXRefFoundFilesQueryResult: DFUXRefFoundFilesQueryResult;\n }\n\n export interface XRefNode {\n Name: string;\n Modified: string;\n Status: string;\n }\n\n export interface DFUXRefListResult {\n XRefNode: XRefNode[];\n }\n\n export interface DFUXRefListResponse {\n DFUXRefListResult: DFUXRefListResult;\n }\n\n export interface File2 {\n Partslost: string;\n Name: string;\n Partmask: string;\n Modified: Date;\n Numparts: string;\n Part: any;\n Cluster: string;\n Size: string;\n Primarylost: string;\n Replicatedlost: string;\n }\n\n export interface DFUXRefLostFilesQueryResult {\n File: File2[];\n Cluster: string;\n }\n\n export interface DFUXRefLostFilesQueryResponse {\n DFUXRefLostFilesQueryResult: DFUXRefLostFilesQueryResult;\n }\n\n export interface Warning {\n Text: string;\n File: string;\n }\n\n export interface DFUXRefMessagesQueryResult {\n Warning: Warning[];\n Cluster: string;\n }\n\n export interface DFUXRefMessagesQueryResponse {\n DFUXRefMessagesQueryResult: DFUXRefMessagesQueryResult;\n }\n\n export interface DFUXRefOrphanFilesQueryResult {\n File: File[];\n Cluster: string;\n }\n\n export interface DFUXRefOrphanFilesQueryResponse {\n DFUXRefOrphanFilesQueryResult: DFUXRefOrphanFilesQueryResult;\n }\n\n export interface Exception2 {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions2 {\n Source: string;\n Exception: Exception2[];\n }\n\n export interface UnusedFiles {\n File: string[];\n }\n\n export interface DFULogicalFile {\n Prefix: string;\n ClusterName: string;\n Directory: string;\n Description: string;\n Parts: string;\n Name: string;\n Owner: string;\n Totalsize: string;\n RecordCount: string;\n Modified: string;\n LongSize: string;\n LongRecordCount: string;\n isSuperfile: boolean;\n isZipfile: boolean;\n isDirectory: boolean;\n Replicate: boolean;\n IntSize: number;\n IntRecordCount: number;\n }\n\n export interface UnusedFilesWithDetails {\n DFULogicalFile: DFULogicalFile[];\n }\n\n export interface DFUXRefUnusedFilesResponse {\n Exceptions: Exceptions2;\n UnusedFileCount: number;\n UnusedFiles: UnusedFiles;\n UnusedFilesWithDetails: UnusedFilesWithDetails;\n }\n\n export interface WsDFUXRefPingResponse {\n }\n}\n\nexport class DFUXRefService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsDFUXRef\", \"1.01\");\n }\n\n DFUXRefArrayAction(request: WsDFUXRef.DFUXRefArrayActionRequest): Promise<WsDFUXRef.DFUXRefArrayActionResponse> {\n return this._connection.send(\"DFUXRefArrayAction\", request);\n }\n\n DFUXRefBuild(request: WsDFUXRef.DFUXRefBuildRequest): Promise<WsDFUXRef.DFUXRefBuildResponse> {\n return this._connection.send(\"DFUXRefBuild\", request);\n }\n\n DFUXRefBuildCancel(request: WsDFUXRef.DFUXRefBuildCancelRequest): Promise<WsDFUXRef.DFUXRefBuildCancelResponse> {\n return this._connection.send(\"DFUXRefBuildCancel\", request);\n }\n\n DFUXRefCleanDirectories(request: WsDFUXRef.DFUXRefCleanDirectoriesRequest): Promise<WsDFUXRef.DFUXRefDirectoriesQueryResponse> {\n return this._connection.send(\"DFUXRefCleanDirectories\", request);\n }\n\n DFUXRefDirectories(request: WsDFUXRef.DFUXRefDirectoriesQueryRequest): Promise<WsDFUXRef.DFUXRefDirectoriesQueryResponse> {\n return this._connection.send(\"DFUXRefDirectories\", request, undefined, undefined, undefined, \"DFUXRefDirectoriesQueryResponse\");\n }\n\n DFUXRefFoundFiles(request: WsDFUXRef.DFUXRefFoundFilesQueryRequest): Promise<WsDFUXRef.DFUXRefFoundFilesQueryResponse> {\n return this._connection.send(\"DFUXRefFoundFiles\", request, undefined, undefined, undefined, \"DFUXRefFoundFilesQueryResponse\");\n }\n\n DFUXRefList(request: WsDFUXRef.DFUXRefListRequest = {}): Promise<WsDFUXRef.DFUXRefListResponse> {\n return this._connection.send(\"DFUXRefList\", request);\n }\n\n DFUXRefLostFiles(request: WsDFUXRef.DFUXRefLostFilesQueryRequest): Promise<WsDFUXRef.DFUXRefLostFilesQueryResponse> {\n return this._connection.send(\"DFUXRefLostFiles\", request, undefined, undefined, undefined, \"DFUXRefLostFilesQueryResponse\");\n }\n\n DFUXRefMessages(request: WsDFUXRef.DFUXRefMessagesQueryRequest): Promise<WsDFUXRef.DFUXRefMessagesQueryResponse> {\n return this._connection.send(\"DFUXRefMessages\", request, undefined, undefined, undefined, \"DFUXRefMessagesQueryResponse\");\n }\n\n DFUXRefOrphanFiles(request: WsDFUXRef.DFUXRefOrphanFilesQueryRequest): Promise<WsDFUXRef.DFUXRefOrphanFilesQueryResponse> {\n return this._connection.send(\"DFUXRefOrphanFiles\", request, undefined, undefined, undefined, \"DFUXRefOrphanFilesQueryResponse\");\n }\n\n DFUXRefUnusedFiles(request: WsDFUXRef.DFUXRefUnusedFilesRequest): Promise<WsDFUXRef.DFUXRefUnusedFilesResponse> {\n return this._connection.send(\"DFUXRefUnusedFiles\", request);\n }\n}\n","import { DDL2 } from \"@hpcc-js/ddl-shim\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { ESPExceptions, Service } from \"../espConnection\";\n\nexport type IFieldType = DDL2.IFieldType;\nexport type IField = DDL2.IField;\n\nexport type IWsEclRequest = IField[];\nexport type IWsEclResult = IField[];\nexport type IWsEclResponse = { [id: string]: IField[] };\n\nfunction jsonToIField(id: string, item: any): IField {\n const type = typeof item;\n switch (type) {\n case \"boolean\":\n case \"number\":\n case \"string\":\n return { id, type };\n case \"object\":\n if (item.Row instanceof Array) {\n item = item.Row;\n }\n if (item instanceof Array) {\n return {\n id,\n type: \"dataset\",\n children: jsonToIFieldArr(item[0])\n };\n } else if (item instanceof Object) {\n if (item.Item && item.Item instanceof Array && item.Item.length === 1) {\n const fieldType = typeof item.Item[0];\n if (fieldType === \"string\" || fieldType === \"number\") {\n return {\n id,\n type: \"set\",\n fieldType\n };\n }\n throw new Error(\"Unknown field type\");\n }\n return {\n id,\n type: \"object\",\n fields: jsonToIFieldObj(item)\n };\n }\n // Fall through ---\n default:\n throw new Error(\"Unknown field type\");\n }\n}\n\nfunction jsonToIFieldArr(json: any): IField[] {\n if (json.Row && json.Row instanceof Array) {\n json = json.Row[0];\n }\n const retVal: IField[] = [];\n for (const key in json) {\n retVal.push(jsonToIField(key, json[key]));\n }\n return retVal;\n}\n\nfunction jsonToIFieldObj(json: any): { [id: string]: IField } {\n const fields = {};\n for (const key in json) {\n fields[key] = jsonToIField(key, json[key]);\n }\n return fields;\n}\n\nexport class EclService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsEcl\", \"0\");\n }\n\n opts() {\n return this._connection.opts();\n }\n\n requestJson(querySet: string, queryId: string): Promise<IWsEclRequest> {\n // http://192.168.3.22:8002/WsEcl/example/request/query/roxie/peopleaccounts/json?display\n return this._connection.send(`example/request/query/${querySet}/${queryId}/json`, {}, \"text\").then(response => {\n const requestSchema = JSON.parse(response);\n for (const key in requestSchema) {\n return requestSchema[key];\n }\n return {};\n }).then(jsonToIFieldArr);\n }\n\n responseJson(querySet: string, queryId: string): Promise<IWsEclResponse> {\n // http://192.168.3.22:8002/WsEcl/example/response/query/roxie/peopleaccounts/json?display\n return this._connection.send(`example/response/query/${querySet}/${queryId}/json`, {}, \"text\").then(response => {\n const responseSchema = JSON.parse(response);\n for (const key in responseSchema) {\n return responseSchema[key].Results;\n }\n return {};\n }).then(resultsJson => {\n const retVal: IWsEclResponse = {};\n for (const key in resultsJson) {\n retVal[key] = jsonToIFieldArr(resultsJson[key]);\n }\n return retVal;\n });\n }\n\n submit(querySet: string, queryId: string, request: object) {\n // http://192.168.3.22:8002/WsEcl/submit/query/roxie/peopleaccounts.1/json\n const action = `submit/query/${querySet}/${queryId}`;\n return this._connection.send(action, request, \"json2\").then(response => {\n if (response.Results && response.Results.Exception) {\n throw new ESPExceptions(action, request, {\n Source: \"wsEcl.submit\",\n Exception: response.Results.Exception\n });\n }\n return response.Results;\n });\n }\n}\n","import { IConnection, IOptions } from \"../../../../connection\";\nimport { Service } from \"../../../../espConnection\";\n\ntype dateTime = string;\ntype unsignedInt = number;\ntype long = number;\n\nexport enum LogAccessType {\n All = 0,\n ByJobIdID = 1,\n ByComponent = 2,\n ByLogType = 3,\n ByTargetAudience = 4\n}\n\nexport namespace WsLogaccess {\n\n export interface GetLogAccessInfoRequest {\n\n }\n\n export interface GetLogAccessInfoResponse {\n RemoteLogManagerType: string;\n RemoteLogManagerConnectionString: string;\n }\n\n export interface Range {\n StartDate?: dateTime;\n EndDate?: dateTime;\n }\n\n export interface Columns {\n Item: string[];\n }\n\n export interface GetLogsRequest {\n LogCategory?: LogAccessType;\n SearchByValue?: string;\n Range?: Range;\n LogLineLimit?: unsignedInt;\n LogLineStartFrom?: long;\n Columns?: Columns;\n Format?: string;\n }\n\n export interface GetLogsResponse {\n LogLines: string;\n }\n\n export interface ws_logaccessPingRequest {\n\n }\n\n export interface ws_logaccessPingResponse {\n\n }\n\n}\n\nexport class LogaccessService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsLogaccess\", \"1\");\n }\n\n GetLogAccessInfo(request: WsLogaccess.GetLogAccessInfoRequest): Promise<WsLogaccess.GetLogAccessInfoResponse> {\n return this._connection.send(\"GetLogAccessInfo\", request);\n }\n\n GetLogs(request: WsLogaccess.GetLogsRequest): Promise<WsLogaccess.GetLogsResponse> {\n return this._connection.send(\"GetLogs\", request);\n }\n\n Ping(request: WsLogaccess.ws_logaccessPingRequest): Promise<WsLogaccess.ws_logaccessPingResponse> {\n return this._connection.send(\"Ping\", request);\n }\n\n}\n","import { LogaccessService, WsLogaccess } from \"./wsdl/WsLogaccess/v1/WsLogaccess\";\n\nexport {\n WsLogaccess\n};\n\nexport class LogaccessServiceEx extends LogaccessService {\n}","export default function(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import ascending from \"./ascending\";\nimport bisector from \"./bisector\";\n\nvar ascendingBisect = bisector(ascending);\nexport var bisectRight = ascendingBisect.right;\nexport var bisectLeft = ascendingBisect.left;\nexport default bisectRight;\n","import ascending from \"./ascending\";\n\nexport default function(compare) {\n if (compare.length === 1) compare = ascendingComparator(compare);\n return {\n left: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) < 0) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n },\n right: function(a, x, lo, hi) {\n if (lo == null) lo = 0;\n if (hi == null) hi = a.length;\n while (lo < hi) {\n var mid = lo + hi >>> 1;\n if (compare(a[mid], x) > 0) hi = mid;\n else lo = mid + 1;\n }\n return lo;\n }\n };\n}\n\nfunction ascendingComparator(f) {\n return function(d, x) {\n return ascending(f(d), x);\n };\n}\n","export default function(x) {\n return x === null ? NaN : +x;\n}\n","export default function(values, valueof) {\n var n = values.length,\n i = -1,\n value,\n max;\n\n if (valueof == null) {\n while (++i < n) { // Find the first comparable value.\n if ((value = values[i]) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = values[i]) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n else {\n while (++i < n) { // Find the first comparable value.\n if ((value = valueof(values[i], i, values)) != null && value >= value) {\n max = value;\n while (++i < n) { // Compare the remaining values.\n if ((value = valueof(values[i], i, values)) != null && value > max) {\n max = value;\n }\n }\n }\n }\n }\n\n return max;\n}\n","import number from \"./number\";\n\nexport default function(values, valueof) {\n var n = values.length,\n m = n,\n i = -1,\n value,\n sum = 0;\n\n if (valueof == null) {\n while (++i < n) {\n if (!isNaN(value = number(values[i]))) sum += value;\n else --m;\n }\n }\n\n else {\n while (++i < n) {\n if (!isNaN(value = number(valueof(values[i], i, values)))) sum += value;\n else --m;\n }\n }\n\n if (m) return sum / m;\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { Service } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/WsTopology/TpLogicalClusterQuery?respjson_\n * http://json2ts.com/\n*/\n\nexport namespace TpLogicalClusterQuery {\n export enum RoxieQueueFilter {\n All = \"All\",\n QueriesOnly = \"QueriesOnly\",\n WorkunitsOnly = \"WorkunitsOnly\"\n }\n\n export interface Request {\n EclServerQueue?: string;\n RoxieQueueFilter?: RoxieQueueFilter;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface TpLogicalCluster {\n Name: string;\n Queue: string;\n LanguageVersion: string;\n Process: string;\n Type: string;\n QueriesOnly?: boolean;\n }\n\n export interface TpLogicalClusters {\n TpLogicalCluster: TpLogicalCluster[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n TpLogicalClusters: TpLogicalClusters;\n }\n}\n\nexport namespace TpServiceQuery {\n export interface Request {\n Type?: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface TpMachine {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines {\n TpMachine: TpMachine[];\n }\n\n export interface TpDali {\n Name: string;\n Description: string;\n Build: string;\n BackupComputer: string;\n BackupDirectory: string;\n Type: string;\n Path: string;\n LogDirectory: string;\n TpMachines: TpMachines;\n }\n\n export interface TpDalis {\n TpDali: TpDali[];\n }\n\n export interface TpMachine2 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines2 {\n TpMachine: TpMachine2[];\n }\n\n export interface TpDfuServer {\n Name: string;\n Description: string;\n Build: string;\n Queue: string;\n Type: string;\n Path: string;\n LogDirectory: string;\n TpMachines: TpMachines2;\n }\n\n export interface TpDfuServers {\n TpDfuServer: TpDfuServer[];\n }\n\n export interface TpMachine3 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines3 {\n TpMachine: TpMachine3[];\n }\n\n export interface TpDkcSlave {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n TpMachines: TpMachines3;\n }\n\n export interface TpDkcSlaves {\n TpDkcSlave: TpDkcSlave[];\n }\n\n export interface TpMachine4 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines4 {\n TpMachine: TpMachine4[];\n }\n\n export interface TpDropZone {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n ECLWatchVisible: boolean;\n UMask: string;\n TpMachines: TpMachines4;\n }\n\n export interface TpDropZones {\n TpDropZone: TpDropZone[];\n }\n\n export interface TpMachine5 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines5 {\n TpMachine: TpMachine5[];\n }\n\n export interface TpEclAgent {\n Name: string;\n Description: string;\n Build: string;\n Type: string;\n Path: string;\n DaliServer: string;\n LogDir: string;\n TpMachines: TpMachines5;\n }\n\n export interface TpEclAgents {\n TpEclAgent: TpEclAgent[];\n }\n\n export interface TpMachine6 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines6 {\n TpMachine: TpMachine6[];\n }\n\n export interface TpEclServer {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines6;\n }\n\n export interface TpEclServers {\n TpEclServer: TpEclServer[];\n }\n\n export interface TpMachine7 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines7 {\n TpMachine: TpMachine7[];\n }\n\n export interface TpEclServer2 {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines7;\n }\n\n export interface TpEclCCServers {\n TpEclServer: TpEclServer2[];\n }\n\n export interface TpMachine8 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines8 {\n TpMachine: TpMachine8[];\n }\n\n export interface TpEclScheduler {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines8;\n }\n\n export interface TpEclSchedulers {\n TpEclScheduler: TpEclScheduler[];\n }\n\n export interface TpMachine9 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines9 {\n TpMachine: TpMachine9[];\n }\n\n export interface TpBinding {\n Name: string;\n Service: string;\n ServiceType: string;\n BindingType: string;\n ServiceBuildSet: string;\n Port: string;\n Protocol: string;\n }\n\n export interface TpBindings {\n TpBinding: TpBinding[];\n }\n\n export interface TpEspServer {\n Name: string;\n Description: string;\n Build: string;\n Type: string;\n Path: string;\n LogDirectory: string;\n TpMachines: TpMachines9;\n TpBindings: TpBindings;\n }\n\n export interface TpEspServers {\n TpEspServer: TpEspServer[];\n }\n\n export interface TpMachine10 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines10 {\n TpMachine: TpMachine10[];\n }\n\n export interface TpFTSlave {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n TpMachines: TpMachines10;\n }\n\n export interface TpFTSlaves {\n TpFTSlave: TpFTSlave[];\n }\n\n export interface TpMachine11 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines11 {\n TpMachine: TpMachine11[];\n }\n\n export interface TpGenesisServer {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n TpMachines: TpMachines11;\n }\n\n export interface TpGenesisServers {\n TpGenesisServer: TpGenesisServer[];\n }\n\n export interface TpMachine12 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines12 {\n TpMachine: TpMachine12[];\n }\n\n export interface TpLdapServer {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n TpMachines: TpMachines12;\n }\n\n export interface TpLdapServers {\n TpLdapServer: TpLdapServer[];\n }\n\n export interface TpMachine13 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines13 {\n TpMachine: TpMachine13[];\n }\n\n export interface TpMySqlServer {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n TpMachines: TpMachines13;\n }\n\n export interface TpMySqlServers {\n TpMySqlServer: TpMySqlServer[];\n }\n\n export interface TpMachine14 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines14 {\n TpMachine: TpMachine14[];\n }\n\n export interface TpSashaServer {\n Name: string;\n Description: string;\n Build: string;\n Path: string;\n LogDirectory: string;\n TpMachines: TpMachines14;\n }\n\n export interface TpSashaServers {\n TpSashaServer: TpSashaServer[];\n }\n\n export interface ServiceList {\n TpDalis: TpDalis;\n TpDfuServers: TpDfuServers;\n TpDkcSlaves: TpDkcSlaves;\n TpDropZones: TpDropZones;\n TpEclAgents: TpEclAgents;\n TpEclServers: TpEclServers;\n TpEclCCServers: TpEclCCServers;\n TpEclSchedulers: TpEclSchedulers;\n TpEspServers: TpEspServers;\n TpFTSlaves: TpFTSlaves;\n TpGenesisServers: TpGenesisServers;\n TpLdapServers: TpLdapServers;\n TpMySqlServers: TpMySqlServers;\n TpSashaServers: TpSashaServers;\n }\n\n export interface Response {\n Exceptions: Exceptions;\n MemThreshold: number;\n DiskThreshold: number;\n CpuThreshold: number;\n EncapsulatedSystem: boolean;\n EnableSNMP: boolean;\n PreflightProcessFilter: string;\n AcceptLanguage: string;\n MemThresholdType: string;\n DiskThresholdType: string;\n ServiceList: ServiceList;\n }\n}\n\nexport namespace TpTargetClusterQuery {\n\n export interface Request {\n Type?: string;\n Name?: string;\n ShowDetails?: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface TpMachine {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines {\n TpMachine: TpMachine[];\n }\n\n export interface TpCluster {\n Type: string;\n Name: string;\n QueueName: string;\n Build: string;\n Directory: string;\n LogDirectory: string;\n Desc: string;\n Path: string;\n DataModel: string;\n OS: number;\n HasThorSpareProcess: boolean;\n TpMachines: TpMachines;\n }\n\n export interface TpClusters {\n TpCluster: TpCluster[];\n }\n\n export interface TpMachine2 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines2 {\n TpMachine: TpMachine2[];\n }\n\n export interface TpEclServer {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines2;\n }\n\n export interface TpEclCCServers {\n TpEclServer: TpEclServer[];\n }\n\n export interface TpMachine3 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines3 {\n TpMachine: TpMachine3[];\n }\n\n export interface TpEclServer2 {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines3;\n }\n\n export interface TpEclServers {\n TpEclServer: TpEclServer2[];\n }\n\n export interface TpMachine4 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines4 {\n TpMachine: TpMachine4[];\n }\n\n export interface TpEclAgent {\n Name: string;\n Description: string;\n Build: string;\n Type: string;\n Path: string;\n DaliServer: string;\n LogDir: string;\n TpMachines: TpMachines4;\n }\n\n export interface TpEclAgents {\n TpEclAgent: TpEclAgent[];\n }\n\n export interface TpMachine5 {\n Name: string;\n Netaddress: string;\n ConfigNetaddress: string;\n Domain: string;\n Directory: string;\n Type: string;\n Available: string;\n OS: number;\n Path: string;\n Port: number;\n ProcessNumber: number;\n }\n\n export interface TpMachines5 {\n TpMachine: TpMachine5[];\n }\n\n export interface TpEclScheduler {\n Name: string;\n Description: string;\n Build: string;\n LogDirectory: string;\n Type: string;\n Path: string;\n TpMachines: TpMachines5;\n }\n\n export interface TpEclSchedulers {\n TpEclScheduler: TpEclScheduler[];\n }\n\n export interface TpTargetCluster {\n Name: string;\n Prefix: string;\n Type: string;\n TpClusters: TpClusters;\n TpEclCCServers: TpEclCCServers;\n TpEclServers: TpEclServers;\n TpEclAgents: TpEclAgents;\n TpEclSchedulers: TpEclSchedulers;\n }\n\n export interface TpTargetClusters {\n TpTargetCluster: TpTargetCluster[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n ShowDetails: boolean;\n MemThreshold: number;\n DiskThreshold: number;\n CpuThreshold: number;\n MemThresholdType: string;\n DiskThresholdType: string;\n PreflightProcessFilter: string;\n AcceptLanguage: string;\n TpTargetClusters: TpTargetClusters;\n }\n}\n\nexport namespace TpListTargetClusters {\n\n export interface Request {\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface TpClusterNameType {\n Name: string;\n Type: string;\n IsDefault: boolean;\n }\n\n export interface TargetClusters {\n TpClusterNameType: TpClusterNameType[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n TargetClusters: TargetClusters;\n }\n\n}\n\nexport class TopologyService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsTopology\", \"1.25\");\n }\n\n connectionOptions(): IOptions {\n return this._connection.opts();\n }\n\n protocol(): string {\n const parts = this._connection.opts().baseUrl.split(\"//\");\n return parts[0];\n }\n\n ip(): string {\n const parts = this._connection.opts().baseUrl.split(\"//\");\n const parts2 = parts[1].split(\":\");\n return parts2[0];\n }\n\n TpLogicalClusterQuery(request: TpLogicalClusterQuery.Request = {}): Promise<TpLogicalClusterQuery.Response> {\n return this._connection.send(\"TpLogicalClusterQuery\", request);\n }\n\n DefaultTpLogicalClusterQuery(request: TpLogicalClusterQuery.Request = {}): Promise<TpLogicalClusterQuery.TpLogicalCluster> {\n return this.TpLogicalClusterQuery(request).then((response) => {\n if ((response as any).default) {\n return (response as any).default;\n }\n let firstHThor;\n let first;\n response.TpLogicalClusters.TpLogicalCluster.some((item, idx) => {\n if (idx === 0) {\n first = item;\n }\n if (item.Type === \"hthor\") {\n firstHThor = item;\n return true;\n }\n return false;\n });\n return firstHThor || first;\n });\n }\n\n TpServiceQuery(request: TpServiceQuery.Request): Promise<TpServiceQuery.Response> {\n return this._connection.send(\"TpServiceQuery\", request);\n }\n\n TpTargetClusterQuery(request: TpTargetClusterQuery.Request): Promise<TpTargetClusterQuery.Response> {\n return this._connection.send(\"TpTargetClusterQuery\", request);\n }\n\n TpListTargetClusters(request: TpListTargetClusters.Request): Promise<TpListTargetClusters.Response> {\n return this._connection.send(\"TpListTargetClusters\", request);\n }\n}\n","import { exists } from \"@hpcc-js/util\";\nimport { max as d3Max, mean as d3Mean } from \"d3-array\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { ESPConnection } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://192.168.3.22:8010/ws_machine/GetTargetClusterInfo?respjson_\n * http://json2ts.com/\n*/\n\nexport namespace GetTargetClusterInfo {\n\n export interface TargetClusters {\n Item: string[];\n }\n\n export interface Request {\n TargetClusters?: TargetClusters;\n AddProcessesToFilter?: string;\n ApplyProcessFilter?: boolean;\n GetProcessorInfo?: boolean;\n GetStorageInfo?: boolean;\n LocalFileSystemsOnly?: boolean;\n GetSoftwareInfo?: boolean;\n MemThreshold?: number;\n DiskThreshold?: number;\n CpuThreshold?: number;\n AutoRefresh?: number;\n MemThresholdType?: string;\n DiskThresholdType?: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Columns {\n Item: string[];\n }\n\n export interface Addresses {\n Item: string[];\n }\n\n export interface RequestInfo {\n Addresses: Addresses;\n ClusterType: string;\n Cluster: string;\n OldIP: string;\n Path: string;\n AddProcessesToFilter: string;\n ApplyProcessFilter: boolean;\n GetProcessorInfo: boolean;\n GetStorageInfo: boolean;\n LocalFileSystemsOnly: boolean;\n GetSoftwareInfo: boolean;\n MemThreshold: number;\n DiskThreshold: number;\n CpuThreshold: number;\n AutoRefresh: number;\n MemThresholdType: string;\n DiskThresholdType: string;\n SecurityString: string;\n UserName: string;\n Password: string;\n EnableSNMP: boolean;\n }\n\n export interface ProcessorInfo {\n Type: string;\n Load: number;\n }\n\n export interface Processors {\n ProcessorInfo: ProcessorInfo[];\n }\n\n export interface StorageInfo {\n Description: string;\n Type: string;\n Available: number;\n PercentAvail: number;\n Total: number;\n Failures: number;\n }\n\n export interface Storage {\n StorageInfo: StorageInfo[];\n }\n\n export interface SWRunInfo {\n Name: string;\n Instances: number;\n State: number;\n }\n\n export interface Running {\n SWRunInfo: SWRunInfo[];\n }\n\n export interface PhysicalMemory {\n Description: string;\n Type: string;\n Available: number;\n PercentAvail: number;\n Total: number;\n Failures: number;\n }\n\n export interface VirtualMemory {\n Description: string;\n Type: string;\n Available: number;\n PercentAvail: number;\n Total: number;\n Failures: number;\n }\n\n export interface ComponentInfo {\n Condition: number;\n State: number;\n UpTime: string;\n }\n\n export interface MachineInfoEx {\n Address: string;\n ConfigAddress: string;\n Name: string;\n ProcessType: string;\n DisplayType: string;\n Description: string;\n AgentVersion: string;\n Contact: string;\n Location: string;\n UpTime: string;\n ComponentName: string;\n ComponentPath: string;\n RoxieState: string;\n RoxieStateDetails: string;\n OS: number;\n ProcessNumber: number;\n Processors: Processors;\n Storage: Storage;\n Running: Running;\n PhysicalMemory: PhysicalMemory;\n VirtualMemory: VirtualMemory;\n ComponentInfo: ComponentInfo;\n }\n\n export interface Processes {\n MachineInfoEx: MachineInfoEx[];\n }\n\n export interface TargetClusterInfo {\n Name: string;\n Type: string;\n Processes: Processes;\n }\n\n export interface TargetClusterInfoList {\n TargetClusterInfo: TargetClusterInfo[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Columns: Columns;\n RequestInfo: RequestInfo;\n TargetClusterInfoList: TargetClusterInfoList;\n TimeStamp: string;\n AcceptLanguage: string;\n }\n}\n\nexport namespace GetTargetClusterUsage {\n\n export interface TargetClusters {\n Item: string[];\n }\n\n export interface Request {\n TargetClusters?: TargetClusters;\n BypassCachedResult: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface DiskUsage {\n Name: string;\n Path: string;\n Description: string;\n InUse: number;\n Available: number;\n PercentAvailable: number;\n }\n\n export interface DiskUsages {\n DiskUsage: DiskUsage[];\n }\n\n export interface MachineUsage {\n Name: string;\n NetAddress: string;\n Description: string;\n DiskUsages: DiskUsages;\n }\n\n export interface MachineUsages {\n MachineUsage: MachineUsage[];\n }\n\n export interface ComponentUsage {\n Type: string;\n Name: string;\n Description: string;\n MachineUsages: MachineUsages;\n }\n\n export interface ComponentUsages {\n ComponentUsage: ComponentUsage[];\n }\n\n export interface TargetClusterUsage {\n Name: string;\n Description: string;\n ComponentUsages: ComponentUsages;\n }\n\n export interface TargetClusterUsages {\n TargetClusterUsage: TargetClusterUsage[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n TargetClusterUsages: TargetClusterUsages;\n }\n}\n\nexport namespace GetTargetClusterUsageEx {\n\n export interface DiskUsage {\n Name: string;\n Path: string;\n Description: string;\n InUse: number;\n Available: number;\n Total: number;\n PercentAvailable: number;\n PercentUsed: number;\n }\n\n export interface MachineUsage {\n Name: string;\n NetAddress: string;\n Description: string;\n DiskUsages: DiskUsage[];\n mean: number;\n max: number;\n }\n\n export interface ComponentUsage {\n Type: string;\n Name: string;\n Description: string;\n MachineUsages: MachineUsage[];\n MachineUsagesDescription: string;\n mean: number;\n max: number;\n }\n\n export interface TargetClusterUsage {\n Name: string;\n Description: string;\n ComponentUsages: ComponentUsage[];\n ComponentUsagesDescription: string;\n mean: number;\n max: number;\n }\n}\n\nexport class MachineService {\n private _connection: ESPConnection;\n\n constructor(optsConnection: IOptions | IConnection) {\n this._connection = new ESPConnection(optsConnection, \"ws_machine\", \"1.13\");\n }\n\n GetTargetClusterInfo(request: GetTargetClusterInfo.Request = {}): Promise<GetTargetClusterInfo.Response> {\n return this._connection.send(\"GetTargetClusterInfo\", request);\n }\n\n GetTargetClusterUsage(targetClusters?: string[], bypassCachedResult: boolean = false): Promise<GetTargetClusterUsage.TargetClusterUsage[]> {\n return this._connection.send(\"GetTargetClusterUsage\", {\n TargetClusters: targetClusters ? { Item: targetClusters } : {},\n BypassCachedResult: bypassCachedResult\n }).then(response => {\n return exists(\"TargetClusterUsages.TargetClusterUsage\", response) ? response.TargetClusterUsages.TargetClusterUsage : [];\n });\n }\n\n GetTargetClusterUsageEx(targetClusters?: string[], bypassCachedResult: boolean = false): Promise<GetTargetClusterUsageEx.TargetClusterUsage[]> {\n return this.GetTargetClusterUsage(targetClusters, bypassCachedResult).then(response => {\n return response.filter(tcu => !!tcu.ComponentUsages).map(tcu => {\n const ComponentUsages: GetTargetClusterUsageEx.ComponentUsage[] = tcu.ComponentUsages.ComponentUsage.map(cu => {\n const MachineUsages = (cu.MachineUsages && cu.MachineUsages.MachineUsage ? cu.MachineUsages.MachineUsage : []).map(mu => {\n const DiskUsages: GetTargetClusterUsageEx.DiskUsage[] = mu.DiskUsages && mu.DiskUsages.DiskUsage ? mu.DiskUsages.DiskUsage.map(du => {\n return {\n ...du,\n Total: du.InUse + du.Available,\n PercentUsed: 100 - du.PercentAvailable\n };\n }) : [];\n return {\n Name: mu.Name,\n NetAddress: mu.NetAddress,\n Description: mu.Description,\n DiskUsages,\n mean: d3Mean(DiskUsages.filter(du => !isNaN(du.PercentUsed)), du => du.PercentUsed),\n max: d3Max(DiskUsages.filter(du => !isNaN(du.PercentUsed)), du => du.PercentUsed)\n };\n });\n return {\n Type: cu.Type,\n Name: cu.Name,\n Description: cu.Description,\n MachineUsages,\n MachineUsagesDescription: MachineUsages.reduce((prev, mu) => prev + (mu.Description || \"\"), \"\"),\n mean: d3Mean(MachineUsages.filter(mu => !isNaN(mu.mean)), mu => mu.mean),\n max: d3Max(MachineUsages.filter(mu => !isNaN(mu.max)), mu => mu.max)\n };\n });\n return {\n Name: tcu.Name,\n Description: tcu.Description,\n ComponentUsages,\n ComponentUsagesDescription: ComponentUsages.reduce((prev, cu) => prev + (cu.MachineUsagesDescription || \"\"), \"\"),\n mean: d3Mean(ComponentUsages.filter(cu => !isNaN(cu.mean)), cu => cu.mean),\n max: d3Max(ComponentUsages.filter(cu => !isNaN(cu.max)), cu => cu.max)\n };\n });\n });\n }\n}\n","import { ResourcesService, WsResources } from \"./wsdl/WsResources/v1.01/WsResources\";\n\nexport {\n WsResources\n};\n\nexport class ResourcesServiceEx extends ResourcesService {\n}\n","import { IConnection, IOptions } from \"../../../../connection\";\nimport { Service } from \"../../../../espConnection\";\n\ntype unsignedInt = number;\n\nexport namespace WsResources {\n\n export interface WsResourcesPingRequest {\n\n }\n\n export interface WsResourcesPingResponse {\n\n }\n\n export interface ServiceQueryRequest {\n Type?: string;\n Name?: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Service {\n Name: string;\n Type: string;\n Port: unsignedInt;\n TLSSecure: boolean;\n }\n\n export interface Services {\n Service: Service[];\n }\n\n export interface ServiceQueryResponse {\n Exceptions: {\n Source: string;\n Exception: Exception[];\n };\n Services: {\n Service: Service[];\n };\n }\n\n export interface WebLinksQueryRequest {\n\n }\n\n export interface NamedValue {\n Name: string;\n Value: string;\n }\n\n export interface Annotations {\n NamedValue: NamedValue[];\n }\n\n export interface DiscoveredWebLink {\n ServiceName: string;\n NameSpace: string;\n Annotations: {\n NamedValue: NamedValue[];\n };\n }\n\n export interface DiscoveredWebLinks {\n DiscoveredWebLink: DiscoveredWebLink[];\n }\n\n export interface ConfiguredWebLink {\n Name: string;\n Description: string;\n URL: string;\n }\n\n export interface ConfiguredWebLinks {\n ConfiguredWebLink: ConfiguredWebLink[];\n }\n\n export interface WebLinksQueryResponse {\n Exceptions: Exceptions;\n DiscoveredWebLinks: {\n DiscoveredWebLink: DiscoveredWebLink[];\n };\n ConfiguredWebLinks: {\n ConfiguredWebLink: ConfiguredWebLink[];\n };\n }\n\n}\n\nexport class ResourcesService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsResources\", \"1.01\");\n }\n\n Ping(request: WsResources.WsResourcesPingRequest): Promise<WsResources.WsResourcesPingResponse> {\n return this._connection.send(\"Ping\", request);\n }\n\n ServiceQuery(request: WsResources.ServiceQueryRequest): Promise<WsResources.ServiceQueryResponse> {\n return this._connection.send(\"ServiceQuery\", request);\n }\n\n WebLinksQuery(request: WsResources.WebLinksQueryRequest): Promise<WsResources.WebLinksQueryResponse> {\n return this._connection.send(\"WebLinksQuery\", request);\n }\n\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { ESPConnection } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://192.168.3.22:8010/WsSMC/Activity?respjson_\n * http://json2ts.com/\n*/\n\nexport namespace WsSMC {\n\n export interface Activity {\n ChatURL: string;\n BannerContent: string;\n BannerColor: string;\n BannerSize: string;\n BannerScroll: string;\n BannerAction: number;\n EnableChatURL: boolean;\n FromSubmitBtn: boolean;\n SortBy: string;\n Descending: boolean;\n }\n\n export interface BrowseResources {\n }\n\n export interface ClearQueue {\n Cluster: string;\n QueueName: string;\n Comment: string;\n ServerType: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface GetBuildInfo {\n }\n\n export interface GetStatusServerInfo {\n ServerName: string;\n ServerType: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface GetThorQueueAvailability {\n }\n\n export interface Index {\n }\n\n export interface LockQuery {\n EPIP: string;\n XPath: string;\n DurationMSLow: number;\n DurationMSHigh: number;\n TimeLockedLow: string;\n TimeLockedHigh: string;\n Mode: string;\n AllFileLocks: boolean;\n }\n\n export interface MoveJobBack {\n ClusterType: number;\n Cluster: string;\n QueueName: string;\n Wuid: string;\n }\n\n export interface MoveJobDown {\n ClusterType: number;\n Cluster: string;\n QueueName: string;\n Wuid: string;\n }\n\n export interface MoveJobFront {\n ClusterType: number;\n Cluster: string;\n QueueName: string;\n Wuid: string;\n }\n\n export interface MoveJobUp {\n ClusterType: number;\n Cluster: string;\n QueueName: string;\n Wuid: string;\n }\n\n export interface NotInCommunityEdition {\n EEPortal: string;\n }\n\n export interface PauseQueue {\n Cluster: string;\n QueueName: string;\n Comment: string;\n ServerType: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface Ping {\n }\n\n export interface RemoveJob {\n ClusterType: number;\n Cluster: string;\n QueueName: string;\n Wuid: string;\n }\n\n export interface ResumeQueue {\n Cluster: string;\n QueueName: string;\n Comment: string;\n ServerType: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface RoxieControlCmd {\n ProcessCluster: string;\n TargetCluster: string;\n Command: string;\n Wait: number;\n }\n\n export interface SetBanner {\n ChatURL: string;\n BannerContent: string;\n BannerColor: string;\n BannerSize: string;\n BannerScroll: string;\n BannerAction: number;\n EnableChatURL: boolean;\n FromSubmitBtn: boolean;\n }\n\n export interface SMCJob {\n Wuid: string;\n QueueName: string;\n }\n\n export interface SMCJobs {\n SMCJob: SMCJob[];\n }\n\n export interface SetJobPriority {\n QueueName: string;\n Wuid: string;\n Priority: string;\n SMCJobs: SMCJobs;\n }\n\n export interface StopQueue {\n Cluster: string;\n QueueName: string;\n Comment: string;\n ServerType: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface TargetCluster {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n StatusDetails: string;\n Warning: string;\n ClusterType: number;\n ClusterSize: number;\n ClusterStatus: number;\n }\n\n export interface ThorClusterList {\n TargetCluster: TargetCluster[];\n }\n\n export interface TargetCluster2 {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n StatusDetails: string;\n Warning: string;\n ClusterType: number;\n ClusterSize: number;\n ClusterStatus: number;\n }\n\n export interface RoxieClusterList {\n TargetCluster: TargetCluster2[];\n }\n\n export interface TargetCluster3 {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n StatusDetails: string;\n Warning: string;\n ClusterType: number;\n ClusterSize: number;\n ClusterStatus: number;\n }\n\n export interface HThorClusterList {\n TargetCluster: TargetCluster3[];\n }\n\n export interface DFUJob {\n TimeStarted: string;\n Done: number;\n Total: number;\n Command: string;\n }\n\n export interface DFUJobs {\n DFUJob: DFUJob[];\n }\n\n export interface ActiveWorkunit {\n Wuid: string;\n State: string;\n StateID: number;\n Owner: string;\n Jobname: string;\n Server: string;\n Instance: string;\n Priority: string;\n Extra: string;\n GraphName: string;\n Duration: string;\n GID: string;\n QueueName: string;\n MemoryBlocked: number;\n IsPausing: boolean;\n Warning: string;\n ClusterName: string;\n ClusterType: string;\n ClusterQueueName: string;\n TargetClusterName: string;\n }\n\n export interface Running {\n ActiveWorkunit: ActiveWorkunit[];\n }\n\n export interface Queues {\n ServerJobQueue: any[];\n }\n\n export interface ServerJobQueue {\n QueueName: string;\n Queues: Queues;\n ServerName: string;\n ServerType: string;\n QueueStatus: string;\n StatusDetails: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface ServerJobQueues {\n ServerJobQueue: ServerJobQueue[];\n }\n\n export interface ActivityResponse {\n Exceptions: Exceptions;\n Build: string;\n ThorClusterList: ThorClusterList;\n RoxieClusterList: RoxieClusterList;\n HThorClusterList: HThorClusterList;\n DFUJobs: DFUJobs;\n Running: Running;\n BannerContent: string;\n BannerColor: string;\n BannerSize: string;\n BannerScroll: string;\n ChatURL: string;\n ShowBanner: number;\n ShowChatURL: number;\n SortBy: string;\n Descending: boolean;\n SuperUser: boolean;\n AccessRight: string;\n ServerJobQueues: ServerJobQueues;\n ActivityTime: string;\n DaliDetached: boolean;\n }\n\n export interface HPCCResource {\n Name: string;\n Description: string;\n FileName: string;\n Version: string;\n }\n\n export interface HPCCResources {\n HPCCResource: HPCCResource[];\n }\n\n export interface HPCCResourceRepository {\n Name: string;\n Path: string;\n HPCCResources: HPCCResources;\n }\n\n export interface HPCCResourceRepositories {\n HPCCResourceRepository: HPCCResourceRepository[];\n }\n\n export interface BrowseResourcesResponse {\n Exceptions: Exceptions;\n PortalURL: string;\n NetAddress: string;\n OS: number;\n UseResource: boolean;\n HPCCResourceRepositories: HPCCResourceRepositories;\n }\n\n export interface TargetClusterInfo {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n StatusDetails: string;\n Warning: string;\n ClusterType: number;\n ClusterSize: number;\n ClusterStatus: number;\n }\n\n export interface Queues2 {\n ServerJobQueue: any[];\n }\n\n export interface ServerInfo {\n QueueName: string;\n Queues: Queues2;\n ServerName: string;\n ServerType: string;\n QueueStatus: string;\n StatusDetails: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface ActiveWorkunit2 {\n Wuid: string;\n State: string;\n StateID: number;\n Owner: string;\n Jobname: string;\n Server: string;\n Instance: string;\n Priority: string;\n Extra: string;\n GraphName: string;\n Duration: string;\n GID: string;\n QueueName: string;\n MemoryBlocked: number;\n IsPausing: boolean;\n Warning: string;\n ClusterName: string;\n ClusterType: string;\n ClusterQueueName: string;\n TargetClusterName: string;\n }\n\n export interface Workunits {\n ActiveWorkunit: ActiveWorkunit2[];\n }\n\n export interface StatusServerInfo {\n TargetClusterInfo: TargetClusterInfo;\n ServerInfo: ServerInfo;\n Workunits: Workunits;\n }\n\n export interface SMCQueueResponse {\n Exceptions: Exceptions;\n StatusServerInfo: StatusServerInfo;\n }\n\n export interface NamedValue {\n Name: string;\n Value: string;\n }\n\n export interface BuildInfo {\n NamedValue: NamedValue[];\n }\n\n export interface GetBuildInfoResponse {\n Exceptions: Exceptions;\n BuildInfo: BuildInfo;\n }\n\n export interface TargetClusterInfo2 {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n StatusDetails: string;\n Warning: string;\n ClusterType: number;\n ClusterSize: number;\n ClusterStatus: number;\n }\n\n export interface Queues3 {\n ServerJobQueue: any[];\n }\n\n export interface ServerInfo2 {\n QueueName: string;\n Queues: Queues3;\n ServerName: string;\n ServerType: string;\n QueueStatus: string;\n StatusDetails: string;\n NetworkAddress: string;\n Port: number;\n }\n\n export interface ActiveWorkunit3 {\n Wuid: string;\n State: string;\n StateID: number;\n Owner: string;\n Jobname: string;\n Server: string;\n Instance: string;\n Priority: string;\n Extra: string;\n GraphName: string;\n Duration: string;\n GID: string;\n QueueName: string;\n MemoryBlocked: number;\n IsPausing: boolean;\n Warning: string;\n ClusterName: string;\n ClusterType: string;\n ClusterQueueName: string;\n TargetClusterName: string;\n }\n\n export interface Workunits2 {\n ActiveWorkunit: ActiveWorkunit3[];\n }\n\n export interface StatusServerInfo2 {\n TargetClusterInfo: TargetClusterInfo2;\n ServerInfo: ServerInfo2;\n Workunits: Workunits2;\n }\n\n export interface GetStatusServerInfoResponse {\n Exceptions: Exceptions;\n StatusServerInfo: StatusServerInfo2;\n }\n\n export interface ThorCluster {\n ClusterName: string;\n QueueName: string;\n QueueStatus: string;\n QueueAvailable: number;\n JobsRunning: number;\n JobsInQueue: number;\n QueueStatus2: number;\n ThorLCR: string;\n ClusterSize: number;\n }\n\n export interface ThorClusters {\n ThorCluster: ThorCluster[];\n }\n\n export interface GetThorQueueAvailabilityResponse {\n Exceptions: Exceptions;\n ThorClusters: ThorClusters;\n }\n\n export interface SMCIndexResponse {\n Exceptions: Exceptions;\n }\n\n export interface ModeNames {\n Item: string[];\n }\n\n export interface Lock {\n EPIP: string;\n XPath: string;\n LogicalFile: string;\n SessionID: number;\n DurationMS: number;\n TimeLocked: string;\n Modes: string;\n ModeNames: ModeNames;\n }\n\n export interface Locks {\n Lock: Lock[];\n }\n\n export interface LockQueryResponse {\n Exceptions: Exceptions;\n Locks: Locks;\n NumLocks: number;\n }\n\n export interface SMCJobResponse {\n Exceptions: Exceptions;\n }\n\n export interface NotInCommunityEditionResponse {\n Exceptions: Exceptions;\n }\n\n export interface WsSMCPingResponse {\n }\n\n export interface Endpoint {\n Address: string;\n Attached: boolean;\n StateHash: string;\n Status: string;\n }\n\n export interface Endpoints {\n Endpoint: Endpoint[];\n }\n\n export interface RoxieControlCmdResponse {\n Exceptions: Exceptions;\n Endpoints: Endpoints;\n }\n\n export interface SetBannerResponse {\n Exceptions: Exceptions;\n }\n\n export interface SMCPriorityResponse {\n Exceptions: Exceptions;\n }\n}\n\nexport class SMCService {\n private _connection: ESPConnection;\n\n constructor(optsConnection: IOptions | IConnection) {\n this._connection = new ESPConnection(optsConnection, \"WsSMC\", \"1.24\");\n }\n\n connectionOptions(): IOptions {\n return this._connection.opts();\n }\n\n Activity(request: Partial<WsSMC.Activity>): Promise<WsSMC.ActivityResponse> {\n return this._connection.send(\"Activity\", request).then(response => {\n return {\n Running: {\n ActiveWorkunit: []\n },\n ...response\n };\n });\n }\n\n BrowseResources(request: Partial<WsSMC.BrowseResources>): Promise<WsSMC.BrowseResourcesResponse> {\n return this._connection.send(\"BrowseResources\", request);\n }\n\n GetBuildInfo(request: Partial<WsSMC.GetBuildInfo>): Promise<WsSMC.GetBuildInfoResponse> {\n return this._connection.send(\"GetBuildInfo\", request);\n }\n\n GetStatusServerInfo(request: Partial<WsSMC.GetStatusServerInfo>): Promise<WsSMC.GetStatusServerInfoResponse> {\n return this._connection.send(\"GetStatusServerInfo\", request);\n }\n\n GetThorQueueAvailability(request: Partial<WsSMC.GetThorQueueAvailability>): Promise<WsSMC.GetThorQueueAvailabilityResponse> {\n return this._connection.send(\"GetThorQueueAvailability\", request);\n }\n\n LockQuery(request: Partial<WsSMC.LockQuery>): Promise<WsSMC.LockQueryResponse> {\n return this._connection.send(\"LockQuery\", request);\n }\n\n NotInCommunityEdition(request: Partial<WsSMC.NotInCommunityEdition>): Promise<WsSMC.NotInCommunityEditionResponse> {\n return this._connection.send(\"NotInCommunityEdition\", request);\n }\n\n RoxieControlCmd(request: Partial<WsSMC.RoxieControlCmd>): Promise<WsSMC.RoxieControlCmdResponse> {\n return this._connection.send(\"RoxieControlCmd\", request);\n }\n\n SetBanner(request: Partial<WsSMC.SetBanner>): Promise<WsSMC.SetBannerResponse> {\n return this._connection.send(\"SetBanner\", request);\n }\n\n SMCJob(request: Partial<WsSMC.SMCJob>): Promise<WsSMC.SMCJobResponse> {\n return this._connection.send(\"SMCJob\", request);\n }\n}\n","import { IConnection, IOptions } from \"../connection\";\nimport { Service } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/wsstore/Fetch?reqjson_\n * http://localhost:8010/wsstore/Fetch?respjson_\n * http://json2ts.com/\n*/\n\nexport namespace WsStore {\n\n export interface CreateStoreRequest {\n Name: string;\n Type: string;\n Description: string;\n UserSpecific: boolean;\n }\n\n export interface DeleteRequest {\n StoreName: string;\n Namespace: string;\n Key: string;\n UserSpecific: boolean;\n TargetUser?: string;\n }\n\n export interface DeleteNamespaceRequest {\n StoreName: string;\n Namespace: string;\n UserSpecific: boolean;\n TargetUser: string;\n }\n\n export interface FetchRequest {\n StoreName: string;\n Namespace: string;\n Key: string;\n UserSpecific: boolean;\n }\n\n export interface FetchAllRequest {\n StoreName: string;\n Namespace: string;\n UserSpecific: boolean;\n }\n\n export interface FetchKeyMDRequest {\n StoreName: string;\n Namespace: string;\n Key: string;\n UserSpecific: boolean;\n }\n\n export interface ListKeysRequest {\n StoreName: string;\n Namespace: string;\n UserSpecific: boolean;\n }\n\n export interface ListNamespacesRequest {\n StoreName: string;\n UserSpecific: boolean;\n }\n\n export interface SetRequest {\n StoreName: string;\n Namespace: string;\n Key: string;\n Value: string;\n UserSpecific: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface CreateStoreResponse {\n Exceptions: Exceptions;\n Name: string;\n Type: string;\n Description: string;\n Owner: string;\n }\n\n export interface DeleteResponse {\n Exceptions: Exceptions;\n Success: boolean;\n }\n\n export interface DeleteNamespaceResponse {\n Exceptions: Exceptions;\n Success: boolean;\n }\n\n export interface FetchResponse {\n Exceptions: Exceptions;\n Value: string;\n }\n\n export interface Pair {\n Key: string;\n Value: string;\n }\n\n export interface Pairs {\n Pair: Pair[];\n }\n\n export interface FetchAllResponse {\n Exceptions: Exceptions;\n Namespace: string;\n Pairs: Pairs;\n }\n\n export interface Pair2 {\n Key: string;\n Value: string;\n }\n\n export interface Pairs2 {\n Pair: Pair2[];\n }\n\n export interface FetchKeyMDResponse {\n Exceptions: Exceptions;\n StoreName: string;\n Namespace: string;\n Key: string;\n Pairs: Pairs2;\n }\n\n export interface KeySet {\n Key: string[];\n }\n\n export interface ListKeysResponse {\n Exceptions: Exceptions;\n StoreName: string;\n Namespace: string;\n KeySet: KeySet;\n }\n\n export interface Namespaces {\n Namespace: string[];\n }\n\n export interface ListNamespacesResponse {\n Exceptions: Exceptions;\n StoreName: string;\n Namespaces: Namespaces;\n }\n\n export interface WsstorePingResponse {\n }\n\n export interface SetResponse {\n Exceptions: Exceptions;\n Success: boolean;\n }\n}\n\nexport class StoreService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsStore\", \"1\");\n }\n\n CreateStore(request: WsStore.CreateStoreRequest): Promise<WsStore.CreateStoreResponse> {\n return this._connection.send(\"Fetch\", request);\n }\n\n Delete(request: WsStore.DeleteRequest): Promise<WsStore.DeleteResponse> {\n return this._connection.send(\"Delete\", request).catch(e => {\n if (e.isESPExceptions && e.Exception.some(e => e.Code === -1)) {\n // \"Delete\" item does not exist ---\n return {\n Exceptions: undefined,\n Success: true\n } as WsStore.DeleteResponse;\n }\n throw e;\n });\n }\n\n DeleteNamespace(request: WsStore.DeleteNamespaceRequest): Promise<WsStore.DeleteNamespaceResponse> {\n return this._connection.send(\"DeleteNamespace\", request);\n }\n\n Fetch(request: WsStore.FetchRequest): Promise<WsStore.FetchResponse> {\n return this._connection.send(\"Fetch\", request).catch(e => {\n if (e.isESPExceptions && e.Exception.some(e => e.Code === -1)) {\n // \"Fetch\" item does not exist ---\n return {\n Exceptions: undefined,\n Value: undefined\n } as WsStore.FetchResponse;\n }\n throw e;\n });\n }\n\n FetchAll(request: WsStore.FetchAllRequest): Promise<WsStore.FetchAllResponse> {\n return this._connection.send(\"FetchAll\", request);\n }\n\n FetchKeyMD(request: WsStore.FetchKeyMDRequest): Promise<WsStore.FetchKeyMDResponse> {\n return this._connection.send(\"FetchKeyMD\", request);\n }\n\n ListKeys(request: WsStore.ListKeysRequest): Promise<WsStore.ListKeysResponse> {\n return this._connection.send(\"ListKeys\", request);\n }\n\n ListNamespaces(request: WsStore.ListNamespacesRequest): Promise<WsStore.ListNamespacesResponse> {\n return this._connection.send(\"ListNamespaces\", request);\n }\n\n Set(request: WsStore.SetRequest): Promise<WsStore.SetResponse> {\n return this._connection.send(\"Set\", request);\n }\n}\n","import { deepMixin, xml2json, XMLNode } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { ESPConnection, Service } from \"../espConnection\";\n\n/*\n Response structures generated via:\n * http://localhost:8010/WsWorkunits/WUInfo?reqjson_\n * http://localhost:8010/WsWorkunits/WUInfo?respjson_\n * http://json2ts.com/\n*/\n\nexport enum WUStateID {\n Unknown = 0,\n Compiled,\n Running,\n Completed,\n Failed,\n Archived,\n Aborting,\n Aborted,\n Blocked,\n Submitted,\n Scheduled,\n Compiling,\n Wait,\n UploadingFiled,\n DebugPaused,\n DebugRunning,\n Paused,\n LAST,\n NotFound = 999\n}\n\nexport namespace WUInfo {\n export interface Request {\n Wuid: string;\n TruncateEclTo64k?: boolean;\n Type?: string;\n IncludeExceptions?: boolean;\n IncludeGraphs?: boolean;\n IncludeSourceFiles?: boolean;\n IncludeResults?: boolean;\n IncludeResultsViewNames?: boolean;\n IncludeVariables?: boolean;\n IncludeTimers?: boolean;\n IncludeDebugValues?: boolean;\n IncludeApplicationValues?: boolean;\n IncludeWorkflows?: boolean;\n IncludeXmlSchemas?: boolean;\n IncludeResourceURLs?: boolean;\n IncludeECL?: boolean;\n IncludeHelpers?: boolean;\n IncludeAllowedClusters?: boolean;\n IncludeTotalClusterTime?: boolean;\n IncludeServiceNames?: boolean;\n SuppressResultSchemas?: boolean;\n ThorSlaveIP?: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Query {\n Text: string;\n Cpp: string;\n ResTxt: string;\n Dll: string;\n ThorLog: string;\n QueryMainDefinition: string;\n }\n\n export interface ECLHelpFile {\n Name: string;\n Type: string;\n IPAddress: string;\n Description: string;\n FileSize: number;\n PID: number;\n minActivityId: number;\n maxActivityId: number;\n }\n\n export interface Helpers {\n ECLHelpFile: ECLHelpFile[];\n }\n\n export interface ECLException {\n Source: string;\n Severity: string;\n Code: number;\n Message: string;\n FileName: string;\n LineNo: number;\n Column: number;\n Activity: number;\n Scope?: string;\n Priority?: number;\n }\n\n export interface Exceptions2 {\n ECLException: ECLException[];\n }\n\n export interface ECLGraph {\n Name: string;\n Label: string;\n Type: string;\n Running: boolean;\n Complete: boolean;\n Failed: boolean;\n RunningId: number;\n WhenStarted: string;\n WhenFinished: string;\n }\n\n export interface Graphs {\n ECLGraph: ECLGraph[];\n }\n\n export interface ECLSourceFiles {\n ECLSourceFile: any[];\n }\n\n export interface ECLSourceFile {\n FileCluster: string;\n Name: string;\n IsSuperFile: boolean;\n Subs: number;\n Count: number;\n ECLSourceFiles: ECLSourceFiles;\n }\n\n export interface SourceFiles {\n ECLSourceFile: ECLSourceFile[];\n }\n\n export interface ECLSchemaItem {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas {\n ECLSchemaItem: ECLSchemaItem[];\n }\n\n export interface ECLResult {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas;\n XmlSchema: string;\n }\n\n export interface Results {\n ECLResult: ECLResult[];\n }\n\n export interface ECLSchemaItem2 {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas2 {\n ECLSchemaItem: ECLSchemaItem2[];\n }\n\n export interface ECLResult2 {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas2;\n XmlSchema: string;\n }\n\n export interface Variables {\n ECLResult: ECLResult2[];\n }\n\n export interface ECLTimer {\n Name: string;\n Value: string;\n count: number;\n GraphName: string;\n SubGraphId: number;\n Timestamp?: number;\n When?: string;\n }\n\n export interface Timers {\n ECLTimer: ECLTimer[];\n }\n\n export interface DebugValue {\n Name: string;\n Value: string;\n }\n\n export interface DebugValues {\n DebugValue: DebugValue[];\n }\n\n export interface ApplicationValue {\n Application: string;\n Name: string;\n Value: string;\n }\n\n export interface ApplicationValues {\n ApplicationValue: ApplicationValue[];\n }\n\n export interface ECLWorkflow {\n WFID: string;\n EventName: string;\n EventText: string;\n Count: number;\n CountRemaining: number;\n }\n\n export interface Workflows {\n ECLWorkflow: ECLWorkflow[];\n }\n\n export interface ECLTimingData {\n Name: string;\n GraphNum: number;\n SubGraphNum: number;\n GID: number;\n Min: number;\n MS: number;\n }\n\n export interface TimingData {\n ECLTimingData: ECLTimingData[];\n }\n\n export interface AllowedClusters {\n AllowedCluster: string[];\n }\n\n export interface ThorLogInfo {\n ProcessName: string;\n ClusterGroup: string;\n LogDate: string;\n NumberSlaves: number;\n }\n\n export interface ThorLogList {\n ThorLogInfo: ThorLogInfo[];\n }\n\n export interface ResourceURLs {\n URL: string[];\n }\n\n export interface ServiceNames {\n Item: string[];\n }\n\n export interface Workunit {\n Wuid: string;\n Owner: string;\n Cluster: string;\n RoxieCluster: string;\n Jobname: string;\n Queue: string;\n StateID: number;\n State: string;\n StateEx: string;\n Description: string;\n Protected: boolean;\n Active: boolean;\n Action: number;\n ActionEx: string;\n DateTimeScheduled: string;\n PriorityClass: number;\n PriorityLevel: number;\n Scope: string;\n Snapshot: string;\n ResultLimit: number;\n Archived: boolean;\n IsPausing: boolean;\n ThorLCR: boolean;\n EventSchedule: number;\n HaveSubGraphTimings?: boolean;\n TotalClusterTime: string;\n AbortBy: string;\n AbortTime: string;\n Query: Query;\n Helpers: Helpers;\n Exceptions: Exceptions2;\n Graphs: Graphs;\n SourceFiles: SourceFiles;\n Results: Results;\n Variables: Variables;\n Timers: Timers;\n DebugValues: DebugValues;\n ApplicationValues: ApplicationValues;\n Workflows: Workflows;\n TimingData: TimingData;\n AllowedClusters: AllowedClusters;\n ErrorCount: number;\n WarningCount: number;\n InfoCount: number;\n AlertCount: number;\n GraphCount: number;\n SourceFileCount: number;\n ResultCount: number;\n VariableCount: number;\n TimerCount: number;\n HasDebugValue: boolean;\n ApplicationValueCount: number;\n XmlParams: string;\n AccessFlag: number;\n ClusterFlag: number;\n HelpersDesc: string;\n GraphsDesc: string;\n SourceFilesDesc: string;\n ResultsDesc: string;\n VariablesDesc: string;\n TimersDesc: string;\n DebugValuesDesc: string;\n ApplicationValuesDesc: string;\n WorkflowsDesc: string;\n HasArchiveQuery: boolean;\n ThorLogList: ThorLogList;\n ResourceURLs: ResourceURLs;\n ResultViewCount: number;\n ResourceURLCount: number;\n DebugValueCount: number;\n WorkflowCount: number;\n HelpersCount: number;\n ServiceNames?: ServiceNames;\n ExecuteCost?: number;\n FileAccessCost?: number;\n }\n\n export interface ResultViews {\n View: string[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Workunit: Workunit;\n AutoRefresh: number;\n CanCompile: boolean;\n ThorSlaveIP: string;\n ResultViews: ResultViews;\n SecMethod: string;\n }\n}\n\nexport function isECLResult(_: any): _ is WUInfo.ECLResult {\n return typeof (_ as WUInfo.ECLResult).Name === \"string\";\n}\n\nexport namespace WUQuery {\n export interface ApplicationValue {\n Application: string;\n Name: string;\n Value: string;\n }\n\n export interface Request {\n Wuid?: string;\n Type?: string;\n Cluster?: string;\n RoxieCluster?: string;\n Owner?: string;\n State?: string;\n StartDate?: string;\n EndDate?: string;\n ECL?: string;\n Jobname?: string;\n LogicalFile?: string;\n LogicalFileSearchType?: string;\n ApplicationValues?: {\n ApplicationValue: ApplicationValue[]\n };\n After?: string;\n Before?: string;\n Count?: number;\n PageSize?: number;\n PageStartFrom?: number;\n PageEndAt?: number;\n LastNDays?: number;\n Sortby?: string;\n Descending?: boolean;\n CacheHint?: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Query {\n Text: string;\n Cpp: string;\n ResTxt: string;\n Dll: string;\n ThorLog: string;\n QueryMainDefinition: string;\n }\n\n export interface ECLHelpFile {\n Name: string;\n Type: string;\n IPAddress: string;\n Description: string;\n FileSize: number;\n PID: number;\n minActivityId: number;\n maxActivityId: number;\n }\n\n export interface Helpers {\n ECLHelpFile: ECLHelpFile[];\n }\n\n export interface ECLException {\n Source: string;\n Severity: string;\n Code: number;\n Message: string;\n FileName: string;\n LineNo: number;\n Column: number;\n Activity: number;\n }\n\n export interface Exceptions2 {\n ECLException: ECLException[];\n }\n\n export interface ECLGraph {\n Name: string;\n Label: string;\n Type: string;\n Running: boolean;\n Complete: boolean;\n Failed: boolean;\n RunningId: number;\n WhenStarted: string;\n WhenFinished: string;\n }\n\n export interface Graphs {\n ECLGraph: ECLGraph[];\n }\n\n export interface ECLSourceFiles {\n ECLSourceFile: any[];\n }\n\n export interface ECLSourceFile {\n FileCluster: string;\n Name: string;\n IsSuperFile: boolean;\n Subs: number;\n Count: number;\n ECLSourceFiles: ECLSourceFiles;\n }\n\n export interface SourceFiles {\n ECLSourceFile: ECLSourceFile[];\n }\n\n export interface ECLSchemaItem {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas {\n ECLSchemaItem: ECLSchemaItem[];\n }\n\n export interface ECLResult {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas;\n XmlSchema: string;\n }\n\n export interface Results {\n ECLResult: ECLResult[];\n }\n\n export interface ECLSchemaItem2 {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas2 {\n ECLSchemaItem: ECLSchemaItem2[];\n }\n\n export interface ECLResult2 {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas2;\n XmlSchema: string;\n }\n\n export interface Variables {\n ECLResult: ECLResult2[];\n }\n\n export interface ECLTimer {\n Name: string;\n Value: string;\n count: number;\n GraphName: string;\n SubGraphId: number;\n }\n\n export interface Timers {\n ECLTimer: ECLTimer[];\n }\n\n export interface DebugValue {\n Name: string;\n Value: string;\n }\n\n export interface DebugValues {\n DebugValue: DebugValue[];\n }\n\n export interface ApplicationValue {\n Application: string;\n Name: string;\n Value: string;\n }\n\n export interface ApplicationValues {\n ApplicationValue: ApplicationValue[];\n }\n\n export interface ECLWorkflow {\n WFID: string;\n EventName: string;\n EventText: string;\n Count: number;\n CountRemaining: number;\n }\n\n export interface Workflows {\n ECLWorkflow: ECLWorkflow[];\n }\n\n export interface ECLTimingData {\n Name: string;\n GraphNum: number;\n SubGraphNum: number;\n GID: number;\n Min: number;\n MS: number;\n }\n\n export interface TimingData {\n ECLTimingData: ECLTimingData[];\n }\n\n export interface AllowedClusters {\n AllowedCluster: string[];\n }\n\n export interface ThorLogInfo {\n ProcessName: string;\n ClusterGroup: string;\n LogDate: string;\n NumberSlaves: number;\n }\n\n export interface ThorLogList {\n ThorLogInfo: ThorLogInfo[];\n }\n\n export interface ResourceURLs {\n URL: string[];\n }\n\n export interface ECLWorkunit {\n Wuid: string;\n Owner: string;\n Cluster: string;\n RoxieCluster: string;\n Jobname: string;\n Queue: string;\n StateID: number;\n State: string;\n StateEx: string;\n Description: string;\n Protected: boolean;\n Active: boolean;\n Action: number;\n ActionEx: string;\n DateTimeScheduled: string;\n PriorityClass: number;\n PriorityLevel: number;\n Scope: string;\n Snapshot: string;\n ResultLimit: number;\n Archived: boolean;\n IsPausing: boolean;\n ThorLCR: boolean;\n EventSchedule: number;\n HaveSubGraphTimings: boolean;\n TotalClusterTime: string;\n AbortBy: string;\n AbortTime: string;\n Query: Query;\n Helpers: Helpers;\n Exceptions: Exceptions2;\n Graphs: Graphs;\n SourceFiles: SourceFiles;\n Results: Results;\n Variables: Variables;\n Timers: Timers;\n DebugValues: DebugValues;\n ApplicationValues: ApplicationValues;\n Workflows: Workflows;\n TimingData: TimingData;\n AllowedClusters: AllowedClusters;\n ErrorCount: number;\n WarningCount: number;\n InfoCount: number;\n AlertCount: number;\n GraphCount: number;\n SourceFileCount: number;\n ResultCount: number;\n VariableCount: number;\n TimerCount: number;\n HasDebugValue: boolean;\n ApplicationValueCount: number;\n XmlParams: string;\n AccessFlag: number;\n ClusterFlag: number;\n HelpersDesc: string;\n GraphsDesc: string;\n SourceFilesDesc: string;\n ResultsDesc: string;\n VariablesDesc: string;\n TimersDesc: string;\n DebugValuesDesc: string;\n ApplicationValuesDesc: string;\n WorkflowsDesc: string;\n HasArchiveQuery: boolean;\n ThorLogList: ThorLogList;\n ResourceURLs: ResourceURLs;\n ResultViewCount: number;\n ResourceURLCount: number;\n DebugValueCount: number;\n WorkflowCount: number;\n HelpersCount: number;\n ExecuteCost?: number;\n FileAccessCost?: number;\n }\n\n export interface Workunits {\n ECLWorkunit: ECLWorkunit[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Type: string;\n Cluster: string;\n RoxieCluster: string;\n Owner: string;\n State: string;\n StartDate: string;\n EndDate: string;\n ECL: string;\n Jobname: string;\n LogicalFile: string;\n LogicalFileSearchType: string;\n Current: string;\n Next: string;\n Count: number;\n PageSize: number;\n PrevPage: number;\n NextPage: number;\n LastPage: number;\n NumWUs: number;\n First: boolean;\n PageStartFrom: number;\n PageEndAt: number;\n LastNDays: number;\n Sortby: string;\n Descending: boolean;\n BasicQuery: string;\n Filters: string;\n CacheHint: number;\n Workunits: Workunits;\n }\n}\n\nexport namespace WUCreate {\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Query {\n Text: string;\n Cpp: string;\n ResTxt: string;\n Dll: string;\n ThorLog: string;\n QueryMainDefinition: string;\n }\n\n export interface ECLHelpFile {\n Name: string;\n Type: string;\n IPAddress: string;\n Description: string;\n FileSize: number;\n PID: number;\n minActivityId: number;\n maxActivityId: number;\n }\n\n export interface Helpers {\n ECLHelpFile: ECLHelpFile[];\n }\n\n export interface ECLException {\n Source: string;\n Severity: string;\n Code: number;\n Message: string;\n FileName: string;\n LineNo: number;\n Column: number;\n Activity: number;\n }\n\n export interface Exceptions2 {\n ECLException: ECLException[];\n }\n\n export interface ECLGraph {\n Name: string;\n Label: string;\n Type: string;\n Running: boolean;\n Complete: boolean;\n Failed: boolean;\n RunningId: number;\n WhenStarted: string;\n WhenFinished: string;\n }\n\n export interface Graphs {\n ECLGraph: ECLGraph[];\n }\n\n export interface ECLSourceFiles {\n ECLSourceFile: any[];\n }\n\n export interface ECLSourceFile {\n FileCluster: string;\n Name: string;\n IsSuperFile: boolean;\n Subs: number;\n Count: number;\n ECLSourceFiles: ECLSourceFiles;\n }\n\n export interface SourceFiles {\n ECLSourceFile: ECLSourceFile[];\n }\n\n export interface ECLSchemaItem {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas {\n ECLSchemaItem: ECLSchemaItem[];\n }\n\n export interface ECLResult {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas;\n XmlSchema: string;\n }\n\n export interface Results {\n ECLResult: ECLResult[];\n }\n\n export interface ECLSchemaItem2 {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas2 {\n ECLSchemaItem: ECLSchemaItem2[];\n }\n\n export interface ECLResult2 {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas2;\n XmlSchema: string;\n }\n\n export interface Variables {\n ECLResult: ECLResult2[];\n }\n\n export interface ECLTimer {\n Name: string;\n Value: string;\n count: number;\n GraphName: string;\n SubGraphId: number;\n }\n\n export interface Timers {\n ECLTimer: ECLTimer[];\n }\n\n export interface DebugValue {\n Name: string;\n Value: string;\n }\n\n export interface DebugValues {\n DebugValue: DebugValue[];\n }\n\n export interface ApplicationValue {\n Application: string;\n Name: string;\n Value: string;\n }\n\n export interface ApplicationValues {\n ApplicationValue: ApplicationValue[];\n }\n\n export interface ECLWorkflow {\n WFID: string;\n EventName: string;\n EventText: string;\n Count: number;\n CountRemaining: number;\n }\n\n export interface Workflows {\n ECLWorkflow: ECLWorkflow[];\n }\n\n export interface ECLTimingData {\n Name: string;\n GraphNum: number;\n SubGraphNum: number;\n GID: number;\n Min: number;\n MS: number;\n }\n\n export interface TimingData {\n ECLTimingData: ECLTimingData[];\n }\n\n export interface AllowedClusters {\n AllowedCluster: string[];\n }\n\n export interface ThorLogInfo {\n ProcessName: string;\n ClusterGroup: string;\n LogDate: string;\n NumberSlaves: number;\n }\n\n export interface ThorLogList {\n ThorLogInfo: ThorLogInfo[];\n }\n\n export interface ResourceURLs {\n URL: string[];\n }\n\n export interface Workunit {\n Wuid: string;\n Owner: string;\n Cluster: string;\n RoxieCluster: string;\n Jobname: string;\n Queue: string;\n StateID: number;\n State: string;\n StateEx: string;\n Description: string;\n Protected: boolean;\n Active: boolean;\n Action: number;\n ActionEx: string;\n DateTimeScheduled: string;\n PriorityClass: number;\n PriorityLevel: number;\n Scope: string;\n Snapshot: string;\n ResultLimit: number;\n Archived: boolean;\n IsPausing: boolean;\n ThorLCR: boolean;\n EventSchedule: number;\n HaveSubGraphTimings: boolean;\n TotalClusterTime: string;\n AbortBy: string;\n AbortTime: string;\n Query: Query;\n Helpers: Helpers;\n Exceptions: Exceptions2;\n Graphs: Graphs;\n SourceFiles: SourceFiles;\n Results: Results;\n Variables: Variables;\n Timers: Timers;\n DebugValues: DebugValues;\n ApplicationValues: ApplicationValues;\n Workflows: Workflows;\n TimingData: TimingData;\n AllowedClusters: AllowedClusters;\n ErrorCount: number;\n WarningCount: number;\n InfoCount: number;\n AlertCount: number;\n GraphCount: number;\n SourceFileCount: number;\n ResultCount: number;\n VariableCount: number;\n TimerCount: number;\n HasDebugValue: boolean;\n ApplicationValueCount: number;\n XmlParams: string;\n AccessFlag: number;\n ClusterFlag: number;\n HelpersDesc: string;\n GraphsDesc: string;\n SourceFilesDesc: string;\n ResultsDesc: string;\n VariablesDesc: string;\n TimersDesc: string;\n DebugValuesDesc: string;\n ApplicationValuesDesc: string;\n WorkflowsDesc: string;\n HasArchiveQuery: boolean;\n ThorLogList: ThorLogList;\n ResourceURLs: ResourceURLs;\n ResultViewCount: number;\n ResourceURLCount: number;\n DebugValueCount: number;\n WorkflowCount: number;\n HelpersCount: number;\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Workunit: Workunit;\n }\n}\n\nexport namespace WUListQueries {\n export interface Request {\n QueryID: string;\n QueryName: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface ClusterQueryState {\n Cluster: string;\n State: string;\n Errors: string;\n MixedNodeStates: boolean;\n }\n\n export interface Clusters {\n ClusterQueryState: ClusterQueryState[];\n }\n\n export interface QuerySetQuery {\n Id: string;\n Name: string;\n Wuid: string;\n Dll: string;\n Suspended: boolean;\n Clusters: Clusters;\n memoryLimit: string;\n timeLimit: number;\n warnTimeLimit: number;\n priority: string;\n Comment: string;\n QuerySetId: string;\n IsLibrary: boolean;\n Activated: boolean;\n PublishedBy: string;\n snapshot: string;\n }\n\n export interface QuerysetQueries {\n QuerySetQuery: QuerySetQuery[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n NumberOfQueries: number;\n CacheHint: number;\n QuerysetQueries: QuerysetQueries;\n }\n}\n\nexport namespace WUPushEvent {\n export interface Request {\n EventName: string;\n EventText: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n }\n}\n\nexport namespace WUUpdate {\n export enum Action {\n Unknown = 0,\n Compile,\n Check,\n Run,\n ExecuteExisting,\n Pause,\n PauseNow,\n Resume,\n Debug,\n __size\n }\n\n export interface Request {\n Wuid: string;\n State?: string;\n StateOrig?: string;\n Jobname?: string;\n JobnameOrig?: string;\n QueryText?: string;\n Action?: Action;\n Description?: string;\n DescriptionOrig?: string;\n AddDrilldownFields?: boolean;\n ResultLimit?: number;\n Protected?: boolean;\n ProtectedOrig?: boolean;\n PriorityClass?: string;\n PriorityLevel?: string;\n Scope?: string;\n ScopeOrig?: string;\n ClusterSelection?: string;\n ClusterOrig?: string;\n XmlParams?: string;\n ThorSlaveIP?: string;\n QueryMainDefinition?: string;\n DebugValues?: DebugValues;\n ApplicationValues?: ApplicationValues;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Query {\n Text: string;\n Cpp: string;\n ResTxt: string;\n Dll: string;\n ThorLog: string;\n QueryMainDefinition: string;\n }\n\n export interface ECLHelpFile {\n Name: string;\n Type: string;\n IPAddress: string;\n Description: string;\n FileSize: number;\n PID: number;\n minActivityId: number;\n maxActivityId: number;\n }\n\n export interface Helpers {\n ECLHelpFile: ECLHelpFile[];\n }\n\n export interface ECLException {\n Source: string;\n Severity: string;\n Code: number;\n Message: string;\n FileName: string;\n LineNo: number;\n Column: number;\n Activity: number;\n }\n\n export interface Exceptions2 {\n ECLException: ECLException[];\n }\n\n export interface ECLGraph {\n Name: string;\n Label: string;\n Type: string;\n Running: boolean;\n Complete: boolean;\n Failed: boolean;\n RunningId: number;\n WhenStarted: string;\n WhenFinished: string;\n }\n\n export interface Graphs {\n ECLGraph: ECLGraph[];\n }\n\n export interface ECLSourceFiles {\n ECLSourceFile: any[];\n }\n\n export interface ECLSourceFile {\n FileCluster: string;\n Name: string;\n IsSuperFile: boolean;\n Subs: number;\n Count: number;\n ECLSourceFiles: ECLSourceFiles;\n }\n\n export interface SourceFiles {\n ECLSourceFile: ECLSourceFile[];\n }\n\n export interface ECLSchemaItem {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas {\n ECLSchemaItem: ECLSchemaItem[];\n }\n\n export interface ECLResult {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas;\n XmlSchema: string;\n }\n\n export interface Results {\n ECLResult: ECLResult[];\n }\n\n export interface ECLSchemaItem2 {\n ColumnName: string;\n ColumnType: string;\n ColumnTypeCode: number;\n isConditional: boolean;\n }\n\n export interface ECLSchemas2 {\n ECLSchemaItem: ECLSchemaItem2[];\n }\n\n export interface ECLResult2 {\n Name: string;\n Sequence: number;\n Value: string;\n Link: string;\n FileName: string;\n IsSupplied: boolean;\n ShowFileContent: boolean;\n Total: number;\n ECLSchemas: ECLSchemas2;\n XmlSchema: string;\n }\n\n export interface Variables {\n ECLResult: ECLResult2[];\n }\n\n export interface ECLTimer {\n Name: string;\n Value: string;\n count: number;\n GraphName: string;\n SubGraphId: number;\n }\n\n export interface Timers {\n ECLTimer: ECLTimer[];\n }\n\n export interface DebugValue {\n Name: string;\n Value: string;\n }\n\n export interface DebugValues {\n DebugValue: DebugValue[];\n }\n\n export interface ApplicationValue {\n Application: string;\n Name: string;\n Value: string;\n }\n\n export interface ApplicationValues {\n ApplicationValue: ApplicationValue[];\n }\n\n export interface ECLWorkflow {\n WFID: string;\n EventName: string;\n EventText: string;\n Count: number;\n CountRemaining: number;\n }\n\n export interface Workflows {\n ECLWorkflow: ECLWorkflow[];\n }\n\n export interface ECLTimingData {\n Name: string;\n GraphNum: number;\n SubGraphNum: number;\n GID: number;\n Min: number;\n MS: number;\n }\n\n export interface TimingData {\n ECLTimingData: ECLTimingData[];\n }\n\n export interface AllowedClusters {\n AllowedCluster: string[];\n }\n\n export interface ThorLogInfo {\n ProcessName: string;\n ClusterGroup: string;\n LogDate: string;\n NumberSlaves: number;\n }\n\n export interface ThorLogList {\n ThorLogInfo: ThorLogInfo[];\n }\n\n export interface ResourceURLs {\n URL: string[];\n }\n\n export interface Workunit {\n Wuid: string;\n Owner: string;\n Cluster: string;\n RoxieCluster: string;\n Jobname: string;\n Queue: string;\n StateID: number;\n State: string;\n StateEx: string;\n Description: string;\n Protected: boolean;\n Active: boolean;\n Action: number;\n ActionEx: string;\n DateTimeScheduled: string;\n PriorityClass: number;\n PriorityLevel: number;\n Scope: string;\n Snapshot: string;\n ResultLimit: number;\n Archived: boolean;\n IsPausing: boolean;\n ThorLCR: boolean;\n EventSchedule: number;\n HaveSubGraphTimings: boolean;\n TotalClusterTime: string;\n AbortBy: string;\n AbortTime: string;\n Query: Query;\n Helpers: Helpers;\n Exceptions: Exceptions2;\n Graphs: Graphs;\n SourceFiles: SourceFiles;\n Results: Results;\n Variables: Variables;\n Timers: Timers;\n DebugValues: DebugValues;\n ApplicationValues: ApplicationValues;\n Workflows: Workflows;\n TimingData: TimingData;\n AllowedClusters: AllowedClusters;\n ErrorCount: number;\n WarningCount: number;\n InfoCount: number;\n AlertCount: number;\n GraphCount: number;\n SourceFileCount: number;\n ResultCount: number;\n VariableCount: number;\n TimerCount: number;\n HasDebugValue: boolean;\n ApplicationValueCount: number;\n XmlParams: string;\n AccessFlag: number;\n ClusterFlag: number;\n HelpersDesc: string;\n GraphsDesc: string;\n SourceFilesDesc: string;\n ResultsDesc: string;\n VariablesDesc: string;\n TimersDesc: string;\n DebugValuesDesc: string;\n ApplicationValuesDesc: string;\n WorkflowsDesc: string;\n HasArchiveQuery: boolean;\n ThorLogList: ThorLogList;\n ResourceURLs: ResourceURLs;\n ResultViewCount: number;\n ResourceURLCount: number;\n DebugValueCount: number;\n WorkflowCount: number;\n HelpersCount: number;\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Workunit: Workunit;\n }\n}\n\nexport namespace WUSubmit {\n export interface Request {\n Wuid: string;\n Cluster: string;\n Queue?: string;\n Snapshot?: string;\n MaxRunTime?: number;\n BlockTillFinishTimer?: boolean;\n SyntaxCheck?: boolean;\n NotifyCluster?: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n }\n}\n\nexport namespace WUResubmit {\n export interface Request {\n Wuids: string[];\n ResetWorkflow: boolean;\n CloneWorkunit: boolean;\n BlockTillFinishTimer?: number;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface WU {\n WUID: string;\n ParentWUID: string;\n }\n\n export interface WUs {\n WU: WU[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n WUs: WUs;\n }\n}\n\nexport namespace WUQueryDetails {\n export interface Request {\n QueryId: string;\n QuerySet: string;\n IncludeStateOnClusters: boolean;\n IncludeSuperFiles: boolean;\n IncludeWsEclAddresses: boolean;\n CheckAllNodes: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface ClusterQueryState {\n Cluster: string;\n State: string;\n Errors: string;\n MixedNodeStates: boolean;\n }\n\n export interface Clusters {\n ClusterQueryState: ClusterQueryState[];\n }\n\n export interface LogicalFiles {\n Item: string[];\n }\n\n export interface SubFiles {\n File: string[];\n }\n\n export interface SuperFiles2 {\n SuperFile: any[];\n }\n\n export interface SuperFile {\n Name: string;\n SubFiles: SubFiles;\n SuperFiles: SuperFiles2;\n }\n\n export interface SuperFiles {\n SuperFile: SuperFile[];\n }\n\n export interface LibrariesUsed {\n Item: string[];\n }\n\n export interface WsEclAddresses {\n Address: string[];\n }\n\n export interface ECLGraph {\n Name: string;\n Label: string;\n Type: string;\n Running: boolean;\n Complete: boolean;\n Failed: boolean;\n RunningId: number;\n WhenStarted: string;\n WhenFinished: string;\n }\n\n export interface WUGraphs {\n ECLGraph: ECLGraph[];\n }\n\n export interface ECLTimer {\n Name: string;\n Value: string;\n count: number;\n GraphName: string;\n SubGraphId: number;\n }\n\n export interface WUTimers {\n ECLTimer: ECLTimer[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n QueryId: string;\n QuerySet: string;\n QueryName: string;\n Wuid: string;\n Dll: string;\n Suspended: boolean;\n Activated: boolean;\n SuspendedBy: string;\n Clusters: Clusters;\n PublishedBy: string;\n Comment: string;\n LogicalFiles: LogicalFiles;\n SuperFiles: SuperFiles;\n IsLibrary: boolean;\n Priority: string;\n WUSnapShot: string;\n CompileTime: string;\n LibrariesUsed: LibrariesUsed;\n CountGraphs: number;\n ResourceURLCount: number;\n WsEclAddresses: WsEclAddresses;\n WUGraphs: WUGraphs;\n WUTimers: WUTimers;\n }\n}\n\nexport namespace WUAction {\n export type Type = \"SetToFailed\" | \"Pause\" | \"PauseNow\" | \"Resume\" | \"Abort\" | \"Delete\" | \"Restore\" | \"Deschedule\" | \"Reschedule\";\n export interface Request {\n Wuids: string[];\n WUActionType: Type;\n Cluster?: string;\n Owner?: string;\n State?: string;\n StartDate?: string;\n EndDate?: string;\n ECL?: string;\n Jobname?: string;\n Test?: string;\n CurrentPage?: number;\n PageSize?: number;\n Sortby?: number;\n Descending?: boolean;\n EventServer?: string;\n EventName?: string;\n PageFrom?: number;\n BlockTillFinishTimer?: number;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface WUActionResult {\n Wuid: string;\n Action: string;\n Result: string;\n }\n\n export interface ActionResults {\n WUActionResult: WUActionResult[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n ActionResults: ActionResults;\n }\n}\n\nexport namespace WUGetZAPInfo {\n export interface Request {\n WUID: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n WUID: string;\n ESPIPAddress: string;\n ThorIPAddress: string;\n BuildVersion: string;\n Archive: string;\n }\n}\n\nexport namespace WUShowScheduled {\n export interface Request {\n Cluster: string;\n EventName: string;\n PushEventName: string;\n PushEventText: string;\n State: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface ServerInfo {\n Name: string;\n NetAddress: string;\n }\n\n export interface Clusters {\n ServerInfo: ServerInfo[];\n }\n\n export interface ScheduledWU {\n Wuid: string;\n Cluster: string;\n EventName: string;\n EventText: string;\n JobName: string;\n StateID: number;\n State: string;\n Owner: string;\n }\n\n export interface Workunits {\n ScheduledWU: ScheduledWU[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n ClusterSelected: number;\n EventName: string;\n PushEventName: string;\n PushEventText: string;\n Query: string;\n Clusters: Clusters;\n Workunits: Workunits;\n }\n}\n\nexport namespace WUQuerySetQueryAction {\n export interface Request {\n Action: string;\n QuerySetName: string;\n Queries: any[];\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Result {\n QueryId: string;\n Suspended: boolean;\n Success: boolean;\n Code: number;\n Message: string;\n }\n\n export interface Results {\n Result: Result[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Action: string;\n QuerySetName: string;\n Results: Results;\n }\n}\n\nexport namespace WUQuerySetAliasAction {\n export interface Request {\n Action: string;\n QuerySetName: string;\n Queries: any[];\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Result {\n Name: string;\n Success: boolean;\n Code: number;\n Message: string;\n }\n\n export interface Results {\n Result: Result[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Action: string;\n QuerySetName: string;\n Results: Results;\n }\n}\n\nexport namespace WUPublishWorkunit {\n export interface Request {\n Wuid: string;\n Cluster: string;\n JobName: string;\n Activate: boolean;\n NotifyCluster?: boolean;\n Wait?: number;\n NoReload?: boolean;\n UpdateWorkUnitName?: boolean;\n memoryLimit?: string;\n TimeLimit?: string;\n WarnTimeLimit?: string;\n Priority?: string;\n RemoteDali?: string;\n Comment?: string;\n DontCopyFiles?: boolean;\n SourceProcess?: string;\n AllowForeignFiles: boolean;\n UpdateDfs?: boolean;\n UpdateSuperFiles?: boolean;\n UpdateCloneFrom?: boolean;\n AppendCluster?: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Clusters {\n Item: string[];\n }\n\n export interface WULogicalFileCopyInfo {\n IsIndex: boolean;\n LogicalName: string;\n DfuCopyWuid: string;\n DfuCopyError: string;\n Clusters: Clusters;\n }\n\n export interface OnCluster {\n WULogicalFileCopyInfo: WULogicalFileCopyInfo[];\n }\n\n export interface Clusters2 {\n Item: string[];\n }\n\n export interface WULogicalFileCopyInfo2 {\n IsIndex: boolean;\n LogicalName: string;\n DfuCopyWuid: string;\n DfuCopyError: string;\n Clusters: Clusters2;\n }\n\n export interface NotOnCluster {\n WULogicalFileCopyInfo: WULogicalFileCopyInfo2[];\n }\n\n export interface Clusters3 {\n Item: string[];\n }\n\n export interface WULogicalFileCopyInfo3 {\n IsIndex: boolean;\n LogicalName: string;\n DfuCopyWuid: string;\n DfuCopyError: string;\n Clusters: Clusters3;\n }\n\n export interface Foreign {\n WULogicalFileCopyInfo: WULogicalFileCopyInfo3[];\n }\n\n export interface Clusters4 {\n Item: string[];\n }\n\n export interface WULogicalFileCopyInfo4 {\n IsIndex: boolean;\n LogicalName: string;\n DfuCopyWuid: string;\n DfuCopyError: string;\n Clusters: Clusters4;\n }\n\n export interface NotFound {\n WULogicalFileCopyInfo: WULogicalFileCopyInfo4[];\n }\n\n export interface Cluster {\n ClusterName: string;\n OnCluster: OnCluster;\n NotOnCluster: NotOnCluster;\n Foreign: Foreign;\n NotFound: NotFound;\n }\n\n export interface ClusterFiles {\n Cluster: Cluster[];\n }\n\n export interface File {\n Error: string;\n LogicalName: string;\n }\n\n export interface FileErrors {\n File: File[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Wuid: string;\n Result: string;\n QuerySet: string;\n QueryName: string;\n QueryId: string;\n ReloadFailed: boolean;\n Suspended: boolean;\n ErrorMessage: string;\n ClusterFiles: ClusterFiles;\n FileErrors: FileErrors;\n }\n}\n\nexport namespace WUGetGraph {\n\n export interface Request {\n Wuid: string;\n GraphName: string;\n SubGraphId: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface ECLGraphEx {\n Name: string;\n Label: string;\n Type: string;\n Graph: string;\n Running: boolean;\n RunningId: number;\n Complete: boolean;\n Failed: boolean;\n }\n\n export interface Graphs {\n ECLGraphEx: ECLGraphEx[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Graphs: Graphs;\n }\n}\n\nexport namespace WUResult {\n export interface Request {\n Wuid?: string;\n Sequence?: number;\n ResultName?: string;\n LogicalName?: string;\n Cluster?: string;\n SuppressXmlSchema?: boolean;\n BypassCachedResult?: boolean;\n FilterBy?: any;\n Start: number;\n Count: number;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface XmlSchema {\n \"@name\": string;\n xml: string;\n }\n\n export interface Result {\n XmlSchema: XmlSchema;\n \"@xmlSchema\": string;\n Row: any[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Wuid: string;\n Sequence: number;\n LogicalName: string;\n Cluster: string;\n Name: string;\n Start: number;\n Requested: number;\n Count: number;\n Total: number;\n Result: Result;\n }\n}\n\nexport namespace WUQueryGetGraph {\n export interface Request {\n Target: string;\n QueryId: string;\n GraphName: string;\n SubGraphId: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface ECLGraphEx {\n Name: string;\n Label: string;\n Type: string;\n Graph: string;\n Running: boolean;\n RunningId: number;\n Complete: boolean;\n Failed: boolean;\n }\n\n export interface Graphs {\n ECLGraphEx: ECLGraphEx[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Graphs: Graphs;\n }\n}\n\nexport interface WUFileRequest {\n Wuid: string;\n Type: string;\n Name?: string;\n Option?: string;\n SlaveIP?: string;\n IPAddress?: string;\n Description?: string;\n QuerySet?: string;\n Query?: string;\n Process?: string;\n ClusterGroup?: string;\n LogDate?: string;\n SlaveNumber?: number;\n SizeLimit?: number;\n PlainText?: string;\n}\n\nexport namespace WUGetStats {\n export interface Request {\n WUID: string;\n CreatorType: string;\n Creator: string;\n ScopeType: string;\n Scope: string;\n Kind: string;\n Measure: string;\n MinScopeDepth: number;\n MaxScopeDepth: number;\n IncludeGraphs: boolean;\n CreateDescriptions: boolean;\n MinValue: number;\n MaxValue: number;\n Filter: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface WUStatisticItem {\n Creator: string;\n CreatorType: string;\n Scope: string;\n ScopeType: string;\n Description: string;\n TimeStamp: string;\n Measure: string;\n Kind: string;\n Value: string;\n RawValue: number;\n Count: number;\n Max: number;\n Wuid: string;\n }\n\n export interface Statistics {\n WUStatisticItem: WUStatisticItem[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n WUID: string;\n Statistics: Statistics;\n }\n}\n\nexport namespace WUCDebug {\n export interface Request {\n Wuid: string;\n Command: string;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Result: string;\n }\n}\n\nexport namespace WUDetailsMeta {\n export interface Request {\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Property {\n Name: string;\n ValueType: string;\n }\n\n export interface Properties {\n Property: Property[];\n }\n\n export interface ScopeTypes {\n ScopeType: string[];\n }\n\n export interface Measures {\n Measure: string[];\n }\n\n export interface Activity {\n Kind: number;\n Name: string;\n IsSink: boolean;\n IsSource: boolean;\n }\n\n export interface Activities {\n Activity: Activity[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n Properties: Properties;\n ScopeTypes: ScopeTypes;\n Measures: Measures;\n Activities: Activities;\n }\n}\n\nexport namespace WUDetails {\n export namespace RequestNS {\n\n export interface Scopes {\n Scope: string[];\n }\n\n export interface Ids {\n id: string[];\n }\n\n export interface ScopeTypes {\n ScopeType: string[];\n }\n\n export interface PropertyFilter {\n Name?: string;\n ExactValue?: string;\n MinValue?: string;\n MaxValue?: string;\n }\n\n export interface PropertyFilters {\n PropertyFilter: PropertyFilter[];\n }\n\n export interface ScopeFilter {\n MaxDepth?: number;\n Scopes?: Scopes;\n Ids?: string[];\n ScopeTypes?: string[];\n PropertyFilters?: PropertyFilters;\n }\n\n export interface ScopeTypes2 {\n ScopeType: string[];\n }\n\n export interface NestedFilter {\n Depth?: number;\n ScopeTypes: string[];\n }\n\n export interface Properties {\n Property: string[];\n }\n\n export interface Properties2 {\n Property: string[];\n }\n\n export interface Extra {\n scopeType: string;\n Properties: Properties2;\n }\n\n export interface ExtraProperties {\n Extra: Extra[];\n }\n\n export interface PropertiesToReturn {\n AllStatistics?: boolean;\n AllAttributes?: boolean;\n AllHints?: boolean;\n AllScopes?: boolean;\n AllProperties?: boolean;\n AllNotes?: boolean;\n MinVersion?: string;\n Measure?: string;\n Properties?: string[];\n ExtraProperties?: ExtraProperties;\n }\n\n export interface ScopeOptions {\n IncludeMatchedScopesInResults?: boolean;\n IncludeScope?: boolean;\n IncludeId?: boolean;\n IncludeScopeType?: boolean;\n }\n\n export interface PropertyOptions {\n IncludeName?: boolean;\n IncludeRawValue?: boolean;\n IncludeFormatted?: boolean;\n IncludeMeasure?: boolean;\n IncludeCreator?: boolean;\n IncludeCreatorType?: boolean;\n }\n }\n\n export interface Request {\n WUID: string;\n ScopeFilter?: RequestNS.ScopeFilter;\n NestedFilter?: RequestNS.NestedFilter;\n PropertiesToReturn: RequestNS.PropertiesToReturn;\n Filter?: string;\n ScopeOptions: RequestNS.ScopeOptions;\n PropertyOptions: RequestNS.PropertyOptions;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface Property {\n Name: string;\n RawValue: string;\n Formatted: string;\n Measure: string;\n Creator: string;\n CreatorType: string;\n }\n\n export interface Properties {\n Property: Property[];\n }\n\n export interface Note {\n Source: string;\n Message: string;\n ErrorCode: number;\n Severity: string;\n Cost: number;\n }\n\n export interface Notes {\n Note: Note[];\n }\n\n export interface Scope {\n ScopeName: string;\n Id: string;\n ScopeType: string;\n Properties: Properties;\n Notes: Notes;\n }\n\n export interface Scopes {\n Scope: Scope[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n MaxVersion: string;\n WUID: string;\n Scopes: Scopes;\n }\n}\n\nexport function isWUQueryECLWorkunit(_: WUQuery.ECLWorkunit | WUInfo.Workunit): _ is WUQuery.ECLWorkunit {\n return (_ as WUQuery.ECLWorkunit).TotalClusterTime !== undefined;\n}\n\nexport function isWUInfoWorkunit(_: WUQuery.ECLWorkunit | WUInfo.Workunit): _ is WUInfo.Workunit {\n return (_ as WUInfo.Workunit).StateEx !== undefined;\n}\n\nexport namespace Ping {\n export interface Response {\n result: boolean;\n error?: any;\n }\n}\n\nexport namespace WUQueryGetSummaryStats {\n\n export interface Request {\n Target: string;\n QueryId: string;\n FromTime?: string;\n ToTime?: string;\n IncludeRawStats?: boolean;\n }\n\n export interface Exception {\n Code: string;\n Audience: string;\n Source: string;\n Message: string;\n }\n\n export interface Exceptions {\n Source: string;\n Exception: Exception[];\n }\n\n export interface QuerySummaryStat {\n Endpoint: string;\n Status: string;\n StartTime: string;\n EndTime: string;\n CountTotal: number;\n CountFailed: number;\n AverageSlavesReplyLen: number;\n AverageBytesOut: number;\n SizeAvgPeakMemory: number;\n TimeAvgTotalExecuteMinutes: number;\n TimeMinTotalExecuteMinutes: number;\n TimeMaxTotalExecuteMinutes: number;\n Percentile97: number;\n Percentile97Estimate: boolean;\n }\n\n export interface StatsList {\n QuerySummaryStats: QuerySummaryStat[];\n }\n\n export interface QuerySummaryStat2 {\n Endpoint: string;\n Status: string;\n StartTime: string;\n EndTime: string;\n CountTotal: number;\n CountFailed: number;\n AverageSlavesReplyLen: number;\n AverageBytesOut: number;\n SizeAvgPeakMemory: number;\n TimeAvgTotalExecuteMinutes: number;\n TimeMinTotalExecuteMinutes: number;\n TimeMaxTotalExecuteMinutes: number;\n Percentile97: number;\n Percentile97Estimate: boolean;\n }\n\n export interface AggregateQueryStatsList {\n QuerySummaryStats: QuerySummaryStat2[];\n }\n\n export interface QueryStatsRecord {\n StartTime: string;\n ElapsedTimeMs: number;\n MemoryUsed: number;\n BytesOut: number;\n SlavesReplyLen: number;\n Failed: boolean;\n }\n\n export interface QueryStatsRecordList {\n QueryStatsRecord: QueryStatsRecord[];\n }\n\n export interface QueryStat {\n ID: string;\n AggregateQueryStatsList: AggregateQueryStatsList;\n QueryStatsRecordList: QueryStatsRecordList;\n }\n\n export interface QueryStatsList2 {\n QueryStats: QueryStat[];\n }\n\n export interface EndpointQueryStat {\n Endpoint: string;\n Status: string;\n QueryStatsList: QueryStatsList2;\n }\n\n export interface QueryStatsList {\n EndpointQueryStats: EndpointQueryStat[];\n }\n\n export interface Response {\n Exceptions: Exceptions;\n StatsList: StatsList;\n QueryStatsList: QueryStatsList;\n }\n\n}\n\nexport class WorkunitsService extends Service {\n\n constructor(optsConnection: IOptions | IConnection) {\n super(optsConnection, \"WsWorkunits\", \"1.85\");\n }\n\n opts() {\n return this._connection.opts();\n }\n\n connection(): ESPConnection {\n return this._connection.clone();\n }\n\n Ping(): Promise<Ping.Response> {\n return this._connection.send(\"Ping\", {}, \"json\", false, undefined, \"WsWorkunitsPingResponse\").then((response) => {\n return { result: true };\n }).catch((e: Error) => {\n return { result: false, error: e };\n });\n }\n\n WUQuery(request: WUQuery.Request = {}): Promise<WUQuery.Response> {\n return this._connection.send(\"WUQuery\", request).then((response) => {\n return deepMixin({ Workunits: { ECLWorkunit: [] } }, response);\n });\n }\n\n WUInfo(_request: WUInfo.Request): Promise<WUInfo.Response> {\n const request: WUInfo.Request = {\n Wuid: \"\",\n TruncateEclTo64k: true,\n IncludeExceptions: false,\n IncludeGraphs: false,\n IncludeSourceFiles: false,\n IncludeResults: false,\n IncludeResultsViewNames: false,\n IncludeVariables: false,\n IncludeTimers: false,\n IncludeDebugValues: false,\n IncludeApplicationValues: false,\n IncludeWorkflows: false,\n IncludeXmlSchemas: false,\n IncludeResourceURLs: false,\n IncludeECL: false,\n IncludeHelpers: false,\n IncludeAllowedClusters: false,\n IncludeTotalClusterTime: true,\n IncludeServiceNames: true,\n SuppressResultSchemas: true,\n ..._request\n };\n return this._connection.send(\"WUInfo\", request);\n }\n\n WUCreate(): Promise<WUCreate.Response> {\n return this._connection.send(\"WUCreate\");\n }\n\n WUUpdate(request: WUUpdate.Request): Promise<WUUpdate.Response> {\n return this._connection.send(\"WUUpdate\", request, \"json\", true);\n }\n\n WUSubmit(request: WUSubmit.Request): Promise<WUSubmit.Response> {\n return this._connection.send(\"WUSubmit\", request);\n }\n\n WUResubmit(request: WUResubmit.Request): Promise<WUResubmit.Response> {\n this._connection.toESPStringArray(request, \"Wuids\");\n return this._connection.send(\"WUResubmit\", request);\n }\n\n WUQueryDetails(request: WUQueryDetails.Request): Promise<WUQueryDetails.Response> {\n return this._connection.send(\"WUQueryDetails\", request);\n }\n\n WUListQueries(request: WUListQueries.Request): Promise<WUListQueries.Response> {\n return this._connection.send(\"WUListQueries\", request);\n }\n\n WUPushEvent(request: WUPushEvent.Request): Promise<WUPushEvent.Response> {\n return this._connection.send(\"WUPushEvent\", request);\n }\n\n WUAction(request: WUAction.Request): Promise<WUAction.Response> {\n (request as any).ActionType = request.WUActionType; // v5.x compatibility\n return this._connection.send(\"WUAction\", request);\n }\n\n WUGetZAPInfo(request: WUGetZAPInfo.Request): Promise<WUGetZAPInfo.Response> {\n return this._connection.send(\"WUGetZAPInfo\", request);\n }\n\n WUShowScheduled(request: WUShowScheduled.Request): Promise<WUShowScheduled.Response> {\n return this._connection.send(\"WUShowScheduled\", request);\n }\n\n WUQuerySetAliasAction(request: WUQuerySetAliasAction.Request): Promise<WUQuerySetAliasAction.Response> {\n return this._connection.send(\"WUQuerySetAliasAction\", request);\n }\n\n WUQuerySetQueryAction(request: WUQuerySetQueryAction.Request): Promise<WUQuerySetQueryAction.Response> {\n return this._connection.send(\"WUQuerySetQueryAction\", request);\n }\n\n WUPublishWorkunit(request: WUPublishWorkunit.Request): Promise<WUPublishWorkunit.Response> {\n return this._connection.send(\"WUPublishWorkunit\", request);\n }\n\n WUGetGraph(request: WUGetGraph.Request): Promise<WUGetGraph.Response> {\n return this._connection.send(\"WUGetGraph\", request);\n }\n\n WUResult(request: WUResult.Request, abortSignal?: AbortSignal): Promise<WUResult.Response> {\n return this._connection.send(\"WUResult\", request, \"json\", false, abortSignal);\n }\n\n WUQueryGetGraph(request: WUQueryGetGraph.Request): Promise<WUQueryGetGraph.Response> {\n return this._connection.send(\"WUQueryGetGraph\", request);\n }\n\n WUFile(request: WUFileRequest): Promise<string> {\n return this._connection.send(\"WUFile\", request, \"text\");\n }\n\n WUGetStats(request: WUGetStats.Request): Promise<WUGetStats.Response> {\n return this._connection.send(\"WUGetStats\", request);\n }\n\n WUQueryGetSummaryStats(request: WUQueryGetSummaryStats.Request): Promise<WUQueryGetSummaryStats.Response> {\n return this._connection.send(\"WUQueryGetSummaryStats\", request);\n }\n\n private _WUDetailsMetaPromise: Promise<WUDetailsMeta.Response>;\n WUDetailsMeta(request: WUDetailsMeta.Request): Promise<WUDetailsMeta.Response> {\n if (!this._WUDetailsMetaPromise) {\n this._WUDetailsMetaPromise = this._connection.send(\"WUDetailsMeta\", request);\n }\n return this._WUDetailsMetaPromise;\n }\n\n WUDetails(request: WUDetails.Request): Promise<WUDetails.Response> {\n return this._connection.send(\"WUDetails\", request);\n }\n\n WUCDebug(request: WUCDebug.Request): Promise<XMLNode | null> {\n return this._connection.send(\"WUCDebug\", request, undefined, undefined, undefined, \"WUDebug\").then((response) => {\n const retVal = xml2json(response.Result);\n const children = retVal.children();\n if (children.length) {\n return children[0];\n }\n return null;\n });\n }\n}\n","var t0 = new Date,\n t1 = new Date;\n\nexport default function newInterval(floori, offseti, count, field) {\n\n function interval(date) {\n return floori(date = arguments.length === 0 ? new Date : new Date(+date)), date;\n }\n\n interval.floor = function(date) {\n return floori(date = new Date(+date)), date;\n };\n\n interval.ceil = function(date) {\n return floori(date = new Date(date - 1)), offseti(date, 1), floori(date), date;\n };\n\n interval.round = function(date) {\n var d0 = interval(date),\n d1 = interval.ceil(date);\n return date - d0 < d1 - date ? d0 : d1;\n };\n\n interval.offset = function(date, step) {\n return offseti(date = new Date(+date), step == null ? 1 : Math.floor(step)), date;\n };\n\n interval.range = function(start, stop, step) {\n var range = [], previous;\n start = interval.ceil(start);\n step = step == null ? 1 : Math.floor(step);\n if (!(start < stop) || !(step > 0)) return range; // also handles Invalid Date\n do range.push(previous = new Date(+start)), offseti(start, step), floori(start);\n while (previous < start && start < stop);\n return range;\n };\n\n interval.filter = function(test) {\n return newInterval(function(date) {\n if (date >= date) while (floori(date), !test(date)) date.setTime(date - 1);\n }, function(date, step) {\n if (date >= date) {\n if (step < 0) while (++step <= 0) {\n while (offseti(date, -1), !test(date)) {} // eslint-disable-line no-empty\n } else while (--step >= 0) {\n while (offseti(date, +1), !test(date)) {} // eslint-disable-line no-empty\n }\n }\n });\n };\n\n if (count) {\n interval.count = function(start, end) {\n t0.setTime(+start), t1.setTime(+end);\n floori(t0), floori(t1);\n return Math.floor(count(t0, t1));\n };\n\n interval.every = function(step) {\n step = Math.floor(step);\n return !isFinite(step) || !(step > 0) ? null\n : !(step > 1) ? interval\n : interval.filter(field\n ? function(d) { return field(d) % step === 0; }\n : function(d) { return interval.count(0, d) % step === 0; });\n };\n }\n\n return interval;\n}\n","export var durationSecond = 1e3;\nexport var durationMinute = 6e4;\nexport var durationHour = 36e5;\nexport var durationDay = 864e5;\nexport var durationWeek = 6048e5;\n","import interval from \"./interval.js\";\nimport {durationDay, durationMinute} from \"./duration.js\";\n\nvar day = interval(function(date) {\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setDate(date.getDate() + step);\n}, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationDay;\n}, function(date) {\n return date.getDate() - 1;\n});\n\nexport default day;\nexport var days = day.range;\n","import interval from \"./interval.js\";\nimport {durationMinute, durationWeek} from \"./duration.js\";\n\nfunction weekday(i) {\n return interval(function(date) {\n date.setDate(date.getDate() - (date.getDay() + 7 - i) % 7);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setDate(date.getDate() + step * 7);\n }, function(start, end) {\n return (end - start - (end.getTimezoneOffset() - start.getTimezoneOffset()) * durationMinute) / durationWeek;\n });\n}\n\nexport var sunday = weekday(0);\nexport var monday = weekday(1);\nexport var tuesday = weekday(2);\nexport var wednesday = weekday(3);\nexport var thursday = weekday(4);\nexport var friday = weekday(5);\nexport var saturday = weekday(6);\n\nexport var sundays = sunday.range;\nexport var mondays = monday.range;\nexport var tuesdays = tuesday.range;\nexport var wednesdays = wednesday.range;\nexport var thursdays = thursday.range;\nexport var fridays = friday.range;\nexport var saturdays = saturday.range;\n","import interval from \"./interval.js\";\n\nvar year = interval(function(date) {\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setFullYear(date.getFullYear() + step);\n}, function(start, end) {\n return end.getFullYear() - start.getFullYear();\n}, function(date) {\n return date.getFullYear();\n});\n\n// An optimized implementation for this simple case.\nyear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setFullYear(Math.floor(date.getFullYear() / k) * k);\n date.setMonth(0, 1);\n date.setHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setFullYear(date.getFullYear() + step * k);\n });\n};\n\nexport default year;\nexport var years = year.range;\n","import interval from \"./interval.js\";\nimport {durationDay} from \"./duration.js\";\n\nvar utcDay = interval(function(date) {\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step);\n}, function(start, end) {\n return (end - start) / durationDay;\n}, function(date) {\n return date.getUTCDate() - 1;\n});\n\nexport default utcDay;\nexport var utcDays = utcDay.range;\n","import interval from \"./interval.js\";\nimport {durationWeek} from \"./duration.js\";\n\nfunction utcWeekday(i) {\n return interval(function(date) {\n date.setUTCDate(date.getUTCDate() - (date.getUTCDay() + 7 - i) % 7);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCDate(date.getUTCDate() + step * 7);\n }, function(start, end) {\n return (end - start) / durationWeek;\n });\n}\n\nexport var utcSunday = utcWeekday(0);\nexport var utcMonday = utcWeekday(1);\nexport var utcTuesday = utcWeekday(2);\nexport var utcWednesday = utcWeekday(3);\nexport var utcThursday = utcWeekday(4);\nexport var utcFriday = utcWeekday(5);\nexport var utcSaturday = utcWeekday(6);\n\nexport var utcSundays = utcSunday.range;\nexport var utcMondays = utcMonday.range;\nexport var utcTuesdays = utcTuesday.range;\nexport var utcWednesdays = utcWednesday.range;\nexport var utcThursdays = utcThursday.range;\nexport var utcFridays = utcFriday.range;\nexport var utcSaturdays = utcSaturday.range;\n","import interval from \"./interval.js\";\n\nvar utcYear = interval(function(date) {\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n}, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step);\n}, function(start, end) {\n return end.getUTCFullYear() - start.getUTCFullYear();\n}, function(date) {\n return date.getUTCFullYear();\n});\n\n// An optimized implementation for this simple case.\nutcYear.every = function(k) {\n return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : interval(function(date) {\n date.setUTCFullYear(Math.floor(date.getUTCFullYear() / k) * k);\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n }, function(date, step) {\n date.setUTCFullYear(date.getUTCFullYear() + step * k);\n });\n};\n\nexport default utcYear;\nexport var utcYears = utcYear.range;\n","import {\n timeDay,\n timeSunday,\n timeMonday,\n timeThursday,\n timeYear,\n utcDay,\n utcSunday,\n utcMonday,\n utcThursday,\n utcYear\n} from \"d3-time\";\n\nfunction localDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(-1, d.m, d.d, d.H, d.M, d.S, d.L);\n date.setFullYear(d.y);\n return date;\n }\n return new Date(d.y, d.m, d.d, d.H, d.M, d.S, d.L);\n}\n\nfunction utcDate(d) {\n if (0 <= d.y && d.y < 100) {\n var date = new Date(Date.UTC(-1, d.m, d.d, d.H, d.M, d.S, d.L));\n date.setUTCFullYear(d.y);\n return date;\n }\n return new Date(Date.UTC(d.y, d.m, d.d, d.H, d.M, d.S, d.L));\n}\n\nfunction newDate(y, m, d) {\n return {y: y, m: m, d: d, H: 0, M: 0, S: 0, L: 0};\n}\n\nexport default function formatLocale(locale) {\n var locale_dateTime = locale.dateTime,\n locale_date = locale.date,\n locale_time = locale.time,\n locale_periods = locale.periods,\n locale_weekdays = locale.days,\n locale_shortWeekdays = locale.shortDays,\n locale_months = locale.months,\n locale_shortMonths = locale.shortMonths;\n\n var periodRe = formatRe(locale_periods),\n periodLookup = formatLookup(locale_periods),\n weekdayRe = formatRe(locale_weekdays),\n weekdayLookup = formatLookup(locale_weekdays),\n shortWeekdayRe = formatRe(locale_shortWeekdays),\n shortWeekdayLookup = formatLookup(locale_shortWeekdays),\n monthRe = formatRe(locale_months),\n monthLookup = formatLookup(locale_months),\n shortMonthRe = formatRe(locale_shortMonths),\n shortMonthLookup = formatLookup(locale_shortMonths);\n\n var formats = {\n \"a\": formatShortWeekday,\n \"A\": formatWeekday,\n \"b\": formatShortMonth,\n \"B\": formatMonth,\n \"c\": null,\n \"d\": formatDayOfMonth,\n \"e\": formatDayOfMonth,\n \"f\": formatMicroseconds,\n \"g\": formatYearISO,\n \"G\": formatFullYearISO,\n \"H\": formatHour24,\n \"I\": formatHour12,\n \"j\": formatDayOfYear,\n \"L\": formatMilliseconds,\n \"m\": formatMonthNumber,\n \"M\": formatMinutes,\n \"p\": formatPeriod,\n \"q\": formatQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatSeconds,\n \"u\": formatWeekdayNumberMonday,\n \"U\": formatWeekNumberSunday,\n \"V\": formatWeekNumberISO,\n \"w\": formatWeekdayNumberSunday,\n \"W\": formatWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatYear,\n \"Y\": formatFullYear,\n \"Z\": formatZone,\n \"%\": formatLiteralPercent\n };\n\n var utcFormats = {\n \"a\": formatUTCShortWeekday,\n \"A\": formatUTCWeekday,\n \"b\": formatUTCShortMonth,\n \"B\": formatUTCMonth,\n \"c\": null,\n \"d\": formatUTCDayOfMonth,\n \"e\": formatUTCDayOfMonth,\n \"f\": formatUTCMicroseconds,\n \"g\": formatUTCYearISO,\n \"G\": formatUTCFullYearISO,\n \"H\": formatUTCHour24,\n \"I\": formatUTCHour12,\n \"j\": formatUTCDayOfYear,\n \"L\": formatUTCMilliseconds,\n \"m\": formatUTCMonthNumber,\n \"M\": formatUTCMinutes,\n \"p\": formatUTCPeriod,\n \"q\": formatUTCQuarter,\n \"Q\": formatUnixTimestamp,\n \"s\": formatUnixTimestampSeconds,\n \"S\": formatUTCSeconds,\n \"u\": formatUTCWeekdayNumberMonday,\n \"U\": formatUTCWeekNumberSunday,\n \"V\": formatUTCWeekNumberISO,\n \"w\": formatUTCWeekdayNumberSunday,\n \"W\": formatUTCWeekNumberMonday,\n \"x\": null,\n \"X\": null,\n \"y\": formatUTCYear,\n \"Y\": formatUTCFullYear,\n \"Z\": formatUTCZone,\n \"%\": formatLiteralPercent\n };\n\n var parses = {\n \"a\": parseShortWeekday,\n \"A\": parseWeekday,\n \"b\": parseShortMonth,\n \"B\": parseMonth,\n \"c\": parseLocaleDateTime,\n \"d\": parseDayOfMonth,\n \"e\": parseDayOfMonth,\n \"f\": parseMicroseconds,\n \"g\": parseYear,\n \"G\": parseFullYear,\n \"H\": parseHour24,\n \"I\": parseHour24,\n \"j\": parseDayOfYear,\n \"L\": parseMilliseconds,\n \"m\": parseMonthNumber,\n \"M\": parseMinutes,\n \"p\": parsePeriod,\n \"q\": parseQuarter,\n \"Q\": parseUnixTimestamp,\n \"s\": parseUnixTimestampSeconds,\n \"S\": parseSeconds,\n \"u\": parseWeekdayNumberMonday,\n \"U\": parseWeekNumberSunday,\n \"V\": parseWeekNumberISO,\n \"w\": parseWeekdayNumberSunday,\n \"W\": parseWeekNumberMonday,\n \"x\": parseLocaleDate,\n \"X\": parseLocaleTime,\n \"y\": parseYear,\n \"Y\": parseFullYear,\n \"Z\": parseZone,\n \"%\": parseLiteralPercent\n };\n\n // These recursive directive definitions must be deferred.\n formats.x = newFormat(locale_date, formats);\n formats.X = newFormat(locale_time, formats);\n formats.c = newFormat(locale_dateTime, formats);\n utcFormats.x = newFormat(locale_date, utcFormats);\n utcFormats.X = newFormat(locale_time, utcFormats);\n utcFormats.c = newFormat(locale_dateTime, utcFormats);\n\n function newFormat(specifier, formats) {\n return function(date) {\n var string = [],\n i = -1,\n j = 0,\n n = specifier.length,\n c,\n pad,\n format;\n\n if (!(date instanceof Date)) date = new Date(+date);\n\n while (++i < n) {\n if (specifier.charCodeAt(i) === 37) {\n string.push(specifier.slice(j, i));\n if ((pad = pads[c = specifier.charAt(++i)]) != null) c = specifier.charAt(++i);\n else pad = c === \"e\" ? \" \" : \"0\";\n if (format = formats[c]) c = format(date, pad);\n string.push(c);\n j = i + 1;\n }\n }\n\n string.push(specifier.slice(j, i));\n return string.join(\"\");\n };\n }\n\n function newParse(specifier, Z) {\n return function(string) {\n var d = newDate(1900, undefined, 1),\n i = parseSpecifier(d, specifier, string += \"\", 0),\n week, day;\n if (i != string.length) return null;\n\n // If a UNIX timestamp is specified, return it.\n if (\"Q\" in d) return new Date(d.Q);\n if (\"s\" in d) return new Date(d.s * 1000 + (\"L\" in d ? d.L : 0));\n\n // If this is utcParse, never use the local timezone.\n if (Z && !(\"Z\" in d)) d.Z = 0;\n\n // The am-pm flag is 0 for AM, and 1 for PM.\n if (\"p\" in d) d.H = d.H % 12 + d.p * 12;\n\n // If the month was not specified, inherit from the quarter.\n if (d.m === undefined) d.m = \"q\" in d ? d.q : 0;\n\n // Convert day-of-week and week-of-year to day-of-year.\n if (\"V\" in d) {\n if (d.V < 1 || d.V > 53) return null;\n if (!(\"w\" in d)) d.w = 1;\n if (\"Z\" in d) {\n week = utcDate(newDate(d.y, 0, 1)), day = week.getUTCDay();\n week = day > 4 || day === 0 ? utcMonday.ceil(week) : utcMonday(week);\n week = utcDay.offset(week, (d.V - 1) * 7);\n d.y = week.getUTCFullYear();\n d.m = week.getUTCMonth();\n d.d = week.getUTCDate() + (d.w + 6) % 7;\n } else {\n week = localDate(newDate(d.y, 0, 1)), day = week.getDay();\n week = day > 4 || day === 0 ? timeMonday.ceil(week) : timeMonday(week);\n week = timeDay.offset(week, (d.V - 1) * 7);\n d.y = week.getFullYear();\n d.m = week.getMonth();\n d.d = week.getDate() + (d.w + 6) % 7;\n }\n } else if (\"W\" in d || \"U\" in d) {\n if (!(\"w\" in d)) d.w = \"u\" in d ? d.u % 7 : \"W\" in d ? 1 : 0;\n day = \"Z\" in d ? utcDate(newDate(d.y, 0, 1)).getUTCDay() : localDate(newDate(d.y, 0, 1)).getDay();\n d.m = 0;\n d.d = \"W\" in d ? (d.w + 6) % 7 + d.W * 7 - (day + 5) % 7 : d.w + d.U * 7 - (day + 6) % 7;\n }\n\n // If a time zone is specified, all fields are interpreted as UTC and then\n // offset according to the specified time zone.\n if (\"Z\" in d) {\n d.H += d.Z / 100 | 0;\n d.M += d.Z % 100;\n return utcDate(d);\n }\n\n // Otherwise, all fields are in local time.\n return localDate(d);\n };\n }\n\n function parseSpecifier(d, specifier, string, j) {\n var i = 0,\n n = specifier.length,\n m = string.length,\n c,\n parse;\n\n while (i < n) {\n if (j >= m) return -1;\n c = specifier.charCodeAt(i++);\n if (c === 37) {\n c = specifier.charAt(i++);\n parse = parses[c in pads ? specifier.charAt(i++) : c];\n if (!parse || ((j = parse(d, string, j)) < 0)) return -1;\n } else if (c != string.charCodeAt(j++)) {\n return -1;\n }\n }\n\n return j;\n }\n\n function parsePeriod(d, string, i) {\n var n = periodRe.exec(string.slice(i));\n return n ? (d.p = periodLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortWeekday(d, string, i) {\n var n = shortWeekdayRe.exec(string.slice(i));\n return n ? (d.w = shortWeekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseWeekday(d, string, i) {\n var n = weekdayRe.exec(string.slice(i));\n return n ? (d.w = weekdayLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseShortMonth(d, string, i) {\n var n = shortMonthRe.exec(string.slice(i));\n return n ? (d.m = shortMonthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseMonth(d, string, i) {\n var n = monthRe.exec(string.slice(i));\n return n ? (d.m = monthLookup[n[0].toLowerCase()], i + n[0].length) : -1;\n }\n\n function parseLocaleDateTime(d, string, i) {\n return parseSpecifier(d, locale_dateTime, string, i);\n }\n\n function parseLocaleDate(d, string, i) {\n return parseSpecifier(d, locale_date, string, i);\n }\n\n function parseLocaleTime(d, string, i) {\n return parseSpecifier(d, locale_time, string, i);\n }\n\n function formatShortWeekday(d) {\n return locale_shortWeekdays[d.getDay()];\n }\n\n function formatWeekday(d) {\n return locale_weekdays[d.getDay()];\n }\n\n function formatShortMonth(d) {\n return locale_shortMonths[d.getMonth()];\n }\n\n function formatMonth(d) {\n return locale_months[d.getMonth()];\n }\n\n function formatPeriod(d) {\n return locale_periods[+(d.getHours() >= 12)];\n }\n\n function formatQuarter(d) {\n return 1 + ~~(d.getMonth() / 3);\n }\n\n function formatUTCShortWeekday(d) {\n return locale_shortWeekdays[d.getUTCDay()];\n }\n\n function formatUTCWeekday(d) {\n return locale_weekdays[d.getUTCDay()];\n }\n\n function formatUTCShortMonth(d) {\n return locale_shortMonths[d.getUTCMonth()];\n }\n\n function formatUTCMonth(d) {\n return locale_months[d.getUTCMonth()];\n }\n\n function formatUTCPeriod(d) {\n return locale_periods[+(d.getUTCHours() >= 12)];\n }\n\n function formatUTCQuarter(d) {\n return 1 + ~~(d.getUTCMonth() / 3);\n }\n\n return {\n format: function(specifier) {\n var f = newFormat(specifier += \"\", formats);\n f.toString = function() { return specifier; };\n return f;\n },\n parse: function(specifier) {\n var p = newParse(specifier += \"\", false);\n p.toString = function() { return specifier; };\n return p;\n },\n utcFormat: function(specifier) {\n var f = newFormat(specifier += \"\", utcFormats);\n f.toString = function() { return specifier; };\n return f;\n },\n utcParse: function(specifier) {\n var p = newParse(specifier += \"\", true);\n p.toString = function() { return specifier; };\n return p;\n }\n };\n}\n\nvar pads = {\"-\": \"\", \"_\": \" \", \"0\": \"0\"},\n numberRe = /^\\s*\\d+/, // note: ignores next directive\n percentRe = /^%/,\n requoteRe = /[\\\\^$*+?|[\\]().{}]/g;\n\nfunction pad(value, fill, width) {\n var sign = value < 0 ? \"-\" : \"\",\n string = (sign ? -value : value) + \"\",\n length = string.length;\n return sign + (length < width ? new Array(width - length + 1).join(fill) + string : string);\n}\n\nfunction requote(s) {\n return s.replace(requoteRe, \"\\\\$&\");\n}\n\nfunction formatRe(names) {\n return new RegExp(\"^(?:\" + names.map(requote).join(\"|\") + \")\", \"i\");\n}\n\nfunction formatLookup(names) {\n var map = {}, i = -1, n = names.length;\n while (++i < n) map[names[i].toLowerCase()] = i;\n return map;\n}\n\nfunction parseWeekdayNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.w = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekdayNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.u = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberSunday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.U = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberISO(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.V = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseWeekNumberMonday(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.W = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseFullYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 4));\n return n ? (d.y = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.y = +n[0] + (+n[0] > 68 ? 1900 : 2000), i + n[0].length) : -1;\n}\n\nfunction parseZone(d, string, i) {\n var n = /^(Z)|([+-]\\d\\d)(?::?(\\d\\d))?/.exec(string.slice(i, i + 6));\n return n ? (d.Z = n[1] ? 0 : -(n[2] + (n[3] || \"00\")), i + n[0].length) : -1;\n}\n\nfunction parseQuarter(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 1));\n return n ? (d.q = n[0] * 3 - 3, i + n[0].length) : -1;\n}\n\nfunction parseMonthNumber(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.m = n[0] - 1, i + n[0].length) : -1;\n}\n\nfunction parseDayOfMonth(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseDayOfYear(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.m = 0, d.d = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseHour24(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.H = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMinutes(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.M = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 2));\n return n ? (d.S = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMilliseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 3));\n return n ? (d.L = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseMicroseconds(d, string, i) {\n var n = numberRe.exec(string.slice(i, i + 6));\n return n ? (d.L = Math.floor(n[0] / 1000), i + n[0].length) : -1;\n}\n\nfunction parseLiteralPercent(d, string, i) {\n var n = percentRe.exec(string.slice(i, i + 1));\n return n ? i + n[0].length : -1;\n}\n\nfunction parseUnixTimestamp(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.Q = +n[0], i + n[0].length) : -1;\n}\n\nfunction parseUnixTimestampSeconds(d, string, i) {\n var n = numberRe.exec(string.slice(i));\n return n ? (d.s = +n[0], i + n[0].length) : -1;\n}\n\nfunction formatDayOfMonth(d, p) {\n return pad(d.getDate(), p, 2);\n}\n\nfunction formatHour24(d, p) {\n return pad(d.getHours(), p, 2);\n}\n\nfunction formatHour12(d, p) {\n return pad(d.getHours() % 12 || 12, p, 2);\n}\n\nfunction formatDayOfYear(d, p) {\n return pad(1 + timeDay.count(timeYear(d), d), p, 3);\n}\n\nfunction formatMilliseconds(d, p) {\n return pad(d.getMilliseconds(), p, 3);\n}\n\nfunction formatMicroseconds(d, p) {\n return formatMilliseconds(d, p) + \"000\";\n}\n\nfunction formatMonthNumber(d, p) {\n return pad(d.getMonth() + 1, p, 2);\n}\n\nfunction formatMinutes(d, p) {\n return pad(d.getMinutes(), p, 2);\n}\n\nfunction formatSeconds(d, p) {\n return pad(d.getSeconds(), p, 2);\n}\n\nfunction formatWeekdayNumberMonday(d) {\n var day = d.getDay();\n return day === 0 ? 7 : day;\n}\n\nfunction formatWeekNumberSunday(d, p) {\n return pad(timeSunday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction dISO(d) {\n var day = d.getDay();\n return (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n}\n\nfunction formatWeekNumberISO(d, p) {\n d = dISO(d);\n return pad(timeThursday.count(timeYear(d), d) + (timeYear(d).getDay() === 4), p, 2);\n}\n\nfunction formatWeekdayNumberSunday(d) {\n return d.getDay();\n}\n\nfunction formatWeekNumberMonday(d, p) {\n return pad(timeMonday.count(timeYear(d) - 1, d), p, 2);\n}\n\nfunction formatYear(d, p) {\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatYearISO(d, p) {\n d = dISO(d);\n return pad(d.getFullYear() % 100, p, 2);\n}\n\nfunction formatFullYear(d, p) {\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatFullYearISO(d, p) {\n var day = d.getDay();\n d = (day >= 4 || day === 0) ? timeThursday(d) : timeThursday.ceil(d);\n return pad(d.getFullYear() % 10000, p, 4);\n}\n\nfunction formatZone(d) {\n var z = d.getTimezoneOffset();\n return (z > 0 ? \"-\" : (z *= -1, \"+\"))\n + pad(z / 60 | 0, \"0\", 2)\n + pad(z % 60, \"0\", 2);\n}\n\nfunction formatUTCDayOfMonth(d, p) {\n return pad(d.getUTCDate(), p, 2);\n}\n\nfunction formatUTCHour24(d, p) {\n return pad(d.getUTCHours(), p, 2);\n}\n\nfunction formatUTCHour12(d, p) {\n return pad(d.getUTCHours() % 12 || 12, p, 2);\n}\n\nfunction formatUTCDayOfYear(d, p) {\n return pad(1 + utcDay.count(utcYear(d), d), p, 3);\n}\n\nfunction formatUTCMilliseconds(d, p) {\n return pad(d.getUTCMilliseconds(), p, 3);\n}\n\nfunction formatUTCMicroseconds(d, p) {\n return formatUTCMilliseconds(d, p) + \"000\";\n}\n\nfunction formatUTCMonthNumber(d, p) {\n return pad(d.getUTCMonth() + 1, p, 2);\n}\n\nfunction formatUTCMinutes(d, p) {\n return pad(d.getUTCMinutes(), p, 2);\n}\n\nfunction formatUTCSeconds(d, p) {\n return pad(d.getUTCSeconds(), p, 2);\n}\n\nfunction formatUTCWeekdayNumberMonday(d) {\n var dow = d.getUTCDay();\n return dow === 0 ? 7 : dow;\n}\n\nfunction formatUTCWeekNumberSunday(d, p) {\n return pad(utcSunday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction UTCdISO(d) {\n var day = d.getUTCDay();\n return (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n}\n\nfunction formatUTCWeekNumberISO(d, p) {\n d = UTCdISO(d);\n return pad(utcThursday.count(utcYear(d), d) + (utcYear(d).getUTCDay() === 4), p, 2);\n}\n\nfunction formatUTCWeekdayNumberSunday(d) {\n return d.getUTCDay();\n}\n\nfunction formatUTCWeekNumberMonday(d, p) {\n return pad(utcMonday.count(utcYear(d) - 1, d), p, 2);\n}\n\nfunction formatUTCYear(d, p) {\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCYearISO(d, p) {\n d = UTCdISO(d);\n return pad(d.getUTCFullYear() % 100, p, 2);\n}\n\nfunction formatUTCFullYear(d, p) {\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCFullYearISO(d, p) {\n var day = d.getUTCDay();\n d = (day >= 4 || day === 0) ? utcThursday(d) : utcThursday.ceil(d);\n return pad(d.getUTCFullYear() % 10000, p, 4);\n}\n\nfunction formatUTCZone() {\n return \"+0000\";\n}\n\nfunction formatLiteralPercent() {\n return \"%\";\n}\n\nfunction formatUnixTimestamp(d) {\n return +d;\n}\n\nfunction formatUnixTimestampSeconds(d) {\n return Math.floor(+d / 1000);\n}\n","import formatLocale from \"./locale.js\";\n\nvar locale;\nexport var timeFormat;\nexport var timeParse;\nexport var utcFormat;\nexport var utcParse;\n\ndefaultLocale({\n dateTime: \"%x, %X\",\n date: \"%-m/%-d/%Y\",\n time: \"%-I:%M:%S %p\",\n periods: [\"AM\", \"PM\"],\n days: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n shortDays: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n shortMonths: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"]\n});\n\nexport default function defaultLocale(definition) {\n locale = formatLocale(definition);\n timeFormat = locale.format;\n timeParse = locale.parse;\n utcFormat = locale.utcFormat;\n utcParse = locale.utcParse;\n return locale;\n}\n","import { Cache, Edge, Graph, StateObject, StringAnyMap, Subgraph, Vertex, XMLNode } from \"@hpcc-js/util\";\nimport { WUInfo } from \"../services/wsWorkunits\";\nimport { BaseScope } from \"./scope\";\nimport { Timer } from \"./timer\";\nimport { Workunit } from \"./workunit\";\n\nexport interface ECLGraphEx extends WUInfo.ECLGraph {\n Time: number;\n}\n\nexport class ECLGraph extends StateObject<ECLGraphEx, ECLGraphEx> implements ECLGraphEx {\n protected wu: Workunit;\n\n get properties(): ECLGraphEx { return this.get(); }\n get Name(): string { return this.get(\"Name\"); }\n get Label(): string { return this.get(\"Label\"); }\n get Type(): string { return this.get(\"Type\"); }\n get Complete(): boolean { return this.get(\"Complete\"); }\n get WhenStarted(): string { return this.get(\"WhenStarted\"); }\n get WhenFinished(): string { return this.get(\"WhenFinished\"); }\n get Time(): number { return this.get(\"Time\"); }\n get Running(): boolean { return this.get(\"Running\"); }\n get RunningId(): number { return this.get(\"RunningId\"); }\n get Failed(): boolean { return this.get(\"Failed\"); }\n\n constructor(wu: Workunit, eclGraph: WUInfo.ECLGraph, eclTimers: Timer[]) {\n super();\n this.wu = wu;\n let duration = 0;\n for (const eclTimer of eclTimers) {\n if (eclTimer.GraphName === eclGraph.Name && !eclTimer.HasSubGraphId) {\n duration = Math.round(eclTimer.Seconds * 1000) / 1000;\n break;\n }\n }\n this.set({ Time: duration, ...eclGraph });\n }\n\n fetchScopeGraph(subgraphID?: string): Promise<ScopeGraph> {\n if (subgraphID) {\n return this.wu.fetchGraphDetails([subgraphID], [\"subgraph\"]).then((scopes) => {\n return createGraph(scopes);\n });\n }\n return this.wu.fetchGraphDetails([this.Name], [\"graph\"]).then((scopes) => {\n return createGraph(scopes);\n });\n }\n}\n\nexport class GraphCache extends Cache<WUInfo.ECLGraph, ECLGraph> {\n constructor() {\n super((obj) => {\n return Cache.hash([obj.Name]);\n });\n }\n}\n\ntype Callback = (tag: string, attributes: StringAnyMap, children: XMLNode[], _stack: XMLNode[]) => void;\nfunction walkXmlJson(node: XMLNode, callback: Callback, stack?: XMLNode[]) {\n stack = stack || [];\n stack.push(node);\n callback(node.name, node.$, node.children(), stack);\n node.children().forEach((childNode) => {\n walkXmlJson(childNode, callback, stack);\n });\n stack.pop();\n}\n\nfunction flattenAtt(nodes: XMLNode[]): StringAnyMap {\n const retVal: StringAnyMap = {};\n nodes.forEach((node: XMLNode) => {\n if (node.name === \"att\") {\n retVal[node.$[\"name\"]] = node.$[\"value\"];\n }\n });\n return retVal;\n}\n\nexport class XGMMLGraph extends Graph<StringAnyMap, StringAnyMap, StringAnyMap> { }\nexport class XGMMLSubgraph extends Subgraph<StringAnyMap, StringAnyMap, StringAnyMap> { }\nexport class XGMMLVertex extends Vertex<StringAnyMap, StringAnyMap, StringAnyMap> { }\nexport class XGMMLEdge extends Edge<StringAnyMap, StringAnyMap, StringAnyMap> { }\n\nexport function createXGMMLGraph(id: string, graphs: XMLNode): XGMMLGraph {\n const subgraphs: { [id: string]: XGMMLSubgraph } = {};\n const vertices: { [id: string]: XGMMLVertex } = {};\n const edges: { [id: string]: XGMMLEdge } = {};\n\n const graph = new XGMMLGraph((item) => {\n return item._![\"id\"];\n });\n\n const stack: XGMMLSubgraph[] = [graph.root];\n walkXmlJson(graphs, (tag: string, attributes: StringAnyMap, childNodes: XMLNode[], _stack) => {\n const top = stack[stack.length - 1];\n switch (tag) {\n case \"graph\":\n break;\n case \"node\":\n if (childNodes.length && childNodes[0].children().length && childNodes[0].children()[0].name === \"graph\") {\n const subgraph = top.createSubgraph(flattenAtt(childNodes));\n stack.push(subgraph);\n subgraphs[attributes[\"id\"]] = subgraph;\n } else {\n }\n // TODO: Is this really a node when its also a subgraph?\n const vertex = top.createVertex(flattenAtt(childNodes));\n vertices[attributes[\"id\"]] = vertex;\n break;\n case \"edge\":\n const edge = top.createEdge(vertices[attributes[\"source\"]], vertices[attributes[\"target\"]], flattenAtt(childNodes));\n edges[attributes[\"id\"]] = edge;\n break;\n default:\n }\n });\n return graph;\n}\n\nexport class ScopeGraph extends Graph<BaseScope, BaseScope, BaseScope> { }\nexport class ScopeSubgraph extends Subgraph<BaseScope, BaseScope, BaseScope> { }\nexport class ScopeVertex extends Vertex<BaseScope, BaseScope, BaseScope> { }\nexport class ScopeEdge extends Edge<BaseScope, BaseScope, BaseScope> { }\n\nexport function createGraph(scopes: BaseScope[]): ScopeGraph {\n const subgraphs: { [scopeName: string]: ScopeSubgraph } = {};\n const edges: { [scopeName: string]: BaseScope } = {};\n const vertices: { [scopeName: string]: ScopeVertex } = {};\n\n let graph: ScopeGraph | undefined;\n for (const scope of scopes) {\n switch (scope.ScopeType) {\n case \"graph\":\n graph = new ScopeGraph(item => item._!.Id, scope);\n subgraphs[scope.ScopeName] = graph.root;\n break;\n case \"subgraph\":\n if (!graph) {\n graph = new ScopeGraph(item => item._!.Id, scope);\n subgraphs[scope.ScopeName] = graph.root;\n }\n const scopeStack = scope.parentScope().split(\":\");\n let scopeParent1 = subgraphs[scope.parentScope()];\n while (scopeStack.length && !scopeParent1) {\n scopeParent1 = subgraphs[scopeStack.join(\":\")];\n scopeStack.pop();\n }\n if (!scopeParent1) {\n console.log(`Missing SG:Parent (${scope.Id}): ${scope.parentScope()}`);\n } else {\n const parent1: ScopeSubgraph = scopeParent1;\n subgraphs[scope.ScopeName] = parent1.createSubgraph(scope);\n }\n break;\n case \"activity\":\n const scopeParent2 = subgraphs[scope.parentScope()];\n if (!scopeParent2) {\n console.log(`Missing A:Parent (${scope.Id}): ${scope.parentScope()}`);\n } else {\n vertices[scope.ScopeName] = scopeParent2.createVertex(scope);\n }\n break;\n case \"edge\":\n edges[scope.ScopeName] = scope;\n break;\n case \"function\":\n const scopeParent3 = vertices[scope.parentScope()];\n if (!scopeParent3) {\n console.log(`Missing F:Parent (${scope.Id}): ${scope.parentScope()}`);\n } else {\n scopeParent3._.children().push(scope);\n }\n break;\n }\n }\n for (const id in edges) {\n const scope = edges[id];\n const scopeParent3 = subgraphs[scope.parentScope()];\n if (!scopeParent3) {\n console.log(`Missing E:Parent (${scope.Id}): ${scope.parentScope()}`);\n } else {\n const parent3: ScopeSubgraph = scopeParent3;\n try {\n const source = graph!.vertex(scope.attr(\"IdSource\").RawValue);\n const target = graph!.vertex(scope.attr(\"IdTarget\").RawValue);\n parent3.createEdge(source, target, scope);\n } catch (e) {\n // const sourceIndex = scope.attr(\"SourceIndex\").RawValue;\n // const targetIndex = scope.attr(\"TargetIndex\").RawValue;\n console.log(`Invalid Edge: ${id}`);\n }\n }\n }\n return graph!;\n}\n","import { StateObject } from \"@hpcc-js/util\";\nimport { Workunit } from \"./workunit\";\n\nexport interface ResourceEx {\n URL: string;\n DisplayName: string;\n DisplayPath: string;\n}\n\nexport class Resource extends StateObject<ResourceEx, ResourceEx> implements ResourceEx {\n protected wu: Workunit;\n\n get properties(): ResourceEx { return this.get(); }\n get URL(): string { return this.get(\"URL\"); }\n get DisplayName(): string { return this.get(\"DisplayName\"); }\n get DisplayPath(): string { return this.get(\"DisplayPath\"); }\n\n constructor(wu: Workunit, url: string) {\n super();\n this.wu = wu;\n\n const cleanedURL = url.split(\"\\\\\").join(\"/\");\n const urlParts = cleanedURL.split(\"/\");\n const matchStr = \"res/\" + this.wu.Wuid + \"/\";\n let displayPath = \"\";\n let displayName = \"\";\n\n if (cleanedURL.indexOf(matchStr) === 0) {\n displayPath = cleanedURL.substr(matchStr.length);\n displayName = urlParts[urlParts.length - 1];\n }\n\n this.set({\n URL: url,\n DisplayName: displayName,\n DisplayPath: displayPath\n });\n }\n}\n","import { SAXStackParser, Stack, XMLNode } from \"@hpcc-js/util\";\n\nexport class XSDNode {\n protected e?: XMLNode;\n\n constructor(e: XMLNode) {\n this.e = e;\n }\n fix() {\n delete this.e;\n }\n}\n\nexport class XSDXMLNode extends XSDNode {\n name: string;\n type: string;\n isSet = false;\n attrs: { [key: string]: string } = {};\n private _children: XSDXMLNode[] = [];\n\n constructor(e: XMLNode) {\n super(e);\n }\n\n append(child: XSDXMLNode) {\n this._children.push(child);\n if (!this.type) {\n this.type = \"hpcc:childDataset\";\n }\n }\n\n fix() {\n this.name = this.e!.$[\"name\"];\n this.type = this.e!.$[\"type\"];\n for (let i = this._children.length - 1; i >= 0; --i) {\n const row = this._children[i];\n if (row.name === \"Row\" && row.type === undefined) {\n this._children.push(...row._children);\n this._children.splice(i, 1);\n }\n }\n const setOfType = this.setOfType();\n if (setOfType) {\n this.type = setOfType;\n this.isSet = true;\n this._children = [];\n }\n }\n\n children(): XSDXMLNode[] {\n return this._children;\n }\n\n private isAll(node: XSDXMLNode) {\n return node.name === \"All\" && node.type === undefined;\n }\n\n private setOfType(): string {\n const children = this.children();\n if (this.type === undefined && children.length === 2) {\n if (this.isAll(children[0])) {\n return children[1].type;\n } else if (this.isAll(children[1])) {\n return children[0].type;\n }\n }\n return undefined;\n }\n\n charWidth() {\n let retVal: number = -1;\n\n switch (this.type) {\n case \"xs:boolean\":\n retVal = 5;\n break;\n case \"xs:integer\":\n retVal = 8;\n break;\n case \"xs:nonNegativeInteger\":\n retVal = 8;\n break;\n case \"xs:double\":\n retVal = 8;\n break;\n case \"xs:string\":\n retVal = 32;\n break;\n default:\n const numStr: string = \"0123456789\";\n const underbarPos: number = this.type.lastIndexOf(\"_\");\n const length: number = underbarPos > 0 ? underbarPos : this.type.length;\n let i: number = length - 1;\n for (; i >= 0; --i) {\n if (numStr.indexOf(this.type.charAt(i)) === -1)\n break;\n }\n if (i + 1 < length) {\n retVal = parseInt(this.type.substring(i + 1, length), 10);\n }\n if (this.type.indexOf(\"data\") === 0) {\n retVal *= 2;\n }\n break;\n }\n if (retVal < this.name.length)\n retVal = this.name.length;\n\n return retVal;\n }\n}\n\nexport class XSDSimpleType extends XSDNode {\n name: string;\n type: string;\n maxLength: number | undefined;\n\n protected _restricition?: XMLNode;\n protected _maxLength?: XMLNode;\n\n constructor(e: XMLNode) {\n super(e);\n }\n\n append(e: XMLNode) {\n switch (e.name) {\n case \"xs:restriction\":\n this._restricition = e;\n break;\n case \"xs:maxLength\":\n this._maxLength = e;\n break;\n default:\n }\n }\n\n fix() {\n this.name = this.e!.$[\"name\"];\n this.type = this._restricition!.$[\"base\"];\n this.maxLength = this._maxLength ? +this._maxLength!.$[\"value\"] : undefined;\n delete this._restricition;\n delete this._maxLength;\n super.fix();\n }\n}\n\nexport class XSDSchema {\n root: XSDXMLNode;\n simpleTypes: { [name: string]: XSDSimpleType } = {};\n\n fields(): XSDXMLNode[] {\n return this.root.children();\n }\n}\n\nclass XSDParser extends SAXStackParser {\n schema: XSDSchema = new XSDSchema();\n simpleType: XSDSimpleType;\n simpleTypes: { [name: string]: XSDSimpleType } = {};\n\n xsdStack: Stack<XSDXMLNode> = new Stack<XSDXMLNode>();\n\n startXMLNode(e: XMLNode) {\n super.startXMLNode(e);\n switch (e.name) {\n case \"xs:element\":\n const xsdXMLNode = new XSDXMLNode(e);\n if (!this.schema.root) {\n this.schema.root = xsdXMLNode;\n } else if (this.xsdStack.depth()) {\n this.xsdStack.top()!.append(xsdXMLNode);\n }\n this.xsdStack.push(xsdXMLNode);\n break;\n case \"xs:simpleType\":\n this.simpleType = new XSDSimpleType(e);\n break;\n default:\n break;\n }\n }\n\n endXMLNode(e: XMLNode) {\n switch (e!.name) {\n case \"xs:element\":\n const xsdXMLNode = this.xsdStack.pop();\n xsdXMLNode!.fix();\n break;\n case \"xs:simpleType\":\n this.simpleType.fix();\n this.simpleTypes[this.simpleType.name] = this.simpleType;\n delete this.simpleType;\n break;\n case \"xs:appinfo\":\n const xsdXMLNode2 = this.xsdStack.top();\n for (const key in e.$) {\n xsdXMLNode2!.attrs[key] = e.$[key];\n }\n break;\n default:\n if (this.simpleType) {\n this.simpleType.append(e);\n }\n }\n super.endXMLNode(e);\n }\n}\n\nexport function parseXSD(xml: string): XSDSchema {\n const saxParser = new XSDParser();\n saxParser.parse(xml);\n return saxParser.schema;\n}\n\nclass XSDParser2 extends XSDParser {\n _rootName: string;\n schema: XSDSchema = new XSDSchema();\n simpleType: XSDSimpleType;\n simpleTypes: { [name: string]: XSDSimpleType } = {};\n\n xsdStack: Stack<XSDXMLNode> = new Stack<XSDXMLNode>();\n\n constructor(rootName: string) {\n super();\n this._rootName = rootName;\n }\n\n startXMLNode(e: XMLNode) {\n super.startXMLNode(e);\n switch (e.name) {\n case \"xsd:element\":\n const xsdXMLNode = new XSDXMLNode(e);\n if (!this.schema.root && this._rootName === e.$.name) {\n this.schema.root = xsdXMLNode;\n }\n if (this.xsdStack.depth()) {\n this.xsdStack.top()!.append(xsdXMLNode);\n }\n this.xsdStack.push(xsdXMLNode);\n break;\n case \"xsd:simpleType\":\n this.simpleType = new XSDSimpleType(e);\n break;\n default:\n break;\n }\n }\n\n endXMLNode(e: XMLNode) {\n switch (e!.name) {\n case \"xsd:element\":\n const xsdXMLNode = this.xsdStack.pop()!;\n xsdXMLNode.fix();\n break;\n case \"xsd:simpleType\":\n break;\n default:\n break;\n }\n super.endXMLNode(e);\n }\n}\n\nexport function parseXSD2(xml: string, rootName): XSDSchema {\n const saxParser = new XSDParser2(rootName);\n saxParser.parse(xml);\n return saxParser.schema;\n}\n","import { debounce, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { WsSMC, SMCService } from \"../services/wsSMC\";\nimport { Workunit } from \"./workunit\";\n\nlet _activity: Activity;\n\nexport interface ActivityEx {\n}\n\nexport type UActivityState = WsSMC.ActivityResponse & ActivityEx;\nexport type IActivityState = WsSMC.ActivityResponse | ActivityEx;\nexport class Activity extends StateObject<UActivityState, IActivityState> implements UActivityState {\n protected connection: SMCService;\n\n get properties(): UActivityState { return this.get(); }\n get Exceptions(): WsSMC.Exceptions { return this.get(\"Exceptions\"); }\n get Build(): string { return this.get(\"Build\"); }\n get ThorClusterList(): WsSMC.ThorClusterList { return this.get(\"ThorClusterList\"); }\n get RoxieClusterList(): WsSMC.RoxieClusterList { return this.get(\"RoxieClusterList\"); }\n get HThorClusterList(): WsSMC.HThorClusterList { return this.get(\"HThorClusterList\"); }\n get DFUJobs(): WsSMC.DFUJobs { return this.get(\"DFUJobs\"); }\n get Running(): WsSMC.Running { return this.get(\"Running\", { ActiveWorkunit: [] }); }\n get BannerContent(): string { return this.get(\"BannerContent\"); }\n get BannerColor(): string { return this.get(\"BannerColor\"); }\n get BannerSize(): string { return this.get(\"BannerSize\"); }\n get BannerScroll(): string { return this.get(\"BannerScroll\"); }\n get ChatURL(): string { return this.get(\"ChatURL\"); }\n get ShowBanner(): number { return this.get(\"ShowBanner\"); }\n get ShowChatURL(): number { return this.get(\"ShowChatURL\"); }\n get SortBy(): string { return this.get(\"SortBy\"); }\n get Descending(): boolean { return this.get(\"Descending\"); }\n get SuperUser(): boolean { return this.get(\"SuperUser\"); }\n get AccessRight(): string { return this.get(\"AccessRight\"); }\n get ServerJobQueues(): WsSMC.ServerJobQueues { return this.get(\"ServerJobQueues\"); }\n get ActivityTime(): string { return this.get(\"ActivityTime\"); }\n get DaliDetached(): boolean { return this.get(\"DaliDetached\"); }\n\n static attach(optsConnection: IOptions | IConnection | SMCService, state?: IActivityState): Activity {\n if (!_activity) {\n _activity = new Activity(optsConnection);\n }\n if (state) {\n _activity.set({\n ...state\n });\n }\n return _activity;\n }\n\n protected constructor(optsConnection: IOptions | IConnection | SMCService) {\n super();\n if (optsConnection instanceof SMCService) {\n this.connection = optsConnection;\n } else {\n this.connection = new SMCService(optsConnection);\n }\n this.clear({\n });\n }\n\n runningWorkunits(clusterName: string = \"\"): Workunit[] {\n return this.Running.ActiveWorkunit.filter(awu => clusterName === \"\" || awu.ClusterName === clusterName).map(awu => Workunit.attach(this.connection.connectionOptions(), awu.Wuid, awu));\n }\n\n setBanner(request: Partial<WsSMC.SetBanner>): Promise<Activity> {\n return this.connection.SetBanner({\n ...request\n }).then((response) => {\n this.set(response);\n return this;\n });\n }\n\n lazyRefresh = debounce(async (): Promise<this> => {\n const response = await this.connection.Activity({});\n this.set(response);\n return this;\n });\n\n async refresh(): Promise<this> {\n return this.lazyRefresh();\n }\n}\n","import { Cache, exists, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { WsDfu } from \"../services/wsDFU\";\nimport { isECLResult, WorkunitsService, WUInfo, WUResult } from \"../services/wsWorkunits\";\nimport { parseXSD, XSDSchema, XSDXMLNode } from \"./xsdParser\";\n\nexport class GlobalResultCache extends Cache<{ BaseUrl: string, Wuid: string, ResultName: string }, Result> {\n constructor() {\n super((obj) => {\n return `${obj.BaseUrl}-${obj.Wuid}-${obj.ResultName}`;\n });\n }\n}\nconst _results = new GlobalResultCache();\n\nexport type ResultFilter = { [key: string]: string | number };\n\nexport interface ECLResultEx extends WUInfo.ECLResult {\n Wuid: string;\n ResultName?: string;\n ResultSequence?: number;\n LogicalFileName?: string;\n NodeGroup?: string;\n ResultViews: string[];\n}\n\nexport type UResulState = ECLResultEx & WsDfu.DFULogicalFile;\nexport type IResulState = ECLResultEx | WsDfu.DFULogicalFile;\nexport class Result extends StateObject<UResulState, IResulState> implements ECLResultEx {\n protected connection: WorkunitsService;\n get BaseUrl() { return this.connection.baseUrl; }\n protected xsdSchema: XSDSchema;\n\n get properties(): WUInfo.ECLResult { return this.get(); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get ResultName(): string | undefined { return this.get(\"ResultName\"); }\n get ResultSequence(): number | undefined { return this.get(\"ResultSequence\"); }\n get LogicalFileName(): string | undefined { return this.get(\"LogicalFileName\"); }\n get Name(): string { return this.get(\"Name\"); }\n get Sequence(): number { return this.get(\"Sequence\"); }\n get Value(): string { return this.get(\"Value\"); }\n get Link(): string { return this.get(\"Link\"); }\n get FileName(): string { return this.get(\"FileName\"); }\n get IsSupplied(): boolean { return this.get(\"IsSupplied\"); }\n get ShowFileContent() { return this.get(\"ShowFileContent\"); }\n get Total(): number { return this.get(\"Total\"); }\n get ECLSchemas(): WUInfo.ECLSchemas { return this.get(\"ECLSchemas\"); }\n get NodeGroup(): string { return this.get(\"NodeGroup\"); }\n get ResultViews(): string[] { return this.get(\"ResultViews\"); }\n get XmlSchema(): string { return this.get(\"XmlSchema\"); }\n\n static attach(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, name: string);\n static attach(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, sequence: number);\n static attach(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, eclResult: WUInfo.ECLResult, resultViews: string[]);\n static attach(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, name_sequence_eclResult?: string | number | WUInfo.ECLResult, resultViews?: string[]): Result {\n let retVal: Result;\n if (Array.isArray(resultViews)) {\n retVal = _results.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid, ResultName: (name_sequence_eclResult as WUInfo.ECLResult).Name }, () => {\n return new Result(optsConnection, wuid, name_sequence_eclResult as WUInfo.ECLResult, resultViews);\n });\n retVal.set(name_sequence_eclResult as any);\n } else if (typeof resultViews === \"undefined\") {\n if (typeof name_sequence_eclResult === \"number\") {\n retVal = _results.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid, ResultName: \"Sequence_\" + name_sequence_eclResult }, () => {\n return new Result(optsConnection, wuid, name_sequence_eclResult);\n });\n } else if (typeof name_sequence_eclResult === \"string\") {\n retVal = _results.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid, ResultName: name_sequence_eclResult }, () => {\n return new Result(optsConnection, wuid, name_sequence_eclResult);\n });\n }\n }\n return retVal;\n }\n\n static attachLogicalFile(optsConnection: IOptions | IConnection | WorkunitsService, nodeGroup: string, logicalFile: string) {\n return _results.get({ BaseUrl: optsConnection.baseUrl, Wuid: nodeGroup, ResultName: logicalFile }, () => {\n return new Result(optsConnection, nodeGroup, logicalFile, true);\n });\n }\n\n private constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, name: string);\n private constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, sequence: number);\n private constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, eclResult: WUInfo.ECLResult, resultViews: string[]);\n private constructor(optsConnection: IOptions | IConnection | WorkunitsService, nodeGroup: string, logicalFile: string, isLogicalFiles: boolean);\n private constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid_NodeGroup: string, name_sequence_eclResult_logicalFile?: string | number | WUInfo.ECLResult, resultViews_isLogicalFile?: any[] | boolean) {\n super();\n if (optsConnection instanceof WorkunitsService) {\n this.connection = optsConnection;\n } else {\n this.connection = new WorkunitsService(optsConnection);\n }\n\n if (typeof resultViews_isLogicalFile === \"boolean\" && resultViews_isLogicalFile === true) {\n this.set({\n NodeGroup: wuid_NodeGroup,\n LogicalFileName: name_sequence_eclResult_logicalFile\n } as ECLResultEx);\n } else if (isECLResult(name_sequence_eclResult_logicalFile) && Array.isArray(resultViews_isLogicalFile)) {\n this.set({\n ...name_sequence_eclResult_logicalFile,\n Wuid: wuid_NodeGroup,\n ResultName: name_sequence_eclResult_logicalFile.Name,\n ResultViews: resultViews_isLogicalFile\n } as ECLResultEx);\n } else if (typeof resultViews_isLogicalFile === \"undefined\") {\n if (typeof name_sequence_eclResult_logicalFile === \"number\") {\n this.set({\n Wuid: wuid_NodeGroup,\n ResultSequence: name_sequence_eclResult_logicalFile\n } as ECLResultEx);\n } else if (typeof name_sequence_eclResult_logicalFile === \"string\") {\n this.set({\n Wuid: wuid_NodeGroup,\n ResultName: name_sequence_eclResult_logicalFile\n } as ECLResultEx);\n } else {\n console.warn(\"Unknown Result.attach (1)\");\n }\n } else {\n console.warn(\"Unknown Result.attach (2)\");\n }\n }\n\n isComplete() {\n return this.Total !== -1;\n }\n\n fetchXMLSchema(): Promise<XSDSchema | null> {\n if (this.xsdSchema) {\n return Promise.resolve(this.xsdSchema);\n }\n return this.WUResult().then((response) => {\n if (exists(\"Result.XmlSchema.xml\", response)) {\n this.xsdSchema = parseXSD(response.Result.XmlSchema.xml);\n return this.xsdSchema;\n }\n return null;\n });\n }\n\n async refresh(): Promise<this> {\n await this.fetchRows(0, 1, true);\n return this;\n }\n\n fetchRows(from: number = 0, count: number = -1, includeSchema: boolean = false, filter: ResultFilter = {}, abortSignal?: AbortSignal): Promise<any[]> {\n return this.WUResult(from, count, !includeSchema, filter, abortSignal).then((response) => {\n const result = response.Result;\n delete response.Result; // Do not want it in \"set\"\n this.set({\n ...response\n } as any);\n if (exists(\"XmlSchema.xml\", result)) {\n this.xsdSchema = parseXSD(result.XmlSchema.xml);\n }\n if (exists(\"Row\", result)) {\n return result.Row;\n } else if (this.ResultName && exists(this.ResultName, result)) {\n return result[this.ResultName].Row;\n }\n return [];\n });\n }\n\n rootField(): XSDXMLNode | null {\n if (!this.xsdSchema) return null;\n return this.xsdSchema.root;\n }\n\n fields(): XSDXMLNode[] {\n if (!this.xsdSchema) return [];\n return this.xsdSchema.root.children();\n }\n\n protected WUResult(start: number = 0, count: number = 1, suppressXmlSchema: boolean = false, filter: { [key: string]: string | number } = {}, abortSignal?: AbortSignal): Promise<WUResult.Response> {\n const FilterBy = {\n NamedValue: {\n itemcount: 0\n }\n };\n for (const key in filter) {\n FilterBy.NamedValue[FilterBy.NamedValue.itemcount++] = {\n Name: key,\n Value: filter[key]\n };\n }\n const request: WUResult.Request = { FilterBy } as WUResult.Request;\n if (this.Wuid && this.ResultName !== undefined) {\n request.Wuid = this.Wuid;\n request.ResultName = this.ResultName;\n } else if (this.Wuid && this.ResultSequence !== undefined) {\n request.Wuid = this.Wuid;\n request.Sequence = this.ResultSequence;\n } else if (this.LogicalFileName && this.NodeGroup) {\n request.LogicalName = this.LogicalFileName;\n request.Cluster = this.NodeGroup;\n } else if (this.LogicalFileName) {\n request.LogicalName = this.LogicalFileName;\n }\n request.Start = start;\n request.Count = count;\n request.SuppressXmlSchema = suppressXmlSchema;\n return this.connection.WUResult(request, abortSignal).then((response) => {\n return response;\n });\n }\n}\n\nexport class ResultCache extends Cache<WUInfo.ECLResult, Result> {\n constructor() {\n super((obj) => {\n return Cache.hash([obj.Sequence, obj.Name, obj.Value, obj.FileName]);\n });\n }\n}\n","import { StateObject, StringAnyMap } from \"@hpcc-js/util\";\n// import { utcFormat, utcParse } from \"d3-time-format\";\nimport { WUDetails } from \"../services/wsWorkunits\";\nimport { Workunit } from \"./workunit\";\n\n// const formatter = utcFormat(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n// const parser = utcParse(\"%Y-%m-%dT%H:%M:%S.%LZ\");\n\nexport interface AttributeEx extends WUDetails.Property {\n FormattedEnd?: string;\n}\n\nexport class Attribute extends StateObject<AttributeEx, AttributeEx> implements AttributeEx {\n readonly scope: BaseScope;\n\n get properties(): AttributeEx { return this.get(); }\n get Name(): string { return this.get(\"Name\"); }\n get RawValue(): string { return this.get(\"RawValue\"); }\n get Formatted(): string { return this.get(\"Formatted\"); }\n get FormattedEnd(): string | undefined { return this.get(\"FormattedEnd\"); }\n get Measure(): string { return this.get(\"Measure\"); }\n get Creator(): string { return this.get(\"Creator\"); }\n get CreatorType(): string { return this.get(\"CreatorType\"); }\n\n constructor(scope: BaseScope, attribute: WUDetails.Property) {\n super();\n this.scope = scope;\n this.set(attribute);\n }\n}\n\nexport interface ScopeEx extends WUDetails.Scope {\n}\n\nexport interface IScopeVisitor {\n start(scope: BaseScope): boolean;\n end(scope: BaseScope): boolean;\n}\n\nexport class BaseScope extends StateObject<ScopeEx, ScopeEx> implements ScopeEx {\n protected _attributeMap: { [key: string]: Attribute } = {};\n protected _children: BaseScope[] = [];\n\n get properties(): ScopeEx { return this.get(); }\n get ScopeName(): string { return this.get(\"ScopeName\"); }\n get Id(): string { return this.get(\"Id\"); }\n get ScopeType(): string { return this.get(\"ScopeType\"); }\n get Properties(): WUDetails.Properties { return this.get(\"Properties\", { Property: [] }); }\n get Notes(): WUDetails.Notes { return this.get(\"Notes\", { Note: [] }); }\n get CAttributes(): Attribute[] {\n // Match \"started\" and time elapsed\n const retVal: Attribute[] = [];\n const timeElapsed: { start: AttributeEx | null, end: AttributeEx | null } = {\n start: null,\n end: null\n };\n this.Properties.Property.forEach((scopeAttr) => {\n if (scopeAttr.Measure === \"ts\" && scopeAttr.Name.indexOf(\"Started\") >= 0) {\n timeElapsed.start = scopeAttr;\n } else if (this.ScopeName && scopeAttr.Measure === \"ts\" && scopeAttr.Name.indexOf(\"Finished\") >= 0) {\n timeElapsed.end = scopeAttr;\n } else {\n retVal.push(new Attribute(this, scopeAttr));\n }\n });\n if (timeElapsed.start && timeElapsed.end) {\n // const endTime = parser(timeElapsed.start.Formatted);\n // endTime!.setMilliseconds(endTime!.getMilliseconds() + (+timeElapsed.elapsed.RawValue) / 1000000);\n // timeElapsed.start.FormattedEnd = formatter(endTime!);\n timeElapsed.start.FormattedEnd = timeElapsed.end.Formatted;\n retVal.push(new Attribute(this, timeElapsed.start));\n } else if (timeElapsed.start) {\n retVal.push(new Attribute(this, timeElapsed.start));\n } else if (timeElapsed.end) {\n retVal.push(new Attribute(this, timeElapsed.end)); // Should not happen?\n }\n return retVal;\n }\n\n constructor(scope: WUDetails.Scope) {\n super();\n this.update(scope);\n }\n\n update(scope: WUDetails.Scope) {\n this.set(scope);\n this.CAttributes.forEach((attr) => {\n this._attributeMap[attr.Name] = attr;\n });\n this.Properties.Property = [];\n for (const key in this._attributeMap) {\n if (this._attributeMap.hasOwnProperty(key)) {\n this.Properties.Property.push(this._attributeMap[key].properties);\n }\n }\n }\n\n parentScope(): string {\n const scopeParts = this.ScopeName.split(\":\");\n scopeParts.pop();\n return scopeParts.join(\":\");\n }\n\n children(): BaseScope[];\n children(_: BaseScope[]): BaseScope;\n children(_?: BaseScope[]): BaseScope[] | BaseScope {\n if (!arguments.length) return this._children;\n this._children = _!;\n return this;\n }\n\n walk(visitor: IScopeVisitor): boolean {\n if (visitor.start(this)) return true;\n for (const scope of this.children()) {\n if (scope.walk(visitor)) {\n return true;\n }\n }\n return visitor.end(this);\n }\n\n formattedAttrs(): StringAnyMap {\n const retVal: StringAnyMap = {};\n for (const attr in this._attributeMap) {\n retVal[attr] = this._attributeMap[attr].Formatted || this._attributeMap[attr].RawValue;\n }\n return retVal;\n }\n\n rawAttrs(): StringAnyMap {\n const retVal: StringAnyMap = {};\n for (const attr in this._attributeMap) {\n retVal[attr] = this._attributeMap[attr].RawValue;\n }\n return retVal;\n }\n\n hasAttr(name: string): boolean {\n return this._attributeMap[name] !== undefined;\n }\n\n attr(name: string): Attribute {\n return this._attributeMap[name] || new Attribute(this, {\n Creator: \"\",\n CreatorType: \"\",\n Formatted: \"\",\n Measure: \"\",\n Name: \"\",\n RawValue: \"\"\n });\n }\n\n attrMeasure(name: string): string {\n return this._attributeMap[name].Measure;\n }\n\n calcTooltip(parentScope?: BaseScope) {\n let label = \"\";\n const rows: string[] = [];\n label = this.Id;\n rows.push(`<tr><td class=\"key\">ID:</td><td class=\"value\">${this.Id}</td></tr>`);\n if (parentScope) {\n rows.push(`<tr><td class=\"key\">Parent ID:</td><td class=\"value\">${parentScope.Id}</td></tr>`);\n }\n rows.push(`<tr><td class=\"key\">Scope:</td><td class=\"value\">${this.ScopeName}</td></tr>`);\n const attrs = this.formattedAttrs();\n for (const key in attrs) {\n if (key === \"Label\") {\n label = attrs[key];\n } else {\n rows.push(`<tr><td class=\"key\">${key}</td><td class=\"value\">${attrs[key]}</td></tr>`);\n }\n }\n\n return `<div class=\"eclwatch_WUGraph_Tooltip\" style=\"max-width:480px\">\n <h4 align=\"center\">${label}</h4>\n <table>\n ${rows.join(\"\")}\n </table>\n </div>`;\n }\n}\n\nexport class Scope extends BaseScope {\n readonly wu: Workunit;\n\n constructor(wu: Workunit, scope: WUDetails.Scope) {\n super(scope);\n this.wu = wu;\n }\n}\n","import { StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { WorkunitsService, WUInfo } from \"../services/wsWorkunits\";\n\nexport interface ECLSourceFileEx extends WUInfo.ECLSourceFile {\n Wuid: string;\n}\n\nexport class SourceFile extends StateObject<ECLSourceFileEx, ECLSourceFileEx> implements ECLSourceFileEx {\n protected connection: WorkunitsService;\n\n get properties(): WUInfo.ECLSourceFile { return this.get(); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get FileCluster(): string { return this.get(\"FileCluster\"); }\n get Name(): string { return this.get(\"Name\"); }\n get IsSuperFile(): boolean { return this.get(\"IsSuperFile\"); }\n get Subs(): number { return this.get(\"Subs\"); }\n get Count(): number { return this.get(\"Count\"); }\n get ECLSourceFiles(): WUInfo.ECLSourceFiles { return this.get(\"ECLSourceFiles\"); }\n\n constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, eclSourceFile: WUInfo.ECLSourceFile) {\n super();\n if (optsConnection instanceof WorkunitsService) {\n this.connection = optsConnection;\n } else {\n this.connection = new WorkunitsService(optsConnection);\n }\n\n this.set({\n Wuid: wuid,\n ...eclSourceFile\n });\n }\n}\n","import { espTime2Seconds, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { WorkunitsService, WUInfo } from \"../services/wsWorkunits\";\n\nexport interface ECLTimerEx extends WUInfo.ECLTimer {\n Wuid: string;\n Seconds: number;\n HasSubGraphId: boolean;\n}\n\nexport class Timer extends StateObject<ECLTimerEx, ECLTimerEx> implements ECLTimerEx {\n protected connection: WorkunitsService;\n\n get properties(): WUInfo.ECLTimer { return this.get(); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get Name(): string { return this.get(\"Name\"); }\n get Value(): string { return this.get(\"Value\"); }\n get Seconds(): number { return this.get(\"Seconds\"); }\n get GraphName(): string { return this.get(\"GraphName\"); }\n get SubGraphId(): number { return this.get(\"SubGraphId\"); }\n get HasSubGraphId(): boolean { return this.get(\"HasSubGraphId\"); }\n get count(): number { return this.get(\"count\"); }\n\n constructor(optsConnection: IOptions | IConnection | WorkunitsService, wuid: string, eclTimer: WUInfo.ECLTimer) {\n super();\n if (optsConnection instanceof WorkunitsService) {\n this.connection = optsConnection;\n } else {\n this.connection = new WorkunitsService(optsConnection);\n }\n\n const secs = espTime2Seconds(eclTimer.Value);\n this.set({\n Wuid: wuid,\n Seconds: Math.round(secs * 1000) / 1000,\n HasSubGraphId: eclTimer.SubGraphId !== undefined,\n ...eclTimer\n });\n }\n}\n","import { Cache, deepMixinT, IEvent, scopedLogger, StateCallback, StateEvents, StateObject, StatePropCallback, StringAnyMap, XMLNode } from \"@hpcc-js/util\";\nimport { utcFormat, utcParse } from \"d3-time-format\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { ESPExceptions } from \"../espConnection\";\nimport { WsSMC } from \"../services/wsSMC\";\nimport * as WsTopology from \"../services/wsTopology\";\nimport * as WsWorkunits from \"../services/wsWorkunits\";\nimport { createGraph, createXGMMLGraph, ECLGraph, GraphCache, ScopeGraph, XGMMLGraph, XGMMLVertex } from \"./graph\";\nimport { Resource } from \"./resource\";\nimport { Result, ResultCache } from \"./result\";\nimport { BaseScope, Scope } from \"./scope\";\nimport { SourceFile } from \"./sourceFile\";\nimport { Timer } from \"./timer\";\n\nconst formatter = utcFormat(\"%Y-%m-%dT%H:%M:%S.%LZ\");\nconst parser = utcParse(\"%Y-%m-%dT%H:%M:%S.%LZ\");\nconst logger = scopedLogger(\"workunit.ts\");\n\nconst WUStateID = WsWorkunits.WUStateID;\n\nexport class WorkunitCache extends Cache<{ BaseUrl: string, Wuid: string }, Workunit> {\n constructor() {\n super((obj) => {\n return `${obj.BaseUrl}-${obj.Wuid}`;\n });\n }\n}\nconst _workunits = new WorkunitCache();\n\nexport interface DebugState {\n sequence: number;\n state: string;\n [key: string]: any;\n}\n\nexport interface IWorkunit {\n ResultViews: WsWorkunits.WUInfo.ResultViews;\n HelpersCount: number;\n}\n\nexport interface IDebugWorkunit {\n DebugState?: DebugState;\n}\n\nexport interface ITimeElapsed {\n scope: string;\n start: string;\n elapsed: number;\n finish: string;\n}\n\nexport type WorkunitEvents = \"completed\" | StateEvents;\nexport type UWorkunitState = WsWorkunits.WUQuery.ECLWorkunit & WsWorkunits.WUInfo.Workunit & WsSMC.ActiveWorkunit & IWorkunit & IDebugWorkunit;\nexport type IWorkunitState = WsWorkunits.WUQuery.ECLWorkunit | WsWorkunits.WUInfo.Workunit | WsSMC.ActiveWorkunit | IWorkunit | IDebugWorkunit;\nexport class Workunit extends StateObject<UWorkunitState, IWorkunitState> implements WsWorkunits.WUInfo.Workunit {\n connection: WsWorkunits.WorkunitsService;\n topologyConnection: WsTopology.TopologyService;\n get BaseUrl() { return this.connection.baseUrl; }\n\n private _debugMode: boolean = false;\n private _debugAllGraph: any;\n private _submitAction: WsWorkunits.WUUpdate.Action;\n\n // Accessors ---\n get properties(): WsWorkunits.WUQuery.ECLWorkunit & WsWorkunits.WUInfo.Workunit { return this.get(); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get Owner(): string { return this.get(\"Owner\", \"\"); }\n get Cluster(): string { return this.get(\"Cluster\", \"\"); }\n get Jobname(): string { return this.get(\"Jobname\", \"\"); }\n get Description(): string { return this.get(\"Description\", \"\"); }\n get ActionEx(): string { return this.get(\"ActionEx\", \"\"); }\n get StateID(): WsWorkunits.WUStateID { return this.get(\"StateID\", WsWorkunits.WUStateID.Unknown); }\n get State(): string { return this.get(\"State\") || WsWorkunits.WUStateID[this.StateID]; }\n get Protected(): boolean { return this.get(\"Protected\", false); }\n get Exceptions(): WsWorkunits.WUInfo.Exceptions2 { return this.get(\"Exceptions\", { ECLException: [] }); }\n get ResultViews(): WsWorkunits.WUInfo.ResultViews { return this.get(\"ResultViews\", { View: [] }); }\n\n private _resultCache = new ResultCache();\n get ResultCount(): number { return this.get(\"ResultCount\", 0); }\n get Results(): WsWorkunits.WUInfo.Results { return this.get(\"Results\", { ECLResult: [] }); }\n get CResults(): Result[] {\n return this.Results.ECLResult.map((eclResult) => {\n return this._resultCache.get(eclResult, () => {\n return Result.attach(this.connection, this.Wuid, eclResult, this.ResultViews.View);\n });\n });\n }\n get SequenceResults(): { [key: number]: Result } {\n const retVal: { [key: number]: Result } = {};\n this.CResults.forEach((result) => {\n retVal[result.Sequence] = result;\n });\n return retVal;\n }\n get Timers(): WsWorkunits.WUInfo.Timers { return this.get(\"Timers\", { ECLTimer: [] }); }\n get CTimers(): Timer[] {\n return this.Timers.ECLTimer.map((eclTimer) => {\n return new Timer(this.connection, this.Wuid, eclTimer);\n });\n }\n\n private _graphCache = new GraphCache();\n get GraphCount(): number { return this.get(\"GraphCount\", 0); }\n get Graphs(): WsWorkunits.WUInfo.Graphs { return this.get(\"Graphs\", { ECLGraph: [] }); }\n get CGraphs(): ECLGraph[] {\n return this.Graphs.ECLGraph.map((eclGraph) => {\n return this._graphCache.get(eclGraph, () => {\n return new ECLGraph(this, eclGraph, this.CTimers);\n });\n });\n }\n get ThorLogList(): WsWorkunits.WUInfo.ThorLogList { return this.get(\"ThorLogList\"); }\n get ResourceURLCount(): number { return this.get(\"ResourceURLCount\", 0); }\n get ResourceURLs(): WsWorkunits.WUInfo.ResourceURLs { return this.get(\"ResourceURLs\", { URL: [] }); }\n get CResourceURLs(): Resource[] {\n return this.ResourceURLs.URL.map((url) => {\n return new Resource(this, url);\n });\n }\n get TotalClusterTime(): string { return this.get(\"TotalClusterTime\", \"\"); }\n get DateTimeScheduled(): string { return this.get(\"DateTimeScheduled\"); }\n get IsPausing(): boolean { return this.get(\"IsPausing\"); }\n get ThorLCR(): boolean { return this.get(\"ThorLCR\"); }\n get ApplicationValues(): WsWorkunits.WUInfo.ApplicationValues { return this.get(\"ApplicationValues\", { ApplicationValue: [] }); }\n get HasArchiveQuery(): boolean { return this.get(\"HasArchiveQuery\"); }\n get StateEx(): string { return this.get(\"StateEx\"); }\n get PriorityClass(): number { return this.get(\"PriorityClass\"); }\n get PriorityLevel(): number { return this.get(\"PriorityLevel\"); }\n get Snapshot(): string { return this.get(\"Snapshot\"); }\n get ResultLimit(): number { return this.get(\"ResultLimit\"); }\n get EventSchedule(): number { return this.get(\"EventSchedule\"); }\n get HaveSubGraphTimings(): boolean { return this.get(\"HaveSubGraphTimings\"); }\n get Query(): WsWorkunits.WUInfo.Query { return this.get(\"Query\"); }\n get HelpersCount(): number { return this.get(\"HelpersCount\", 0); }\n get Helpers(): WsWorkunits.WUInfo.Helpers { return this.get(\"Helpers\", { ECLHelpFile: [] }); }\n get DebugValues(): WsWorkunits.WUInfo.DebugValues { return this.get(\"DebugValues\"); }\n get AllowedClusters(): WsWorkunits.WUInfo.AllowedClusters { return this.get(\"AllowedClusters\"); }\n get ErrorCount(): number { return this.get(\"ErrorCount\", 0); }\n get WarningCount(): number { return this.get(\"WarningCount\", 0); }\n get InfoCount(): number { return this.get(\"InfoCount\", 0); }\n get AlertCount(): number { return this.get(\"AlertCount\", 0); }\n get SourceFileCount(): number { return this.get(\"SourceFileCount\", 0); }\n get SourceFiles(): WsWorkunits.WUInfo.SourceFiles { return this.get(\"SourceFiles\", { ECLSourceFile: [] }); }\n get CSourceFiles(): SourceFile[] {\n return this.SourceFiles.ECLSourceFile.map(eclSourceFile => new SourceFile(this.connection, this.Wuid, eclSourceFile));\n }\n get VariableCount(): number { return this.get(\"VariableCount\", 0); }\n get Variables(): WsWorkunits.WUInfo.Variables { return this.get(\"Variables\", { ECLResult: [] }); }\n get TimerCount(): number { return this.get(\"TimerCount\", 0); }\n get HasDebugValue(): boolean { return this.get(\"HasDebugValue\"); }\n get ApplicationValueCount(): number { return this.get(\"ApplicationValueCount\", 0); }\n get XmlParams(): string { return this.get(\"XmlParams\"); }\n get AccessFlag(): number { return this.get(\"AccessFlag\"); }\n get ClusterFlag(): number { return this.get(\"ClusterFlag\"); }\n get ResultViewCount(): number { return this.get(\"ResultViewCount\", 0); }\n get DebugValueCount(): number { return this.get(\"DebugValueCount\", 0); }\n get WorkflowCount(): number { return this.get(\"WorkflowCount\", 0); }\n get Archived(): boolean { return this.get(\"Archived\"); }\n get RoxieCluster(): string { return this.get(\"RoxieCluster\"); }\n get DebugState(): DebugState { return this.get(\"DebugState\", {} as DebugState)!; }\n get Queue(): string { return this.get(\"Queue\"); }\n get Active(): boolean { return this.get(\"Active\"); }\n get Action(): number { return this.get(\"Action\"); }\n get Scope(): string { return this.get(\"Scope\"); }\n get AbortBy(): string { return this.get(\"AbortBy\"); }\n get AbortTime(): string { return this.get(\"AbortTime\"); }\n get Workflows(): WsWorkunits.WUInfo.Workflows { return this.get(\"Workflows\"); }\n get TimingData(): WsWorkunits.WUInfo.TimingData { return this.get(\"TimingData\"); }\n get HelpersDesc(): string { return this.get(\"HelpersDesc\"); }\n get GraphsDesc(): string { return this.get(\"GraphsDesc\"); }\n get SourceFilesDesc(): string { return this.get(\"SourceFilesDesc\"); }\n get ResultsDesc(): string { return this.get(\"ResultsDesc\"); }\n get VariablesDesc(): string { return this.get(\"VariablesDesc\"); }\n get TimersDesc(): string { return this.get(\"TimersDesc\"); }\n get DebugValuesDesc(): string { return this.get(\"DebugValuesDesc\"); }\n get ApplicationValuesDesc(): string { return this.get(\"ApplicationValuesDesc\"); }\n get WorkflowsDesc(): string { return this.get(\"WorkflowsDesc\"); }\n get ServiceNames(): WsWorkunits.WUInfo.ServiceNames { return this.get(\"ServiceNames\"); }\n get ExecuteCost(): number { return this.get(\"ExecuteCost\"); }\n get FileAccessCost(): number { return this.get(\"FileAccessCost\"); }\n\n // Factories ---\n static create(optsConnection: IOptions | IConnection): Promise<Workunit> {\n const retVal: Workunit = new Workunit(optsConnection);\n return retVal.connection.WUCreate().then((response) => {\n _workunits.set(retVal);\n retVal.set(response.Workunit);\n return retVal;\n });\n }\n\n static attach(optsConnection: IOptions | IConnection, wuid: string, state?: IWorkunitState): Workunit {\n const retVal: Workunit = _workunits.get({ BaseUrl: optsConnection.baseUrl, Wuid: wuid }, () => {\n return new Workunit(optsConnection, wuid);\n });\n if (state) {\n retVal.set(state);\n }\n return retVal;\n }\n\n static existsLocal(baseUrl: string, wuid: string): boolean {\n return _workunits.has({ BaseUrl: baseUrl, Wuid: wuid });\n }\n\n static submit(server: IOptions | IConnection, target: string, ecl: string, compileOnly = false): Promise<Workunit> {\n return Workunit.create(server).then((wu) => {\n return wu.update({ QueryText: ecl });\n }).then((wu) => {\n return compileOnly ? wu.submit(target, WsWorkunits.WUUpdate.Action.Compile) : wu.submit(target);\n });\n }\n\n static compile(server: IOptions | IConnection, target: string, ecl: string): Promise<Workunit> {\n return Workunit.submit(server, target, ecl, true);\n }\n\n static query(server: IOptions | IConnection, opts: WsWorkunits.WUQuery.Request): Promise<Workunit[]> {\n const wsWorkunits = new WsWorkunits.WorkunitsService(server);\n return wsWorkunits.WUQuery(opts).then((response) => {\n return response.Workunits.ECLWorkunit.map(function (wu) {\n return Workunit.attach(server, wu.Wuid, wu);\n });\n });\n }\n\n // --- --- ---\n protected constructor(optsConnection: IOptions | IConnection, wuid?: string) {\n super();\n this.connection = new WsWorkunits.WorkunitsService(optsConnection);\n this.topologyConnection = new WsTopology.TopologyService(optsConnection);\n this.clearState(wuid);\n }\n\n clearState(wuid?: string) {\n this.clear({\n Wuid: wuid,\n StateID: WUStateID.Unknown\n });\n }\n\n update(request: Partial<WsWorkunits.WUUpdate.Request>): Promise<Workunit> {\n return this.connection.WUUpdate({\n ...request,\n ...{\n Wuid: this.Wuid,\n StateOrig: this.State,\n JobnameOrig: this.Jobname,\n DescriptionOrig: this.Description,\n ProtectedOrig: this.Protected,\n ClusterOrig: this.Cluster\n }\n }).then((response) => {\n this.set(response.Workunit);\n return this;\n });\n }\n\n submit(_cluster?: string, action: WsWorkunits.WUUpdate.Action = WsWorkunits.WUUpdate.Action.Run, resultLimit?: number): Promise<Workunit> {\n let clusterPromise;\n if (_cluster !== void 0) {\n clusterPromise = Promise.resolve(_cluster);\n } else {\n clusterPromise = this.topologyConnection.DefaultTpLogicalClusterQuery().then((response) => {\n return response.Name;\n });\n }\n\n this._debugMode = false;\n if (action === WsWorkunits.WUUpdate.Action.Debug) {\n action = WsWorkunits.WUUpdate.Action.Run;\n this._debugMode = true;\n }\n\n return clusterPromise.then((cluster) => {\n return this.connection.WUUpdate({\n Wuid: this.Wuid,\n Action: action,\n ResultLimit: resultLimit,\n DebugValues: {\n DebugValue: [\n {\n Name: \"Debug\",\n Value: this._debugMode ? \"1\" : \"\"\n }\n ]\n }\n }).then((response) => {\n this.set(response.Workunit);\n this._submitAction = action;\n return this.connection.WUSubmit({ Wuid: this.Wuid, Cluster: cluster });\n });\n }).then(() => {\n return this;\n });\n }\n\n isComplete(): boolean {\n switch (this.StateID) {\n case WUStateID.Compiled:\n return this.ActionEx === \"compile\" || this._submitAction === WsWorkunits.WUUpdate.Action.Compile;\n case WUStateID.Completed:\n case WUStateID.Failed:\n case WUStateID.Aborted:\n case WUStateID.NotFound:\n return true;\n default:\n }\n return false;\n }\n\n isFailed() {\n switch (this.StateID) {\n case WUStateID.Aborted:\n case WUStateID.Failed:\n return true;\n default:\n }\n return false;\n }\n\n isDeleted() {\n switch (this.StateID) {\n case WUStateID.NotFound:\n return true;\n default:\n }\n return false;\n }\n\n isDebugging() {\n switch (this.StateID) {\n case WUStateID.DebugPaused:\n case WUStateID.DebugRunning:\n return true;\n default:\n }\n return this._debugMode;\n }\n\n isRunning(): boolean {\n switch (this.StateID) {\n case WUStateID.Compiled:\n case WUStateID.Running:\n case WUStateID.Aborting:\n case WUStateID.Blocked:\n case WUStateID.DebugPaused:\n case WUStateID.DebugRunning:\n return true;\n default:\n }\n return false;\n }\n\n setToFailed() {\n return this.WUAction(\"SetToFailed\");\n }\n\n pause() {\n return this.WUAction(\"Pause\");\n }\n\n pauseNow() {\n return this.WUAction(\"PauseNow\");\n }\n\n resume() {\n return this.WUAction(\"Resume\");\n }\n\n abort() {\n return this.WUAction(\"Abort\");\n }\n\n delete() {\n return this.WUAction(\"Delete\");\n }\n\n restore() {\n return this.WUAction(\"Restore\");\n }\n\n deschedule() {\n return this.WUAction(\"Deschedule\");\n }\n\n reschedule() {\n return this.WUAction(\"Reschedule\");\n }\n\n resubmit(): Promise<Workunit> {\n return this.WUResubmit({\n CloneWorkunit: false,\n ResetWorkflow: false\n }).then(() => {\n this.clearState(this.Wuid);\n return this.refresh().then(() => {\n this._monitor();\n return this;\n });\n });\n }\n\n clone(): Promise<Workunit> {\n return this.WUResubmit({\n CloneWorkunit: true,\n ResetWorkflow: false\n }).then((response) => {\n return Workunit.attach(this.connection.opts(), response.WUs.WU[0].WUID)\n .refresh()\n ;\n });\n }\n\n async refreshState(): Promise<this> {\n await this.WUQuery();\n return this;\n }\n\n async refreshInfo(): Promise<this> {\n await this.WUInfo();\n return this;\n }\n\n async refreshDebug(): Promise<this> {\n await this.debugStatus();\n return this;\n }\n\n async refresh(full: boolean = false): Promise<this> {\n if (full) {\n await Promise.all([this.refreshInfo(), this.refreshDebug()]);\n } else {\n await this.refreshState();\n }\n return this;\n }\n\n eclExceptions(): WsWorkunits.WUInfo.ECLException[] {\n return this.Exceptions.ECLException;\n }\n\n fetchArchive(): Promise<string> {\n return this.connection.WUFile({\n Wuid: this.Wuid,\n Type: \"ArchiveQuery\"\n });\n }\n\n fetchECLExceptions(): Promise<WsWorkunits.WUInfo.ECLException[]> {\n return this.WUInfo({ IncludeExceptions: true }).then(() => {\n return this.eclExceptions();\n });\n }\n\n fetchResults(): Promise<Result[]> {\n return this.WUInfo({ IncludeResults: true }).then(() => {\n return this.CResults;\n });\n }\n\n fetchGraphs(): Promise<ECLGraph[]> {\n return this.WUInfo({ IncludeGraphs: true }).then(() => {\n return this.CGraphs;\n });\n }\n\n fetchQuery(): Promise<WsWorkunits.WUInfo.Query> {\n return this.WUInfo({ IncludeECL: true, TruncateEclTo64k: false }).then(() => {\n return this.Query;\n });\n }\n\n fetchHelpers(): Promise<WsWorkunits.WUInfo.ECLHelpFile[]> {\n return this.WUInfo({ IncludeHelpers: true }).then(() => {\n return this.Helpers?.ECLHelpFile || [];\n });\n }\n\n fetchAllowedClusters(): Promise<string[]> {\n return this.WUInfo({ IncludeAllowedClusters: true }).then(() => {\n return this.AllowedClusters?.AllowedCluster || [];\n });\n }\n\n fetchTotalClusterTime(): Promise<string> {\n return this.WUInfo({ IncludeTotalClusterTime: true }).then(() => {\n return this.TotalClusterTime;\n });\n }\n\n fetchServiceNames(): Promise<string[]> {\n return this.WUInfo({ IncludeServiceNames: true }).then(() => {\n return this.ServiceNames?.Item;\n });\n }\n\n fetchDetailsMeta(request: Partial<WsWorkunits.WUDetailsMeta.Request> = {}): Promise<WsWorkunits.WUDetailsMeta.Response> {\n return this.WUDetailsMeta(request);\n }\n\n fetchDetailsRaw(request: Partial<WsWorkunits.WUDetails.Request> = {}): Promise<WsWorkunits.WUDetails.Scope[]> {\n return this.WUDetails(request).then(response => response.Scopes.Scope);\n }\n\n fetchDetailsNormalized(request: Partial<WsWorkunits.WUDetails.Request> = {}): Promise<{ meta: WsWorkunits.WUDetailsMeta.Response, columns: { [id: string]: any }, data: object[] }> {\n return Promise.all([this.fetchDetailsMeta(), this.fetchDetailsRaw(request)]).then(promises => {\n const meta = promises[0];\n const scopes = promises[1];\n const columns: { [id: string]: any } = {\n id: {\n Measure: \"label\"\n },\n name: {\n Measure: \"label\"\n },\n type: {\n Measure: \"label\"\n }\n };\n const data: object[] = [];\n for (const scope of scopes) {\n const props = {};\n const formattedProps = {};\n if (scope && scope.Id && scope.Properties && scope.Properties.Property) {\n for (const key in scope.Properties.Property) {\n const scopeProperty = scope.Properties.Property[key];\n if (scopeProperty.Measure === \"ns\") {\n scopeProperty.Measure = \"s\";\n }\n columns[scopeProperty.Name] = { ...scopeProperty };\n delete columns[scopeProperty.Name].RawValue;\n delete columns[scopeProperty.Name].Formatted;\n switch (scopeProperty.Measure) {\n case \"bool\":\n props[scopeProperty.Name] = !!+scopeProperty.RawValue;\n break;\n case \"sz\":\n props[scopeProperty.Name] = +scopeProperty.RawValue;\n break;\n case \"s\":\n props[scopeProperty.Name] = +scopeProperty.RawValue / 1000000000;\n break;\n case \"ns\":\n props[scopeProperty.Name] = +scopeProperty.RawValue;\n break;\n case \"ts\":\n props[scopeProperty.Name] = new Date(+scopeProperty.RawValue / 1000).toISOString();\n break;\n case \"cnt\":\n props[scopeProperty.Name] = +scopeProperty.RawValue;\n break;\n case \"cost\":\n props[scopeProperty.Name] = +scopeProperty.RawValue / 1000000;\n break;\n case \"cpu\":\n case \"skw\":\n case \"node\":\n case \"ppm\":\n case \"ip\":\n case \"cy\":\n case \"en\":\n case \"txt\":\n case \"id\":\n case \"fname\":\n default:\n props[scopeProperty.Name] = scopeProperty.RawValue;\n }\n formattedProps[scopeProperty.Name] = scopeProperty.Formatted ?? props[scopeProperty.Name];\n\n }\n data.push({\n id: scope.Id,\n name: scope.ScopeName,\n type: scope.ScopeType,\n __formattedProps: formattedProps,\n ...props\n });\n }\n }\n return {\n meta,\n columns,\n data\n };\n });\n }\n\n fetchInfo(request: Partial<WsWorkunits.WUInfo.Request> = {}): Promise<WsWorkunits.WUInfo.Response> {\n return this.WUInfo(request);\n }\n\n fetchDetails(request: Partial<WsWorkunits.WUDetails.Request> = {}): Promise<Scope[]> {\n return this.WUDetails(request).then((response) => {\n return response.Scopes.Scope.map((rawScope) => {\n return new Scope(this, rawScope);\n });\n });\n }\n\n fetchDetailsHierarchy(request: Partial<WsWorkunits.WUDetails.Request> = {}): Promise<Scope[]> {\n return this.WUDetails(request).then((response) => {\n const retVal: Scope[] = [];\n\n // Recreate Scope Hierarchy and dedup ---\n const scopeMap: { [key: string]: Scope } = {};\n response.Scopes.Scope.forEach((rawScope) => {\n if (scopeMap[rawScope.ScopeName]) {\n scopeMap[rawScope.ScopeName].update(rawScope);\n return null;\n } else {\n const scope = new Scope(this, rawScope);\n scopeMap[scope.ScopeName] = scope;\n return scope;\n }\n });\n for (const key in scopeMap) {\n if (scopeMap.hasOwnProperty(key)) {\n const scope = scopeMap[key];\n const parentScopeID = scope.parentScope();\n if (parentScopeID && scopeMap[parentScopeID]) {\n scopeMap[parentScopeID].children().push(scope);\n } else {\n retVal.push(scope);\n }\n }\n }\n\n return retVal;\n });\n }\n\n fetchGraphDetails(graphIDs: string[] = [], rootTypes: string[]): Promise<BaseScope[]> {\n return this.fetchDetails({\n ScopeFilter: {\n MaxDepth: 999999,\n Ids: graphIDs,\n ScopeTypes: rootTypes\n },\n NestedFilter: {\n Depth: 999999,\n ScopeTypes: [\"graph\", \"subgraph\", \"activity\", \"edge\", \"function\"]\n },\n PropertiesToReturn: {\n AllStatistics: true,\n AllAttributes: true,\n AllHints: true,\n AllProperties: true,\n AllScopes: true\n },\n ScopeOptions: {\n IncludeId: true,\n IncludeScope: true,\n IncludeScopeType: true\n },\n PropertyOptions: {\n IncludeName: true,\n IncludeRawValue: true,\n IncludeFormatted: true,\n IncludeMeasure: true,\n IncludeCreator: false,\n IncludeCreatorType: false\n }\n });\n }\n\n fetchScopeGraphs(graphIDs: string[] = []): Promise<ScopeGraph> {\n return this.fetchGraphDetails(graphIDs, [\"graph\"]).then((scopes) => {\n return createGraph(scopes);\n });\n }\n\n fetchTimeElapsed(): Promise<ITimeElapsed[]> {\n return this.fetchDetails({\n ScopeFilter: {\n PropertyFilters: {\n PropertyFilter: [{ Name: \"TimeElapsed\" }]\n }\n }\n }).then((scopes) => {\n const scopeInfo: { [key: string]: ITimeElapsed } = {};\n scopes.forEach((scope) => {\n scopeInfo[scope.ScopeName] = scopeInfo[scope.ScopeName] || {\n scope: scope.ScopeName,\n start: null,\n elapsed: null,\n finish: null\n };\n scope.CAttributes.forEach((attr) => {\n if (attr.Name === \"TimeElapsed\") {\n scopeInfo[scope.ScopeName].elapsed = +attr.RawValue;\n } else if (attr.Measure === \"ts\" && attr.Name.indexOf(\"Started\") >= 0) {\n scopeInfo[scope.ScopeName].start = attr.Formatted;\n }\n });\n });\n // Workaround duplicate scope responses\n const retVal: ITimeElapsed[] = [];\n for (const key in scopeInfo) {\n const scope = scopeInfo[key];\n if (scope.start && scope.elapsed) {\n const endTime = parser(scope.start);\n endTime!.setMilliseconds(endTime!.getMilliseconds() + scope.elapsed / 1000000);\n scope.finish = formatter(endTime!);\n retVal.push(scope);\n }\n }\n retVal.sort((l, r) => {\n if (l.start < r.start) return -1;\n if (l.start > r.start) return 1;\n return 0;\n });\n return retVal;\n });\n }\n\n // Monitoring ---\n protected _monitor(): void {\n if (this.isComplete()) {\n this._monitorTickCount = 0;\n return;\n }\n super._monitor();\n }\n\n protected _monitorTimeoutDuraction(): number {\n const retVal = super._monitorTimeoutDuraction();\n if (this._monitorTickCount <= 1) { // Once\n return 1000;\n } else if (this._monitorTickCount <= 3) { // Twice\n return 3000;\n } else if (this._monitorTickCount <= 5) { // Twice\n return 5000;\n } else if (this._monitorTickCount <= 7) { // Twice\n return 10000;\n }\n return retVal;\n }\n\n // Events ---\n on(eventID: WorkunitEvents, propIDorCallback: StateCallback | keyof UWorkunitState, callback?: StatePropCallback): this {\n if (this.isCallback(propIDorCallback)) {\n switch (eventID) {\n case \"completed\":\n super.on(\"propChanged\", \"StateID\", (changeInfo: IEvent) => {\n if (this.isComplete()) {\n propIDorCallback([changeInfo]);\n }\n });\n break;\n case \"changed\":\n super.on(eventID, propIDorCallback);\n break;\n default:\n }\n } else {\n switch (eventID) {\n case \"changed\":\n super.on(eventID, propIDorCallback, callback!);\n break;\n default:\n }\n }\n this._monitor();\n return this;\n }\n\n watchUntilComplete(callback?: StateCallback): Promise<this> {\n return new Promise((resolve, _) => {\n const watchHandle = this.watch((changes) => {\n if (callback) {\n callback(changes);\n }\n if (this.isComplete()) {\n watchHandle.release();\n resolve(this);\n }\n });\n });\n }\n\n watchUntilRunning(callback?: StateCallback): Promise<this> {\n return new Promise((resolve, _) => {\n const watchHandle = this.watch((changes) => {\n if (callback) {\n callback(changes);\n }\n if (this.isComplete() || this.isRunning()) {\n watchHandle.release();\n resolve(this);\n }\n });\n });\n }\n\n // WsWorkunits passthroughs ---\n protected WUQuery(_request: Partial<WsWorkunits.WUQuery.Request> = {}): Promise<WsWorkunits.WUQuery.Response> {\n return this.connection.WUQuery({ ..._request, Wuid: this.Wuid }).then((response) => {\n this.set(response.Workunits.ECLWorkunit[0]);\n return response;\n }).catch((e: ESPExceptions) => {\n // deleted ---\n const wuMissing = e.Exception.some((exception) => {\n if (exception.Code === 20081) {\n this.clearState(this.Wuid);\n this.set(\"StateID\", WUStateID.NotFound);\n return true;\n }\n return false;\n });\n if (!wuMissing) {\n logger.warning(\"Unexpected exception: \");\n throw e;\n }\n return {} as WsWorkunits.WUQuery.Response;\n });\n }\n\n protected WUCreate() {\n return this.connection.WUCreate().then((response) => {\n this.set(response.Workunit);\n _workunits.set(this);\n return response;\n });\n }\n\n protected WUInfo(_request: Partial<WsWorkunits.WUInfo.Request> = {}): Promise<WsWorkunits.WUInfo.Response> {\n const includeResults = _request.IncludeResults || _request.IncludeResultsViewNames;\n return this.connection.WUInfo({\n ..._request, Wuid: this.Wuid,\n IncludeResults: includeResults,\n IncludeResultsViewNames: includeResults,\n SuppressResultSchemas: false\n }).then((response) => {\n this.set(response.Workunit);\n if (includeResults) {\n this.set({\n ResultViews: response.ResultViews\n } as IWorkunitState);\n }\n return response;\n }).catch((e: ESPExceptions) => {\n // deleted ---\n const wuMissing = e.Exception.some((exception) => {\n if (exception.Code === 20080) {\n this.clearState(this.Wuid);\n this.set(\"StateID\", WUStateID.NotFound);\n return true;\n }\n return false;\n });\n if (!wuMissing) {\n logger.warning(\"Unexpected exception: \");\n throw e;\n }\n return {} as WsWorkunits.WUInfo.Response;\n });\n }\n\n protected WUResubmit(request: Partial<WsWorkunits.WUResubmit.Request>): Promise<WsWorkunits.WUResubmit.Response> {\n return this.connection.WUResubmit(deepMixinT<WsWorkunits.WUResubmit.Request>({}, request, {\n Wuids: [this.Wuid]\n }));\n }\n\n protected WUDetailsMeta(request: Partial<WsWorkunits.WUDetailsMeta.Request>): Promise<WsWorkunits.WUDetailsMeta.Response> {\n return this.connection.WUDetailsMeta(request);\n }\n\n protected WUDetails(request: Partial<WsWorkunits.WUDetails.Request>): Promise<WsWorkunits.WUDetails.Response> {\n return this.connection.WUDetails(deepMixinT<WsWorkunits.WUDetails.Request>({\n ScopeFilter: {\n MaxDepth: 9999\n },\n ScopeOptions: {\n IncludeMatchedScopesInResults: true,\n IncludeScope: true,\n IncludeId: false,\n IncludeScopeType: false\n },\n PropertyOptions: {\n IncludeName: true,\n IncludeRawValue: false,\n IncludeFormatted: true,\n IncludeMeasure: true,\n IncludeCreator: false,\n IncludeCreatorType: false\n }\n }, request, { WUID: this.Wuid })).then((response) => {\n return deepMixinT<WsWorkunits.WUDetails.Response>({\n Scopes: {\n Scope: []\n }\n }, response);\n });\n }\n\n protected WUAction(actionType: WsWorkunits.WUAction.Type): Promise<WsWorkunits.WUAction.Response> {\n return this.connection.WUAction({\n Wuids: [this.Wuid],\n WUActionType: actionType\n }).then((response) => {\n return this.refresh().then(() => {\n this._monitor();\n return response;\n });\n });\n }\n\n publish(name?: string) {\n return this.connection.WUPublishWorkunit({\n Wuid: this.Wuid,\n Cluster: this.Cluster,\n JobName: name || this.Jobname,\n AllowForeignFiles: true,\n Activate: true,\n Wait: 5000\n });\n }\n\n protected WUCDebug(command: string, opts: any = {}): Promise<XMLNode | null> {\n let optsStr = \"\";\n for (const key in opts) {\n if (opts.hasOwnProperty(key)) {\n optsStr += ` ${key}='${opts[key]}'`;\n }\n }\n return this.connection.WUCDebug({\n Wuid: this.Wuid,\n Command: `<debug:${command} uid='${this.Wuid}'${optsStr}/>`\n }).then((response) => {\n return response;\n });\n }\n\n debug(command: string, opts?: object): Promise<XMLNode> {\n if (!this.isDebugging()) {\n return Promise.resolve(new XMLNode(command));\n }\n return this.WUCDebug(command, opts).then((response: XMLNode) => {\n const retVal: XMLNode[] = response.children(command);\n if (retVal.length) {\n return retVal[0];\n }\n return new XMLNode(command);\n }).catch((_) => {\n logger.error(_);\n return Promise.resolve(new XMLNode(command));\n });\n }\n\n debugStatus(): Promise<XMLNode> {\n if (!this.isDebugging()) {\n return Promise.resolve<any>({\n DebugState: { state: \"unknown\" }\n });\n }\n return this.debug(\"status\").then((response) => {\n const debugState = { ...this.DebugState, ...response.$ };\n this.set({\n DebugState: debugState\n });\n return response;\n });\n }\n\n debugContinue(mode = \"\"): Promise<XMLNode> {\n return this.debug(\"continue\", {\n mode\n });\n }\n\n debugStep(mode: string): Promise<XMLNode> {\n return this.debug(\"step\", {\n mode\n });\n }\n\n debugPause(): Promise<XMLNode> {\n return this.debug(\"interrupt\");\n }\n\n debugQuit(): Promise<XMLNode> {\n return this.debug(\"quit\");\n }\n\n debugDeleteAllBreakpoints(): Promise<XMLNode> {\n return this.debug(\"delete\", {\n idx: 0\n });\n }\n\n protected debugBreakpointResponseParser(rootNode: StringAnyMap) {\n return rootNode.children().map((childNode: XMLNode) => {\n if (childNode.name === \"break\") {\n return childNode.$;\n }\n });\n }\n\n debugBreakpointAdd(id: string, mode: string, action: string): Promise<XMLNode> {\n return this.debug(\"breakpoint\", {\n id,\n mode,\n action\n }).then((rootNode) => {\n return this.debugBreakpointResponseParser(rootNode);\n });\n }\n\n debugBreakpointList(): Promise<any[]> {\n return this.debug(\"list\").then((rootNode) => {\n return this.debugBreakpointResponseParser(rootNode);\n });\n }\n\n debugGraph(): Promise<XGMMLGraph> {\n if (this._debugAllGraph && this.DebugState[\"_prevGraphSequenceNum\"] === this.DebugState[\"graphSequenceNum\"]) {\n return Promise.resolve(this._debugAllGraph);\n }\n return this.debug(\"graph\", { name: \"all\" }).then((response) => {\n this.DebugState[\"_prevGraphSequenceNum\"] = this.DebugState[\"graphSequenceNum\"];\n this._debugAllGraph = createXGMMLGraph(this.Wuid, response);\n return this._debugAllGraph;\n });\n }\n\n debugBreakpointValid(path: string): Promise<IECLDefintion[]> {\n return this.debugGraph().then((graph) => {\n return breakpointLocations(graph, path);\n });\n }\n\n debugPrint(edgeID: string, startRow: number = 0, numRows: number = 10): Promise<StringAnyMap[]> {\n return this.debug(\"print\", {\n edgeID,\n startRow,\n numRows\n }).then((response: XMLNode) => {\n return response.children().map((rowNode) => {\n const retVal: StringAnyMap = {};\n rowNode.children().forEach((cellNode) => {\n retVal[cellNode.name] = cellNode.content;\n });\n return retVal;\n });\n });\n }\n}\n\nexport interface IECLDefintion {\n id: string;\n file: string;\n line: number;\n column: number;\n}\n\nconst ATTR_DEFINITION = \"definition\";\n\nfunction hasECLDefinition(vertex: XGMMLVertex): boolean {\n return vertex._![ATTR_DEFINITION] !== undefined;\n}\n\nfunction getECLDefinition(vertex: XGMMLVertex): IECLDefintion {\n const match = /([a-z]:\\\\(?:[-\\w\\.\\d]+\\\\)*(?:[-\\w\\.\\d]+)?|(?:\\/[\\w\\.\\-]+)+)\\((\\d*),(\\d*)\\)/.exec(vertex._![ATTR_DEFINITION]);\n if (match) {\n const [, _file, _row, _col] = match;\n _file.replace(/\\/\\.\\//g, \"/\");\n return {\n id: vertex._![\"id\"],\n file: _file,\n line: +_row,\n column: +_col\n };\n }\n throw new Error(`Bad definition: ${vertex._![ATTR_DEFINITION]}`);\n}\n\nfunction breakpointLocations(graph: XGMMLGraph, path?: string): IECLDefintion[] {\n const retVal: IECLDefintion[] = [];\n for (const vertex of graph.vertices) {\n if (hasECLDefinition(vertex)) {\n const definition = getECLDefinition(vertex);\n if (definition && !path || path === definition.file) {\n retVal.push(definition);\n }\n }\n }\n return retVal.sort((l, r) => {\n return l.line - r.line;\n });\n}\n","import { Cache, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { DFUService, WsDfu } from \"../services/wsDFU\";\n\nexport class LogicalFileCache extends Cache<{ BaseUrl: string, Cluster: string, Name: string }, LogicalFile> {\n constructor() {\n super((obj) => {\n return `${obj.BaseUrl}-${obj.Cluster}-${obj.Name}`;\n });\n }\n}\nconst _store = new LogicalFileCache();\n\nexport interface DFUPartEx extends WsDfu.DFUPart {\n // From WsDfu.DFUFilePartsOnCluster ---\n Cluster: string;\n BaseDir: string;\n ReplicateDir: string;\n Replicate: boolean;\n CanReplicate: boolean;\n}\n\nexport interface FileDetailEx extends WsDfu.FileDetail {\n Cluster: string;\n}\n\nexport class LogicalFile extends StateObject<FileDetailEx, FileDetailEx> implements FileDetailEx {\n protected connection: DFUService;\n get BaseUrl() { return this.connection.baseUrl; }\n\n get Cluster(): string { return this.get(\"Cluster\"); }\n get Name(): string { return this.get(\"Name\"); }\n\n get Filename(): string { return this.get(\"Filename\"); }\n get Prefix(): string { return this.get(\"Prefix\"); }\n get NodeGroup(): string { return this.get(\"NodeGroup\"); }\n get NumParts(): number { return this.get(\"NumParts\"); }\n get Description(): string { return this.get(\"Description\"); }\n get Dir(): string { return this.get(\"Dir\"); }\n get PathMask(): string { return this.get(\"PathMask\"); }\n get Filesize(): string { return this.get(\"Filesize\"); }\n get FileSizeInt64(): number { return this.get(\"FileSizeInt64\"); }\n get RecordSize(): string { return this.get(\"RecordSize\"); }\n get RecordCount(): string { return this.get(\"RecordCount\"); }\n get RecordSizeInt64(): number { return this.get(\"RecordSizeInt64\"); }\n get RecordCountInt64(): number { return this.get(\"RecordCountInt64\"); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get Owner(): string { return this.get(\"Owner\"); }\n get JobName(): string { return this.get(\"JobName\"); }\n get Persistent(): string { return this.get(\"Persistent\"); }\n get Format(): string { return this.get(\"Format\"); }\n get MaxRecordSize(): string { return this.get(\"MaxRecordSize\"); }\n get CsvSeparate(): string { return this.get(\"CsvSeparate\"); }\n get CsvQuote(): string { return this.get(\"CsvQuote\"); }\n get CsvTerminate(): string { return this.get(\"CsvTerminate\"); }\n get CsvEscape(): string { return this.get(\"CsvEscape\"); }\n get Modified(): string { return this.get(\"Modified\"); }\n get Ecl(): string { return this.get(\"Ecl\"); }\n get Stat(): WsDfu.Stat { return this.get(\"Stat\"); }\n get DFUFilePartsOnClusters(): WsDfu.DFUFilePartsOnClusters { return this.get(\"DFUFilePartsOnClusters\"); }\n get isSuperfile(): boolean { return this.get(\"isSuperfile\"); }\n get ShowFileContent(): boolean { return this.get(\"ShowFileContent\"); }\n get subfiles(): WsDfu.Subfiles { return this.get(\"subfiles\"); }\n get Superfiles(): WsDfu.Superfiles { return this.get(\"Superfiles\"); }\n get ProtectList(): WsDfu.ProtectList { return this.get(\"ProtectList\"); }\n get FromRoxieCluster(): boolean { return this.get(\"FromRoxieCluster\"); }\n get Graphs(): WsDfu.Graphs { return this.get(\"Graphs\"); }\n get UserPermission(): string { return this.get(\"UserPermission\"); }\n get ContentType(): string { return this.get(\"ContentType\"); }\n get CompressedFileSize(): number { return this.get(\"CompressedFileSize\"); }\n get PercentCompressed(): string { return this.get(\"PercentCompressed\"); }\n get IsCompressed(): boolean { return this.get(\"IsCompressed\"); }\n get BrowseData(): boolean { return this.get(\"BrowseData\"); }\n get jsonInfo(): string { return this.get(\"jsonInfo\"); }\n get binInfo(): string { return this.get(\"binInfo\"); }\n get PackageID(): string { return this.get(\"PackageID\"); }\n get Partition(): WsDfu.Partition { return this.get(\"Partition\"); }\n get Blooms(): WsDfu.Blooms { return this.get(\"Blooms\"); }\n get ExpireDays(): number { return this.get(\"ExpireDays\"); }\n get KeyType(): string { return this.get(\"KeyType\"); }\n get IsRestricted(): boolean { return this.get(\"IsRestricted\"); }\n get Cost(): number { return this.get(\"Cost\"); }\n\n get properties(): FileDetailEx { return this.get(); }\n\n static attach(optsConnection: IOptions | IConnection | DFUService, Cluster: string, Name: string): LogicalFile {\n const retVal: LogicalFile = _store.get({ BaseUrl: optsConnection.baseUrl, Cluster, Name }, () => {\n return new LogicalFile(optsConnection, Cluster, Name);\n });\n return retVal;\n }\n\n protected constructor(optsConnection: IOptions | IConnection | DFUService, Cluster: string, Name: string) {\n super();\n if (optsConnection instanceof DFUService) {\n this.connection = optsConnection;\n } else {\n this.connection = new DFUService(optsConnection);\n }\n\n this.clear({\n Cluster,\n Name\n });\n }\n\n filePartsOnCluster() {\n return [...(this.DFUFilePartsOnClusters?.DFUFilePartsOnCluster || [])];\n }\n\n fileParts() {\n const retVal: DFUPartEx[] = [];\n for (const poc of this.DFUFilePartsOnClusters?.DFUFilePartsOnCluster || []) {\n for (const part of poc?.DFUFileParts?.DFUPart || []) {\n const row = { ...poc, ...part };\n delete row.DFUFileParts;\n retVal.push(row);\n }\n }\n return retVal;\n }\n\n update(request: Partial<WsDfu.DFUInfoRequest>): Promise<WsDfu.DFUInfoResponse> {\n return this.connection.DFUInfo({\n ...request,\n ...{\n Cluster: this.Cluster,\n Name: this.Name\n }\n }).then((response) => {\n this.set({\n Cluster: this.Cluster,\n ...response.FileDetail\n });\n return response;\n });\n }\n\n fetchInfo(): Promise<WsDfu.FileDetail> {\n return this.connection.DFUInfo({ Cluster: this.Cluster, Name: this.Name }).then(response => {\n this.set({\n Cluster: this.Cluster,\n ...response.FileDetail\n });\n return response.FileDetail;\n });\n }\n\n fetchDefFile(format: \"def\" | \"xml\"): Promise<string> {\n return this.connection.DFUFile({ Name: this.Name, Format: format });\n }\n\n fetchListHistory(): Promise<WsDfu.Origin2[]> {\n return this.connection.ListHistory({ Name: this.Name }).then(response => {\n return response?.History?.Origin || [];\n });\n }\n\n eraseHistory(): Promise<WsDfu.Origin[]> {\n return this.connection.EraseHistory({ Name: this.Name }).then(response => {\n return response?.History?.Origin || [];\n });\n }\n}\n","import { Cache, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { GetTargetClusterInfo, MachineService } from \"../services/wsMachine\";\n\nexport class MachineCache extends Cache<{ Address: string }, Machine> {\n constructor() {\n super((obj) => {\n return obj.Address;\n });\n }\n}\nconst _machines = new MachineCache();\n\nexport interface MachineInfoEx extends GetTargetClusterInfo.MachineInfoEx {\n}\n\nexport class Machine extends StateObject<MachineInfoEx, MachineInfoEx> implements MachineInfoEx {\n protected connection: MachineService;\n\n get Address(): string { return this.get(\"Address\"); }\n get ConfigAddress(): string { return this.get(\"ConfigAddress\"); }\n get Name(): string { return this.get(\"Name\"); }\n get ProcessType(): string { return this.get(\"ProcessType\"); }\n get DisplayType(): string { return this.get(\"DisplayType\"); }\n get Description(): string { return this.get(\"Description\"); }\n get AgentVersion(): string { return this.get(\"AgentVersion\"); }\n get Contact(): string { return this.get(\"Contact\"); }\n get Location(): string { return this.get(\"Location\"); }\n get UpTime(): string { return this.get(\"UpTime\"); }\n get ComponentName(): string { return this.get(\"ComponentName\"); }\n get ComponentPath(): string { return this.get(\"ComponentPath\"); }\n get RoxieState(): string { return this.get(\"RoxieState\"); }\n get RoxieStateDetails(): string { return this.get(\"RoxieStateDetails\"); }\n get OS(): number { return this.get(\"OS\"); }\n get ProcessNumber(): number { return this.get(\"ProcessNumber\"); }\n get Processors(): GetTargetClusterInfo.Processors { return this.get(\"Processors\"); }\n get Storage(): GetTargetClusterInfo.Storage { return this.get(\"Storage\"); }\n get Running(): GetTargetClusterInfo.Running { return this.get(\"Running\"); }\n get PhysicalMemory(): GetTargetClusterInfo.PhysicalMemory { return this.get(\"PhysicalMemory\"); }\n get VirtualMemory(): GetTargetClusterInfo.VirtualMemory { return this.get(\"VirtualMemory\"); }\n get ComponentInfo(): GetTargetClusterInfo.ComponentInfo { return this.get(\"ComponentInfo\"); }\n\n static attach(optsConnection: IOptions | IConnection | MachineService, address: string, state?: GetTargetClusterInfo.MachineInfoEx): Machine {\n const retVal: Machine = _machines.get({ Address: address }, () => {\n return new Machine(optsConnection);\n });\n if (state) {\n retVal.set(state);\n }\n return retVal;\n }\n\n private constructor(optsConnection: IOptions | IConnection | MachineService) {\n super();\n if (optsConnection instanceof MachineService) {\n this.connection = optsConnection;\n } else {\n this.connection = new MachineService(optsConnection);\n }\n }\n}\n","import { Cache, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { EclService, IWsEclRequest, IWsEclResponse, IWsEclResult } from \"../services/wsEcl\";\nimport { WorkunitsService, WUQueryDetails } from \"../services/wsWorkunits\";\n\nexport interface QueryEx extends WUQueryDetails.Response {\n BaseUrl: string;\n}\n\nclass QueryCache extends Cache<QueryEx, Query> {\n constructor() {\n super((obj) => {\n return Cache.hash([obj.QueryId, obj.QuerySet]);\n });\n }\n}\nconst _queries = new QueryCache();\n\nexport class Query extends StateObject<QueryEx, QueryEx> implements QueryEx {\n protected connection: EclService;\n get BaseUrl() { return this.connection.baseUrl; }\n // protected _topology: Topology;\n protected _wsWorkunits: WorkunitsService;\n // protected _wu: Workunit;\n protected _requestSchema: IWsEclRequest;\n protected _responseSchema: IWsEclResponse;\n\n get properties(): WUQueryDetails.Response { return this.get(); }\n get Exceptions(): WUQueryDetails.Exceptions { return this.get(\"Exceptions\"); }\n get QueryId(): string { return this.get(\"QueryId\"); }\n get QuerySet(): string { return this.get(\"QuerySet\"); }\n get QueryName(): string { return this.get(\"QueryName\"); }\n get Wuid(): string { return this.get(\"Wuid\"); }\n get Dll(): string { return this.get(\"Dll\"); }\n get Suspended(): boolean { return this.get(\"Suspended\"); }\n get Activated(): boolean { return this.get(\"Activated\"); }\n get SuspendedBy(): string { return this.get(\"SuspendedBy\"); }\n get Clusters(): WUQueryDetails.Clusters { return this.get(\"Clusters\"); }\n get PublishedBy(): string { return this.get(\"PublishedBy\"); }\n get Comment() { return this.get(\"Comment\"); }\n get LogicalFiles(): WUQueryDetails.LogicalFiles { return this.get(\"LogicalFiles\"); }\n get SuperFiles(): WUQueryDetails.SuperFiles { return this.get(\"SuperFiles\"); }\n get IsLibrary(): boolean { return this.get(\"IsLibrary\"); }\n get Priority(): string { return this.get(\"Priority\"); }\n get WUSnapShot(): string { return this.get(\"WUSnapShot\"); }\n get CompileTime(): string { return this.get(\"CompileTime\"); }\n get LibrariesUsed(): WUQueryDetails.LibrariesUsed { return this.get(\"LibrariesUsed\"); }\n get CountGraphs(): number { return this.get(\"CountGraphs\"); }\n get ResourceURLCount(): number { return this.get(\"ResourceURLCount\"); }\n get WsEclAddresses(): WUQueryDetails.WsEclAddresses { return this.get(\"WsEclAddresses\"); }\n get WUGraphs(): WUQueryDetails.WUGraphs { return this.get(\"WUGraphs\"); }\n get WUTimers(): WUQueryDetails.WUTimers { return this.get(\"WUTimers\"); }\n\n private constructor(optsConnection: IOptions | IConnection | EclService, querySet: string, queryID: string, queryDetails?: WUQueryDetails.Response) {\n super();\n if (optsConnection instanceof EclService) {\n this.connection = optsConnection;\n\n // this._topology = new Topology(this.connection.opts());\n } else {\n this.connection = new EclService(optsConnection);\n // this._topology = new Topology(optsConnection);\n }\n this._wsWorkunits = new WorkunitsService(optsConnection);\n this.set({\n QuerySet: querySet,\n QueryId: queryID,\n ...queryDetails\n } as QueryEx);\n }\n\n static attach(optsConnection: IOptions | IConnection, querySet: string, queryId: string): Query {\n const retVal: Query = _queries.get({ BaseUrl: optsConnection.baseUrl, QuerySet: querySet, QueryId: queryId } as QueryEx, () => {\n return new Query(optsConnection, querySet, queryId);\n });\n return retVal;\n }\n\n private async fetchRequestSchema(): Promise<void> {\n this._requestSchema = await this.connection.requestJson(this.QuerySet, this.QueryId);\n }\n\n private async fetchResponseSchema(): Promise<void> {\n this._responseSchema = await this.connection.responseJson(this.QuerySet, this.QueryId);\n }\n\n private async fetchSchema(): Promise<void> {\n await Promise.all([this.fetchRequestSchema(), this.fetchResponseSchema()]);\n }\n\n fetchSummaryStats() {\n return this._wsWorkunits.WUQueryGetSummaryStats({ Target: this.QuerySet, QueryId: this.QueryId });\n }\n\n submit(request: object): Promise<Array<{ [key: string]: object[] }>> {\n return this.connection.submit(this.QuerySet, this.QueryId, request).then(results => {\n for (const key in results) {\n results[key] = results[key].Row;\n }\n return results;\n });\n }\n\n async refresh(): Promise<this> {\n return this.fetchSchema().then(schema => this);\n }\n\n requestFields(): IWsEclRequest {\n if (!this._requestSchema) return [];\n return this._requestSchema;\n }\n\n responseFields(): IWsEclResponse {\n if (!this._responseSchema) return {};\n return this._responseSchema;\n }\n\n resultNames(): string[] {\n const retVal: string[] = [];\n for (const key in this.responseFields()) {\n retVal.push(key);\n }\n return retVal;\n }\n\n resultFields(resultName: string): IWsEclResult {\n if (!this._responseSchema[resultName]) return [];\n return this._responseSchema[resultName];\n }\n\n /*\n protected WUQueryDetails(): Promise<WUQueryDetails.Response> {\n const request: WUQueryDetails.Request = {} as WUQueryDetails.Request;\n request.QueryId = this.QueryId;\n request.QuerySet = this.QuerySet;\n request.IncludeSuperFiles = true;\n request.IncludeStateOnClusters = true;\n return this.connection.WUQueryDetails(request).then((response) => {\n this.set(response);\n return response;\n });\n }\n */\n}\n","import { Cache, Dispatch, IObserverHandle, Message } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { StoreService } from \"../services/wsStore\";\n\nexport class StoreCache extends Cache<{ BaseUrl: string, Name: string, UserSpecific: boolean, Namespace: string }, Store> {\n constructor() {\n super((obj) => {\n return `${obj.BaseUrl}-${obj.Name}:${obj.UserSpecific}-${obj.Namespace}`;\n });\n }\n}\nconst _store = new StoreCache();\n\nexport class ValueChangedMessage extends Message {\n\n constructor(readonly key: string, public value: any, public oldValue?: any) {\n super();\n }\n\n get canConflate(): boolean { return true; }\n conflate(other: ValueChangedMessage): boolean {\n if (this.key === other.key) {\n this.value = other.value;\n return true;\n }\n return false;\n }\n\n void(): boolean {\n return this.value === this.oldValue;\n }\n}\n\nexport class Store {\n protected connection: StoreService;\n get BaseUrl() { return this.connection.baseUrl; }\n readonly Name: string;\n readonly UserSpecific: boolean;\n readonly Namespace: string;\n\n protected _dispatch = new Dispatch();\n\n static attach(optsConnection: IOptions | IConnection | StoreService, Name: string = \"HPCCApps\", Namespace: string, UserSpecific: boolean = true): Store {\n const retVal: Store = _store.get({ BaseUrl: optsConnection.baseUrl, Name, UserSpecific, Namespace }, () => {\n return new Store(optsConnection, Name, Namespace, UserSpecific);\n });\n return retVal;\n }\n\n protected constructor(optsConnection: IOptions | IConnection | StoreService, Name: string, Namespace: string, UserSpecific: boolean) {\n if (optsConnection instanceof StoreService) {\n this.connection = optsConnection;\n } else {\n this.connection = new StoreService(optsConnection);\n }\n this.Name = Name;\n this.UserSpecific = UserSpecific;\n this.Namespace = Namespace;\n }\n\n private _knownValues: { [key: string]: any } = {};\n\n protected create() {\n this.connection.CreateStore({ Name: this.Name, UserSpecific: this.UserSpecific, Type: \"\", Description: \"\" });\n }\n\n set(key: string, value: string, broadcast = true): Promise<void> {\n return this.connection.Set({\n StoreName: this.Name,\n UserSpecific: this.UserSpecific,\n Namespace: this.Namespace,\n Key: key,\n Value: value\n }).then(response => {\n const oldValue = this._knownValues[key];\n this._knownValues[key] = value;\n if (broadcast) {\n this._dispatch.post(new ValueChangedMessage(key, value, oldValue));\n }\n }).catch(e => {\n console.error(`Store.set(\"${key}\", \"${value}\") failed:`, e);\n });\n }\n\n get(key: string, broadcast = true): Promise<string | undefined> {\n return this.connection.Fetch({\n StoreName: this.Name,\n UserSpecific: this.UserSpecific,\n Namespace: this.Namespace,\n Key: key\n }).then(response => {\n const oldValue = this._knownValues[key];\n this._knownValues[key] = response.Value;\n if (broadcast) {\n this._dispatch.post(new ValueChangedMessage(key, response.Value, oldValue));\n }\n return response.Value;\n }).catch(e => {\n console.error(`Store.get(${key}) failed:`, e);\n return undefined;\n });\n }\n\n getAll(broadcast = true): Promise<{ [key: string]: string }> {\n return this.connection.FetchAll({\n StoreName: this.Name,\n UserSpecific: this.UserSpecific,\n Namespace: this.Namespace\n }).then(response => {\n const retVal: { [key: string]: string } = {};\n const deletedValues = this._knownValues;\n this._knownValues = {};\n response.Pairs.Pair.forEach(pair => {\n const oldValue = this._knownValues[pair.Key];\n this._knownValues[pair.Key] = pair.Value;\n delete deletedValues[pair.Key];\n retVal[pair.Key] = pair.Value;\n if (broadcast) {\n this._dispatch.post(new ValueChangedMessage(pair.Key, pair.Value, oldValue));\n }\n });\n if (broadcast) {\n for (const key in deletedValues) {\n this._dispatch.post(new ValueChangedMessage(key, undefined, deletedValues[key]));\n }\n }\n return retVal;\n }).catch(e => {\n console.error(\"Store.getAll failed:\", e);\n return {};\n });\n }\n\n delete(key: string, broadcast = true): Promise<void> {\n return this.connection.Delete({\n StoreName: this.Name,\n UserSpecific: this.UserSpecific,\n Namespace: this.Namespace,\n Key: key\n }).then(response => {\n const oldValue = this._knownValues[key];\n delete this._knownValues[key];\n if (broadcast) {\n this._dispatch.post(new ValueChangedMessage(key, undefined, oldValue));\n }\n }).catch(e => {\n console.error(`Store.delete(${key}) failed:`, e);\n });\n }\n\n monitor(callback: (messages: ValueChangedMessage[]) => void): IObserverHandle {\n return this._dispatch.attach(callback);\n }\n}\n","import { Cache, StateObject } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { GetTargetClusterInfo, GetTargetClusterUsageEx, MachineService } from \"../services/wsMachine\";\nimport { TopologyService, TpListTargetClusters, TpTargetClusterQuery } from \"../services/wsTopology\";\nimport { Machine } from \"./machine\";\n\nexport class TargetClusterCache extends Cache<{ BaseUrl: string, Name: string }, TargetCluster> {\n constructor() {\n super((obj) => {\n return `${obj.BaseUrl}-${obj.Name}`;\n });\n }\n}\nconst _targetCluster = new TargetClusterCache();\n\nexport interface TpTargetClusterEx {\n MachineInfoEx: GetTargetClusterInfo.MachineInfoEx[];\n}\n\nexport type UTargetClusterState = TpTargetClusterQuery.TpTargetCluster & TpListTargetClusters.TpClusterNameType & TpTargetClusterEx;\nexport type ITargetClusterState = TpTargetClusterQuery.TpTargetCluster | TpListTargetClusters.TpClusterNameType | TpTargetClusterEx;\nexport class TargetCluster extends StateObject<UTargetClusterState, ITargetClusterState> implements UTargetClusterState {\n protected connection: TopologyService;\n protected machineConnection: MachineService;\n get BaseUrl() { return this.connection.baseUrl; }\n\n get Name(): string { return this.get(\"Name\"); }\n get Prefix(): string { return this.get(\"Prefix\"); }\n get Type(): string { return this.get(\"Type\"); }\n get IsDefault(): boolean { return this.get(\"IsDefault\"); }\n get TpClusters(): TpTargetClusterQuery.TpClusters { return this.get(\"TpClusters\"); }\n get TpEclCCServers(): TpTargetClusterQuery.TpEclCCServers { return this.get(\"TpEclCCServers\"); }\n get TpEclServers(): TpTargetClusterQuery.TpEclServers { return this.get(\"TpEclServers\"); }\n get TpEclAgents(): TpTargetClusterQuery.TpEclAgents { return this.get(\"TpEclAgents\"); }\n get TpEclSchedulers(): TpTargetClusterQuery.TpEclSchedulers { return this.get(\"TpEclSchedulers\"); }\n get MachineInfoEx(): GetTargetClusterInfo.MachineInfoEx[] { return this.get(\"MachineInfoEx\", []); }\n get CMachineInfoEx(): Machine[] {\n return this.MachineInfoEx.map(machineInfoEx => Machine.attach(this.machineConnection, machineInfoEx.Address, machineInfoEx));\n }\n\n static attach(optsConnection: IOptions | IConnection | TopologyService, name: string, state?: ITargetClusterState): TargetCluster {\n const retVal: TargetCluster = _targetCluster.get({ BaseUrl: optsConnection.baseUrl, Name: name }, () => {\n return new TargetCluster(optsConnection, name);\n });\n if (state) {\n retVal.set({\n ...state\n });\n }\n return retVal;\n }\n\n protected constructor(optsConnection: IOptions | IConnection | TopologyService, name: string) {\n super();\n if (optsConnection instanceof TopologyService) {\n this.connection = optsConnection;\n this.machineConnection = new MachineService(optsConnection.connectionOptions());\n } else {\n this.connection = new TopologyService(optsConnection);\n this.machineConnection = new MachineService(optsConnection);\n }\n this.clear({\n Name: name\n });\n }\n\n fetchMachines(request: GetTargetClusterInfo.Request = {}): Promise<Machine[]> {\n return this.machineConnection.GetTargetClusterInfo({\n TargetClusters: {\n Item: [`${this.Type}:${this.Name}`]\n },\n ...request\n }).then(response => {\n const retVal: GetTargetClusterInfo.MachineInfoEx[] = [];\n for (const machineInfo of response.TargetClusterInfoList.TargetClusterInfo) {\n for (const machineInfoEx of machineInfo.Processes.MachineInfoEx) {\n retVal.push(machineInfoEx);\n }\n }\n this.set(\"MachineInfoEx\", retVal);\n return this.CMachineInfoEx;\n });\n }\n\n machineStats(): { maxDisk: number; meanDisk: number } {\n let maxDisk = 0;\n let totalFree = 0;\n let total = 0;\n for (const machine of this.CMachineInfoEx) {\n for (const storageInfo of machine.Storage.StorageInfo) {\n totalFree += storageInfo.Available;\n total += storageInfo.Total;\n const usage = 1 - storageInfo.Available / storageInfo.Total;\n if (usage > maxDisk) {\n maxDisk = usage;\n }\n }\n }\n return {\n maxDisk,\n meanDisk: 1 - (total ? totalFree / total : 1)\n };\n }\n\n fetchUsage(): Promise<GetTargetClusterUsageEx.TargetClusterUsage[]> {\n return this.machineConnection.GetTargetClusterUsageEx([this.Name]);\n }\n}\n\nexport function targetClusters(optsConnection: IOptions | IConnection | TopologyService): Promise<TargetCluster[]> {\n let connection: TopologyService;\n if (optsConnection instanceof TopologyService) {\n connection = optsConnection;\n } else {\n connection = new TopologyService(optsConnection);\n }\n return connection.TpListTargetClusters({}).then(response => {\n return response.TargetClusters.TpClusterNameType.map(item => TargetCluster.attach(optsConnection, item.Name, item));\n });\n}\n\nconst _defaultTargetCluster: { [baseUrl: string]: Promise<TargetCluster> } = {};\nexport function defaultTargetCluster(optsConnection: IOptions | IConnection | TopologyService): Promise<TargetCluster> {\n if (!_defaultTargetCluster[optsConnection.baseUrl]) {\n let connection: TopologyService;\n if (optsConnection instanceof TopologyService) {\n connection = optsConnection;\n } else {\n connection = new TopologyService(optsConnection);\n }\n _defaultTargetCluster[optsConnection.baseUrl] = connection.TpListTargetClusters({}).then(response => {\n let firstItem: TpListTargetClusters.TpClusterNameType;\n let defaultItem: TpListTargetClusters.TpClusterNameType;\n let hthorItem: TpListTargetClusters.TpClusterNameType;\n response.TargetClusters.TpClusterNameType.forEach(item => {\n if (!firstItem) {\n firstItem = item;\n }\n if (!defaultItem && item.IsDefault === true) {\n defaultItem = item;\n }\n if (!hthorItem && item.Type === \"hthor\") {\n hthorItem = item;\n }\n });\n const defItem = defaultItem || hthorItem || firstItem;\n return TargetCluster.attach(optsConnection, defItem.Name, defItem);\n });\n }\n return _defaultTargetCluster[optsConnection.baseUrl];\n}\n","import { Cache, exists, StateCallback, StateEvents, StateObject, StatePropCallback } from \"@hpcc-js/util\";\nimport { IConnection, IOptions } from \"../connection\";\nimport { TopologyService, TpLogicalClusterQuery, TpServiceQuery, TpTargetClusterQuery } from \"../services/wsTopology\";\nimport { TargetCluster } from \"./targetCluster\";\n\nexport class TopologyCache extends Cache<{ BaseUrl: string }, Topology> {\n constructor() {\n super((obj) => {\n return obj.BaseUrl;\n });\n }\n}\nconst _topology = new TopologyCache();\n\nexport interface TopologyStateEx {\n TargetClusters?: TpTargetClusterQuery.TpTargetCluster[];\n LogicalClusters?: TpLogicalClusterQuery.TpLogicalCluster[];\n Services?: TpServiceQuery.ServiceList;\n}\nexport class Topology extends StateObject<TopologyStateEx, TopologyStateEx> implements TopologyStateEx {\n protected connection: TopologyService;\n get BaseUrl() { return this.connection.baseUrl; }\n\n // Accessors ---\n get properties(): TopologyStateEx { return this.get(); }\n get TargetClusters(): TpTargetClusterQuery.TpTargetCluster[] { return this.get(\"TargetClusters\"); }\n get CTargetClusters(): TargetCluster[] {\n return this.TargetClusters.map(tc => TargetCluster.attach(this.connection, tc.Name, tc));\n }\n get LogicalClusters(): TpLogicalClusterQuery.TpLogicalCluster[] { return this.get(\"LogicalClusters\"); }\n get Services(): TpServiceQuery.ServiceList { return this.get(\"Services\"); }\n\n static attach(optsConnection: IOptions | IConnection | TopologyService) {\n const retVal: Topology = _topology.get({ BaseUrl: optsConnection.baseUrl }, () => {\n return new Topology(optsConnection);\n });\n return retVal;\n }\n\n protected constructor(optsConnection: IOptions | IConnection | TopologyService) {\n super();\n if (optsConnection instanceof TopologyService) {\n this.connection = optsConnection;\n } else {\n this.connection = new TopologyService(optsConnection);\n }\n }\n\n GetESPServiceBaseURL(type: string = \"\"): Promise<string> {\n return this.connection.TpServiceQuery({}).then(response => {\n const rootProtocol = this.connection.protocol();\n const ip = this.connection.ip();\n let port = rootProtocol === \"https:\" ? \"18002\" : \"8002\";\n if (exists(\"ServiceList.TpEspServers.TpEspServer\", response)) {\n for (const item of response.ServiceList.TpEspServers.TpEspServer) {\n if (exists(\"TpBindings.TpBinding\", item)) {\n for (const binding of item.TpBindings.TpBinding) {\n if (binding.Service === type && binding.Protocol + \":\" === rootProtocol) {\n port = binding.Port;\n }\n }\n }\n }\n }\n return `${rootProtocol}//${ip}:${port}/`;\n });\n }\n\n fetchTargetClusters(): Promise<TargetCluster[]> {\n return this.connection.TpTargetClusterQuery({ Type: \"ROOT\" }).then(response => {\n this.set({\n TargetClusters: response.TpTargetClusters?.TpTargetCluster ?? []\n });\n return this.CTargetClusters;\n });\n }\n\n fetchLogicalClusters(request: TpLogicalClusterQuery.Request = {}): Promise<TpLogicalClusterQuery.TpLogicalCluster[]> {\n return this.connection.TpLogicalClusterQuery(request).then(response => {\n this.set({\n LogicalClusters: response.TpLogicalClusters.TpLogicalCluster\n });\n return this.LogicalClusters;\n });\n }\n\n fetchServices(request: TpServiceQuery.Request = {}): Promise<TpServiceQuery.ServiceList> {\n return this.connection.TpServiceQuery(request).then(response => {\n this.set({\n Services: response.ServiceList\n });\n return this.Services;\n });\n }\n\n protected _prevRefresh\n refresh(force: boolean = false): Promise<this> {\n if (!this._prevRefresh || force) {\n this._prevRefresh = Promise.all([this.fetchTargetClusters(), this.fetchLogicalClusters(), this.fetchServices()]).then(() => {\n return this;\n });\n }\n return this._prevRefresh;\n }\n\n // Monitoring ---\n\n // Events ---\n on(eventID: StateEvents, propIDorCallback: StateCallback | keyof TopologyStateEx, callback?: StatePropCallback): this {\n if (this.isCallback(propIDorCallback)) {\n switch (eventID) {\n case \"changed\":\n super.on(eventID, propIDorCallback);\n break;\n default:\n }\n } else {\n switch (eventID) {\n case \"changed\":\n super.on(eventID, propIDorCallback, callback!);\n break;\n default:\n }\n }\n this._monitor();\n return this;\n }\n}\n","export const PKG_NAME = \"@hpcc-js/comms\";\r\nexport const PKG_VERSION = \"2.70.0\";\r\nexport const BUILD_VERSION = \"2.101.0\";\r\n"]}