@ytsaurus/ui 1.72.0 → 1.73.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 (36) hide show
  1. package/dist/public/build/assets-manifest.json +26 -26
  2. package/dist/public/build/css/yt-monaco-editor.43c1d967.chunk.css +2 -0
  3. package/dist/public/build/css/yt-monaco-editor.43c1d967.chunk.css.map +1 -0
  4. package/dist/public/build/js/3302.dff164d9.chunk.js +3 -0
  5. package/dist/public/build/js/3302.dff164d9.chunk.js.map +1 -0
  6. package/dist/public/build/js/{chyt.eff6e270.chunk.js → chyt.8c82dc61.chunk.js} +2 -2
  7. package/dist/public/build/js/{chyt.eff6e270.chunk.js.map → chyt.8c82dc61.chunk.js.map} +1 -1
  8. package/dist/public/build/js/{cluster-page-wrapper.434bb4ef.chunk.js → cluster-page-wrapper.7c7301b9.chunk.js} +2 -2
  9. package/dist/public/build/js/{cluster-page-wrapper.434bb4ef.chunk.js.map → cluster-page-wrapper.7c7301b9.chunk.js.map} +1 -1
  10. package/dist/public/build/js/{components.233a938d.chunk.js → components.a4b032ee.chunk.js} +2 -2
  11. package/dist/public/build/js/components.a4b032ee.chunk.js.map +1 -0
  12. package/dist/public/build/js/main.afa006d1.js +3 -0
  13. package/dist/public/build/js/main.afa006d1.js.map +1 -0
  14. package/dist/public/build/js/{navigation.f5cf971c.chunk.js → navigation.0adc0583.chunk.js} +2 -2
  15. package/dist/public/build/js/{navigation.f5cf971c.chunk.js.map → navigation.0adc0583.chunk.js.map} +1 -1
  16. package/dist/public/build/js/{query-tracker.64472502.chunk.js → query-tracker.5f5e3683.chunk.js} +2 -2
  17. package/dist/public/build/js/{query-tracker.64472502.chunk.js.map → query-tracker.5f5e3683.chunk.js.map} +1 -1
  18. package/dist/public/build/js/{query-widget.2271e15c.chunk.js → query-widget.4bd0f75f.chunk.js} +2 -2
  19. package/dist/public/build/js/{query-widget.2271e15c.chunk.js.map → query-widget.4bd0f75f.chunk.js.map} +1 -1
  20. package/dist/public/build/js/{runtime.c88113bf.js → runtime.30501cea.js} +2 -2
  21. package/dist/public/build/js/{runtime.c88113bf.js.map → runtime.30501cea.js.map} +1 -1
  22. package/dist/public/build/js/yt-monaco-editor.00e55e53.chunk.js +2 -0
  23. package/dist/public/build/js/yt-monaco-editor.00e55e53.chunk.js.map +1 -0
  24. package/dist/public/build/manifest.json +22 -22
  25. package/package.json +2 -2
  26. package/dist/public/build/css/yt-monaco-editor.e7c3868b.chunk.css +0 -2
  27. package/dist/public/build/css/yt-monaco-editor.e7c3868b.chunk.css.map +0 -1
  28. package/dist/public/build/js/3337.31ee332d.chunk.js +0 -3
  29. package/dist/public/build/js/3337.31ee332d.chunk.js.map +0 -1
  30. package/dist/public/build/js/components.233a938d.chunk.js.map +0 -1
  31. package/dist/public/build/js/main.c46b0cfa.js +0 -3
  32. package/dist/public/build/js/main.c46b0cfa.js.map +0 -1
  33. package/dist/public/build/js/yt-monaco-editor.59382231.chunk.js +0 -2
  34. package/dist/public/build/js/yt-monaco-editor.59382231.chunk.js.map +0 -1
  35. /package/dist/public/build/js/{3337.31ee332d.chunk.js.LICENSE.txt → 3302.dff164d9.chunk.js.LICENSE.txt} +0 -0
  36. /package/dist/public/build/js/{main.c46b0cfa.js.LICENSE.txt → main.afa006d1.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[8810],{75926:(e,t,n)=>{n.r(t),n.d(t,{default:()=>$});var r=n(40319),a=n(29121),i=n(12937),o=n(10785),s=n(26718),l=n(77810),u=n(76872),c=n(65573),d=n(21274),g=n(15647),m=n(27497),p="yt-light";d.editor.defineTheme(p,{base:"vs",inherit:!0,rules:[{token:"tablepath",foreground:"3e999f"},{token:"path",foreground:"3e999f"},{token:"string.sql",foreground:"a31515"}],colors:{"editorLineNumber.foreground":"#000000b3","editor.lineHighlightBackground":"#0000000a","editorGutter.background":"#0000000a"}});var h="yt-dark";d.editor.defineTheme(h,{base:"vs-dark",inherit:!0,rules:[{token:"tablepath",foreground:"3e999f"},{token:"path",foreground:"3e999f"},{token:"string.sql",foreground:"ce9178"}],colors:{"editorLineNumber.foreground":"#ffffffb3","editor.lineHighlightBackground":"#ffffff0a","editorGutter.background":"#ffffff0a","editor.background":"#2d2c33"}});var y=n(31470),f=n.n(y),I=n(28407),T=n(70232),S=n.n(T),A=n(77720),b={},v={},N=function(){function e(t){var n=this;(0,a.A)(this,e),this._languageId=void 0,this._loadingTriggered=void 0,this._lazyLoadPromise=void 0,this._lazyLoadPromiseResolve=void 0,this._lazyLoadPromiseReject=void 0,this._languageId=t,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((function(e,t){n._lazyLoadPromiseResolve=e,n._lazyLoadPromiseReject=t}))}return(0,i.A)(e,[{key:"whenLoaded",value:function(){return this._lazyLoadPromise}},{key:"load",value:function(){var e=this;return this._loadingTriggered||(this._loadingTriggered=!0,b[this._languageId].loader().then((function(t){return e._lazyLoadPromiseResolve(t)}),(function(t){return e._lazyLoadPromiseReject(t)}))),this._lazyLoadPromise}}],[{key:"getOrCreate",value:function(t){return v[t]||(v[t]=new e(t)),v[t]}}]),e}();function E(e){var t=e.id;b[t]=e,A.eo.register(e);var n=N.getOrCreate(t);A.eo.setMonarchTokensProvider(t,n.whenLoaded().then((function(e){return e.language}))),A.eo.onLanguage(t,(function(){n.load().then((function(e){A.eo.setLanguageConfiguration(t,e.conf)}))})),n.whenLoaded().then((function(e){e.provideSuggestionsFunction&&A.eo.registerCompletionItemProvider(t,{triggerCharacters:["`",":","/",""," "],provideCompletionItems:e.provideSuggestionsFunction})}))}var O,C=function(){function e(t,n,r){(0,a.A)(this,e),this._onDidChange=new A.vl,this._diagnosticsOptions=void 0,this._modeConfiguration=void 0,this._languageId=void 0,this._languageId=t,this.setDiagnosticsOptions(n),this.setModeConfiguration(r)}return(0,i.A)(e,[{key:"onDidChange",get:function(){return this._onDidChange.event}},{key:"languageId",get:function(){return this._languageId}},{key:"modeConfiguration",get:function(){return this._modeConfiguration}},{key:"diagnosticsOptions",get:function(){return this._diagnosticsOptions}},{key:"setDiagnosticsOptions",value:function(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}},{key:"setModeConfiguration",value:function(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}]),e}(),x=n(13322),k=n(2336),D=function(e,t){var n=(0,k.kV)(t,e.suggestColumnAliases),r=(0,k.mF)(t,e.suggestKeywords);return[].concat((0,x.A)(n),(0,x.A)(r))},R=n(52891),F=n(51757),U=n(57436),w=n(33547),M=n(29746),P=n(64714),_=n(55956),H=function(){var e=(0,I.A)(S().mark((function e(t,n){var a,i,o,s,l,u;return S().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=t.match(/(\w+\.)*`(\/\/([^`]*))`/g)){e.next=3;break}return e.abrupt("return",{});case 3:return i=(0,x.A)(t.matchAll(/(USE|use)\s([^;]+)/g))[0],o=(null==i?void 0:i[2].replace(/[^\w]/g,""))||null,s=[],a.forEach((function(e){var t=(0,U.$)(e,n),a=t.path,i=t.cluster||o;if(a&&i){var l=w.A.clusters[i];l&&s.push({command:"get",parameters:{path:"".concat(a,"/@schema")},setup:(0,r.A)({proxy:(0,m.v9)(l)},_.oj)})}})),e.next=9,P.Qq.executeBatch(P.Vu.navigationGetPath,{parameters:{requests:s}});case 9:return l=e.sent,u={},l.forEach((function(e,t){if(e.output){var n=M.Ay.getValue(e.output,"");u[a[t]]=n.map((function(e){return e.name}))}})),e.abrupt("return",u);case 13:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),L=n(11737),Y=function(){var e=(0,I.A)(S().mark((function e(t){var n,r,a,i,o,s,l;return S().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.tableSuggestions,a=t.model,i=t.engine,o=t.range,r){e.next=3;break}return e.abrupt("return",[]);case 3:return s=[{label:"*",insertText:"*",kind:A.eo.CompletionItemKind.Field,range:o,sortText:(0,L.s)(k.GX.suggestColumns)}],e.next=6,H(a.getValue(),i);case 6:return l=e.sent,null===(n=r.tables)||void 0===n||n.forEach((function(e){var t=e.name,n=e.alias;t in l&&l[t].forEach((function(e){var r=n?"".concat(n,".").concat(e):e;s.push({label:{label:r,description:"Column",detail:" (".concat(t,")")},insertText:r,kind:A.eo.CompletionItemKind.Field,range:o,sortText:(0,L.s)(k.GX.suggestColumns)})}))})),e.abrupt("return",s);case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),B=function(e){var t=e.parseResult,n=e.range,r=[];return("suggestTableFunctions"in t&&t.suggestTableFunctions||"suggestViewsOrTables"in t&&t.suggestViewsOrTables)&&r.push({label:"`//`",insertText:"`//${1:}`",insertTextRules:A.eo.CompletionItemInsertTextRule.InsertAsSnippet,kind:A.eo.CompletionItemKind.Snippet,range:n,sortText:(0,L.s)(0)}),r},q=function(e,t){return function(){var n=(0,I.A)(S().mark((function n(r,a,i,o){var s,l,u,c,d,g;return S().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return s=e(r.getValue(),{line:a.lineNumber,column:a.column}),l=(0,R.k)(r,a),n.next=4,(0,F.T)({model:r,monacoCursorPosition:a,engine:t,range:l});case 4:return u=n.sent,n.next=7,Y({model:r,engine:t,tableSuggestions:s.suggestColumns,range:l});case 7:return c=n.sent,d=B({parseResult:s,range:l}),g=D(s,l),n.abrupt("return",{suggestions:[].concat((0,x.A)(d),(0,x.A)(c),(0,x.A)(u),(0,x.A)(g))});case 11:case"end":return n.stop()}}),n)})));return function(e,t,r,a){return n.apply(this,arguments)}}()},G=n(50449),W=n(73689),z=n(21347);E({id:W.m.CHYT,extensions:[],loader:(O=(0,I.A)(S().mark((function e(){var t,r;return S().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,n.e(9293).then(n.bind(n,14919));case 2:return t=e.sent,e.next=5,Promise.all([n.e(1306),n.e(3800)]).then(n.bind(n,84807));case 5:return r=e.sent,e.abrupt("return",{conf:t.conf,language:t.language,provideSuggestionsFunction:r?q(r.parseClickHouseQuery,z.d.CHYT):G._q});case 7:case"end":return e.stop()}}),e)}))),function(){return O.apply(this,arguments)})});var V=new C(W.m.CHYT,{validate:!0},{completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0});A.eo[W.m.CHYT]=V;var K=n(71183);E({id:W.m.YQL,extensions:[],loader:function(){var e=(0,I.A)(S().mark((function e(){var t,r;return S().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.resolve().then(n.bind(n,65185));case 2:return t=e.sent,e.next=5,Promise.all([n.e(1306),n.e(7432)]).then(n.bind(n,23439));case 5:return r=e.sent,e.abrupt("return",{conf:t.conf,language:t.language,provideSuggestionsFunction:r?q(r.parseYqlQuery,z.d.YQL):K.rL});case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()});var j=n(89814);E({id:"yql_ansi",extensions:[],loader:function(){return Promise.resolve().then(n.bind(n,89814)).then((function(e){return{conf:e.conf,language:e.language,provideSuggestionsFunction:j.provideSuggestionsFunction}}))}}),E({id:"s-expression",extensions:[],loader:function(){return n.e(9369).then(n.bind(n,57897)).then((function(e){return{conf:e.conf,language:e.language,provideSuggestionsFunction:e.provideSuggestionsFunction}}))}}),d.editor.defineTheme("vs",{base:"vs",inherit:!0,rules:[{token:"string.tablepath",foreground:"338186"},{token:"constant.yql",foreground:"608b4e"},{token:"keyword.type",foreground:"4d932d"},{token:"string.sql",foreground:"a31515"},{token:"support.function",foreground:"7a3e9d"},{token:"constant.other.color",foreground:"7a3e9d"},{token:"comment",foreground:"969896"}],colors:{"editor.lineHighlightBackground":"#EFEFEF"}}),d.editor.defineTheme("vs-dark",{base:"vs-dark",inherit:!0,rules:[{token:"string.tablepath",foreground:"338186"},{token:"constant.yql",foreground:"608b4e"},{token:"storage.type",foreground:"6A8759"},{token:"string.sql",foreground:"ce9178"},{token:"support.function",foreground:"9e7bb0"},{token:"constant.other.color",foreground:"9e7bb0"},{token:"comment",foreground:"969896"}],colors:{"editor.lineHighlightBackground":"#282A2E"}});var Z=n(64922),J=(0,u.A)("yt-monaco-editor"),Q={dark:h,"dark-hc":"hc-black",light:p,"light-hc":p},X=function(e){(0,o.A)(n,e);var t=(0,s.A)(n);function n(){var e;(0,a.A)(this,n);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return(e=t.call.apply(t,[this].concat(i))).ref=l.createRef(),e.model=d.editor.createModel("",e.props.language),e.editor=void 0,e.prevScope=void 0,e.silent=!1,e.onContentChanged=function(){e.silent||(0,e.props.onChange)(e.model.getValue())},e}return(0,i.A)(n,[{key:"componentDidMount",value:function(){var e=this,t=this.props,n=t.theme,a=t.monacoConfig,i=t.editorRef,o=t.readOnly;this.model.setValue(this.props.value),this.editor=d.editor.create(this.ref.current,(0,r.A)({model:this.model,renderLineHighlight:"none",colorDecorators:!0,automaticLayout:!0,readOnly:o,minimap:{enabled:!1},lineNumbers:"on",suggestOnTriggerCharacters:!0,wordBasedSuggestions:!1,theme:Q[n]},a)),this.editor.updateOptions({lineNumbers:function(e){return'<div class="'.concat(J("line-number"),'" data-number="').concat(e,'">').concat(e,"</div>")}}),this.editor.onMouseDown((function(t){var n,r;null===(n=(r=e.props).onClick)||void 0===n||n.call(r,t)})),this.model.onDidChangeContent(this.onContentChanged),this.prevScope=c.A.getScope(),c.A.setScope("monaco-editor"),i&&(i.current=this.editor)}},{key:"componentDidUpdate",value:function(e){var t,n,r,a=this.props,i=a.theme,o=a.value,s=a.monacoConfig,l=a.readOnly,u=a.language,c={};e.theme!==i&&(c.theme=Q[i]),f()(e.monacoConfig,s)||Object.assign(c,s),o!==this.model.getValue()&&(this.silent=!0,this.model.setValue(o),this.silent=!1),u!==e.language&&(this.model=d.editor.createModel(this.model.getValue(),this.props.language),this.model.onDidChangeContent(this.onContentChanged),null===(n=this.editor)||void 0===n||n.setModel(this.model)),l!==e.readOnly&&(null===(r=this.editor)||void 0===r||r.updateOptions({readOnly:l})),null===(t=this.editor)||void 0===t||t.updateOptions(c)}},{key:"componentWillUnmount",value:function(){var e,t;null===(e=this.editor)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=this.editor)||void 0===t||t.dispose(),c.A.setScope(this.prevScope)}},{key:"render",value:function(){var e=this.props.className;return(0,Z.jsx)("div",{className:J(null,e),children:(0,Z.jsx)("div",{ref:this.ref,className:J("editor")})})}}]),n}(l.Component);const $=(0,g.Ng)((function(e){return{theme:(0,m.O4)(e)}}))(X)},50449:(e,t,n)=>{n.d(t,{AA:()=>u,RE:()=>s,SL:()=>h,_q:()=>y,g6:()=>c,gI:()=>m,j4:()=>p,js:()=>d,m4:()=>g});var r=n(13322),a=n(77720),i=n(2336),o=n(52891),s=["AND","ANY","AS","ASC","ATTACH","BETWEEN","CASE","CAST","CREATE","CROSS","DATABASE","DATABASES","DEFAULT","DELETE","DESC","DESCRIBE","DETACH","DISTINCT","DROP","ELSE","END","FOREIGN","FROM","GRANT","HAVING","IF","INNER","INSERT","JOIN","KEY","LEFT","NATURAL","NOT","OFFSET","ON","OPTIMIZE","OR","OUTER","PREWHERE","PRIMARY","PROCESSLIST","REFERENCES","RIGHT","SELECT","SHOW","TABLE","THEN","TO","TOTALS","TYPE","UNION","UPDATE","USE","WHEN","WHERE","WITH"],l=["GROUP BY","ON CLUSTER","ORDER BY","LIMIT","RENAME TABLE","IF NOT EXISTS","IF EXISTS","FORMAT Vertical","FORMAT JSONCompact","FORMAT JSONEachRow","FORMAT TSKV","FORMAT TabSeparatedWithNames","FORMAT TabSeparatedWithNamesAndTypes","FORMAT TabSeparatedRaw","FORMAT BlockTabSeparated","FORMAT CSVWithNames","FORMAT CSV","FORMAT JSON","FORMAT TabSeparated"],u=["true","false","NULL"],c=["__bitBoolMaskAnd","__bitBoolMaskOr","__bitSwapLastTwo","__bitWrapperFunc","__getScalar","accurate_Cast","accurate_CastOrNull","accurateCast","accurateCastOrNull","acosh","addDays","addHours","addMinutes","addMonths","addQuarters","addressToLine","addressToSymbol","addSeconds","addWeeks","addYears","aes_decrypt_mysql","aes_encrypt_mysql","aggThrow","alphaTokens","and","any","anyHeavy","anyLast","appendTrailingCharIfAbsent","argMax","argMin","array","arrayAll","arrayAUC","arrayAvg","arrayCompact","arrayConcat","arrayCount","arrayCumSum","arrayCumSumNonNegative","arrayDifference","arrayDistinct","arrayElement","arrayEnumerate","arrayEnumerateDense","arrayEnumerateDenseRanked","arrayEnumerateUniq","arrayEnumerateUniqRanked","arrayExists","arrayFill","arrayFilter","arrayFirst","arrayFirstIndex","arrayFlatten","arrayIntersect","arrayJoin","arrayMap","arrayMax","arrayMin","arrayPopBack","arrayPopFront","arrayProduct","arrayPushBack","arrayPushFront","arrayReduce","arrayReduceInRanges","arrayResize","arrayReverse","arrayReverseFill","arrayReverseSort","arrayReverseSplit","arraySlice","arraySort","arraySplit","arrayStringConcat","arraySum","arrayUniq","arrayWithConstant","arrayZip","asinh","assumeNotNull","atanh","avgWeighted","bar","base64Decode","base64Encode","basename","bitAnd","bitCount","bitHammingDistance","bitmaskToArray","bitmaskToList","bitNot","bitOr","bitPositionsToArray","bitRotateLeft","bitRotateRight","bitShiftLeft","bitShiftRight","bitTest","bitTestAll","bitTestAny","bitXor","blockNumber","blockSerializedSize","blockSize","boundingRatio","buildId","byteSize","caseWithExpr","caseWithExpression","caseWithoutExpr","caseWithoutExpression","categoricalInformationValue","cbrt","cityHash64","concatAssumeInjective","ConvertYson","corrStable","cosh","countDigits","countEqual","countMatches","countMatchesCaseInsensitive","countSubstringsCaseInsensitive","countSubstringsCaseInsensitiveUTF8","covarPop","covarPopStable","covarSamp","covarSampStable","currentDatabase","currentProfiles","currentRoles","currentUser","cutFragment","cutIPv6","cutQueryString","cutQueryStringAndFragment","cutToFirstSignificantSubdomain","cutToFirstSignificantSubdomainCustom","cutToFirstSignificantSubdomainCustomWithWWW","cutToFirstSignificantSubdomainWithWWW","cutURLParameter","cutWWW","dateTime64ToSnowflake","dateTimeToSnowflake","dateTrunc","decodeURLComponent","decodeXMLComponent","decrypt","defaultProfiles","defaultRoles","defaultValueOfArgumentType","defaultValueOfTypeName","deltaSum","deltaSumTimestamp","demangle","dictGet","dictGetChildren","dictGetDate","dictGetDateOrDefault","dictGetDateTime","dictGetDateTimeOrDefault","dictGetDescendants","dictGetFloat32","dictGetFloat32OrDefault","dictGetFloat64","dictGetFloat64OrDefault","dictGetHierarchy","dictGetInt8","dictGetInt8OrDefault","dictGetInt16","dictGetInt16OrDefault","dictGetInt32","dictGetInt32OrDefault","dictGetInt64","dictGetInt64OrDefault","dictGetOrDefault","dictGetOrNull","dictGetString","dictGetStringOrDefault","dictGetUInt8","dictGetUInt8OrDefault","dictGetUInt16","dictGetUInt16OrDefault","dictGetUInt32","dictGetUInt32OrDefault","dictGetUInt64","dictGetUInt64OrDefault","dictGetUUID","dictGetUUIDOrDefault","dictHas","dictIsIn","divide","domain","domainWithoutWWW","dumpColumnStructure","e","empty","emptyArrayDate","emptyArrayDateTime","emptyArrayFloat32","emptyArrayFloat64","emptyArrayInt8","emptyArrayInt16","emptyArrayInt32","emptyArrayInt64","emptyArrayString","emptyArrayToSingle","emptyArrayUInt8","emptyArrayUInt16","emptyArrayUInt32","emptyArrayUInt64","enabledProfiles","enabledRoles","encodeXMLComponent","encrypt","endsWith","entropy","equals","erf","erfc","errorCodeToName","evalMLMethod","exp2","exp10","extract","extractAll","extractAllGroups","extractAllGroupsHorizontal","extractAllGroupsVertical","extractGroups","extractTextFromHTML","extractURLParameter","extractURLParameterNames","extractURLParameters","farmFingerprint64","farmHash64","file","filesystemAvailable","filesystemCapacity","filesystemFree","finalizeAggregation","firstSignificantSubdomain","firstSignificantSubdomainCustom","format","formatDateTime","formatReadableQuantity","formatReadableSize","formatReadableTimeDelta","formatRow","formatRowNoNewline","fragment","FROM_UNIXTIME","fromModifiedJulianDay","fromModifiedJulianDayOrNull","fromUnixTimestamp","fromUnixTimestamp64Micro","fromUnixTimestamp64Milli","fromUnixTimestamp64Nano","fullHostName","fuzzBits","gcd","generateUUIDv4","geoDistance","geohashDecode","geohashEncode","geohashesInBox","geoToH3","getMacro","getServerPort","getSetting","getSizeOfEnumType","globalIn","globalInIgnoreSet","globalNotIn","globalNotInIgnoreSet","globalNotNullIn","globalNotNullInIgnoreSet","globalNullIn","globalNullInIgnoreSet","globalVariable","greatCircleAngle","greatCircleDistance","greater","greaterOrEquals","groupArray","groupArrayInsertAt","groupArrayMovingAvg","groupArrayMovingSum","groupArraySample","groupBitAnd","groupBitOr","groupBitXor","groupUniqArray","h3EdgeAngle","h3EdgeLengthM","h3GetBaseCell","h3GetResolution","h3HexAreaM2","h3IndexesAreNeighbors","h3IsValid","h3kRing","h3ToChildren","h3ToGeo","h3ToParent","h3ToString","halfMD5","has","hasAll","hasAny","hasColumnInTable","hasSubstr","hasThreadFuzzer","hasToken","hasTokenCaseInsensitive","histogram","hiveHash","hostName","hostname","identity","ifNotFinite","ignore","ilike","in","indexHint","indexOf","inIgnoreSet","initializeAggregation","initialQueryID","intDiv","intDivOrZero","intervalLengthSum","intExp2","intExp10","intHash32","intHash64","IPv4CIDRToRange","IPv4NumToString","IPv4NumToStringClassC","IPv4StringToNum","IPv4ToIPv6","IPv6CIDRToRange","IPv6NumToString","IPv6StringToNum","isConstant","isDecimalOverflow","isFinite","isInfinite","isIPAddressInRange","isIPv4String","isIPv6String","isNaN","isNotNull","isValidJSON","isValidUTF8","isZeroOrNull","javaHash","javaHashUTF16LE","joinGet","joinGetOrNull","JSON_EXISTS","JSON_QUERY","JSON_VALUE","JSONExtract","JSONExtractArrayRaw","JSONExtractBool","JSONExtractFloat","JSONExtractInt","JSONExtractKeysAndValues","JSONExtractKeysAndValuesRaw","JSONExtractRaw","JSONExtractString","JSONExtractUInt","JSONHas","JSONKey","JSONLength","JSONType","jumpConsistentHash","kurtPop","kurtSamp","lagInFrame","lcm","leadInFrame","leftPad","leftPadUTF8","lengthUTF8","less","lessOrEquals","lgamma","like","log1p","logTrace","lowCardinalityIndices","lowCardinalityKeys","lowerUTF8","MACNumToString","MACStringToNum","MACStringToOUI","mannWhitneyUTest","map","mapAdd","mapContains","mapKeys","mapPopulateSeries","mapSubtract","mapValues","match","materialize","maxIntersections","maxIntersectionsPosition","maxMap","MD5","median","medianBFloat16","medianBFloat16Weighted","medianDeterministic","medianExact","medianExactHigh","medianExactLow","medianExactWeighted","medianTDigest","medianTDigestWeighted","medianTiming","medianTimingWeighted","metroHash64","minMap","minus","modelEvaluate","modulo","moduloLegacy","moduloOrZero","multiFuzzyMatchAllIndices","multiFuzzyMatchAny","multiFuzzyMatchAnyIndex","multiIf","multiMatchAllIndices","multiMatchAny","multiMatchAnyIndex","multiply","multiSearchAllPositions","multiSearchAllPositionsCaseInsensitive","multiSearchAllPositionsCaseInsensitiveUTF8","multiSearchAllPositionsUTF8","multiSearchAny","multiSearchAnyCaseInsensitive","multiSearchAnyCaseInsensitiveUTF8","multiSearchAnyUTF8","multiSearchFirstIndex","multiSearchFirstIndexCaseInsensitive","multiSearchFirstIndexCaseInsensitiveUTF8","multiSearchFirstIndexUTF8","multiSearchFirstPosition","multiSearchFirstPositionCaseInsensitive","multiSearchFirstPositionCaseInsensitiveUTF8","multiSearchFirstPositionUTF8","negate","neighbor","netloc","ngramDistance","ngramDistanceCaseInsensitive","ngramDistanceCaseInsensitiveUTF8","ngramDistanceUTF8","ngramMinHash","ngramMinHashArg","ngramMinHashArgCaseInsensitive","ngramMinHashArgCaseInsensitiveUTF8","ngramMinHashArgUTF8","ngramMinHashCaseInsensitive","ngramMinHashCaseInsensitiveUTF8","ngramMinHashUTF8","ngramSearch","ngramSearchCaseInsensitive","ngramSearchCaseInsensitiveUTF8","ngramSearchUTF8","ngramSimHash","ngramSimHashCaseInsensitive","ngramSimHashCaseInsensitiveUTF8","ngramSimHashUTF8","normalizedQueryHash","normalizedQueryHashKeepNames","normalizeQuery","normalizeQueryKeepNames","notEmpty","notEquals","notILike","notIn","notInIgnoreSet","notLike","notNullIn","notNullInIgnoreSet","nullIn","nullInIgnoreSet","or","parseDateTime32BestEffort","parseDateTime32BestEffortOrNull","parseDateTime32BestEffortOrZero","parseDateTime64BestEffort","parseDateTime64BestEffortOrNull","parseDateTime64BestEffortOrZero","parseDateTimeBestEffort","parseDateTimeBestEffortOrNull","parseDateTimeBestEffortOrZero","parseDateTimeBestEffortUS","parseDateTimeBestEffortUSOrNull","parseDateTimeBestEffortUSOrZero","partitionId","path","pathFull","plus","pointInEllipses","pointInPolygon","polygonAreaCartesian","polygonAreaSpherical","polygonConvexHullCartesian","polygonPerimeterCartesian","polygonPerimeterSpherical","polygonsDistanceCartesian","polygonsDistanceSpherical","polygonsEqualsCartesian","polygonsIntersectionCartesian","polygonsIntersectionSpherical","polygonsSymDifferenceCartesian","polygonsSymDifferenceSpherical","polygonsUnionCartesian","polygonsUnionSpherical","polygonsWithinCartesian","polygonsWithinSpherical","port","positionCaseInsensitive","positionCaseInsensitiveUTF8","positionUTF8","protocol","quantile","quantileBFloat16","quantileBFloat16Weighted","quantileDeterministic","quantileExact","quantileExactExclusive","quantileExactHigh","quantileExactInclusive","quantileExactLow","quantileExactWeighted","quantiles","quantilesBFloat16","quantilesBFloat16Weighted","quantilesDeterministic","quantilesExact","quantilesExactExclusive","quantilesExactHigh","quantilesExactInclusive","quantilesExactLow","quantilesExactWeighted","quantilesTDigest","quantilesTDigestWeighted","quantilesTiming","quantilesTimingWeighted","quantileTDigest","quantileTDigestWeighted","quantileTiming","quantileTimingWeighted","queryID","queryString","queryStringAndFragment","rand32","rand64","randConstant","randomFixedString","randomPrintableASCII","randomString","randomStringUTF8","range","rankCorr","readWktMultiPolygon","readWktPoint","readWktPolygon","readWktRing","regexpQuoteMeta","regionHierarchy","regionIn","regionToArea","regionToCity","regionToContinent","regionToCountry","regionToDistrict","regionToName","regionToPopulation","regionToTopContinent","reinterpret","reinterpretAsDate","reinterpretAsDateTime","reinterpretAsFixedString","reinterpretAsFloat32","reinterpretAsFloat64","reinterpretAsInt8","reinterpretAsInt16","reinterpretAsInt32","reinterpretAsInt64","reinterpretAsInt128","reinterpretAsInt256","reinterpretAsString","reinterpretAsUInt8","reinterpretAsUInt16","reinterpretAsUInt32","reinterpretAsUInt64","reinterpretAsUInt128","reinterpretAsUInt256","reinterpretAsUUID","replaceAll","replaceOne","replaceRegexpAll","replaceRegexpOne","replicate","retention","reverseUTF8","rightPad","rightPadUTF8","roundAge","roundBankers","roundDown","roundDuration","roundToExp2","rowNumberInAllBlocks","rowNumberInBlock","runningAccumulate","runningConcurrency","runningDifference","runningDifferenceStartingWithFirstValue","sequenceCount","sequenceMatch","sequenceNextNode","serverUUID","SHA1","SHA224","SHA256","SHA512","shardCount","shardNum","sigmoid","simpleJSONExtractBool","simpleJSONExtractFloat","simpleJSONExtractInt","simpleJSONExtractRaw","simpleJSONExtractString","simpleJSONExtractUInt","simpleJSONHas","simpleLinearRegression","singleValueOrNull","sinh","sipHash64","sipHash128","skewPop","skewSamp","sleep","sleepEachRow","snowflakeToDateTime","snowflakeToDateTime64","splitByChar","splitByNonAlpha","splitByRegexp","splitByString","splitByWhitespace","startsWith","stddevPop","stddevPopStable","stddevSamp","stddevSampStable","stochasticLinearRegression","stochasticLogisticRegression","stringToH3","studentTTest","substringUTF8","subtractDays","subtractHours","subtractMinutes","subtractMonths","subtractQuarters","subtractSeconds","subtractWeeks","subtractYears","sumCount","sumKahan","sumMap","sumMapFiltered","sumMapFilteredWithOverflow","sumMapWithOverflow","sumWithOverflow","svg","tcpPort","tgamma","throwIf","tid","timeSlot","timeSlots","timeZone","timezone","timeZoneOf","timezoneOf","timeZoneOffset","timezoneOffset","toColumnTypeName","toDate","toDate32","toDate32OrNull","toDate32OrZero","toDateOrNull","toDateOrZero","toDateTime","toDateTime32","toDateTime64","toDateTime64OrNull","toDateTime64OrZero","toDateTimeOrNull","toDateTimeOrZero","today","toDayOfMonth","toDayOfWeek","toDayOfYear","toDecimal32","toDecimal32OrNull","toDecimal32OrZero","toDecimal64","toDecimal64OrNull","toDecimal64OrZero","toDecimal128","toDecimal128OrNull","toDecimal128OrZero","toDecimal256","toDecimal256OrNull","toDecimal256OrZero","toFixedString","toFloat32","toFloat32OrNull","toFloat32OrZero","toFloat64","toFloat64OrNull","toFloat64OrZero","toHour","toInt8","toInt8OrNull","toInt8OrZero","toInt16","toInt16OrNull","toInt16OrZero","toInt32","toInt32OrNull","toInt32OrZero","toInt64","toInt64OrNull","toInt64OrZero","toInt128","toInt128OrNull","toInt128OrZero","toInt256","toInt256OrNull","toInt256OrZero","toIntervalDay","toIntervalHour","toIntervalMinute","toIntervalMonth","toIntervalQuarter","toIntervalSecond","toIntervalWeek","toIntervalYear","toIPv4","toIPv6","toISOWeek","toISOYear","toJSONString","toLowCardinality","toMinute","toModifiedJulianDay","toModifiedJulianDayOrNull","toMonday","toMonth","toNullable","topK","topKWeighted","topLevelDomain","toQuarter","toRelativeDayNum","toRelativeHourNum","toRelativeMinuteNum","toRelativeMonthNum","toRelativeQuarterNum","toRelativeSecondNum","toRelativeWeekNum","toRelativeYearNum","toSecond","toStartOfDay","toStartOfFifteenMinutes","toStartOfFiveMinute","toStartOfHour","toStartOfInterval","toStartOfISOYear","toStartOfMinute","toStartOfMonth","toStartOfQuarter","toStartOfSecond","toStartOfTenMinutes","toStartOfWeek","toStartOfYear","toString","toStringCutToZero","toTime","toTimeZone","toTimezone","toTypeName","toUInt8","toUInt8OrNull","toUInt8OrZero","toUInt16","toUInt16OrNull","toUInt16OrZero","toUInt32","toUInt32OrNull","toUInt32OrZero","toUInt64","toUInt64OrNull","toUInt64OrZero","toUInt128","toUInt128OrNull","toUInt128OrZero","toUInt256","toUInt256OrNull","toUInt256OrZero","toUnixTimestamp","toUnixTimestamp64Micro","toUnixTimestamp64Milli","toUnixTimestamp64Nano","toUUID","toUUIDOrNull","toUUIDOrZero","toValidUTF8","toWeek","toYear","toYearWeek","toYYYYMM","toYYYYMMDD","toYYYYMMDDhhmmss","transform","trimBoth","trimLeft","trimRight","tryBase64Decode","tuple","tupleElement","tupleHammingDistance","tupleToNameValuePairs","uniq","uniqCombined","uniqCombined64","uniqExact","uniqHLL12","uniqUpTo","upperUTF8","uptime","URLHash","URLHierarchy","URLPathHierarchy","UUIDNumToString","UUIDStringToNum","validateNestedArraySizes","varPop","varPopStable","varSamp","varSampStable","visibleWidth","visitParamExtractBool","visitParamExtractFloat","visitParamExtractInt","visitParamExtractRaw","visitParamExtractString","visitParamExtractUInt","visitParamHas","welchTTest","windowFunnel","wkt","wordShingleMinHash","wordShingleMinHashArg","wordShingleMinHashArgCaseInsensitive","wordShingleMinHashArgCaseInsensitiveUTF8","wordShingleMinHashArgUTF8","wordShingleMinHashCaseInsensitive","wordShingleMinHashCaseInsensitiveUTF8","wordShingleMinHashUTF8","wordShingleSimHash","wordShingleSimHashCaseInsensitive","wordShingleSimHashCaseInsensitiveUTF8","wordShingleSimHashUTF8","xor","xxHash32","xxHash64","yandexConsistentHash","yesterday","YPathArrayBoolean","YPathArrayBooleanStrict","YPathArrayDouble","YPathArrayDoubleStrict","YPathArrayInt64","YPathArrayInt64Strict","YPathArrayUInt64","YPathArrayUInt64Strict","YPathBoolean","YPathBooleanStrict","YPathDouble","YPathDoubleStrict","YPathExtract","YPathExtractStrict","YPathInt64","YPathInt64Strict","YPathRaw","YPathRawStrict","YPathString","YPathStringStrict","YPathUInt64","YPathUInt64Strict","YSONExtract","YSONExtractArrayRaw","YSONExtractBool","YSONExtractFloat","YSONExtractInt","YSONExtractKeysAndValues","YSONExtractKeysAndValuesRaw","YSONExtractRaw","YSONExtractString","YSONExtractUInt","YSONHas","YSONKey","YSONLength","YSONType"],d=["_CAST","abs","acos","asin","atan","atan2","avg","bin","BIT_AND","BIT_OR","BIT_XOR","CAST","ceil","ceiling","char","CHAR_LENGTH","CHARACTER_LENGTH","coalesce","concat","connection_id","connectionId","corr","cos","count","countSubstrings","COVAR_POP","COVAR_SAMP","CRC32","CRC32IEEE","CRC64","DATABASE","DATE","date_trunc","dateDiff","dateName","DAY","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","dense_rank","exp","first_value","flatten","floor","FQDN","FROM_BASE64","greatest","hex","HOUR","hypot","if","ifNull","INET6_ATON","INET6_NTOA","INET_ATON","INET_NTOA","initial_query_id","isNull","last_value","lcase","least","length","ln","locate","log","log2","log10","lower","lpad","max","mid","min","MINUTE","mod","MONTH","not","now","now64","nth_value","nullIf","pi","position","pow","power","QUARTER","query_id","rand","rank","repeat","replace","reverse","round","row_number","rpad","SECOND","sign","sin","sqrt","STDDEV_POP","STDDEV_SAMP","substr","substring","sum","tan","tanh","TO_BASE64","trunc","truncate","ucase","unbin","unhex","upper","user","VAR_POP","VAR_SAMP","version","week","YEAR","yearweek"],g=["cluster","clusterAllReplicas","concatYtTables","concatYtTablesLike","concatYtTablesRange","concatYtTablesRegexp","dictionary","executable","file","generateRandom","input","jdbc","merge","null","numbers","numbers_mt","odbc","remote","remoteSecure","url","values","view","ytSubquery","zeros","zeros_mt"],m=["Buffer","Memory","YtTable"],p=["AggregateFunction","Array","Enum8","Enum16","FixedString","Float32","Float64","Int8","Int16","Int32","Int64","Int128","Int256","IntervalDay","IntervalHour","IntervalMinute","IntervalMonth","IntervalQuarter","IntervalSecond","IntervalWeek","IntervalYear","IPv4","IPv6","LowCardinality","Map","MultiPolygon","Nested","Nothing","Nullable","Point","Polygon","Ring","SimpleAggregateFunction","String","Tuple","UInt8","UInt16","UInt32","UInt64","UInt128","UInt256","UUID","YtBoolean"],h=["BIGINT","BIGINT SIGNED","BIGINT UNSIGNED","BINARY","BINARY LARGE OBJECT","BINARY VARYING","BLOB","BOOL","BOOLEAN","BYTE","BYTEA","CHAR","CHAR LARGE OBJECT","CHAR VARYING","CHARACTER","CHARACTER LARGE OBJECT","CHARACTER VARYING","CLOB","DEC","DOUBLE","DOUBLE PRECISION","Date","Date32","DateTime","DateTime32","DateTime64","Decimal","Decimal128","Decimal256","Decimal32","Decimal64","ENUM","Enum","FIXED","FLOAT","INET4","INET6","INT","INT SIGNED","INT UNSIGNED","INT1","INT1 SIGNED","INT1 UNSIGNED","INTEGER","INTEGER SIGNED","INTEGER UNSIGNED","LONGBLOB","LONGTEXT","MEDIUMBLOB","MEDIUMINT","MEDIUMINT SIGNED","MEDIUMINT UNSIGNED","MEDIUMTEXT","NATIONAL CHAR","NATIONAL CHAR VARYING","NATIONAL CHARACTER","NATIONAL CHARACTER LARGE OBJECT","NATIONAL CHARACTER VARYING","NCHAR","NCHAR LARGE OBJECT","NCHAR VARYING","NUMERIC","NVARCHAR","REAL","SINGLE","SMALLINT","SMALLINT SIGNED","SMALLINT UNSIGNED","TEXT","TIMESTAMP","TINYBLOB","TINYINT","TINYINT SIGNED","TINYINT UNSIGNED","TINYTEXT","VARCHAR","VARCHAR2"],y=function(e,t){var n=(0,o.k)(e,t);return{suggestions:f(n,{suggestFunctions:!0,suggestKeywords:[],errors:[]})}},f=function(e,t){var n=[].concat((0,r.A)((0,i.Mg)({kind:a.eo.CompletionItemKind.TypeParameter,detail:"Type",suggestionType:"suggestSimpleTypes",rangeToInsertSuggestion:e,items:[].concat(p,h,m)})),(0,r.A)((0,i.Mg)({kind:a.eo.CompletionItemKind.Constant,detail:"Constant",suggestionType:"suggestConstants",rangeToInsertSuggestion:e,items:u})));return t.suggestFunctions&&(n=[].concat((0,r.A)(n),(0,r.A)((0,i.Mg)({kind:a.eo.CompletionItemKind.Function,detail:"Function",suggestionType:"suggestFunctions",rangeToInsertSuggestion:e,items:[].concat(c,d,g)})))),t.suggestKeywords&&(n=[].concat((0,r.A)(n),(0,r.A)((0,i.Mg)({kind:a.eo.CompletionItemKind.Keyword,detail:"Keyword",suggestionType:"suggestKeywords",rangeToInsertSuggestion:e,items:[].concat(s,l)})))),n}},2336:(e,t,n)=>{n.d(t,{GX:()=>i,Mg:()=>l,kV:()=>o,mF:()=>s});var r=n(77720),a=n(11737),i={path:0,suggestTemplates:1,suggestPragmas:2,binding:3,connection:4,suggestColumns:5,suggestColumnAliases:6,suggestKeywords:7,suggestAggregateFunctions:8,suggestTableFunctions:9,suggestWindowFunctions:10,suggestFunctions:11,suggestUdfs:12,suggestSimpleTypes:13,suggestConstants:14,suggestOperators:15,suggestTableIndexes:16,suggestTableHints:17,suggestEntitySettings:18},o=function(e,t){return t?t.map((function(t){return{label:t.name,insertText:t.name,kind:r.eo.CompletionItemKind.Field,detail:"Column alias",range:e,sortText:(0,a.s)(i.suggestColumnAliases)}})):[]},s=function(e,t){return t?t.map((function(t){return{label:t.value,insertText:t.value,kind:r.eo.CompletionItemKind.Keyword,detail:"Keyword",range:e,sortText:(0,a.s)(i.suggestKeywords)}})):[]},l=function(e){var t=e.kind,n=e.detail,r=e.suggestionType,o=e.rangeToInsertSuggestion;return e.items.map((function(e){return{label:e,insertText:e,kind:t,detail:n,range:o,sortText:(0,a.s)(i[r])}}))}},57436:(e,t,n)=>{n.d(t,{$:()=>o});var r=n(13322),a=n(21347),i=n(13542),o=function(e,t){var n,o=(0,r.A)(e.matchAll(/`(\/\/([^`]*))`/g))[0],s=o?o[1]:null,l=(0,r.A)(e.matchAll(/(\w+)\./g))[0],u=l?l[1]:null;return u&&t!==a.d.SPYT||(u=(null===(n=(0,i.ai)().getState().queryTracker.query)||void 0===n||null===(n=n.draft.settings)||void 0===n?void 0:n.cluster)||null),{path:s,cluster:u}}},51757:(e,t,n)=>{n.d(t,{T:()=>y});var r=n(40319),a=n(28407),i=n(70232),o=n.n(i),s=n(64714),l=n(77720),u=n(29746),c=n(57436),d=function(e,t,n){var r,a=e.getLineContent(t.lineNumber).substring(0,t.column),i=(0,c.$)(a,n),o=i.path,s=i.cluster,l=e.getValue().match(/(USE|use)\s\w+/g),u=l?null===(r=l.pop())||void 0===r?void 0:r.replace(/(USE|use)\s/,""):null;return{path:o,cluster:s||u}},g=n(2336),m=n(11737),p=n(27497),h=n(33547),y=function(){var e=(0,a.A)(o().mark((function e(t){var n,a,i,c,y,f,I,T,S,A,b;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.model,a=t.monacoCursorPosition,i=t.engine,c=t.range,y=d(n,a,i),f=y.path,I=y.cluster,f&&I){e.next=4;break}return e.abrupt("return",[]);case 4:if(T=h.A.clusters[I]){e.next=7;break}return e.abrupt("return",[]);case 7:return S={setup:{proxy:(0,p.v9)(T)}},e.prev=8,A=f.replace(/(\/$)/g,""),e.next=12,s.X8.exists({path:A},S);case 12:if(e.sent){e.next=22;break}if(!/[^/]\/$/.test(f)){e.next=16;break}return e.abrupt("return",[]);case 16:return A=A.split("/").slice(0,-1).join("/"),e.next=19,s.X8.exists({path:A},S);case 19:if(e.sent){e.next=22;break}return e.abrupt("return",[]);case 22:return e.next=24,s.Qq.list(s.Vu.navigationListNodes,(0,r.A)((0,r.A)({},S),{},{parameters:{path:A,attributes:["type","broken"]}}));case 24:return b=e.sent,e.abrupt("return",b.reduce((function(e,t){var n=u.Ay.getValue(t),r=u.Ay.getAttributes(t),a=r.type,i=r.broken;if(!["table","map_node","link"].includes(a)||"link"===a&&i)return e;var o=A+"/"+n,s=/[^/]\//.test(f)?o.replace(f,""):o.replace("//","");return e.push({label:o,insertText:s,kind:l.eo.CompletionItemKind["table"===a?"File":"Folder"],range:c,sortText:(0,m.s)(g.GX.path)}),e}),[]));case 28:return e.prev=28,e.t0=e.catch(8),e.abrupt("return",[]);case 31:case"end":return e.stop()}}),e,null,[[8,28]])})));return function(t){return e.apply(this,arguments)}}()},52891:(e,t,n)=>{n.d(t,{k:()=>r});var r=function(e,t){var n=e.getWordUntilPosition(t),r=n.startColumn,a=n.endColumn;return{startColumn:r-("$"===e.getLineContent(t.lineNumber)[r-2]?1:0),startLineNumber:t.lineNumber,endColumn:a,endLineNumber:t.lineNumber}}},11737:(e,t,n)=>{n.d(t,{s:()=>a});var r="abcdefghijklmnopqrstuvwxyz",a=function(e){var t=r[e];if(t)return t;var n=Math.floor(e/26),a=e%26;return r.slice(-1).repeat(n)+r[a]}},71183:(e,t,n)=>{n.d(t,{RE:()=>s,XB:()=>u,rL:()=>c,to:()=>l});var r=n(13322),a=n(77720),i=n(2336),o=n(52891),s="$row|$rows|action|all|and|any|as|asc|assume|begin|bernoulli|between|by|case|columns|commit|compact|create|cross|cube|declare|define|delete|desc|dict|discard|distinct|do|drop|else|empty_action|end|erase|evaluate|exclusion|exists|export|flatten|for|from|full|group|grouping|having|if|ignore|ilike|import|in|inner|insert|into|is|join|left|like|limit|list|match|not|null|nulls|offset|on|only|optional|or|order|over|partition|pragma|presort|process|reduce|regexp|repeatable|replace|respect|result|return|right|rlike|rollup|sample|schema|select|semi|set|sets|stream|subquery|table|tablesample|then|truncate|union|update|upsert|use|using|values|view|when|where|window|with|without|xor".split("|"),l="bool|date|datetime|decimal|double|float|int16|int32|int64|int8|interval|json|string|timestamp|tzdate|tzdatetime|tztimestamp|uint16|uint32|uint64|uint8|utf8|uuid|yson".split("|"),u="abs|aggregate_by|aggregate_list|aggregate_list_distinct|agg_list|agg_list_distinct|as_table|avg|avg_if|adaptivedistancehistogram|adaptivewardhistogram|adaptiveweighthistogram|addmember|addtimezone|aggregateflatten|aggregatetransforminput|aggregatetransformoutput|aggregationfactory|asatom|asdict|asdictstrict|asenum|aslist|asliststrict|asset|assetstrict|asstruct|astagged|astuple|asvariant|atomcode|bitcast|bit_and|bit_or|bit_xor|bool_and|bool_or|bool_xor|bottom|bottom_by|blockwardhistogram|blockweighthistogram|cast|coalesce|concat|concat_strict|correlation|count|count_if|covariance|covariance_population|covariance_sample|callableargument|callableargumenttype|callableresulttype|callabletype|callabletypecomponents|callabletypehandle|choosemembers|combinemembers|countdistinctestimate|currentauthenticateduser|currentoperationid|currentoperationsharedid|currenttzdate|currenttzdatetime|currenttztimestamp|currentutcdate|currentutcdatetime|currentutctimestamp|dense_rank|datatype|datatypecomponents|datatypehandle|dictaggregate|dictcontains|dictcreate|dicthasitems|dictitems|dictkeytype|dictkeys|dictlength|dictlookup|dictpayloadtype|dictpayloads|dicttype|dicttypecomponents|dicttypehandle|each|each_strict|emptydicttype|emptydicttypehandle|emptylisttype|emptylisttypehandle|endswith|ensure|ensureconvertibleto|ensuretype|enum|evaluateatom|evaluatecode|evaluateexpr|evaluatetype|expandstruct|filter|filter_strict|find|first_value|folder|filecontent|filepath|flattenmembers|forceremovemember|forceremovemembers|forcerenamemembers|forcespreadmembers|formatcode|formattype|frombytes|funccode|greatest|grouping|gathermembers|generictype|histogram|hll|hyperloglog|if|if_strict|instanceof|json_exists|json_query|json_value|jointablerow|just|lag|last_value|lead|least|len|length|like|likely|like_strict|lambdaargumentscount|lambdacode|linearhistogram|listaggregate|listall|listany|listavg|listcode|listcollect|listconcat|listcreate|listdistinct|listenumerate|listextend|listextendstrict|listextract|listfilter|listflatmap|listflatten|listfromrange|listhas|listhasitems|listhead|listindexof|listitemtype|listlast|listlength|listmap|listmax|listmin|listnotnull|listreplicate|listreverse|listskip|listskipwhile|listskipwhileinclusive|listsort|listsortasc|listsortdesc|listsum|listtake|listtakewhile|listtakewhileinclusive|listtype|listtypehandle|listunionall|listuniq|listzip|listzipall|loghistogram|logarithmichistogram|max|max_by|max_of|median|min|min_by|min_of|mode|multi_aggregate_by|nanvl|nvl|nothing|nulltype|nulltypehandle|optionalitemtype|optionaltype|optionaltypehandle|percentile|parsefile|parsetype|parsetypehandle|pickle|quotecode|range|range_strict|rank|regexp|regexp_strict|rfind|row_number|random|randomnumber|randomuuid|removemember|removemembers|removetimezone|renamemembers|replacemember|reprcode|resourcetype|resourcetypehandle|resourcetypetag|some|stddev|stddev_population|stddev_sample|substring|sum|sum_if|sessionstart|sessionwindow|setcreate|setdifference|setincludes|setintersection|setisdisjoint|setsymmetricdifference|setunion|spreadmembers|stablepickle|startswith|staticmap|streamitemtype|streamtype|streamtypehandle|structmembertype|structmembers|structtypecomponents|structtypehandle|subqueryextend|subqueryextendfor|subquerymerge|subquerymergefor|subqueryunionall|subqueryunionallfor|subqueryunionmerge|subqueryunionmergefor|top|topfreq|top_by|tablename|tablepath|tablerecordindex|tablerow|taggedtype|taggedtypecomponents|taggedtypehandle|tobytes|todict|tomultidict|toset|tosorteddict|tosortedmultidict|trymember|tupleelementtype|tupletype|tupletypecomponents|tupletypehandle|typehandle|typekind|typeof|udaf|unittype|unpickle|untag|unwrap|variance|variance_population|variance_sample|variant|varianttype|varianttypehandle|variantunderlyingtype|voidtype|voidtypehandle|way|worldcode".split("|"),c=function(e,t){var n=(0,o.k)(e,t);return{suggestions:[].concat((0,r.A)((0,i.Mg)({kind:a.eo.CompletionItemKind.Keyword,detail:"Keyword",suggestionType:"suggestKeywords",rangeToInsertSuggestion:n,items:[].concat((0,r.A)(s),(0,r.A)(l))})),(0,r.A)((0,i.Mg)({kind:a.eo.CompletionItemKind.Function,detail:"Function",suggestionType:"suggestFunctions",rangeToInsertSuggestion:n,items:u})))}}},65185:(e,t,n)=>{n.r(t),n.d(t,{conf:()=>a,language:()=>i});var r=n(71183),a={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],wordPattern:/(-?\d*\.\d\w*)|([^`~!@#%^&*()\-=+[{\]}\\|;:'",./?\s]+)/g},i={defaultToken:"text",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"}],keywords:r.RE,typeKeywords:r.to,constants:["true","false"],builtinFunctions:r.XB,operators:["+","-","/","//","%","<@>","@>","<@","&","^","~","<",">","<=","=>","==","!=","<>","="],symbols:/[=><!~?:&|+\-*/^%]+/,escapes:/\\(?:[abfnrtv\\"'`]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,variables:/[a-zA-Z_]\w*/,tokenizer:{root:[{include:"@whitespace"},{include:"@comments"},{include:"@numbers"},{include:"@tablePath"},{include:"@strings"},[/(@variables)::(@variables)/,"support.function"],[/[;,.]/,"delimiter"],[/[(){}[\]]/,"@brackets"],[/(\w+\.)*`\/\/(.*)`/g,{token:"path"}],[/@?[a-zA-Z_$]\w*/,{cases:{"@keywords":"keyword","@typeKeywords":"keyword.type","@constants":"constant.yql","@builtinFunctions":"constant.other.color","[$@][a-zA-Z_]\\w*":"variable","@default":"identifier"}}],[/@symbols/,{cases:{"@operators":"operator.sql","@default":""}}]],whitespace:[[/\s+/,"white"]],comments:[[/--.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],commentAnsi:[[/\/\*/,{token:"comment.quote",next:"@comment"}],[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?f?\b/,"number.float"],[/[+-]?(?:\d+|0b[01]+|0o[0-8]+|0x[\da-f]+)(?:u?[lst]?)?\b/,"number"]],strings:[[/'/,{token:"string",next:"@stringSingle"}],[/"/,{token:"string",next:"@stringDouble"}],[/[@]{2}/,{token:"string",next:"@multilineString"}]],stringSingle:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'[uyj]?/,{token:"string",next:"@pop"}]],stringAnsiSingle:[[/[^']+/,"string"],[/''/,"string"],[/'[uyj]?/,{token:"string",next:"@pop"}]],stringDouble:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"[uyj]?/,{token:"string",next:"@pop"}]],stringAnsiDouble:[[/[^"]+/,"string"],[/""/,"string"],[/"[uyj]?/,{token:"string",next:"@pop"}]],multilineString:[[/#py/,{token:"string.python",nextEmbedded:"python",next:"@embedded",goBack:3}],[/\/\/js/,{token:"string.js",nextEmbedded:"javascript",next:"@embedded",goBack:4}],[/[^@]+/,"string"],[/[@]{4}/,"string"],[/[@]{2}[uyj]?/,{token:"string",next:"@pop"}],[/./,"string"]],embedded:[[/([^@]|^)([@]{4})*[@]{2}([@]([^@]|$)|[^@]|$)/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],tablePath:[[/`\/?[\w+]+`/,{token:"string.tablepath"}]]}}},89814:(e,t,n)=>{n.r(t),n.d(t,{conf:()=>p.conf,language:()=>h,provideSuggestionsFunction:()=>y});var r=n(13322),a=n(28407),i=n(70232),o=n.n(i),s=n(77720),l=n(52891),u=n(2336),c=n(71183),d=["SELECT","FROM","WITH","INDEX","WHERE","HAVING","OFFSET","LIMIT","JOIN","ARRAY","USING","GROUP","BY","WITH","TOTALS","ORDER","BY","ASC","DESC","LEFT","AS","ON","AND","OR","IS","NOT","NULL","BETWEEN","IN","TRANSFORM","LIKE","ILIKE","RLIKE","REGEXP","ESCAPE","FALSE","TRUE","CASE","WHEN","THEN","ELSE","END","INF"],g=n(51757),m=n(21347),p=n(65185),h={defaultToken:"text",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"}],keywords:c.RE,typeKeywords:c.to,constants:["true","false"],builtinFunctions:c.XB,operators:["+","-","/","//","%","<@>","@>","<@","&","^","~","<",">","<=","=>","==","!=","<>","="],symbols:/[=><!~?:&|+\-*/^%]+/,escapes:/\\(?:[abfnrtv\\"'`]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,variables:/[a-zA-Z_]\w*/,tokenizer:{root:[{include:"@whitespace"},{include:"@comments"},{include:"@numbers"},{include:"@tablePath"},{include:"@strings"},[/(@variables)::(@variables)/,"support.function"],[/[;,.]/,"delimiter"],[/[(){}[\]]/,"@brackets"],[/(\w+\.)*`\/\/(.*)`/g,{token:"path"}],[/@?[a-zA-Z_$]\w*/,{cases:{"@keywords":"keyword","@typeKeywords":"keyword.type","@constants":"constant.yql","@builtinFunctions":"constant.other.color","[$@][a-zA-Z_]\\w*":"variable","@default":"identifier"}}],[/@symbols/,{cases:{"@operators":"operator.sql","@default":""}}]],whitespace:[[/\s+/,"white"]],comments:[[/--.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@commentAnsi"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],commentAnsi:[[/\/\*/,{token:"comment.quote",next:"@comment"}],[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?f?\b/,"number.float"],[/[+-]?(?:\d+|0b[01]+|0o[0-8]+|0x[\da-f]+)(?:u?[lst]?)?\b/,"number"]],strings:[[/'/,{token:"string",next:"@stringAnsiSingle"}],[/"/,{token:"string",next:"@stringAnsiDouble"}],[/[@]{2}/,{token:"string",next:"@multilineString"}]],stringSingle:[[/[^\\']+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/'[uyj]?/,{token:"string",next:"@pop"}]],stringAnsiSingle:[[/[^']+/,"string"],[/''/,"string"],[/'[uyj]?/,{token:"string",next:"@pop"}]],stringDouble:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"[uyj]?/,{token:"string",next:"@pop"}]],stringAnsiDouble:[[/[^"]+/,"string"],[/""/,"string"],[/"[uyj]?/,{token:"string",next:"@pop"}]],multilineString:[[/#py/,{token:"string.python",nextEmbedded:"python",next:"@embedded",goBack:3}],[/\/\/js/,{token:"string.js",nextEmbedded:"javascript",next:"@embedded",goBack:4}],[/[^@]+/,"string"],[/[@]{4}/,"string"],[/[@]{2}[uyj]?/,{token:"string",next:"@pop"}],[/./,"string"]],embedded:[[/([^@]|^)([@]{4})*[@]{2}([@]([^@]|$)|[^@]|$)/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],tablePath:[[/`\/?[\w+]+`/,{token:"string.tablepath"}]]}},y=function(){var e=(0,a.A)(o().mark((function e(t,n){var a,i;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=(0,l.k)(t,n),e.next=3,(0,g.T)({model:t,monacoCursorPosition:n,engine:m.d.YT_QL,range:a});case 3:return i=e.sent,e.abrupt("return",{suggestions:[].concat((0,r.A)(i),(0,r.A)((0,u.Mg)({kind:s.eo.CompletionItemKind.Keyword,detail:"Keyword",suggestionType:"suggestKeywords",rangeToInsertSuggestion:a,items:(0,r.A)(d)})))});case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}()}}]);
2
+ //# sourceMappingURL=yt-monaco-editor.00e55e53.chunk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js/yt-monaco-editor.00e55e53.chunk.js","mappings":"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,SAAAC,MAED,WACI,IAAO8O,EAAapP,KAAKyM,MAAlB2C,UAEP,OACIC,EAAAA,EAAAA,KAAA,OAAKD,UAAW9D,EAAM,KAAM8D,GAAWE,UACnCD,EAAAA,EAAAA,KAAA,OAAK/C,IAAKtM,KAAKsM,IAAK8C,UAAW9D,EAAM,aAGjD,KAACK,CAAA,CApFa,CAASY,EAAAA,WAuG3B,SADkBgD,EAAAA,EAAAA,KANM,SAACC,GACrB,MAAO,CACHxC,OAAOyC,EAAAA,EAAAA,IAASD,GAExB,GAGA,CAAyB7D,E,2JCzIZ+D,EAAW,CACpB,MACA,MACA,KACA,MACA,SACA,UACA,OACA,OACA,SACA,QACA,WACA,YACA,UACA,SACA,OACA,WACA,SACA,WACA,OACA,OACA,MACA,UACA,OACA,QACA,SACA,KACA,QACA,SACA,OACA,MACA,OACA,UACA,MACA,SACA,KACA,WACA,KACA,QACA,WACA,UACA,cACA,aACA,QACA,SACA,OACA,QACA,OACA,KACA,SACA,OACA,QACA,SACA,MACA,OACA,QACA,QAGSC,EAAiB,CAC1B,WACA,aACA,WACA,QACA,eACA,gBACA,YACA,kBACA,qBACA,qBACA,cACA,+BACA,uCACA,yBACA,2BACA,sBACA,aACA,cACA,uBAGSC,EAAY,CAAC,OAAQ,QAAS,QAE9BC,EAAyB,CAClC,mBACA,kBACA,mBACA,mBACA,cACA,gBACA,sBACA,eACA,qBACA,QACA,UACA,WACA,aACA,YACA,cACA,gBACA,kBACA,aACA,WACA,WACA,oBACA,oBACA,WACA,cACA,MACA,MACA,WACA,UACA,6BACA,SACA,SACA,QACA,WACA,WACA,WACA,eACA,cACA,aACA,cACA,yBACA,kBACA,gBACA,eACA,iBACA,sBACA,4BACA,qBACA,2BACA,cACA,YACA,cACA,aACA,kBACA,eACA,iBACA,YACA,WACA,WACA,WACA,eACA,gBACA,eACA,gBACA,iBACA,cACA,sBACA,cACA,eACA,mBACA,mBACA,oBACA,aACA,YACA,aACA,oBACA,WACA,YACA,oBACA,WACA,QACA,gBACA,QACA,cACA,MACA,eACA,eACA,WACA,SACA,WACA,qBACA,iBACA,gBACA,SACA,QACA,sBACA,gBACA,iBACA,eACA,gBACA,UACA,aACA,aACA,SACA,cACA,sBACA,YACA,gBACA,UACA,WACA,eACA,qBACA,kBACA,wBACA,8BACA,OACA,aACA,wBACA,cACA,aACA,OACA,cACA,aACA,eACA,8BACA,iCACA,qCACA,WACA,iBACA,YACA,kBACA,kBACA,kBACA,eACA,cACA,cACA,UACA,iBACA,4BACA,iCACA,uCACA,8CACA,wCACA,kBACA,SACA,wBACA,sBACA,YACA,qBACA,qBACA,UACA,kBACA,eACA,6BACA,yBACA,WACA,oBACA,WACA,UACA,kBACA,cACA,uBACA,kBACA,2BACA,qBACA,iBACA,0BACA,iBACA,0BACA,mBACA,cACA,uBACA,eACA,wBACA,eACA,wBACA,eACA,wBACA,mBACA,gBACA,gBACA,yBACA,eACA,wBACA,gBACA,yBACA,gBACA,yBACA,gBACA,yBACA,cACA,uBACA,UACA,WACA,SACA,SACA,mBACA,sBACA,IACA,QACA,iBACA,qBACA,oBACA,oBACA,iBACA,kBACA,kBACA,kBACA,mBACA,qBACA,kBACA,mBACA,mBACA,mBACA,kBACA,eACA,qBACA,UACA,WACA,UACA,SACA,MACA,OACA,kBACA,eACA,OACA,QACA,UACA,aACA,mBACA,6BACA,2BACA,gBACA,sBACA,sBACA,2BACA,uBACA,oBACA,aACA,OACA,sBACA,qBACA,iBACA,sBACA,4BACA,kCACA,SACA,iBACA,yBACA,qBACA,0BACA,YACA,qBACA,WACA,gBACA,wBACA,8BACA,oBACA,2BACA,2BACA,0BACA,eACA,WACA,MACA,iBACA,cACA,gBACA,gBACA,iBACA,UACA,WACA,gBACA,aACA,oBACA,WACA,oBACA,cACA,uBACA,kBACA,2BACA,eACA,wBACA,iBACA,mBACA,sBACA,UACA,kBACA,aACA,qBACA,sBACA,sBACA,mBACA,cACA,aACA,cACA,iBACA,cACA,gBACA,gBACA,kBACA,cACA,wBACA,YACA,UACA,eACA,UACA,aACA,aACA,UACA,MACA,SACA,SACA,mBACA,YACA,kBACA,WACA,0BACA,YACA,WACA,WACA,WACA,WACA,cACA,SACA,QACA,KACA,YACA,UACA,cACA,wBACA,iBACA,SACA,eACA,oBACA,UACA,WACA,YACA,YACA,kBACA,kBACA,wBACA,kBACA,aACA,kBACA,kBACA,kBACA,aACA,oBACA,WACA,aACA,qBACA,eACA,eACA,QACA,YACA,cACA,cACA,eACA,WACA,kBACA,UACA,gBACA,cACA,aACA,aACA,cACA,sBACA,kBACA,mBACA,iBACA,2BACA,8BACA,iBACA,oBACA,kBACA,UACA,UACA,aACA,WACA,qBACA,UACA,WACA,aACA,MACA,cACA,UACA,cACA,aACA,OACA,eACA,SACA,OACA,QACA,WACA,wBACA,qBACA,YACA,iBACA,iBACA,iBACA,mBACA,MACA,SACA,cACA,UACA,oBACA,cACA,YACA,QACA,cACA,mBACA,2BACA,SACA,MACA,SACA,iBACA,yBACA,sBACA,cACA,kBACA,iBACA,sBACA,gBACA,wBACA,eACA,uBACA,cACA,SACA,QACA,gBACA,SACA,eACA,eACA,4BACA,qBACA,0BACA,UACA,uBACA,gBACA,qBACA,WACA,0BACA,yCACA,6CACA,8BACA,iBACA,gCACA,oCACA,qBACA,wBACA,uCACA,2CACA,4BACA,2BACA,0CACA,8CACA,+BACA,SACA,WACA,SACA,gBACA,+BACA,mCACA,oBACA,eACA,kBACA,iCACA,qCACA,sBACA,8BACA,kCACA,mBACA,cACA,6BACA,iCACA,kBACA,eACA,8BACA,kCACA,mBACA,sBACA,+BACA,iBACA,0BACA,WACA,YACA,WACA,QACA,iBACA,UACA,YACA,qBACA,SACA,kBACA,KACA,4BACA,kCACA,kCACA,4BACA,kCACA,kCACA,0BACA,gCACA,gCACA,4BACA,kCACA,kCACA,cACA,OACA,WACA,OACA,kBACA,iBACA,uBACA,uBACA,6BACA,4BACA,4BACA,4BACA,4BACA,0BACA,gCACA,gCACA,iCACA,iCACA,yBACA,yBACA,0BACA,0BACA,OACA,0BACA,8BACA,eACA,WACA,WACA,mBACA,2BACA,wBACA,gBACA,yBACA,oBACA,yBACA,mBACA,wBACA,YACA,oBACA,4BACA,yBACA,iBACA,0BACA,qBACA,0BACA,oBACA,yBACA,mBACA,2BACA,kBACA,0BACA,kBACA,0BACA,iBACA,yBACA,UACA,cACA,yBACA,SACA,SACA,eACA,oBACA,uBACA,eACA,mBACA,QACA,WACA,sBACA,eACA,iBACA,cACA,kBACA,kBACA,WACA,eACA,eACA,oBACA,kBACA,mBACA,eACA,qBACA,uBACA,cACA,oBACA,wBACA,2BACA,uBACA,uBACA,oBACA,qBACA,qBACA,qBACA,sBACA,sBACA,sBACA,qBACA,sBACA,sBACA,sBACA,uBACA,uBACA,oBACA,aACA,aACA,mBACA,mBACA,YACA,YACA,cACA,WACA,eACA,WACA,eACA,YACA,gBACA,cACA,uBACA,mBACA,oBACA,qBACA,oBACA,0CACA,gBACA,gBACA,mBACA,aACA,OACA,SACA,SACA,SACA,aACA,WACA,UACA,wBACA,yBACA,uBACA,uBACA,0BACA,wBACA,gBACA,yBACA,oBACA,OACA,YACA,aACA,UACA,WACA,QACA,eACA,sBACA,wBACA,cACA,kBACA,gBACA,gBACA,oBACA,aACA,YACA,kBACA,aACA,mBACA,6BACA,+BACA,aACA,eACA,gBACA,eACA,gBACA,kBACA,iBACA,mBACA,kBACA,gBACA,gBACA,WACA,WACA,SACA,iBACA,6BACA,qBACA,kBACA,MACA,UACA,SACA,UACA,MACA,WACA,YACA,WACA,WACA,aACA,aACA,iBACA,iBACA,mBACA,SACA,WACA,iBACA,iBACA,eACA,eACA,aACA,eACA,eACA,qBACA,qBACA,mBACA,mBACA,QACA,eACA,cACA,cACA,cACA,oBACA,oBACA,cACA,oBACA,oBACA,eACA,qBACA,qBACA,eACA,qBACA,qBACA,gBACA,YACA,kBACA,kBACA,YACA,kBACA,kBACA,SACA,SACA,eACA,eACA,UACA,gBACA,gBACA,UACA,gBACA,gBACA,UACA,gBACA,gBACA,WACA,iBACA,iBACA,WACA,iBACA,iBACA,gBACA,iBACA,mBACA,kBACA,oBACA,mBACA,iBACA,iBACA,SACA,SACA,YACA,YACA,eACA,mBACA,WACA,sBACA,4BACA,WACA,UACA,aACA,OACA,eACA,iBACA,YACA,mBACA,oBACA,sBACA,qBACA,uBACA,sBACA,oBACA,oBACA,WACA,eACA,0BACA,sBACA,gBACA,oBACA,mBACA,kBACA,iBACA,mBACA,kBACA,sBACA,gBACA,gBACA,WACA,oBACA,SACA,aACA,aACA,aACA,UACA,gBACA,gBACA,WACA,iBACA,iBACA,WACA,iBACA,iBACA,WACA,iBACA,iBACA,YACA,kBACA,kBACA,YACA,kBACA,kBACA,kBACA,yBACA,yBACA,wBACA,SACA,eACA,eACA,cACA,SACA,SACA,aACA,WACA,aACA,mBACA,YACA,WACA,WACA,YACA,kBACA,QACA,eACA,uBACA,wBACA,OACA,eACA,iBACA,YACA,YACA,WACA,YACA,SACA,UACA,eACA,mBACA,kBACA,kBACA,2BACA,SACA,eACA,UACA,gBACA,eACA,wBACA,yBACA,uBACA,uBACA,0BACA,wBACA,gBACA,aACA,eACA,MACA,qBACA,wBACA,uCACA,2CACA,4BACA,oCACA,wCACA,yBACA,qBACA,oCACA,wCACA,yBACA,MACA,WACA,WACA,uBACA,YACA,oBACA,0BACA,mBACA,yBACA,kBACA,wBACA,mBACA,yBACA,eACA,qBACA,cACA,oBACA,eACA,qBACA,aACA,mBACA,WACA,iBACA,cACA,oBACA,cACA,oBACA,cACA,sBACA,kBACA,mBACA,iBACA,2BACA,8BACA,iBACA,oBACA,kBACA,UACA,UACA,aACA,YAGSC,EAA2B,CACpC,QACA,MACA,OACA,OACA,OACA,QACA,MACA,MACA,UACA,SACA,UACA,OACA,OACA,UACA,OACA,cACA,mBACA,WACA,SACA,gBACA,eACA,OACA,MACA,QACA,kBACA,YACA,aACA,QACA,YACA,QACA,WACA,OACA,aACA,WACA,WACA,MACA,aACA,YACA,YACA,aACA,MACA,cACA,UACA,QACA,OACA,cACA,WACA,MACA,OACA,QACA,KACA,SACA,aACA,aACA,YACA,YACA,mBACA,SACA,aACA,QACA,QACA,SACA,KACA,SACA,MACA,OACA,QACA,QACA,OACA,MACA,MACA,MACA,SACA,MACA,QACA,MACA,MACA,QACA,YACA,SACA,KACA,WACA,MACA,QACA,UACA,WACA,OACA,OACA,SACA,UACA,UACA,QACA,aACA,OACA,SACA,OACA,MACA,OACA,aACA,cACA,SACA,YACA,MACA,MACA,OACA,YACA,QACA,WACA,QACA,QACA,QACA,QACA,OACA,UACA,WACA,UACA,OACA,OACA,YAGSC,EAAiB,CAC1B,UACA,qBACA,iBACA,qBACA,sBACA,uBACA,aACA,aACA,OACA,iBACA,QACA,OACA,QACA,OACA,UACA,aACA,OACA,SACA,eACA,MACA,SACA,OACA,aACA,QACA,YAGSC,EAAe,CAAC,SAAU,SAAU,WAEpCC,EAAgC,CACzC,oBACA,QACA,QACA,SACA,cACA,UACA,UACA,OACA,QACA,QACA,QACA,SACA,SACA,cACA,eACA,iBACA,gBACA,kBACA,iBACA,eACA,eACA,OACA,OACA,iBACA,MACA,eACA,SACA,UACA,WACA,QACA,UACA,OACA,0BACA,SACA,QACA,QACA,SACA,SACA,SACA,UACA,UACA,OACA,aAGSC,EAAkC,CAC3C,SACA,gBACA,kBACA,SACA,sBACA,iBACA,OACA,OACA,UACA,OACA,QACA,OACA,oBACA,eACA,YACA,yBACA,oBACA,OACA,MACA,SACA,mBACA,OACA,SACA,WACA,aACA,aACA,UACA,aACA,aACA,YACA,YACA,OACA,OACA,QACA,QACA,QACA,QACA,MACA,aACA,eACA,OACA,cACA,gBACA,UA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","sources":["webpack://@ytsaurus/ui/./src/ui/components/MonacoEditor/MonacoEditorThemes.tsx","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/_.contribution.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/clickhouse/clickhouse.contribution.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/getSuggestions.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/loadTableData.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/getColumnSuggestions.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/getTemplateSuggestions.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/createProvideSuggestionsFunction.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/yql/yql.contribution.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/yql_ansi/yql_ansi.contribution.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/s-expressions/s-expressions.contribution.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/themes/themes.contribution.ts","webpack://@ytsaurus/ui/./src/ui/components/MonacoEditor/MonacoEditor.tsx","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/clickhouse/clickhouse.keywords.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/generateSuggestions.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/getClusterAndPath.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/getPathFromMonacoModel.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/getDirectoryContent.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/getRangeToInsertSuggestion.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/helpers/suggestionIndexToWeight.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/yql/yql.keywords.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/yql/yql.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/yql_ansi/yql_ansi.keywords.ts","webpack://@ytsaurus/ui/./src/ui/libs/monaco-yql-languages/yql_ansi/yql_ansi.ts"],"sourcesContent":["import * as monaco from 'monaco-editor/esm/vs/editor/editor.api';\n\nexport const YT_LIGHT_MONACO_THEME = 'yt-light';\nmonaco.editor.defineTheme(YT_LIGHT_MONACO_THEME, {\n base: 'vs', // can also be vs-dark or hc-black\n inherit: true, // can also be false to completely replace the builtin rules\n rules: [\n {token: 'tablepath', foreground: '3e999f'},\n {token: 'path', foreground: '3e999f'},\n {token: 'string.sql', foreground: 'a31515'},\n ],\n colors: {\n 'editorLineNumber.foreground': '#000000b3',\n 'editor.lineHighlightBackground': '#0000000a',\n 'editorGutter.background': '#0000000a',\n },\n});\n\nexport const YT_DARK_MONACO_THEME = 'yt-dark';\nmonaco.editor.defineTheme(YT_DARK_MONACO_THEME, {\n base: 'vs-dark',\n inherit: true,\n rules: [\n {token: 'tablepath', foreground: '3e999f'},\n {token: 'path', foreground: '3e999f'},\n {token: 'string.sql', foreground: 'ce9178'},\n ],\n colors: {\n 'editorLineNumber.foreground': '#ffffffb3',\n 'editor.lineHighlightBackground': '#ffffff0a',\n 'editorGutter.background': '#ffffff0a',\n 'editor.background': '#2d2c33',\n },\n});\n","import {CancellationToken, Emitter, IEvent, Position, editor, languages} from 'monaco-editor';\n\ninterface ILang extends languages.ILanguageExtensionPoint {\n loader: () => Promise<ILangImpl>;\n}\n\ninterface ILangImpl {\n conf: languages.LanguageConfiguration;\n language: languages.IMonarchLanguage;\n provideSuggestionsFunction?: (\n model: editor.ITextModel,\n monacoCursorPosition: Position,\n _context: languages.CompletionContext,\n _token: CancellationToken,\n ) =>\n | {suggestions: languages.CompletionItem[]}\n | Promise<{suggestions: languages.CompletionItem[]}>;\n}\n\nconst languageDefinitions: {[languageId: string]: ILang} = {};\nconst lazyLanguageLoaders: {[languageId: string]: LazyLanguageLoader} = {};\n\nclass LazyLanguageLoader {\n static getOrCreate(languageId: string): LazyLanguageLoader {\n if (!lazyLanguageLoaders[languageId]) {\n lazyLanguageLoaders[languageId] = new LazyLanguageLoader(languageId);\n }\n return lazyLanguageLoaders[languageId];\n }\n\n private readonly _languageId: string;\n private _loadingTriggered: boolean;\n private _lazyLoadPromise: Promise<ILangImpl>;\n private _lazyLoadPromiseResolve!: (value: ILangImpl) => void;\n private _lazyLoadPromiseReject!: (err: any) => void;\n\n constructor(languageId: string) {\n this._languageId = languageId;\n this._loadingTriggered = false;\n this._lazyLoadPromise = new Promise((resolve, reject) => {\n this._lazyLoadPromiseResolve = resolve;\n this._lazyLoadPromiseReject = reject;\n });\n }\n\n whenLoaded(): Promise<ILangImpl> {\n return this._lazyLoadPromise;\n }\n\n load(): Promise<ILangImpl> {\n if (!this._loadingTriggered) {\n this._loadingTriggered = true;\n languageDefinitions[this._languageId].loader().then(\n (mod) => this._lazyLoadPromiseResolve(mod),\n (err) => this._lazyLoadPromiseReject(err),\n );\n }\n return this._lazyLoadPromise;\n }\n}\n\nexport function registerLanguage(def: ILang): void {\n const languageId = def.id;\n\n languageDefinitions[languageId] = def;\n languages.register(def);\n\n const lazyLanguageLoader = LazyLanguageLoader.getOrCreate(languageId);\n languages.setMonarchTokensProvider(\n languageId,\n lazyLanguageLoader.whenLoaded().then((mod) => mod.language),\n );\n languages.onLanguage(languageId, () => {\n lazyLanguageLoader.load().then((mod) => {\n languages.setLanguageConfiguration(languageId, mod.conf);\n });\n });\n lazyLanguageLoader.whenLoaded().then((mod) => {\n if (mod.provideSuggestionsFunction) {\n languages.registerCompletionItemProvider(languageId, {\n triggerCharacters: ['`', ':', '/', '', ' '],\n provideCompletionItems: mod.provideSuggestionsFunction,\n });\n }\n });\n}\n\nexport interface ModeConfiguration {\n /**\n * Defines whether the built-in completionItemProvider is enabled.\n */\n readonly completionItems?: boolean;\n\n /**\n * Defines whether the built-in hoverProvider is enabled.\n */\n readonly hovers?: boolean;\n\n /**\n * Defines whether the built-in documentSymbolProvider is enabled.\n */\n readonly documentSymbols?: boolean;\n\n /**\n * Defines whether the built-in definitions provider is enabled.\n */\n readonly definitions?: boolean;\n\n /**\n * Defines whether the built-in references provider is enabled.\n */\n readonly references?: boolean;\n\n /**\n * Defines whether the built-in references provider is enabled.\n */\n readonly documentHighlights?: boolean;\n\n /**\n * Defines whether the built-in rename provider is enabled.\n */\n readonly rename?: boolean;\n\n /**\n * Defines whether the built-in color provider is enabled.\n */\n readonly colors?: boolean;\n\n /**\n * Defines whether the built-in foldingRange provider is enabled.\n */\n readonly foldingRanges?: boolean;\n\n /**\n * Defines whether the built-in diagnostic provider is enabled.\n */\n readonly diagnostics?: boolean;\n\n /**\n * Defines whether the built-in selection range provider is enabled.\n */\n readonly selectionRanges?: boolean;\n}\n\nexport interface DiagnosticsOptions {\n readonly validate?: boolean;\n}\n\nexport interface LanguageServiceDefaults {\n readonly languageId: string;\n readonly onDidChange: IEvent<LanguageServiceDefaults>;\n readonly diagnosticsOptions: DiagnosticsOptions;\n readonly modeConfiguration: ModeConfiguration;\n setDiagnosticsOptions(options: DiagnosticsOptions): void;\n setModeConfiguration(modeConfiguration: ModeConfiguration): void;\n}\n\nexport class LanguageServiceDefaultsImpl implements LanguageServiceDefaults {\n private _onDidChange = new Emitter<LanguageServiceDefaults>();\n private _diagnosticsOptions!: DiagnosticsOptions;\n private _modeConfiguration!: ModeConfiguration;\n private _languageId: string;\n\n constructor(\n languageId: string,\n diagnosticsOptions: DiagnosticsOptions,\n modeConfiguration: ModeConfiguration,\n ) {\n this._languageId = languageId;\n this.setDiagnosticsOptions(diagnosticsOptions);\n this.setModeConfiguration(modeConfiguration);\n }\n\n get onDidChange(): IEvent<LanguageServiceDefaults> {\n return this._onDidChange.event;\n }\n\n get languageId(): string {\n return this._languageId;\n }\n\n get modeConfiguration(): ModeConfiguration {\n return this._modeConfiguration;\n }\n\n get diagnosticsOptions(): DiagnosticsOptions {\n return this._diagnosticsOptions;\n }\n\n setDiagnosticsOptions(options: DiagnosticsOptions): void {\n this._diagnosticsOptions = options || Object.create(null);\n this._onDidChange.fire(this);\n }\n\n setModeConfiguration(modeConfiguration: ModeConfiguration): void {\n this._modeConfiguration = modeConfiguration || Object.create(null);\n this._onDidChange.fire(this);\n }\n}\n\nexport const modeConfigurationDefault: Required<ModeConfiguration> = {\n completionItems: true,\n hovers: true,\n documentSymbols: true,\n definitions: true,\n references: true,\n documentHighlights: true,\n rename: true,\n colors: true,\n foldingRanges: true,\n diagnostics: true,\n selectionRanges: true,\n};\n\nexport const diagnosticDefault: Required<DiagnosticsOptions> = {\n validate: true,\n};\n","import {\n LanguageServiceDefaults,\n LanguageServiceDefaultsImpl,\n diagnosticDefault,\n modeConfigurationDefault,\n registerLanguage,\n} from '../_.contribution';\nimport {languages} from 'monaco-editor';\nimport {createProvideSuggestionsFunction} from '../helpers/createProvideSuggestionsFunction';\nimport {generateClickhouseOldSafariSuggestions} from './clickhouse.keywords';\nimport {MonacoLanguage} from '../../../constants/monaco';\nimport {QueryEngine} from '../../../pages/query-tracker/module/engines';\n\nregisterLanguage({\n id: MonacoLanguage.CHYT,\n extensions: [],\n loader: async () => {\n const lang = await import(/* webpackChunkName: \"yql-lang-clickhouse\" */ './clickhouse');\n const autocomplete = await import(\n /* webpackChunkName: \"clickhouse-autocomplete\" */ '@gravity-ui/websql-autocomplete/clickhouse'\n );\n\n return {\n conf: lang.conf,\n language: lang.language,\n provideSuggestionsFunction: autocomplete\n ? createProvideSuggestionsFunction(\n autocomplete.parseClickHouseQuery,\n QueryEngine.CHYT,\n )\n : generateClickhouseOldSafariSuggestions,\n };\n },\n});\n\nexport const clickhouseDefaults: LanguageServiceDefaults = new LanguageServiceDefaultsImpl(\n MonacoLanguage.CHYT,\n diagnosticDefault,\n modeConfigurationDefault,\n);\n\n(languages as any)[MonacoLanguage.CHYT] = clickhouseDefaults;\n","import {IRange, languages} from 'monaco-editor';\nimport {YqlAutocompleteResult} from '@gravity-ui/websql-autocomplete/yql';\nimport {ClickHouseAutocompleteResult} from '@gravity-ui/websql-autocomplete/clickhouse';\nimport {CursorPosition} from '@gravity-ui/websql-autocomplete/shared';\nimport {generateColumnAliasesSuggestion, generateKeywordsSuggestion} from './generateSuggestions';\n\nexport type Parser = (\n query: string,\n cursorPosition: CursorPosition,\n) => YqlAutocompleteResult | ClickHouseAutocompleteResult;\n\nexport const getSuggestions = (\n parseResult: YqlAutocompleteResult | ClickHouseAutocompleteResult,\n rangeToInsertSuggestion: IRange,\n): languages.CompletionItem[] => {\n const columnAliasSuggestion = generateColumnAliasesSuggestion(\n rangeToInsertSuggestion,\n parseResult.suggestColumnAliases,\n );\n\n const keywordsSuggestions = generateKeywordsSuggestion(\n rangeToInsertSuggestion,\n parseResult.suggestKeywords,\n );\n\n return [...columnAliasSuggestion, ...keywordsSuggestions];\n};\n","import {getClusterAndPath} from './getClusterAndPath';\nimport {QueryEngine} from '../../../pages/query-tracker/module/engines';\nimport YT from '../../../config/yt-config';\nimport ypath from '../../../common/thor/ypath';\nimport {YTApiId, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {getClusterProxy} from '../../../store/selectors/global';\nimport {JSONParser} from '../../../pages/query-tracker/module/api';\nimport {BatchSubRequest} from '../../../../shared/yt-types';\n\nexport const loadTableData = async (query: string, engine: QueryEngine) => {\n const tablePaths = query.match(/(\\w+\\.)*`(\\/\\/([^`]*))`/g); // get all table paths\n if (!tablePaths) return {};\n\n const useClusterMatch = [...query.matchAll(/(USE|use)\\s([^;]+)/g)][0];\n const useClusterName = useClusterMatch?.[2].replace(/[^\\w]/g, '') || null;\n\n const requests: BatchSubRequest[] = [];\n tablePaths.forEach((tablePath) => {\n const {path, cluster} = getClusterAndPath(tablePath, engine);\n const pathCluster = cluster || useClusterName;\n if (!path || !pathCluster) return;\n\n const clusterConfig = YT.clusters[pathCluster];\n if (!clusterConfig) return;\n\n requests.push({\n command: 'get' as const,\n parameters: {\n path: `${path}/@schema`,\n },\n setup: {\n proxy: getClusterProxy(clusterConfig),\n ...JSONParser,\n },\n });\n });\n\n const tableSchemas = await ytApiV3Id.executeBatch(YTApiId.navigationGetPath, {\n parameters: {requests},\n });\n\n const res: Record<string, string[]> = {};\n tableSchemas.forEach((response, index) => {\n if (response.output) {\n const columns: {name: string}[] = ypath.getValue(response.output, '');\n res[tablePaths[index]] = columns.map(({name}) => name);\n }\n });\n\n return res;\n};\n","import {IRange, editor, languages} from 'monaco-editor';\nimport {TableContextSuggestion} from '@gravity-ui/websql-autocomplete/shared';\nimport {QueryEngine} from '../../../pages/query-tracker/module/engines';\nimport {loadTableData} from './loadTableData';\nimport {suggestionIndexToWeight} from './suggestionIndexToWeight';\nimport {SuggestionsWeight} from './generateSuggestions';\n\ntype Props = (data: {\n model: editor.ITextModel;\n engine: QueryEngine;\n tableSuggestions?: TableContextSuggestion;\n range: IRange;\n}) => Promise<languages.CompletionItem[]>;\n\nexport const getColumnSuggestions: Props = async ({tableSuggestions, model, engine, range}) => {\n if (!tableSuggestions) return [];\n const result: languages.CompletionItem[] = [\n {\n label: '*',\n insertText: '*',\n kind: languages.CompletionItemKind.Field,\n range,\n sortText: suggestionIndexToWeight(SuggestionsWeight.suggestColumns),\n },\n ];\n\n const tables = await loadTableData(model.getValue(), engine);\n tableSuggestions.tables?.forEach(({name, alias}) => {\n if (name in tables) {\n tables[name].forEach((column) => {\n const fullPath = alias ? `${alias}.${column}` : column;\n result.push({\n label: {\n label: fullPath,\n description: 'Column',\n detail: ` (${name})`,\n },\n insertText: fullPath,\n kind: languages.CompletionItemKind.Field,\n range,\n sortText: suggestionIndexToWeight(SuggestionsWeight.suggestColumns),\n });\n });\n }\n });\n return result;\n};\n","import {IRange, languages} from 'monaco-editor';\nimport {YqlAutocompleteResult} from '@gravity-ui/websql-autocomplete/yql';\nimport {ClickHouseAutocompleteResult} from '@gravity-ui/websql-autocomplete/clickhouse';\nimport {suggestionIndexToWeight} from './suggestionIndexToWeight';\n\ntype Props = (data: {\n parseResult: YqlAutocompleteResult | ClickHouseAutocompleteResult;\n range: IRange;\n}) => languages.CompletionItem[];\n\nexport const getTemplateSuggestions: Props = ({parseResult, range}) => {\n const result: languages.CompletionItem[] = [];\n\n if (\n ('suggestTableFunctions' in parseResult && parseResult.suggestTableFunctions) ||\n ('suggestViewsOrTables' in parseResult && parseResult.suggestViewsOrTables)\n ) {\n result.push({\n label: '`//`',\n insertText: '`//${1:}`',\n insertTextRules: languages.CompletionItemInsertTextRule.InsertAsSnippet,\n kind: languages.CompletionItemKind.Snippet,\n range,\n sortText: suggestionIndexToWeight(0),\n });\n }\n\n return result;\n};\n","import {CancellationToken, Position, editor, languages} from 'monaco-editor';\nimport {Parser, getSuggestions} from './getSuggestions';\nimport {getRangeToInsertSuggestion} from './getRangeToInsertSuggestion';\nimport {getDirectoryContent} from './getDirectoryContent';\nimport {QueryEngine} from '../../../pages/query-tracker/module/engines';\nimport {getColumnSuggestions} from './getColumnSuggestions';\nimport {getTemplateSuggestions} from './getTemplateSuggestions';\n\nexport const createProvideSuggestionsFunction =\n (parser: Parser, engine: QueryEngine) =>\n async (\n model: editor.ITextModel,\n monacoCursorPosition: Position,\n _context: languages.CompletionContext,\n _token: CancellationToken,\n ) => {\n const parseResult = parser(model.getValue(), {\n line: monacoCursorPosition.lineNumber,\n column: monacoCursorPosition.column,\n });\n\n const range = getRangeToInsertSuggestion(model, monacoCursorPosition);\n const pathSuggestions = await getDirectoryContent({\n model,\n monacoCursorPosition,\n engine,\n range,\n });\n\n const columnsSuggestions = await getColumnSuggestions({\n model,\n engine,\n tableSuggestions: parseResult.suggestColumns,\n range,\n });\n\n const templateSuggestions = getTemplateSuggestions({parseResult, range});\n const suggestions = getSuggestions(parseResult, range);\n\n return {\n suggestions: [\n ...templateSuggestions,\n ...columnsSuggestions,\n ...pathSuggestions,\n ...suggestions,\n ],\n };\n };\n","import {registerLanguage} from '../_.contribution';\nimport {createProvideSuggestionsFunction} from '../helpers/createProvideSuggestionsFunction';\nimport {MonacoLanguage} from '../../../constants/monaco';\nimport {generateYqlOldSafariSuggestion} from './yql.keywords';\nimport {QueryEngine} from '../../../pages/query-tracker/module/engines';\n\nregisterLanguage({\n id: MonacoLanguage.YQL,\n extensions: [],\n loader: async () => {\n const lang = await import(/* webpackChunkName: \"yql-lang-yql\" */ './yql');\n const autocomplete = await import(\n /* webpackChunkName: \"yql-autocomplete\" */ '@gravity-ui/websql-autocomplete/yql'\n );\n\n return {\n conf: lang.conf,\n language: lang.language,\n provideSuggestionsFunction: autocomplete\n ? createProvideSuggestionsFunction(autocomplete.parseYqlQuery, QueryEngine.YQL)\n : generateYqlOldSafariSuggestion,\n };\n },\n});\n","import {registerLanguage} from '../_.contribution';\nimport {provideSuggestionsFunction} from './yql_ansi';\n\nexport const LANGUAGE_ID = 'yql_ansi';\n\nregisterLanguage({\n id: LANGUAGE_ID,\n extensions: [],\n loader: () =>\n import(/* webpackChunkName: \"yql-ansi\" */ './yql_ansi').then((module) => {\n return {\n conf: module.conf,\n language: module.language,\n provideSuggestionsFunction: provideSuggestionsFunction,\n };\n }),\n});\n","import {registerLanguage} from '../_.contribution';\n\nexport const LANGUAGE_ID = 's-expression';\n\nregisterLanguage({\n id: LANGUAGE_ID,\n extensions: [],\n loader: () =>\n import(/* webpackChunkName: \"yql-s-expressions\" */ './s-expressions').then((module) => {\n return {\n conf: module.conf,\n language: module.language,\n provideSuggestionsFunction: module.provideSuggestionsFunction,\n };\n }),\n});\n","import * as monaco from '../fillers/monaco-editor-core';\n\nmonaco.editor.defineTheme('vs', {\n base: 'vs',\n inherit: true,\n rules: [\n // Path to table\n {token: 'string.tablepath', foreground: '338186'},\n // Constants true\n {token: 'constant.yql', foreground: '608b4e'},\n // Data types JSON, Int32 etc\n {token: 'keyword.type', foreground: '4d932d'},\n // Strings\n {token: 'string.sql', foreground: 'a31515'},\n // UDF\n {token: 'support.function', foreground: '7a3e9d'},\n // Builtin functions COUNT(\n {token: 'constant.other.color', foreground: '7a3e9d'},\n // Comments\n {token: 'comment', foreground: '969896'},\n ],\n colors: {\n 'editor.lineHighlightBackground': '#EFEFEF',\n },\n});\n\nmonaco.editor.defineTheme('vs-dark', {\n base: 'vs-dark',\n inherit: true,\n rules: [\n // Path to table\n {token: 'string.tablepath', foreground: '338186'},\n // Constants true\n {token: 'constant.yql', foreground: '608b4e'},\n // Data types JSON, Int32 etc\n {token: 'storage.type', foreground: '6A8759'},\n // Strings\n {token: 'string.sql', foreground: 'ce9178'},\n // UDF\n {token: 'support.function', foreground: '9e7bb0'},\n // Builtin functions COUNT(\n {token: 'constant.other.color', foreground: '9e7bb0'},\n // Comments\n {token: 'comment', foreground: '969896'},\n ],\n colors: {\n 'editor.lineHighlightBackground': '#282A2E',\n },\n});\n","import React, {MutableRefObject} from 'react';\nimport cn from 'bem-cn-lite';\nimport key from 'hotkeys-js';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api';\n\nimport {ConnectedProps, connect} from 'react-redux';\n\nimport {getTheme} from '../../store/selectors/global';\nimport {RootState} from '../../store/reducers';\n\nimport './MonacoEditor.scss';\nimport {YT_DARK_MONACO_THEME, YT_LIGHT_MONACO_THEME} from './MonacoEditorThemes';\nimport isEqual_ from 'lodash/isEqual';\n\nimport '../../libs/monaco-yql-languages/monaco.contribution';\n\nconst block = cn('yt-monaco-editor');\n\nexport type MonacoEditorConfig = Omit<monaco.editor.IStandaloneEditorConstructionOptions, 'theme'>;\nexport interface ExtProps {\n className?: string;\n value: string;\n language?: string;\n onChange: (value: string) => void;\n onClick?: (e: monaco.editor.IEditorMouseEvent) => void;\n monacoConfig?: MonacoEditorConfig;\n editorRef?: MutableRefObject<monaco.editor.IStandaloneCodeEditor | undefined>;\n readOnly?: boolean;\n}\n\ntype Props = ExtProps & ConnectedProps<typeof connector>;\n\nconst THEMES = {\n dark: YT_DARK_MONACO_THEME,\n 'dark-hc': 'hc-black',\n light: YT_LIGHT_MONACO_THEME,\n 'light-hc': YT_LIGHT_MONACO_THEME,\n};\n\nclass MonacoEditor extends React.Component<Props> {\n ref = React.createRef<HTMLDivElement>();\n model = monaco.editor.createModel('', this.props.language);\n editor?: monaco.editor.IStandaloneCodeEditor;\n prevScope?: string;\n silent = false;\n\n componentDidMount() {\n const {theme, monacoConfig, editorRef, readOnly} = this.props;\n this.model.setValue(this.props.value);\n this.editor = monaco.editor.create(this.ref.current!, {\n model: this.model,\n renderLineHighlight: 'none',\n colorDecorators: true,\n automaticLayout: true,\n readOnly,\n minimap: {\n enabled: false,\n },\n lineNumbers: 'on',\n suggestOnTriggerCharacters: true,\n wordBasedSuggestions: false,\n theme: THEMES[theme],\n ...monacoConfig,\n });\n\n this.editor.updateOptions({\n lineNumbers: (number) => {\n return `<div class=\"${block('line-number')}\" data-number=\"${number}\">${number}</div>`;\n },\n });\n\n this.editor.onMouseDown((e) => {\n this.props.onClick?.(e);\n });\n\n this.model.onDidChangeContent(this.onContentChanged);\n this.prevScope = key.getScope();\n key.setScope('monaco-editor');\n if (editorRef) {\n editorRef.current = this.editor;\n }\n }\n\n componentDidUpdate(prevProps: Readonly<Props>): void {\n const {theme, value, monacoConfig, readOnly, language} = this.props;\n const options: monaco.editor.IStandaloneEditorConstructionOptions = {};\n if (prevProps.theme !== theme) {\n options.theme = THEMES[theme];\n }\n if (!isEqual_(prevProps.monacoConfig, monacoConfig)) {\n Object.assign(options, monacoConfig);\n }\n if (value !== this.model.getValue()) {\n this.silent = true;\n this.model.setValue(value);\n this.silent = false;\n }\n if (language !== prevProps.language) {\n this.model = monaco.editor.createModel(this.model.getValue(), this.props.language);\n this.model.onDidChangeContent(this.onContentChanged); // the new model needs to re-specify the callback\n this.editor?.setModel(this.model);\n }\n if (readOnly !== prevProps.readOnly) {\n this.editor?.updateOptions({readOnly});\n }\n\n this.editor?.updateOptions(options);\n }\n\n componentWillUnmount() {\n this.editor?.getModel()?.dispose();\n this.editor?.dispose();\n key.setScope(this.prevScope!);\n }\n\n render() {\n const {className} = this.props;\n\n return (\n <div className={block(null, className)}>\n <div ref={this.ref} className={block('editor')} />\n </div>\n );\n }\n\n onContentChanged = () => {\n if (this.silent) {\n return;\n }\n const {onChange} = this.props;\n const value = this.model.getValue();\n onChange(value);\n };\n}\n\nconst mapStateToProps = (state: RootState) => {\n return {\n theme: getTheme(state) as 'dark' | 'dark-hc' | 'light' | 'light-hc',\n };\n};\n\nconst connector = connect(mapStateToProps);\nexport default connector(MonacoEditor);\n","import {ClickHouseAutocompleteResult} from '@gravity-ui/websql-autocomplete/clickhouse';\nimport {IRange, Position, editor, languages} from 'monaco-editor';\nimport {generateSuggestion} from '../helpers/generateSuggestions';\nimport {getRangeToInsertSuggestion} from '../helpers/getRangeToInsertSuggestion';\n\nexport const keywords = [\n 'AND',\n 'ANY',\n 'AS',\n 'ASC',\n 'ATTACH',\n 'BETWEEN',\n 'CASE',\n 'CAST',\n 'CREATE',\n 'CROSS',\n 'DATABASE',\n 'DATABASES',\n 'DEFAULT',\n 'DELETE',\n 'DESC',\n 'DESCRIBE',\n 'DETACH',\n 'DISTINCT',\n 'DROP',\n 'ELSE',\n 'END',\n 'FOREIGN',\n 'FROM',\n 'GRANT',\n 'HAVING',\n 'IF',\n 'INNER',\n 'INSERT',\n 'JOIN',\n 'KEY',\n 'LEFT',\n 'NATURAL',\n 'NOT',\n 'OFFSET',\n 'ON',\n 'OPTIMIZE',\n 'OR',\n 'OUTER',\n 'PREWHERE',\n 'PRIMARY',\n 'PROCESSLIST',\n 'REFERENCES',\n 'RIGHT',\n 'SELECT',\n 'SHOW',\n 'TABLE',\n 'THEN',\n 'TO',\n 'TOTALS',\n 'TYPE',\n 'UNION',\n 'UPDATE',\n 'USE',\n 'WHEN',\n 'WHERE',\n 'WITH',\n];\n\nexport const keywordsDouble = [\n 'GROUP BY',\n 'ON CLUSTER',\n 'ORDER BY',\n 'LIMIT',\n 'RENAME TABLE',\n 'IF NOT EXISTS',\n 'IF EXISTS',\n 'FORMAT Vertical',\n 'FORMAT JSONCompact',\n 'FORMAT JSONEachRow',\n 'FORMAT TSKV',\n 'FORMAT TabSeparatedWithNames',\n 'FORMAT TabSeparatedWithNamesAndTypes',\n 'FORMAT TabSeparatedRaw',\n 'FORMAT BlockTabSeparated',\n 'FORMAT CSVWithNames',\n 'FORMAT CSV',\n 'FORMAT JSON',\n 'FORMAT TabSeparated',\n];\n\nexport const constants = ['true', 'false', 'NULL'];\n\nexport const functionsCaseSensitive = [\n '__bitBoolMaskAnd',\n '__bitBoolMaskOr',\n '__bitSwapLastTwo',\n '__bitWrapperFunc',\n '__getScalar',\n 'accurate_Cast',\n 'accurate_CastOrNull',\n 'accurateCast',\n 'accurateCastOrNull',\n 'acosh',\n 'addDays',\n 'addHours',\n 'addMinutes',\n 'addMonths',\n 'addQuarters',\n 'addressToLine',\n 'addressToSymbol',\n 'addSeconds',\n 'addWeeks',\n 'addYears',\n 'aes_decrypt_mysql',\n 'aes_encrypt_mysql',\n 'aggThrow',\n 'alphaTokens',\n 'and',\n 'any',\n 'anyHeavy',\n 'anyLast',\n 'appendTrailingCharIfAbsent',\n 'argMax',\n 'argMin',\n 'array',\n 'arrayAll',\n 'arrayAUC',\n 'arrayAvg',\n 'arrayCompact',\n 'arrayConcat',\n 'arrayCount',\n 'arrayCumSum',\n 'arrayCumSumNonNegative',\n 'arrayDifference',\n 'arrayDistinct',\n 'arrayElement',\n 'arrayEnumerate',\n 'arrayEnumerateDense',\n 'arrayEnumerateDenseRanked',\n 'arrayEnumerateUniq',\n 'arrayEnumerateUniqRanked',\n 'arrayExists',\n 'arrayFill',\n 'arrayFilter',\n 'arrayFirst',\n 'arrayFirstIndex',\n 'arrayFlatten',\n 'arrayIntersect',\n 'arrayJoin',\n 'arrayMap',\n 'arrayMax',\n 'arrayMin',\n 'arrayPopBack',\n 'arrayPopFront',\n 'arrayProduct',\n 'arrayPushBack',\n 'arrayPushFront',\n 'arrayReduce',\n 'arrayReduceInRanges',\n 'arrayResize',\n 'arrayReverse',\n 'arrayReverseFill',\n 'arrayReverseSort',\n 'arrayReverseSplit',\n 'arraySlice',\n 'arraySort',\n 'arraySplit',\n 'arrayStringConcat',\n 'arraySum',\n 'arrayUniq',\n 'arrayWithConstant',\n 'arrayZip',\n 'asinh',\n 'assumeNotNull',\n 'atanh',\n 'avgWeighted',\n 'bar',\n 'base64Decode',\n 'base64Encode',\n 'basename',\n 'bitAnd',\n 'bitCount',\n 'bitHammingDistance',\n 'bitmaskToArray',\n 'bitmaskToList',\n 'bitNot',\n 'bitOr',\n 'bitPositionsToArray',\n 'bitRotateLeft',\n 'bitRotateRight',\n 'bitShiftLeft',\n 'bitShiftRight',\n 'bitTest',\n 'bitTestAll',\n 'bitTestAny',\n 'bitXor',\n 'blockNumber',\n 'blockSerializedSize',\n 'blockSize',\n 'boundingRatio',\n 'buildId',\n 'byteSize',\n 'caseWithExpr',\n 'caseWithExpression',\n 'caseWithoutExpr',\n 'caseWithoutExpression',\n 'categoricalInformationValue',\n 'cbrt',\n 'cityHash64',\n 'concatAssumeInjective',\n 'ConvertYson',\n 'corrStable',\n 'cosh',\n 'countDigits',\n 'countEqual',\n 'countMatches',\n 'countMatchesCaseInsensitive',\n 'countSubstringsCaseInsensitive',\n 'countSubstringsCaseInsensitiveUTF8',\n 'covarPop',\n 'covarPopStable',\n 'covarSamp',\n 'covarSampStable',\n 'currentDatabase',\n 'currentProfiles',\n 'currentRoles',\n 'currentUser',\n 'cutFragment',\n 'cutIPv6',\n 'cutQueryString',\n 'cutQueryStringAndFragment',\n 'cutToFirstSignificantSubdomain',\n 'cutToFirstSignificantSubdomainCustom',\n 'cutToFirstSignificantSubdomainCustomWithWWW',\n 'cutToFirstSignificantSubdomainWithWWW',\n 'cutURLParameter',\n 'cutWWW',\n 'dateTime64ToSnowflake',\n 'dateTimeToSnowflake',\n 'dateTrunc',\n 'decodeURLComponent',\n 'decodeXMLComponent',\n 'decrypt',\n 'defaultProfiles',\n 'defaultRoles',\n 'defaultValueOfArgumentType',\n 'defaultValueOfTypeName',\n 'deltaSum',\n 'deltaSumTimestamp',\n 'demangle',\n 'dictGet',\n 'dictGetChildren',\n 'dictGetDate',\n 'dictGetDateOrDefault',\n 'dictGetDateTime',\n 'dictGetDateTimeOrDefault',\n 'dictGetDescendants',\n 'dictGetFloat32',\n 'dictGetFloat32OrDefault',\n 'dictGetFloat64',\n 'dictGetFloat64OrDefault',\n 'dictGetHierarchy',\n 'dictGetInt8',\n 'dictGetInt8OrDefault',\n 'dictGetInt16',\n 'dictGetInt16OrDefault',\n 'dictGetInt32',\n 'dictGetInt32OrDefault',\n 'dictGetInt64',\n 'dictGetInt64OrDefault',\n 'dictGetOrDefault',\n 'dictGetOrNull',\n 'dictGetString',\n 'dictGetStringOrDefault',\n 'dictGetUInt8',\n 'dictGetUInt8OrDefault',\n 'dictGetUInt16',\n 'dictGetUInt16OrDefault',\n 'dictGetUInt32',\n 'dictGetUInt32OrDefault',\n 'dictGetUInt64',\n 'dictGetUInt64OrDefault',\n 'dictGetUUID',\n 'dictGetUUIDOrDefault',\n 'dictHas',\n 'dictIsIn',\n 'divide',\n 'domain',\n 'domainWithoutWWW',\n 'dumpColumnStructure',\n 'e',\n 'empty',\n 'emptyArrayDate',\n 'emptyArrayDateTime',\n 'emptyArrayFloat32',\n 'emptyArrayFloat64',\n 'emptyArrayInt8',\n 'emptyArrayInt16',\n 'emptyArrayInt32',\n 'emptyArrayInt64',\n 'emptyArrayString',\n 'emptyArrayToSingle',\n 'emptyArrayUInt8',\n 'emptyArrayUInt16',\n 'emptyArrayUInt32',\n 'emptyArrayUInt64',\n 'enabledProfiles',\n 'enabledRoles',\n 'encodeXMLComponent',\n 'encrypt',\n 'endsWith',\n 'entropy',\n 'equals',\n 'erf',\n 'erfc',\n 'errorCodeToName',\n 'evalMLMethod',\n 'exp2',\n 'exp10',\n 'extract',\n 'extractAll',\n 'extractAllGroups',\n 'extractAllGroupsHorizontal',\n 'extractAllGroupsVertical',\n 'extractGroups',\n 'extractTextFromHTML',\n 'extractURLParameter',\n 'extractURLParameterNames',\n 'extractURLParameters',\n 'farmFingerprint64',\n 'farmHash64',\n 'file',\n 'filesystemAvailable',\n 'filesystemCapacity',\n 'filesystemFree',\n 'finalizeAggregation',\n 'firstSignificantSubdomain',\n 'firstSignificantSubdomainCustom',\n 'format',\n 'formatDateTime',\n 'formatReadableQuantity',\n 'formatReadableSize',\n 'formatReadableTimeDelta',\n 'formatRow',\n 'formatRowNoNewline',\n 'fragment',\n 'FROM_UNIXTIME',\n 'fromModifiedJulianDay',\n 'fromModifiedJulianDayOrNull',\n 'fromUnixTimestamp',\n 'fromUnixTimestamp64Micro',\n 'fromUnixTimestamp64Milli',\n 'fromUnixTimestamp64Nano',\n 'fullHostName',\n 'fuzzBits',\n 'gcd',\n 'generateUUIDv4',\n 'geoDistance',\n 'geohashDecode',\n 'geohashEncode',\n 'geohashesInBox',\n 'geoToH3',\n 'getMacro',\n 'getServerPort',\n 'getSetting',\n 'getSizeOfEnumType',\n 'globalIn',\n 'globalInIgnoreSet',\n 'globalNotIn',\n 'globalNotInIgnoreSet',\n 'globalNotNullIn',\n 'globalNotNullInIgnoreSet',\n 'globalNullIn',\n 'globalNullInIgnoreSet',\n 'globalVariable',\n 'greatCircleAngle',\n 'greatCircleDistance',\n 'greater',\n 'greaterOrEquals',\n 'groupArray',\n 'groupArrayInsertAt',\n 'groupArrayMovingAvg',\n 'groupArrayMovingSum',\n 'groupArraySample',\n 'groupBitAnd',\n 'groupBitOr',\n 'groupBitXor',\n 'groupUniqArray',\n 'h3EdgeAngle',\n 'h3EdgeLengthM',\n 'h3GetBaseCell',\n 'h3GetResolution',\n 'h3HexAreaM2',\n 'h3IndexesAreNeighbors',\n 'h3IsValid',\n 'h3kRing',\n 'h3ToChildren',\n 'h3ToGeo',\n 'h3ToParent',\n 'h3ToString',\n 'halfMD5',\n 'has',\n 'hasAll',\n 'hasAny',\n 'hasColumnInTable',\n 'hasSubstr',\n 'hasThreadFuzzer',\n 'hasToken',\n 'hasTokenCaseInsensitive',\n 'histogram',\n 'hiveHash',\n 'hostName',\n 'hostname',\n 'identity',\n 'ifNotFinite',\n 'ignore',\n 'ilike',\n 'in',\n 'indexHint',\n 'indexOf',\n 'inIgnoreSet',\n 'initializeAggregation',\n 'initialQueryID',\n 'intDiv',\n 'intDivOrZero',\n 'intervalLengthSum',\n 'intExp2',\n 'intExp10',\n 'intHash32',\n 'intHash64',\n 'IPv4CIDRToRange',\n 'IPv4NumToString',\n 'IPv4NumToStringClassC',\n 'IPv4StringToNum',\n 'IPv4ToIPv6',\n 'IPv6CIDRToRange',\n 'IPv6NumToString',\n 'IPv6StringToNum',\n 'isConstant',\n 'isDecimalOverflow',\n 'isFinite',\n 'isInfinite',\n 'isIPAddressInRange',\n 'isIPv4String',\n 'isIPv6String',\n 'isNaN',\n 'isNotNull',\n 'isValidJSON',\n 'isValidUTF8',\n 'isZeroOrNull',\n 'javaHash',\n 'javaHashUTF16LE',\n 'joinGet',\n 'joinGetOrNull',\n 'JSON_EXISTS',\n 'JSON_QUERY',\n 'JSON_VALUE',\n 'JSONExtract',\n 'JSONExtractArrayRaw',\n 'JSONExtractBool',\n 'JSONExtractFloat',\n 'JSONExtractInt',\n 'JSONExtractKeysAndValues',\n 'JSONExtractKeysAndValuesRaw',\n 'JSONExtractRaw',\n 'JSONExtractString',\n 'JSONExtractUInt',\n 'JSONHas',\n 'JSONKey',\n 'JSONLength',\n 'JSONType',\n 'jumpConsistentHash',\n 'kurtPop',\n 'kurtSamp',\n 'lagInFrame',\n 'lcm',\n 'leadInFrame',\n 'leftPad',\n 'leftPadUTF8',\n 'lengthUTF8',\n 'less',\n 'lessOrEquals',\n 'lgamma',\n 'like',\n 'log1p',\n 'logTrace',\n 'lowCardinalityIndices',\n 'lowCardinalityKeys',\n 'lowerUTF8',\n 'MACNumToString',\n 'MACStringToNum',\n 'MACStringToOUI',\n 'mannWhitneyUTest',\n 'map',\n 'mapAdd',\n 'mapContains',\n 'mapKeys',\n 'mapPopulateSeries',\n 'mapSubtract',\n 'mapValues',\n 'match',\n 'materialize',\n 'maxIntersections',\n 'maxIntersectionsPosition',\n 'maxMap',\n 'MD5',\n 'median',\n 'medianBFloat16',\n 'medianBFloat16Weighted',\n 'medianDeterministic',\n 'medianExact',\n 'medianExactHigh',\n 'medianExactLow',\n 'medianExactWeighted',\n 'medianTDigest',\n 'medianTDigestWeighted',\n 'medianTiming',\n 'medianTimingWeighted',\n 'metroHash64',\n 'minMap',\n 'minus',\n 'modelEvaluate',\n 'modulo',\n 'moduloLegacy',\n 'moduloOrZero',\n 'multiFuzzyMatchAllIndices',\n 'multiFuzzyMatchAny',\n 'multiFuzzyMatchAnyIndex',\n 'multiIf',\n 'multiMatchAllIndices',\n 'multiMatchAny',\n 'multiMatchAnyIndex',\n 'multiply',\n 'multiSearchAllPositions',\n 'multiSearchAllPositionsCaseInsensitive',\n 'multiSearchAllPositionsCaseInsensitiveUTF8',\n 'multiSearchAllPositionsUTF8',\n 'multiSearchAny',\n 'multiSearchAnyCaseInsensitive',\n 'multiSearchAnyCaseInsensitiveUTF8',\n 'multiSearchAnyUTF8',\n 'multiSearchFirstIndex',\n 'multiSearchFirstIndexCaseInsensitive',\n 'multiSearchFirstIndexCaseInsensitiveUTF8',\n 'multiSearchFirstIndexUTF8',\n 'multiSearchFirstPosition',\n 'multiSearchFirstPositionCaseInsensitive',\n 'multiSearchFirstPositionCaseInsensitiveUTF8',\n 'multiSearchFirstPositionUTF8',\n 'negate',\n 'neighbor',\n 'netloc',\n 'ngramDistance',\n 'ngramDistanceCaseInsensitive',\n 'ngramDistanceCaseInsensitiveUTF8',\n 'ngramDistanceUTF8',\n 'ngramMinHash',\n 'ngramMinHashArg',\n 'ngramMinHashArgCaseInsensitive',\n 'ngramMinHashArgCaseInsensitiveUTF8',\n 'ngramMinHashArgUTF8',\n 'ngramMinHashCaseInsensitive',\n 'ngramMinHashCaseInsensitiveUTF8',\n 'ngramMinHashUTF8',\n 'ngramSearch',\n 'ngramSearchCaseInsensitive',\n 'ngramSearchCaseInsensitiveUTF8',\n 'ngramSearchUTF8',\n 'ngramSimHash',\n 'ngramSimHashCaseInsensitive',\n 'ngramSimHashCaseInsensitiveUTF8',\n 'ngramSimHashUTF8',\n 'normalizedQueryHash',\n 'normalizedQueryHashKeepNames',\n 'normalizeQuery',\n 'normalizeQueryKeepNames',\n 'notEmpty',\n 'notEquals',\n 'notILike',\n 'notIn',\n 'notInIgnoreSet',\n 'notLike',\n 'notNullIn',\n 'notNullInIgnoreSet',\n 'nullIn',\n 'nullInIgnoreSet',\n 'or',\n 'parseDateTime32BestEffort',\n 'parseDateTime32BestEffortOrNull',\n 'parseDateTime32BestEffortOrZero',\n 'parseDateTime64BestEffort',\n 'parseDateTime64BestEffortOrNull',\n 'parseDateTime64BestEffortOrZero',\n 'parseDateTimeBestEffort',\n 'parseDateTimeBestEffortOrNull',\n 'parseDateTimeBestEffortOrZero',\n 'parseDateTimeBestEffortUS',\n 'parseDateTimeBestEffortUSOrNull',\n 'parseDateTimeBestEffortUSOrZero',\n 'partitionId',\n 'path',\n 'pathFull',\n 'plus',\n 'pointInEllipses',\n 'pointInPolygon',\n 'polygonAreaCartesian',\n 'polygonAreaSpherical',\n 'polygonConvexHullCartesian',\n 'polygonPerimeterCartesian',\n 'polygonPerimeterSpherical',\n 'polygonsDistanceCartesian',\n 'polygonsDistanceSpherical',\n 'polygonsEqualsCartesian',\n 'polygonsIntersectionCartesian',\n 'polygonsIntersectionSpherical',\n 'polygonsSymDifferenceCartesian',\n 'polygonsSymDifferenceSpherical',\n 'polygonsUnionCartesian',\n 'polygonsUnionSpherical',\n 'polygonsWithinCartesian',\n 'polygonsWithinSpherical',\n 'port',\n 'positionCaseInsensitive',\n 'positionCaseInsensitiveUTF8',\n 'positionUTF8',\n 'protocol',\n 'quantile',\n 'quantileBFloat16',\n 'quantileBFloat16Weighted',\n 'quantileDeterministic',\n 'quantileExact',\n 'quantileExactExclusive',\n 'quantileExactHigh',\n 'quantileExactInclusive',\n 'quantileExactLow',\n 'quantileExactWeighted',\n 'quantiles',\n 'quantilesBFloat16',\n 'quantilesBFloat16Weighted',\n 'quantilesDeterministic',\n 'quantilesExact',\n 'quantilesExactExclusive',\n 'quantilesExactHigh',\n 'quantilesExactInclusive',\n 'quantilesExactLow',\n 'quantilesExactWeighted',\n 'quantilesTDigest',\n 'quantilesTDigestWeighted',\n 'quantilesTiming',\n 'quantilesTimingWeighted',\n 'quantileTDigest',\n 'quantileTDigestWeighted',\n 'quantileTiming',\n 'quantileTimingWeighted',\n 'queryID',\n 'queryString',\n 'queryStringAndFragment',\n 'rand32',\n 'rand64',\n 'randConstant',\n 'randomFixedString',\n 'randomPrintableASCII',\n 'randomString',\n 'randomStringUTF8',\n 'range',\n 'rankCorr',\n 'readWktMultiPolygon',\n 'readWktPoint',\n 'readWktPolygon',\n 'readWktRing',\n 'regexpQuoteMeta',\n 'regionHierarchy',\n 'regionIn',\n 'regionToArea',\n 'regionToCity',\n 'regionToContinent',\n 'regionToCountry',\n 'regionToDistrict',\n 'regionToName',\n 'regionToPopulation',\n 'regionToTopContinent',\n 'reinterpret',\n 'reinterpretAsDate',\n 'reinterpretAsDateTime',\n 'reinterpretAsFixedString',\n 'reinterpretAsFloat32',\n 'reinterpretAsFloat64',\n 'reinterpretAsInt8',\n 'reinterpretAsInt16',\n 'reinterpretAsInt32',\n 'reinterpretAsInt64',\n 'reinterpretAsInt128',\n 'reinterpretAsInt256',\n 'reinterpretAsString',\n 'reinterpretAsUInt8',\n 'reinterpretAsUInt16',\n 'reinterpretAsUInt32',\n 'reinterpretAsUInt64',\n 'reinterpretAsUInt128',\n 'reinterpretAsUInt256',\n 'reinterpretAsUUID',\n 'replaceAll',\n 'replaceOne',\n 'replaceRegexpAll',\n 'replaceRegexpOne',\n 'replicate',\n 'retention',\n 'reverseUTF8',\n 'rightPad',\n 'rightPadUTF8',\n 'roundAge',\n 'roundBankers',\n 'roundDown',\n 'roundDuration',\n 'roundToExp2',\n 'rowNumberInAllBlocks',\n 'rowNumberInBlock',\n 'runningAccumulate',\n 'runningConcurrency',\n 'runningDifference',\n 'runningDifferenceStartingWithFirstValue',\n 'sequenceCount',\n 'sequenceMatch',\n 'sequenceNextNode',\n 'serverUUID',\n 'SHA1',\n 'SHA224',\n 'SHA256',\n 'SHA512',\n 'shardCount',\n 'shardNum',\n 'sigmoid',\n 'simpleJSONExtractBool',\n 'simpleJSONExtractFloat',\n 'simpleJSONExtractInt',\n 'simpleJSONExtractRaw',\n 'simpleJSONExtractString',\n 'simpleJSONExtractUInt',\n 'simpleJSONHas',\n 'simpleLinearRegression',\n 'singleValueOrNull',\n 'sinh',\n 'sipHash64',\n 'sipHash128',\n 'skewPop',\n 'skewSamp',\n 'sleep',\n 'sleepEachRow',\n 'snowflakeToDateTime',\n 'snowflakeToDateTime64',\n 'splitByChar',\n 'splitByNonAlpha',\n 'splitByRegexp',\n 'splitByString',\n 'splitByWhitespace',\n 'startsWith',\n 'stddevPop',\n 'stddevPopStable',\n 'stddevSamp',\n 'stddevSampStable',\n 'stochasticLinearRegression',\n 'stochasticLogisticRegression',\n 'stringToH3',\n 'studentTTest',\n 'substringUTF8',\n 'subtractDays',\n 'subtractHours',\n 'subtractMinutes',\n 'subtractMonths',\n 'subtractQuarters',\n 'subtractSeconds',\n 'subtractWeeks',\n 'subtractYears',\n 'sumCount',\n 'sumKahan',\n 'sumMap',\n 'sumMapFiltered',\n 'sumMapFilteredWithOverflow',\n 'sumMapWithOverflow',\n 'sumWithOverflow',\n 'svg',\n 'tcpPort',\n 'tgamma',\n 'throwIf',\n 'tid',\n 'timeSlot',\n 'timeSlots',\n 'timeZone',\n 'timezone',\n 'timeZoneOf',\n 'timezoneOf',\n 'timeZoneOffset',\n 'timezoneOffset',\n 'toColumnTypeName',\n 'toDate',\n 'toDate32',\n 'toDate32OrNull',\n 'toDate32OrZero',\n 'toDateOrNull',\n 'toDateOrZero',\n 'toDateTime',\n 'toDateTime32',\n 'toDateTime64',\n 'toDateTime64OrNull',\n 'toDateTime64OrZero',\n 'toDateTimeOrNull',\n 'toDateTimeOrZero',\n 'today',\n 'toDayOfMonth',\n 'toDayOfWeek',\n 'toDayOfYear',\n 'toDecimal32',\n 'toDecimal32OrNull',\n 'toDecimal32OrZero',\n 'toDecimal64',\n 'toDecimal64OrNull',\n 'toDecimal64OrZero',\n 'toDecimal128',\n 'toDecimal128OrNull',\n 'toDecimal128OrZero',\n 'toDecimal256',\n 'toDecimal256OrNull',\n 'toDecimal256OrZero',\n 'toFixedString',\n 'toFloat32',\n 'toFloat32OrNull',\n 'toFloat32OrZero',\n 'toFloat64',\n 'toFloat64OrNull',\n 'toFloat64OrZero',\n 'toHour',\n 'toInt8',\n 'toInt8OrNull',\n 'toInt8OrZero',\n 'toInt16',\n 'toInt16OrNull',\n 'toInt16OrZero',\n 'toInt32',\n 'toInt32OrNull',\n 'toInt32OrZero',\n 'toInt64',\n 'toInt64OrNull',\n 'toInt64OrZero',\n 'toInt128',\n 'toInt128OrNull',\n 'toInt128OrZero',\n 'toInt256',\n 'toInt256OrNull',\n 'toInt256OrZero',\n 'toIntervalDay',\n 'toIntervalHour',\n 'toIntervalMinute',\n 'toIntervalMonth',\n 'toIntervalQuarter',\n 'toIntervalSecond',\n 'toIntervalWeek',\n 'toIntervalYear',\n 'toIPv4',\n 'toIPv6',\n 'toISOWeek',\n 'toISOYear',\n 'toJSONString',\n 'toLowCardinality',\n 'toMinute',\n 'toModifiedJulianDay',\n 'toModifiedJulianDayOrNull',\n 'toMonday',\n 'toMonth',\n 'toNullable',\n 'topK',\n 'topKWeighted',\n 'topLevelDomain',\n 'toQuarter',\n 'toRelativeDayNum',\n 'toRelativeHourNum',\n 'toRelativeMinuteNum',\n 'toRelativeMonthNum',\n 'toRelativeQuarterNum',\n 'toRelativeSecondNum',\n 'toRelativeWeekNum',\n 'toRelativeYearNum',\n 'toSecond',\n 'toStartOfDay',\n 'toStartOfFifteenMinutes',\n 'toStartOfFiveMinute',\n 'toStartOfHour',\n 'toStartOfInterval',\n 'toStartOfISOYear',\n 'toStartOfMinute',\n 'toStartOfMonth',\n 'toStartOfQuarter',\n 'toStartOfSecond',\n 'toStartOfTenMinutes',\n 'toStartOfWeek',\n 'toStartOfYear',\n 'toString',\n 'toStringCutToZero',\n 'toTime',\n 'toTimeZone',\n 'toTimezone',\n 'toTypeName',\n 'toUInt8',\n 'toUInt8OrNull',\n 'toUInt8OrZero',\n 'toUInt16',\n 'toUInt16OrNull',\n 'toUInt16OrZero',\n 'toUInt32',\n 'toUInt32OrNull',\n 'toUInt32OrZero',\n 'toUInt64',\n 'toUInt64OrNull',\n 'toUInt64OrZero',\n 'toUInt128',\n 'toUInt128OrNull',\n 'toUInt128OrZero',\n 'toUInt256',\n 'toUInt256OrNull',\n 'toUInt256OrZero',\n 'toUnixTimestamp',\n 'toUnixTimestamp64Micro',\n 'toUnixTimestamp64Milli',\n 'toUnixTimestamp64Nano',\n 'toUUID',\n 'toUUIDOrNull',\n 'toUUIDOrZero',\n 'toValidUTF8',\n 'toWeek',\n 'toYear',\n 'toYearWeek',\n 'toYYYYMM',\n 'toYYYYMMDD',\n 'toYYYYMMDDhhmmss',\n 'transform',\n 'trimBoth',\n 'trimLeft',\n 'trimRight',\n 'tryBase64Decode',\n 'tuple',\n 'tupleElement',\n 'tupleHammingDistance',\n 'tupleToNameValuePairs',\n 'uniq',\n 'uniqCombined',\n 'uniqCombined64',\n 'uniqExact',\n 'uniqHLL12',\n 'uniqUpTo',\n 'upperUTF8',\n 'uptime',\n 'URLHash',\n 'URLHierarchy',\n 'URLPathHierarchy',\n 'UUIDNumToString',\n 'UUIDStringToNum',\n 'validateNestedArraySizes',\n 'varPop',\n 'varPopStable',\n 'varSamp',\n 'varSampStable',\n 'visibleWidth',\n 'visitParamExtractBool',\n 'visitParamExtractFloat',\n 'visitParamExtractInt',\n 'visitParamExtractRaw',\n 'visitParamExtractString',\n 'visitParamExtractUInt',\n 'visitParamHas',\n 'welchTTest',\n 'windowFunnel',\n 'wkt',\n 'wordShingleMinHash',\n 'wordShingleMinHashArg',\n 'wordShingleMinHashArgCaseInsensitive',\n 'wordShingleMinHashArgCaseInsensitiveUTF8',\n 'wordShingleMinHashArgUTF8',\n 'wordShingleMinHashCaseInsensitive',\n 'wordShingleMinHashCaseInsensitiveUTF8',\n 'wordShingleMinHashUTF8',\n 'wordShingleSimHash',\n 'wordShingleSimHashCaseInsensitive',\n 'wordShingleSimHashCaseInsensitiveUTF8',\n 'wordShingleSimHashUTF8',\n 'xor',\n 'xxHash32',\n 'xxHash64',\n 'yandexConsistentHash',\n 'yesterday',\n 'YPathArrayBoolean',\n 'YPathArrayBooleanStrict',\n 'YPathArrayDouble',\n 'YPathArrayDoubleStrict',\n 'YPathArrayInt64',\n 'YPathArrayInt64Strict',\n 'YPathArrayUInt64',\n 'YPathArrayUInt64Strict',\n 'YPathBoolean',\n 'YPathBooleanStrict',\n 'YPathDouble',\n 'YPathDoubleStrict',\n 'YPathExtract',\n 'YPathExtractStrict',\n 'YPathInt64',\n 'YPathInt64Strict',\n 'YPathRaw',\n 'YPathRawStrict',\n 'YPathString',\n 'YPathStringStrict',\n 'YPathUInt64',\n 'YPathUInt64Strict',\n 'YSONExtract',\n 'YSONExtractArrayRaw',\n 'YSONExtractBool',\n 'YSONExtractFloat',\n 'YSONExtractInt',\n 'YSONExtractKeysAndValues',\n 'YSONExtractKeysAndValuesRaw',\n 'YSONExtractRaw',\n 'YSONExtractString',\n 'YSONExtractUInt',\n 'YSONHas',\n 'YSONKey',\n 'YSONLength',\n 'YSONType',\n];\n\nexport const functionsCaseInsensitive = [\n '_CAST',\n 'abs',\n 'acos',\n 'asin',\n 'atan',\n 'atan2',\n 'avg',\n 'bin',\n 'BIT_AND',\n 'BIT_OR',\n 'BIT_XOR',\n 'CAST',\n 'ceil',\n 'ceiling',\n 'char',\n 'CHAR_LENGTH',\n 'CHARACTER_LENGTH',\n 'coalesce',\n 'concat',\n 'connection_id',\n 'connectionId',\n 'corr',\n 'cos',\n 'count',\n 'countSubstrings',\n 'COVAR_POP',\n 'COVAR_SAMP',\n 'CRC32',\n 'CRC32IEEE',\n 'CRC64',\n 'DATABASE',\n 'DATE',\n 'date_trunc',\n 'dateDiff',\n 'dateName',\n 'DAY',\n 'DAYOFMONTH',\n 'DAYOFWEEK',\n 'DAYOFYEAR',\n 'dense_rank',\n 'exp',\n 'first_value',\n 'flatten',\n 'floor',\n 'FQDN',\n 'FROM_BASE64',\n 'greatest',\n 'hex',\n 'HOUR',\n 'hypot',\n 'if',\n 'ifNull',\n 'INET6_ATON',\n 'INET6_NTOA',\n 'INET_ATON',\n 'INET_NTOA',\n 'initial_query_id',\n 'isNull',\n 'last_value',\n 'lcase',\n 'least',\n 'length',\n 'ln',\n 'locate',\n 'log',\n 'log2',\n 'log10',\n 'lower',\n 'lpad',\n 'max',\n 'mid',\n 'min',\n 'MINUTE',\n 'mod',\n 'MONTH',\n 'not',\n 'now',\n 'now64',\n 'nth_value',\n 'nullIf',\n 'pi',\n 'position',\n 'pow',\n 'power',\n 'QUARTER',\n 'query_id',\n 'rand',\n 'rank',\n 'repeat',\n 'replace',\n 'reverse',\n 'round',\n 'row_number',\n 'rpad',\n 'SECOND',\n 'sign',\n 'sin',\n 'sqrt',\n 'STDDEV_POP',\n 'STDDEV_SAMP',\n 'substr',\n 'substring',\n 'sum',\n 'tan',\n 'tanh',\n 'TO_BASE64',\n 'trunc',\n 'truncate',\n 'ucase',\n 'unbin',\n 'unhex',\n 'upper',\n 'user',\n 'VAR_POP',\n 'VAR_SAMP',\n 'version',\n 'week',\n 'YEAR',\n 'yearweek',\n];\n\nexport const tableFunctions = [\n 'cluster',\n 'clusterAllReplicas',\n 'concatYtTables',\n 'concatYtTablesLike',\n 'concatYtTablesRange',\n 'concatYtTablesRegexp',\n 'dictionary',\n 'executable',\n 'file',\n 'generateRandom',\n 'input',\n 'jdbc',\n 'merge',\n 'null',\n 'numbers',\n 'numbers_mt',\n 'odbc',\n 'remote',\n 'remoteSecure',\n 'url',\n 'values',\n 'view',\n 'ytSubquery',\n 'zeros',\n 'zeros_mt',\n];\n\nexport const tableEngines = ['Buffer', 'Memory', 'YtTable'];\n\nexport const dataTypeFamiliesCaseSensitive = [\n 'AggregateFunction',\n 'Array',\n 'Enum8',\n 'Enum16',\n 'FixedString',\n 'Float32',\n 'Float64',\n 'Int8',\n 'Int16',\n 'Int32',\n 'Int64',\n 'Int128',\n 'Int256',\n 'IntervalDay',\n 'IntervalHour',\n 'IntervalMinute',\n 'IntervalMonth',\n 'IntervalQuarter',\n 'IntervalSecond',\n 'IntervalWeek',\n 'IntervalYear',\n 'IPv4',\n 'IPv6',\n 'LowCardinality',\n 'Map',\n 'MultiPolygon',\n 'Nested',\n 'Nothing',\n 'Nullable',\n 'Point',\n 'Polygon',\n 'Ring',\n 'SimpleAggregateFunction',\n 'String',\n 'Tuple',\n 'UInt8',\n 'UInt16',\n 'UInt32',\n 'UInt64',\n 'UInt128',\n 'UInt256',\n 'UUID',\n 'YtBoolean',\n];\n\nexport const dataTypeFamiliesCaseInsensitive = [\n 'BIGINT',\n 'BIGINT SIGNED',\n 'BIGINT UNSIGNED',\n 'BINARY',\n 'BINARY LARGE OBJECT',\n 'BINARY VARYING',\n 'BLOB',\n 'BOOL',\n 'BOOLEAN',\n 'BYTE',\n 'BYTEA',\n 'CHAR',\n 'CHAR LARGE OBJECT',\n 'CHAR VARYING',\n 'CHARACTER',\n 'CHARACTER LARGE OBJECT',\n 'CHARACTER VARYING',\n 'CLOB',\n 'DEC',\n 'DOUBLE',\n 'DOUBLE PRECISION',\n 'Date',\n 'Date32',\n 'DateTime',\n 'DateTime32',\n 'DateTime64',\n 'Decimal',\n 'Decimal128',\n 'Decimal256',\n 'Decimal32',\n 'Decimal64',\n 'ENUM',\n 'Enum',\n 'FIXED',\n 'FLOAT',\n 'INET4',\n 'INET6',\n 'INT',\n 'INT SIGNED',\n 'INT UNSIGNED',\n 'INT1',\n 'INT1 SIGNED',\n 'INT1 UNSIGNED',\n 'INTEGER',\n 'INTEGER SIGNED',\n 'INTEGER UNSIGNED',\n 'LONGBLOB',\n 'LONGTEXT',\n 'MEDIUMBLOB',\n 'MEDIUMINT',\n 'MEDIUMINT SIGNED',\n 'MEDIUMINT UNSIGNED',\n 'MEDIUMTEXT',\n 'NATIONAL CHAR',\n 'NATIONAL CHAR VARYING',\n 'NATIONAL CHARACTER',\n 'NATIONAL CHARACTER LARGE OBJECT',\n 'NATIONAL CHARACTER VARYING',\n 'NCHAR',\n 'NCHAR LARGE OBJECT',\n 'NCHAR VARYING',\n 'NUMERIC',\n 'NVARCHAR',\n 'REAL',\n 'SINGLE',\n 'SMALLINT',\n 'SMALLINT SIGNED',\n 'SMALLINT UNSIGNED',\n 'TEXT',\n 'TIMESTAMP',\n 'TINYBLOB',\n 'TINYINT',\n 'TINYINT SIGNED',\n 'TINYINT UNSIGNED',\n 'TINYTEXT',\n 'VARCHAR',\n 'VARCHAR2',\n];\n\nexport const generateClickhouseOldSafariSuggestions = (\n model: editor.ITextModel,\n monacoCursorPosition: Position,\n) => {\n const range = getRangeToInsertSuggestion(model, monacoCursorPosition);\n return {\n suggestions: generateClickhouseAdditionalSuggestion(range, {\n suggestFunctions: true,\n suggestKeywords: [],\n errors: [],\n }),\n };\n};\n\nexport const generateClickhouseAdditionalSuggestion = (\n rangeToInsertSuggestion: IRange,\n parserResult: ClickHouseAutocompleteResult,\n) => {\n let result: languages.CompletionItem[] = [\n ...generateSuggestion({\n kind: languages.CompletionItemKind.TypeParameter,\n detail: 'Type',\n suggestionType: 'suggestSimpleTypes',\n rangeToInsertSuggestion,\n items: [\n ...dataTypeFamiliesCaseSensitive,\n ...dataTypeFamiliesCaseInsensitive,\n ...tableEngines,\n ],\n }),\n ...generateSuggestion({\n kind: languages.CompletionItemKind.Constant,\n detail: 'Constant',\n suggestionType: 'suggestConstants',\n rangeToInsertSuggestion,\n items: constants,\n }),\n ];\n\n if (parserResult.suggestFunctions) {\n result = [\n ...result,\n ...generateSuggestion({\n kind: languages.CompletionItemKind.Function,\n detail: 'Function',\n suggestionType: 'suggestFunctions',\n rangeToInsertSuggestion,\n items: [...functionsCaseSensitive, ...functionsCaseInsensitive, ...tableFunctions],\n }),\n ];\n }\n\n if (parserResult.suggestKeywords) {\n result = [\n ...result,\n ...generateSuggestion({\n kind: languages.CompletionItemKind.Keyword,\n detail: 'Keyword',\n suggestionType: 'suggestKeywords',\n rangeToInsertSuggestion,\n items: [...keywords, ...keywordsDouble],\n }),\n ];\n }\n\n return result;\n};\n","import {YqlAutocompleteResult} from '@gravity-ui/websql-autocomplete/yql';\nimport {ColumnAliasSuggestion, KeywordSuggestion} from '@gravity-ui/websql-autocomplete/shared';\nimport {IRange, languages} from 'monaco-editor';\nimport {suggestionIndexToWeight} from './suggestionIndexToWeight';\n\nexport type SuggestionType =\n | keyof Omit<YqlAutocompleteResult, 'errors' | 'suggestEntity' | 'suggestDatabases'>\n | 'binding'\n | 'suggestConstants'\n | 'connection'\n | 'suggestOperators'\n | 'path';\n\nexport const SuggestionsWeight: Record<SuggestionType, number> = {\n path: 0,\n suggestTemplates: 1,\n suggestPragmas: 2,\n binding: 3,\n connection: 4,\n suggestColumns: 5,\n suggestColumnAliases: 6,\n suggestKeywords: 7,\n suggestAggregateFunctions: 8,\n suggestTableFunctions: 9,\n suggestWindowFunctions: 10,\n suggestFunctions: 11,\n suggestUdfs: 12,\n suggestSimpleTypes: 13,\n suggestConstants: 14,\n suggestOperators: 15,\n suggestTableIndexes: 16,\n suggestTableHints: 17,\n suggestEntitySettings: 18,\n};\n\nexport const generateColumnAliasesSuggestion = (\n rangeToInsertSuggestion: IRange,\n suggestColumnAliases?: ColumnAliasSuggestion[],\n): languages.CompletionItem[] => {\n if (!suggestColumnAliases) {\n return [];\n }\n return suggestColumnAliases.map((columnAliasSuggestion) => ({\n label: columnAliasSuggestion.name,\n insertText: columnAliasSuggestion.name,\n kind: languages.CompletionItemKind.Field,\n detail: 'Column alias',\n range: rangeToInsertSuggestion,\n sortText: suggestionIndexToWeight(SuggestionsWeight['suggestColumnAliases']),\n }));\n};\nexport const generateKeywordsSuggestion = (\n rangeToInsertSuggestion: IRange,\n suggestKeywords?: KeywordSuggestion[],\n): languages.CompletionItem[] => {\n if (!suggestKeywords) {\n return [];\n }\n return suggestKeywords.map((keywordSuggestion) => ({\n label: keywordSuggestion.value,\n insertText: keywordSuggestion.value,\n kind: languages.CompletionItemKind.Keyword,\n detail: 'Keyword',\n range: rangeToInsertSuggestion,\n sortText: suggestionIndexToWeight(SuggestionsWeight['suggestKeywords']),\n }));\n};\n\ntype GenerateSuggestionProps = (data: {\n kind: languages.CompletionItemKind;\n detail: string;\n suggestionType: SuggestionType;\n rangeToInsertSuggestion: IRange;\n items: string[];\n}) => languages.CompletionItem[];\nexport const generateSuggestion: GenerateSuggestionProps = ({\n kind,\n detail,\n suggestionType,\n rangeToInsertSuggestion,\n items,\n}) => {\n return items.map((el) => ({\n label: el,\n insertText: el,\n kind,\n detail,\n range: rangeToInsertSuggestion,\n sortText: suggestionIndexToWeight(SuggestionsWeight[suggestionType]),\n }));\n};\n","import {QueryEngine} from '../../../pages/query-tracker/module/engines';\nimport {getWindowStore} from '../../../store/window-store';\n\ntype Props = (\n rawPath: string,\n engine: QueryEngine,\n) => {\n path: string | null;\n cluster: string | null;\n};\n\nexport const getClusterAndPath: Props = (rawPath, engine) => {\n const pathMatch = [...rawPath.matchAll(/`(\\/\\/([^`]*))`/g)][0];\n const path = pathMatch ? pathMatch[1] : null;\n\n const clusterMatch = [...rawPath.matchAll(/(\\w+)\\./g)][0];\n let cluster = clusterMatch ? clusterMatch[1] : null;\n\n if (!cluster || engine === QueryEngine.SPYT) {\n const state = getWindowStore().getState();\n cluster = state.queryTracker.query?.draft.settings?.cluster || null;\n }\n\n return {\n path,\n cluster,\n };\n};\n","import {Position, editor} from 'monaco-editor';\nimport {QueryEngine} from '../../../pages/query-tracker/module/engines';\nimport {getClusterAndPath} from './getClusterAndPath';\n\nexport const getPathFromMonacoModel = (\n model: editor.ITextModel,\n monacoCursorPosition: Position,\n engine: QueryEngine,\n) => {\n const line = model.getLineContent(monacoCursorPosition.lineNumber);\n const editedPart = line.substring(0, monacoCursorPosition.column);\n\n const {path, cluster} = getClusterAndPath(editedPart, engine);\n const useArray = model.getValue().match(/(USE|use)\\s\\w+/g);\n const useClusterName = useArray ? useArray.pop()?.replace(/(USE|use)\\s/, '') : null;\n\n return {\n path,\n cluster: cluster || useClusterName,\n };\n};\n","import {YTApiId, ytApiV3, ytApiV3Id} from '../../../rum/rum-wrap-api';\nimport {IRange, Position, editor, languages} from 'monaco-editor';\nimport ypath from '../../../common/thor/ypath';\nimport {YPathItem} from '../../../pages/query-tracker/Plan/services/tables';\nimport {getPathFromMonacoModel} from './getPathFromMonacoModel';\nimport {QueryEngine} from '../../../pages/query-tracker/module/engines';\nimport {SuggestionsWeight} from './generateSuggestions';\nimport {suggestionIndexToWeight} from './suggestionIndexToWeight';\nimport {getClusterProxy} from '../../../store/selectors/global';\nimport YT from '../../../config/yt-config';\n\ntype Props = (data: {\n model: editor.ITextModel;\n monacoCursorPosition: Position;\n engine: QueryEngine;\n range: IRange;\n}) => Promise<languages.CompletionItem[]>;\n\nexport const getDirectoryContent: Props = async ({model, monacoCursorPosition, engine, range}) => {\n const {path, cluster} = getPathFromMonacoModel(model, monacoCursorPosition, engine);\n if (!path || !cluster) return [];\n\n const clusterConfig = YT.clusters[cluster];\n if (!clusterConfig) return [];\n\n const apiSetup = {setup: {proxy: getClusterProxy(clusterConfig)}};\n\n try {\n let clearPath = path.replace(/(\\/$)/g, '');\n let pathExist = await ytApiV3.exists({path: clearPath}, apiSetup);\n if (!pathExist) {\n if (/[^/]\\/$/.test(path)) return []; // we exclude the situation when we have the wrong path\n clearPath = clearPath.split('/').slice(0, -1).join('/');\n pathExist = await ytApiV3.exists({path: clearPath}, apiSetup);\n if (!pathExist) return [];\n }\n\n const response: YPathItem[] = await ytApiV3Id.list(YTApiId.navigationListNodes, {\n ...apiSetup,\n parameters: {\n path: clearPath,\n attributes: ['type', 'broken'],\n },\n });\n\n return response.reduce<languages.CompletionItem[]>((acc, item) => {\n const name = ypath.getValue(item);\n const {type, broken} = ypath.getAttributes(item);\n\n if (!['table', 'map_node', 'link'].includes(type) || (type === 'link' && broken))\n return acc;\n\n const fullPath = clearPath + '/' + name;\n const insertText = /[^/]\\//.test(path)\n ? fullPath.replace(path, '')\n : fullPath.replace('//', '');\n\n acc.push({\n label: fullPath,\n insertText,\n kind: languages.CompletionItemKind[type === 'table' ? 'File' : 'Folder'],\n range,\n sortText: suggestionIndexToWeight(SuggestionsWeight.path),\n });\n\n return acc;\n }, []);\n } catch (e) {\n return [];\n }\n};\n","import {IRange, Position, editor} from 'monaco-editor';\n\nexport const getRangeToInsertSuggestion = (\n model: editor.ITextModel,\n cursorPosition: Position,\n): IRange => {\n const {startColumn: lastWordStartColumn, endColumn: lastWordEndColumn} =\n model.getWordUntilPosition(cursorPosition);\n // https://github.com/microsoft/monaco-editor/discussions/3639#discussioncomment-5190373 if user already typed \"$\" sign, it should not be duplicated\n const dollarBeforeLastWordStart =\n model.getLineContent(cursorPosition.lineNumber)[lastWordStartColumn - 2] === '$' ? 1 : 0;\n return {\n startColumn: lastWordStartColumn - dollarBeforeLastWordStart,\n startLineNumber: cursorPosition.lineNumber,\n endColumn: lastWordEndColumn,\n endLineNumber: cursorPosition.lineNumber,\n };\n};\n","const alphabet = 'abcdefghijklmnopqrstuvwxyz';\nexport const suggestionIndexToWeight = (index: number): string => {\n const characterInsideAlphabet = alphabet[index];\n if (characterInsideAlphabet) {\n return characterInsideAlphabet;\n }\n\n const duplicateTimes = Math.floor(index / alphabet.length);\n const remains = index % alphabet.length;\n\n const lastCharacter = alphabet.slice(-1);\n\n return lastCharacter.repeat(duplicateTimes) + alphabet[remains];\n};\n","import {Position, editor, languages} from 'monaco-editor';\nimport {generateSuggestion} from '../helpers/generateSuggestions';\nimport {getRangeToInsertSuggestion} from '../helpers/getRangeToInsertSuggestion';\n\nexport const keywords =\n '$row|$rows|action|all|and|any|as|asc|assume|begin|bernoulli|between|by|case|columns|commit|compact|create|cross|cube|declare|define|delete|desc|dict|discard|distinct|do|drop|else|empty_action|end|erase|evaluate|exclusion|exists|export|flatten|for|from|full|group|grouping|having|if|ignore|ilike|import|in|inner|insert|into|is|join|left|like|limit|list|match|not|null|nulls|offset|on|only|optional|or|order|over|partition|pragma|presort|process|reduce|regexp|repeatable|replace|respect|result|return|right|rlike|rollup|sample|schema|select|semi|set|sets|stream|subquery|table|tablesample|then|truncate|union|update|upsert|use|using|values|view|when|where|window|with|without|xor'.split(\n '|',\n );\nexport const typeKeywords =\n 'bool|date|datetime|decimal|double|float|int16|int32|int64|int8|interval|json|string|timestamp|tzdate|tzdatetime|tztimestamp|uint16|uint32|uint64|uint8|utf8|uuid|yson'.split(\n '|',\n );\n\nexport const builtinFunctions =\n 'abs|aggregate_by|aggregate_list|aggregate_list_distinct|agg_list|agg_list_distinct|as_table|avg|avg_if|adaptivedistancehistogram|adaptivewardhistogram|adaptiveweighthistogram|addmember|addtimezone|aggregateflatten|aggregatetransforminput|aggregatetransformoutput|aggregationfactory|asatom|asdict|asdictstrict|asenum|aslist|asliststrict|asset|assetstrict|asstruct|astagged|astuple|asvariant|atomcode|bitcast|bit_and|bit_or|bit_xor|bool_and|bool_or|bool_xor|bottom|bottom_by|blockwardhistogram|blockweighthistogram|cast|coalesce|concat|concat_strict|correlation|count|count_if|covariance|covariance_population|covariance_sample|callableargument|callableargumenttype|callableresulttype|callabletype|callabletypecomponents|callabletypehandle|choosemembers|combinemembers|countdistinctestimate|currentauthenticateduser|currentoperationid|currentoperationsharedid|currenttzdate|currenttzdatetime|currenttztimestamp|currentutcdate|currentutcdatetime|currentutctimestamp|dense_rank|datatype|datatypecomponents|datatypehandle|dictaggregate|dictcontains|dictcreate|dicthasitems|dictitems|dictkeytype|dictkeys|dictlength|dictlookup|dictpayloadtype|dictpayloads|dicttype|dicttypecomponents|dicttypehandle|each|each_strict|emptydicttype|emptydicttypehandle|emptylisttype|emptylisttypehandle|endswith|ensure|ensureconvertibleto|ensuretype|enum|evaluateatom|evaluatecode|evaluateexpr|evaluatetype|expandstruct|filter|filter_strict|find|first_value|folder|filecontent|filepath|flattenmembers|forceremovemember|forceremovemembers|forcerenamemembers|forcespreadmembers|formatcode|formattype|frombytes|funccode|greatest|grouping|gathermembers|generictype|histogram|hll|hyperloglog|if|if_strict|instanceof|json_exists|json_query|json_value|jointablerow|just|lag|last_value|lead|least|len|length|like|likely|like_strict|lambdaargumentscount|lambdacode|linearhistogram|listaggregate|listall|listany|listavg|listcode|listcollect|listconcat|listcreate|listdistinct|listenumerate|listextend|listextendstrict|listextract|listfilter|listflatmap|listflatten|listfromrange|listhas|listhasitems|listhead|listindexof|listitemtype|listlast|listlength|listmap|listmax|listmin|listnotnull|listreplicate|listreverse|listskip|listskipwhile|listskipwhileinclusive|listsort|listsortasc|listsortdesc|listsum|listtake|listtakewhile|listtakewhileinclusive|listtype|listtypehandle|listunionall|listuniq|listzip|listzipall|loghistogram|logarithmichistogram|max|max_by|max_of|median|min|min_by|min_of|mode|multi_aggregate_by|nanvl|nvl|nothing|nulltype|nulltypehandle|optionalitemtype|optionaltype|optionaltypehandle|percentile|parsefile|parsetype|parsetypehandle|pickle|quotecode|range|range_strict|rank|regexp|regexp_strict|rfind|row_number|random|randomnumber|randomuuid|removemember|removemembers|removetimezone|renamemembers|replacemember|reprcode|resourcetype|resourcetypehandle|resourcetypetag|some|stddev|stddev_population|stddev_sample|substring|sum|sum_if|sessionstart|sessionwindow|setcreate|setdifference|setincludes|setintersection|setisdisjoint|setsymmetricdifference|setunion|spreadmembers|stablepickle|startswith|staticmap|streamitemtype|streamtype|streamtypehandle|structmembertype|structmembers|structtypecomponents|structtypehandle|subqueryextend|subqueryextendfor|subquerymerge|subquerymergefor|subqueryunionall|subqueryunionallfor|subqueryunionmerge|subqueryunionmergefor|top|topfreq|top_by|tablename|tablepath|tablerecordindex|tablerow|taggedtype|taggedtypecomponents|taggedtypehandle|tobytes|todict|tomultidict|toset|tosorteddict|tosortedmultidict|trymember|tupleelementtype|tupletype|tupletypecomponents|tupletypehandle|typehandle|typekind|typeof|udaf|unittype|unpickle|untag|unwrap|variance|variance_population|variance_sample|variant|varianttype|varianttypehandle|variantunderlyingtype|voidtype|voidtypehandle|way|worldcode'.split(\n '|',\n );\n\nexport const generateYqlOldSafariSuggestion = (\n model: editor.ITextModel,\n monacoCursorPosition: Position,\n) => {\n const range = getRangeToInsertSuggestion(model, monacoCursorPosition);\n return {\n suggestions: [\n ...generateSuggestion({\n kind: languages.CompletionItemKind.Keyword,\n detail: 'Keyword',\n suggestionType: 'suggestKeywords',\n rangeToInsertSuggestion: range,\n items: [...keywords, ...typeKeywords],\n }),\n ...generateSuggestion({\n kind: languages.CompletionItemKind.Function,\n detail: 'Function',\n suggestionType: 'suggestFunctions',\n rangeToInsertSuggestion: range,\n items: builtinFunctions,\n }),\n ],\n };\n};\n","import type {languages} from '../fillers/monaco-editor-core';\nimport {builtinFunctions, keywords, typeKeywords} from './yql.keywords';\n\nexport const conf: languages.LanguageConfiguration = {\n comments: {\n lineComment: '--',\n blockComment: ['/*', '*/'],\n },\n brackets: [\n ['{', '}'],\n ['[', ']'],\n ['(', ')'],\n ],\n autoClosingPairs: [\n {open: '{', close: '}'},\n {open: '[', close: ']'},\n {open: '(', close: ')'},\n {open: '\"', close: '\"'},\n {open: \"'\", close: \"'\"},\n {open: '`', close: '`'},\n ],\n surroundingPairs: [\n {open: '{', close: '}'},\n {open: '[', close: ']'},\n {open: '(', close: ')'},\n {open: '\"', close: '\"'},\n {open: \"'\", close: \"'\"},\n {open: '`', close: '`'},\n ],\n wordPattern: /(-?\\d*\\.\\d\\w*)|([^`~!@#%^&*()\\-=+[{\\]}\\\\|;:'\",./?\\s]+)/g,\n};\n\nexport const language: languages.IMonarchLanguage & Record<string, unknown> = {\n defaultToken: 'text',\n ignoreCase: true,\n brackets: [\n {open: '[', close: ']', token: 'delimiter.square'},\n {open: '(', close: ')', token: 'delimiter.parenthesis'},\n {open: '{', close: '}', token: 'delimiter.curly'},\n ],\n\n keywords,\n\n typeKeywords,\n\n constants: ['true', 'false'],\n\n builtinFunctions,\n\n operators: [\n '+',\n '-',\n '/',\n '//',\n '%',\n '<@>',\n '@>',\n '<@',\n '&',\n '^',\n '~',\n '<',\n '>',\n '<=',\n '=>',\n '==',\n '!=',\n '<>',\n '=',\n ],\n\n symbols: /[=><!~?:&|+\\-*/^%]+/,\n escapes: /\\\\(?:[abfnrtv\\\\\"'`]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\n variables: /[a-zA-Z_]\\w*/,\n\n tokenizer: {\n root: [\n {include: '@whitespace'},\n {include: '@comments'},\n {include: '@numbers'},\n {include: '@tablePath'},\n {include: '@strings'},\n // support function\n [/(@variables)::(@variables)/, 'support.function'],\n [/[;,.]/, 'delimiter'],\n [/[(){}[\\]]/, '@brackets'],\n [/(\\w+\\.)*`\\/\\/(.*)`/g, {token: 'path'}],\n // identifiers and keywords\n [\n /@?[a-zA-Z_$]\\w*/,\n {\n cases: {\n '@keywords': 'keyword',\n '@typeKeywords': 'keyword.type',\n '@constants': 'constant.yql',\n '@builtinFunctions': 'constant.other.color',\n '[$@][a-zA-Z_]\\\\w*': 'variable',\n '@default': 'identifier',\n },\n },\n ],\n [\n /@symbols/,\n {\n cases: {\n '@operators': 'operator.sql',\n '@default': '',\n },\n },\n ],\n ],\n whitespace: [[/\\s+/, 'white']],\n comments: [\n [/--.*/, 'comment'],\n [/\\/\\*/, {token: 'comment.quote', next: '@comment'}],\n ],\n comment: [\n [/[^*/]+/, 'comment'],\n [/\\*\\//, {token: 'comment.quote', next: '@pop'}],\n [/./, 'comment'],\n ],\n commentAnsi: [\n [/\\/\\*/, {token: 'comment.quote', next: '@comment'}],\n [/[^*/]+/, 'comment'],\n [/\\*\\//, {token: 'comment.quote', next: '@pop'}],\n [/./, 'comment'],\n ],\n numbers: [\n [/[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?f?\\b/, 'number.float'],\n [/[+-]?(?:\\d+|0b[01]+|0o[0-8]+|0x[\\da-f]+)(?:u?[lst]?)?\\b/, 'number'],\n ],\n strings: [\n [/'/, {token: 'string', next: '@stringSingle'}],\n [/\"/, {token: 'string', next: '@stringDouble'}],\n [/[@]{2}/, {token: 'string', next: '@multilineString'}],\n ],\n stringSingle: [\n [/[^\\\\']+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [/'[uyj]?/, {token: 'string', next: '@pop'}],\n ],\n stringAnsiSingle: [\n [/[^']+/, 'string'],\n [/''/, 'string'],\n [/'[uyj]?/, {token: 'string', next: '@pop'}],\n ],\n stringDouble: [\n [/[^\\\\\"]+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [/\"[uyj]?/, {token: 'string', next: '@pop'}],\n ],\n stringAnsiDouble: [\n [/[^\"]+/, 'string'],\n [/\"\"/, 'string'],\n [/\"[uyj]?/, {token: 'string', next: '@pop'}],\n ],\n multilineString: [\n [/#py/, {token: 'string.python', nextEmbedded: 'python', next: '@embedded', goBack: 3}],\n [\n /\\/\\/js/,\n {token: 'string.js', nextEmbedded: 'javascript', next: '@embedded', goBack: 4},\n ],\n [/[^@]+/, 'string'],\n [/[@]{4}/, 'string'],\n [/[@]{2}[uyj]?/, {token: 'string', next: '@pop'}],\n [/./, 'string'],\n ],\n embedded: [\n [\n /([^@]|^)([@]{4})*[@]{2}([@]([^@]|$)|[^@]|$)/,\n {token: '@rematch', next: '@pop', nextEmbedded: '@pop'},\n ],\n ],\n tablePath: [[/`\\/?[\\w+]+`/, {token: 'string.tablepath'}]],\n },\n};\n","export const keywords = [\n 'SELECT',\n 'FROM',\n 'WITH',\n 'INDEX',\n 'WHERE',\n 'HAVING',\n 'OFFSET',\n 'LIMIT',\n 'JOIN',\n 'ARRAY',\n 'USING',\n 'GROUP',\n 'BY',\n 'WITH',\n 'TOTALS',\n 'ORDER',\n 'BY',\n 'ASC',\n 'DESC',\n 'LEFT',\n 'AS',\n 'ON',\n 'AND',\n 'OR',\n 'IS',\n 'NOT',\n 'NULL',\n 'BETWEEN',\n 'IN',\n 'TRANSFORM',\n 'LIKE',\n 'ILIKE',\n 'RLIKE',\n 'REGEXP',\n 'ESCAPE',\n 'FALSE',\n 'TRUE',\n 'CASE',\n 'WHEN',\n 'THEN',\n 'ELSE',\n 'END',\n 'INF',\n];\n","import {Position, editor, languages} from 'monaco-editor';\nimport {getRangeToInsertSuggestion} from '../helpers/getRangeToInsertSuggestion';\nimport {generateSuggestion} from '../helpers/generateSuggestions';\nimport {builtinFunctions, keywords, typeKeywords} from '../yql/yql.keywords';\nimport {keywords as suggestKeywords} from './yql_ansi.keywords';\nimport {getDirectoryContent} from '../helpers/getDirectoryContent';\nimport {QueryEngine} from '../../../pages/query-tracker/module/engines';\n\nexport {conf} from '../yql/yql';\n\nexport const language: languages.IMonarchLanguage & Record<string, unknown> = {\n defaultToken: 'text',\n ignoreCase: true,\n brackets: [\n {open: '[', close: ']', token: 'delimiter.square'},\n {open: '(', close: ')', token: 'delimiter.parenthesis'},\n {open: '{', close: '}', token: 'delimiter.curly'},\n ],\n keywords,\n typeKeywords,\n constants: ['true', 'false'],\n builtinFunctions,\n operators: [\n '+',\n '-',\n '/',\n '//',\n '%',\n '<@>',\n '@>',\n '<@',\n '&',\n '^',\n '~',\n '<',\n '>',\n '<=',\n '=>',\n '==',\n '!=',\n '<>',\n '=',\n ],\n symbols: /[=><!~?:&|+\\-*/^%]+/,\n escapes: /\\\\(?:[abfnrtv\\\\\"'`]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,\n variables: /[a-zA-Z_]\\w*/,\n tokenizer: {\n root: [\n {include: '@whitespace'},\n {include: '@comments'},\n {include: '@numbers'},\n {include: '@tablePath'},\n {include: '@strings'},\n // support function\n [/(@variables)::(@variables)/, 'support.function'],\n [/[;,.]/, 'delimiter'],\n [/[(){}[\\]]/, '@brackets'],\n [/(\\w+\\.)*`\\/\\/(.*)`/g, {token: 'path'}],\n // identifiers and keywords\n [\n /@?[a-zA-Z_$]\\w*/,\n {\n cases: {\n '@keywords': 'keyword',\n '@typeKeywords': 'keyword.type',\n '@constants': 'constant.yql',\n '@builtinFunctions': 'constant.other.color',\n '[$@][a-zA-Z_]\\\\w*': 'variable',\n '@default': 'identifier',\n },\n },\n ],\n [\n /@symbols/,\n {\n cases: {\n '@operators': 'operator.sql',\n '@default': '',\n },\n },\n ],\n ],\n whitespace: [[/\\s+/, 'white']],\n comments: [\n [/--.*/, 'comment'],\n [/\\/\\*/, {token: 'comment.quote', next: '@commentAnsi'}],\n ],\n comment: [\n [/[^*/]+/, 'comment'],\n [/\\*\\//, {token: 'comment.quote', next: '@pop'}],\n [/./, 'comment'],\n ],\n commentAnsi: [\n [/\\/\\*/, {token: 'comment.quote', next: '@comment'}],\n [/[^*/]+/, 'comment'],\n [/\\*\\//, {token: 'comment.quote', next: '@pop'}],\n [/./, 'comment'],\n ],\n numbers: [\n [/[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?f?\\b/, 'number.float'],\n [/[+-]?(?:\\d+|0b[01]+|0o[0-8]+|0x[\\da-f]+)(?:u?[lst]?)?\\b/, 'number'],\n ],\n strings: [\n [/'/, {token: 'string', next: '@stringAnsiSingle'}],\n [/\"/, {token: 'string', next: '@stringAnsiDouble'}],\n [/[@]{2}/, {token: 'string', next: '@multilineString'}],\n ],\n stringSingle: [\n [/[^\\\\']+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [/'[uyj]?/, {token: 'string', next: '@pop'}],\n ],\n stringAnsiSingle: [\n [/[^']+/, 'string'],\n [/''/, 'string'],\n [/'[uyj]?/, {token: 'string', next: '@pop'}],\n ],\n stringDouble: [\n [/[^\\\\\"]+/, 'string'],\n [/@escapes/, 'string.escape'],\n [/\\\\./, 'string.escape.invalid'],\n [/\"[uyj]?/, {token: 'string', next: '@pop'}],\n ],\n stringAnsiDouble: [\n [/[^\"]+/, 'string'],\n [/\"\"/, 'string'],\n [/\"[uyj]?/, {token: 'string', next: '@pop'}],\n ],\n multilineString: [\n [/#py/, {token: 'string.python', nextEmbedded: 'python', next: '@embedded', goBack: 3}],\n [\n /\\/\\/js/,\n {token: 'string.js', nextEmbedded: 'javascript', next: '@embedded', goBack: 4},\n ],\n [/[^@]+/, 'string'],\n [/[@]{4}/, 'string'],\n [/[@]{2}[uyj]?/, {token: 'string', next: '@pop'}],\n [/./, 'string'],\n ],\n embedded: [\n [\n /([^@]|^)([@]{4})*[@]{2}([@]([^@]|$)|[^@]|$)/,\n {token: '@rematch', next: '@pop', nextEmbedded: '@pop'},\n ],\n ],\n tablePath: [[/`\\/?[\\w+]+`/, {token: 'string.tablepath'}]],\n },\n};\n\nexport const provideSuggestionsFunction = async (\n model: editor.ITextModel,\n monacoCursorPosition: Position,\n): Promise<{suggestions: languages.CompletionItem[]}> => {\n const range = getRangeToInsertSuggestion(model, monacoCursorPosition);\n const pathSuggestions = await getDirectoryContent({\n model,\n monacoCursorPosition,\n engine: QueryEngine.YT_QL,\n range,\n });\n\n return {\n suggestions: [\n ...pathSuggestions,\n ...generateSuggestion({\n kind: languages.CompletionItemKind.Keyword,\n detail: 'Keyword',\n suggestionType: 'suggestKeywords',\n rangeToInsertSuggestion: range,\n items: [...suggestKeywords],\n }),\n ],\n };\n};\n"],"names":["YT_LIGHT_MONACO_THEME","monaco","defineTheme","base","inherit","rules","token","foreground","colors","YT_DARK_MONACO_THEME","languageDefinitions","lazyLanguageLoaders","LazyLanguageLoader","languageId","_this","_classCallCheck","_languageId","_loadingTriggered","_lazyLoadPromise","_lazyLoadPromiseResolve","_lazyLoadPromiseReject","this","Promise","resolve","reject","_createClass","key","value","_this2","loader","then","mod","err","registerLanguage","def","id","languages","register","lazyLanguageLoader","getOrCreate","setMonarchTokensProvider","whenLoaded","language","onLanguage","load","setLanguageConfiguration","conf","provideSuggestionsFunction","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","_loader","LanguageServiceDefaultsImpl","diagnosticsOptions","modeConfiguration","_onDidChange","Emitter","_diagnosticsOptions","_modeConfiguration","setDiagnosticsOptions","setModeConfiguration","get","event","options","Object","create","fire","getSuggestions","parseResult","rangeToInsertSuggestion","columnAliasSuggestion","generateColumnAliasesSuggestion","suggestColumnAliases","keywordsSuggestions","generateKeywordsSuggestion","suggestKeywords","concat","_toConsumableArray","loadTableData","_ref","_asyncToGenerator","_regeneratorRuntime","_callee","query","engine","tablePaths","useClusterMatch","useClusterName","requests","tableSchemas","res","_context","prev","next","match","abrupt","matchAll","replace","forEach","tablePath","_getClusterAndPath","getClusterAndPath","path","pathCluster","cluster","clusterConfig","YT","clusters","push","command","parameters","setup","_objectSpread","proxy","getClusterProxy","JSONParser","ytApiV3Id","executeBatch","YTApiId","navigationGetPath","sent","response","index","output","columns","ypath","getValue","map","_ref2","name","stop","_x","_x2","apply","arguments","getColumnSuggestions","_tableSuggestions$tab","tableSuggestions","model","range","result","tables","label","insertText","kind","CompletionItemKind","Field","sortText","suggestionIndexToWeight","SuggestionsWeight","suggestColumns","_ref3","alias","column","fullPath","description","detail","getTemplateSuggestions","suggestTableFunctions","suggestViewsOrTables","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","Snippet","createProvideSuggestionsFunction","parser","monacoCursorPosition","_token","pathSuggestions","columnsSuggestions","templateSuggestions","suggestions","_context2","line","lineNumber","getRangeToInsertSuggestion","getDirectoryContent","_x3","_x4","MonacoLanguage","CHYT","extensions","lang","autocomplete","parseClickHouseQuery","QueryEngine","generateClickhouseOldSafariSuggestions","clickhouseDefaults","validate","completionItems","hovers","documentSymbols","definitions","references","documentHighlights","rename","foldingRanges","diagnostics","selectionRanges","YQL","parseYqlQuery","generateYqlOldSafariSuggestion","module","block","cn","THEMES","dark","light","MonacoEditor","_React$Component","_inherits","_super","_createSuper","_len","length","args","Array","_key","call","ref","React","createModel","props","editor","prevScope","silent","onContentChanged","onChange","_this$props","theme","monacoConfig","editorRef","readOnly","setValue","current","renderLineHighlight","colorDecorators","automaticLayout","minimap","enabled","lineNumbers","suggestOnTriggerCharacters","wordBasedSuggestions","updateOptions","number","onMouseDown","e","_this2$props$onClick","_this2$props","onClick","onDidChangeContent","getScope","setScope","prevProps","_this$editor3","_this$editor","_this$editor2","_this$props2","isEqual_","assign","setModel","_this$editor4","_this$editor5","getModel","dispose","className","_jsx","children","connect","state","getTheme","keywords","keywordsDouble","constants","functionsCaseSensitive","functionsCaseInsensitive","tableFunctions","tableEngines","dataTypeFamiliesCaseSensitive","dataTypeFamiliesCaseInsensitive","generateClickhouseAdditionalSuggestion","suggestFunctions","errors","parserResult","generateSuggestion","TypeParameter","suggestionType","items","Constant","Function","Keyword","suggestTemplates","suggestPragmas","binding","connection","suggestAggregateFunctions","suggestWindowFunctions","suggestUdfs","suggestSimpleTypes","suggestConstants","suggestOperators","suggestTableIndexes","suggestTableHints","suggestEntitySettings","keywordSuggestion","el","rawPath","_state$queryTracker$q","pathMatch","clusterMatch","SPYT","getWindowStore","getState","queryTracker","draft","settings","getPathFromMonacoModel","_useArray$pop","editedPart","getLineContent","substring","useArray","pop","_getPathFromMonacoMod","apiSetup","clearPath","ytApiV3","exists","test","split","slice","join","list","navigationListNodes","attributes","reduce","acc","item","_ypath$getAttributes","getAttributes","type","broken","includes","t0","cursorPosition","_model$getWordUntilPo","getWordUntilPosition","lastWordStartColumn","startColumn","lastWordEndColumn","endColumn","startLineNumber","endLineNumber","alphabet","characterInsideAlphabet","duplicateTimes","Math","floor","remains","repeat","typeKeywords","builtinFunctions","comments","lineComment","blockComment","brackets","autoClosingPairs","open","close","surroundingPairs","wordPattern","defaultToken","ignoreCase","operators","symbols","escapes","variables","tokenizer","root","include","cases","whitespace","comment","commentAnsi","numbers","strings","stringSingle","stringAnsiSingle","stringDouble","stringAnsiDouble","multilineString","nextEmbedded","goBack","embedded","YT_QL"],"sourceRoot":""}