@next-bricks/vs 1.18.4 → 1.18.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/5020.b59c4ffa.js +2 -0
- package/dist/chunks/5020.b59c4ffa.js.map +1 -0
- package/dist/chunks/{2675.b33661e4.js → 5584.648b0cc9.js} +2 -2
- package/dist/chunks/{2675.b33661e4.js.map → 5584.648b0cc9.js.map} +1 -1
- package/dist/chunks/9384.780670c6.js +2 -0
- package/dist/chunks/9384.780670c6.js.map +1 -0
- package/dist/chunks/{4539.3bb05b31.js → 9522.d6a2ff2e.js} +3 -3
- package/dist/chunks/{4539.3bb05b31.js.map → 9522.d6a2ff2e.js.map} +1 -1
- package/dist/chunks/code-editor.438c16ca.js +2 -0
- package/dist/chunks/code-editor.438c16ca.js.map +1 -0
- package/dist/chunks/{main.6667cfee.js → main.38c74d81.js} +2 -2
- package/dist/chunks/{main.6667cfee.js.map → main.38c74d81.js.map} +1 -1
- package/dist/{index.18d42846.js → index.77a4075f.js} +2 -2
- package/dist/{index.18d42846.js.map → index.77a4075f.js.map} +1 -1
- package/dist/types.json +13 -0
- package/dist-types/code-editor/interfaces.d.ts +1 -0
- package/package.json +3 -3
- package/dist/chunks/3758.6c29aedc.js +0 -2
- package/dist/chunks/3758.6c29aedc.js.map +0 -1
- package/dist/chunks/7242.eb12ab70.js +0 -2
- package/dist/chunks/7242.eb12ab70.js.map +0 -1
- package/dist/chunks/code-editor.c6d35970.js +0 -2
- package/dist/chunks/code-editor.c6d35970.js.map +0 -1
- /package/dist/chunks/{4539.3bb05b31.js.LICENSE.txt → 9522.d6a2ff2e.js.LICENSE.txt} +0 -0
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[3758,4044,7247,7716,8204],{4046:(e,t,o)=>{"use strict";o.d(t,{v:()=>g});var n=o(62001),r=o(40739),a=o(44804),i=o(24102),s=o(11968);const d=["analytics.event","console.error","console.info","console.log","console.warn","context.assign","context.load","context.refresh","context.replace","event.preventDefault","event.stopPropagation","formstate.update","handleHttpError","history.block","history.goBack","history.goForward","history.push","history.pushAnchor","history.pushQuery","history.reload","history.replace","history.replaceQuery","history.unblock","localStorage.removeItem","localStorage.setItem","location.assign","location.reload","menu.clearMenuCache","menu.clearMenuTitleCache","message.error","message.info","message.subscribe","message.success","message.unsubscribe","message.warn","mode.setDashboardMode","mode.setDefaultMode","parent.postMessage","preview.debug","sessionStorage.removeItem","sessionStorage.setItem","state.load","state.refresh","state.update","theme.setDarkTheme","theme.setLightTheme","theme.setTheme","tpl.dispatchEvent","window.open","window.postMessage"],u=(e,t,o)=>{const n=[],r=[];let a="",i=o,s=t.startColumn;for(;i>0;){const o=e.getValueInRange({startLineNumber:i,endLineNumber:i,startColumn:0,endColumn:1/0}).match(/^([\s|-]*)(\w+)(?=:)/);if(o){const[,e,i]=o;e.length===t.startColumn-1&&n.unshift(i),e.length<s-1&&(!a&&(a=i),s=e.length,r.unshift(i))}i--}return{curLevelKeys:n,keyList:r,parentKey:a}},g=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0,g=arguments.length>3?arguments[3]:void 0;return async(c,l,p)=>{if(o&&o!==(0,a.B)())return{suggestions:[]};const f=null!=g&&g.showDSKey?["CTX.DS","DS"]:[],m=c.getWordUntilPosition(l),{word:k,token:b}=((e,t,o)=>{var n;const r=e.getWordUntilPosition(t),a=e.getValueInRange({startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:t.column-r.word.length-1,endColumn:t.column-r.word.length}),i=e.getWordAtPosition({...t,column:t.column-(null==r||null===(n=r.word)||void 0===n?void 0:n.length)-1});let s=null==i?void 0:i.word;if(null!=o&&o.showDSKey&&"DS"===(null==i?void 0:i.word)){const o=e.getWordAtPosition({...t,column:i.startColumn-1});s=`${null==o?void 0:o.word}.${i.word}`}return{word:s,token:a}})(c,l,g),C=c.getValueInRange({startLineNumber:l.lineNumber,endLineNumber:l.lineNumber,startColumn:0,endColumn:1/0}),h={startLineNumber:l.lineNumber,endLineNumber:l.lineNumber,startColumn:m.startColumn,endColumn:m.endColumn},y=1===m.startColumn,{curLevelKeys:B}=u(c,m,c.getLineCount());if("<"===p.triggerCharacter){const e=c.getValueInRange({startLineNumber:l.lineNumber,endLineNumber:l.lineNumber,startColumn:l.column-2,endColumn:l.column+2});return/^(['"]?)<\1$/.test(e.trim())?{suggestions:[{label:"<% %>",detail:"Expression body",kind:n.languages.CompletionItemKind.Value,insertText:"% ${0} %>",insertTextRules:n.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:h},{label:"<%= %>",detail:"Track expression body",kind:n.languages.CompletionItemKind.Value,insertText:"%= ${0} %>",insertTextRules:n.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:h}]}:{suggestions:[]}}if(y)return{suggestions:(null!=e?e:[]).filter((e=>!B.includes(e.label))).map((e=>({...e,label:e.label,insertText:e.insertText||e.label,kind:n.languages.CompletionItemKind.Keyword,range:h})))};if(":"===p.triggerCharacter||"."===p.triggerCharacter&&k&&!["CTX","STATE","FN"].concat(f).includes(k)){if("action"===k&&":"===p.triggerCharacter)return{suggestions:d.map((e=>({label:` ${e}`,detail:"event action",kind:n.languages.CompletionItemKind.Keyword,insertText:` ${e}`,range:h})))};const e=null==t?void 0:t[k];let o,r="";if(e&&!Array.isArray(e)?(o=e.completers,r=e.triggerCharacter):o=e,r?p.triggerCharacter===r&&o:o)return{suggestions:(null!=o?o:[]).map((e=>{const t=":"===r?` ${e.label}`:e.label;return{...e,label:t,kind:n.languages.CompletionItemKind.Value,insertText:e.insertText||t,range:h}}))}}if(((e,t)=>{var o;const r=e.getWordUntilPosition(t),a=e.findPreviousMatch("<%",t,!1,!1,null,!1),i=e.findNextMatch("%>",t,!1,!1,null,!1),s=null==a?void 0:a.range,d=null==i?void 0:i.range;if((null==s?void 0:s.startLineNumber)&&(null==d?void 0:d.startLineNumber)&&s.startLineNumber<=t.lineNumber&&d.endLineNumber>=t.lineNumber&&(null===(o=e.findMatches("<%|%>",new n.Range(s.endLineNumber,s.endColumn,d.startLineNumber,d.startColumn),!0,!1,null,!0))||void 0===o||!o.length)){const{parentKey:o}=u(e,s,s.startLineNumber),{parentKey:n}=u(e,d,d.startLineNumber),{keyList:a}=u(e,r,t.lineNumber);if(o===n&&a.includes(o)||""===o&&""===n)return!0}return!1})(c,l)&&":"!==b){const e=s.b.getInstance(o);return{suggestions:await(0,i.DW)(c,l,e.getState())}}return/^[\s|-]*\w$/.test(C)?{suggestions:r.xN.map((e=>({label:e,insertText:e,kind:n.languages.CompletionItemKind.Keyword,range:h}))).filter((e=>!B.includes(e.label)))}:{suggestions:[]}}}},4794:(e,t,o)=>{"use strict";o.d(t,{MX:()=>r,X2:()=>a,xx:()=>i});let n=null;function r(e){return n!==e&&(n=e,!0)}function a(e){var t;n===e&&(n=null),null===(t=e.getModel())||void 0===t||t.dispose(),e.dispose()}function i(e){return n===e}},5087:(e,t,o)=>{"use strict";o.d(t,{K:()=>i});var n=o(47695);let r,a;function i(){return r||(r=(async()=>{const e=(0,n.LV)((a||(a=new Worker(new URL(o.p+o.u(4539),o.b))),a));return await new e})()),r}},8182:(e,t,o)=>{"use strict";o.d(t,{I:()=>a,K:()=>n,NS:()=>r});let n=function(e){return e.COPY="COPY",e.COPY_SUCCESS="COPY_SUCCESS",e.COPY_FAILED="COPY_FAILED",e.EXPAND="EXPAND",e.COLLAPSE="COLLAPSE",e}({});const r="bricks/vs/code-editor",a={en:{COPY:"Copy",COPY_SUCCESS:"Copied!",COPY_FAILED:"Copy failed!",EXPAND:"Expand",COLLAPSE:"Collapse"},zh:{COPY:"复制",COPY_SUCCESS:"已复制!",COPY_FAILED:"复制失败!",EXPAND:"展开",COLLAPSE:"收起"}}},11968:(e,t,o)=>{"use strict";o.d(t,{b:()=>u});var n=o(70918),r=o(70829),a=o(86121),i=o(12559),s=new WeakMap,d=new WeakMap;class u{static getInstance(e){return(0,i.A)(u,this,g)._[e]||((0,i.A)(u,this,g)._[e]=new u(e)),(0,i.A)(u,this,g)._[e]}constructor(e){(0,n.A)(this,s,void 0),(0,n.A)(this,d,{}),(0,a.A)(s,this,e)}updateState(e){(0,a.A)(d,this,e)}getState(){return(0,r.A)(d,this)}}var g={_:{}}},18965:e=>{"use strict";e.exports=JSON.parse('{"inherit":false,"base":"vs","colors":{"editor.lineHighlightBackground":"#0000000A","checkbox.border":"#CECECE","editor.background":"#FFFFFF","editor.foreground":"#3B3B3B","editor.inactiveSelectionBackground":"#E5EBF1","editorIndentGuide.background1":"#D3D3D3","editorIndentGuide.activeBackground1":"#939393","editor.selectionHighlightBackground":"#ADD6FF80","editorSuggestWidget.background":"#F8F8F8","activityBarBadge.background":"#005FB8","sideBarTitle.foreground":"#3B3B3B","list.hoverBackground":"#F2F2F2","menu.border":"#CECECE","input.placeholderForeground":"#767676","searchEditor.textInputBorder":"#CECECE","settings.textInputBorder":"#CECECE","settings.numberInputBorder":"#CECECE","statusBarItem.remoteForeground":"#FFFFFF","statusBarItem.remoteBackground":"#005FB8","ports.iconRunningProcessForeground":"#369432","sideBarSectionHeader.background":"#F8F8F8","sideBarSectionHeader.border":"#E5E5E5","tab.selectedForeground":"#333333b3","tab.selectedBackground":"#ffffffa5","tab.lastPinnedBorder":"#D4D4D4","notebook.cellBorderColor":"#E5E5E5","notebook.selectedCellBackground":"#C8DDF150","statusBarItem.errorBackground":"#C72E0F","list.activeSelectionIconForeground":"#000000","list.focusAndSelectionOutline":"#005FB8","terminal.inactiveSelectionBackground":"#E5EBF1","widget.border":"#E5E5E5","actionBar.toggledBackground":"#dddddd","diffEditor.unchangedRegionBackground":"#f8f8f8","activityBar.activeBorder":"#005FB8","activityBar.background":"#F8F8F8","activityBar.border":"#E5E5E5","activityBar.foreground":"#1F1F1F","activityBar.inactiveForeground":"#616161","activityBarBadge.foreground":"#FFFFFF","badge.background":"#CCCCCC","badge.foreground":"#3B3B3B","button.background":"#005FB8","button.border":"#0000001a","button.foreground":"#FFFFFF","button.hoverBackground":"#0258A8","button.secondaryBackground":"#E5E5E5","button.secondaryForeground":"#3B3B3B","button.secondaryHoverBackground":"#CCCCCC","chat.slashCommandBackground":"#ADCEFF7A","chat.slashCommandForeground":"#26569E","chat.editedFileForeground":"#895503","checkbox.background":"#F8F8F8","descriptionForeground":"#3B3B3B","dropdown.background":"#FFFFFF","dropdown.border":"#CECECE","dropdown.foreground":"#3B3B3B","dropdown.listBackground":"#FFFFFF","editorGroup.border":"#E5E5E5","editorGroupHeader.tabsBackground":"#F8F8F8","editorGroupHeader.tabsBorder":"#E5E5E5","editorGutter.addedBackground":"#2EA043","editorGutter.deletedBackground":"#F85149","editorGutter.modifiedBackground":"#005FB8","editorLineNumber.activeForeground":"#171184","editorLineNumber.foreground":"#6E7681","editorOverviewRuler.border":"#E5E5E5","editorWidget.background":"#F8F8F8","errorForeground":"#F85149","focusBorder":"#005FB8","foreground":"#3B3B3B","icon.foreground":"#3B3B3B","input.background":"#FFFFFF","input.border":"#CECECE","input.foreground":"#3B3B3B","inputOption.activeBackground":"#BED6ED","inputOption.activeBorder":"#005FB8","inputOption.activeForeground":"#000000","keybindingLabel.foreground":"#3B3B3B","list.activeSelectionBackground":"#E8E8E8","list.activeSelectionForeground":"#000000","menu.selectionBackground":"#005FB8","menu.selectionForeground":"#ffffff","notificationCenterHeader.background":"#FFFFFF","notificationCenterHeader.foreground":"#3B3B3B","notifications.background":"#FFFFFF","notifications.border":"#E5E5E5","notifications.foreground":"#3B3B3B","panel.background":"#F8F8F8","panel.border":"#E5E5E5","panelInput.border":"#E5E5E5","panelTitle.activeBorder":"#005FB8","panelTitle.activeForeground":"#3B3B3B","panelTitle.inactiveForeground":"#3B3B3B","peekViewEditor.matchHighlightBackground":"#BB800966","peekViewResult.background":"#FFFFFF","peekViewResult.matchHighlightBackground":"#BB800966","pickerGroup.border":"#E5E5E5","pickerGroup.foreground":"#8B949E","progressBar.background":"#005FB8","quickInput.background":"#F8F8F8","quickInput.foreground":"#3B3B3B","settings.dropdownBackground":"#FFFFFF","settings.dropdownBorder":"#CECECE","settings.headerForeground":"#1F1F1F","settings.modifiedItemIndicator":"#BB800966","sideBar.background":"#F8F8F8","sideBar.border":"#E5E5E5","sideBar.foreground":"#3B3B3B","sideBarSectionHeader.foreground":"#3B3B3B","statusBar.background":"#F8F8F8","statusBar.foreground":"#3B3B3B","statusBar.border":"#E5E5E5","statusBarItem.hoverBackground":"#B8B8B850","statusBarItem.compactHoverBackground":"#CCCCCC","statusBar.debuggingBackground":"#FD716C","statusBar.debuggingForeground":"#000000","statusBar.focusBorder":"#005FB8","statusBar.noFolderBackground":"#F8F8F8","statusBarItem.focusBorder":"#005FB8","statusBarItem.prominentBackground":"#6E768166","tab.activeBackground":"#FFFFFF","tab.activeBorder":"#F8F8F8","tab.activeBorderTop":"#005FB8","tab.activeForeground":"#3B3B3B","tab.selectedBorderTop":"#68a3da","tab.border":"#E5E5E5","tab.hoverBackground":"#FFFFFF","tab.inactiveBackground":"#F8F8F8","tab.inactiveForeground":"#868686","tab.unfocusedActiveBorder":"#F8F8F8","tab.unfocusedActiveBorderTop":"#E5E5E5","tab.unfocusedHoverBackground":"#F8F8F8","terminalCursor.foreground":"#005FB8","terminal.foreground":"#3B3B3B","terminal.tab.activeBorder":"#005FB8","textBlockQuote.background":"#F8F8F8","textBlockQuote.border":"#E5E5E5","textCodeBlock.background":"#F8F8F8","textLink.activeForeground":"#005FB8","textLink.foreground":"#005FB8","textPreformat.foreground":"#3B3B3B","textPreformat.background":"#0000001F","textSeparator.foreground":"#21262D","titleBar.activeBackground":"#F8F8F8","titleBar.activeForeground":"#1E1E1E","titleBar.border":"#E5E5E5","titleBar.inactiveBackground":"#F8F8F8","titleBar.inactiveForeground":"#8B949E","welcomePage.tileBackground":"#F3F3F3"},"rules":[{"foreground":"#3B3B3B","token":"punctuation.section.embedded.begin.yaml"},{"foreground":"#3B3B3B","token":"punctuation.section.embedded.end.yaml"},{"foreground":"#008000","token":"punctuation.definition.comment"},{"foreground":"#a31515","token":"punctuation.definition.string"},{"foreground":"#000000ff","token":"meta.embedded"},{"foreground":"#000000ff","token":"source.groovy.embedded"},{"foreground":"#000000ff","token":"string meta.image.inline.markdown"},{"foreground":"#000000ff","token":"variable.legacy.builtin.python"},{"fontStyle":"italic","token":"emphasis"},{"fontStyle":"bold","token":"strong"},{"foreground":"#000080","token":"meta.diff.header"},{"foreground":"#008000","token":"comment"},{"foreground":"#0000ff","token":"constant.language"},{"foreground":"#098658","token":"constant.numeric"},{"foreground":"#098658","token":"variable.other.enummember"},{"foreground":"#098658","token":"keyword.operator.plus.exponent"},{"foreground":"#098658","token":"keyword.operator.minus.exponent"},{"foreground":"#811f3f","token":"constant.regexp"},{"foreground":"#800000","token":"entity.name.tag"},{"foreground":"#800000","token":"entity.name.selector"},{"foreground":"#e50000","token":"entity.other.attribute-name"},{"foreground":"#800000","token":"entity.other.attribute-name.class.css"},{"foreground":"#800000","token":"source.css entity.other.attribute-name.class"},{"foreground":"#800000","token":"entity.other.attribute-name.id.css"},{"foreground":"#800000","token":"entity.other.attribute-name.parent-selector.css"},{"foreground":"#800000","token":"entity.other.attribute-name.parent.less"},{"foreground":"#800000","token":"source.css entity.other.attribute-name.pseudo-class"},{"foreground":"#800000","token":"entity.other.attribute-name.pseudo-element.css"},{"foreground":"#800000","token":"source.css.less entity.other.attribute-name.id"},{"foreground":"#800000","token":"entity.other.attribute-name.scss"},{"foreground":"#cd3131","token":"invalid"},{"fontStyle":"underline","token":"markup.underline"},{"fontStyle":"bold","foreground":"#000080","token":"markup.bold"},{"fontStyle":"bold","foreground":"#800000","token":"markup.heading"},{"fontStyle":"italic","token":"markup.italic"},{"fontStyle":"strikethrough","token":"markup.strikethrough"},{"foreground":"#098658","token":"markup.inserted"},{"foreground":"#a31515","token":"markup.deleted"},{"foreground":"#0451a5","token":"markup.changed"},{"foreground":"#0451a5","token":"punctuation.definition.quote.begin.markdown"},{"foreground":"#0451a5","token":"punctuation.definition.list.begin.markdown"},{"foreground":"#800000","token":"markup.inline.raw"},{"foreground":"#800000","token":"punctuation.definition.tag"},{"foreground":"#0000ff","token":"meta.preprocessor"},{"foreground":"#0000ff","token":"entity.name.function.preprocessor"},{"foreground":"#a31515","token":"meta.preprocessor.string"},{"foreground":"#098658","token":"meta.preprocessor.numeric"},{"foreground":"#0451a5","token":"meta.structure.dictionary.key.python"},{"foreground":"#0000ff","token":"storage"},{"foreground":"#0000ff","token":"storage.type"},{"foreground":"#0000ff","token":"storage.modifier"},{"foreground":"#0000ff","token":"keyword.operator.noexcept"},{"foreground":"#a31515","token":"string"},{"foreground":"#a31515","token":"meta.embedded.assembly"},{"foreground":"#0000ff","token":"string.comment.buffered.block.pug"},{"foreground":"#0000ff","token":"string.quoted.pug"},{"foreground":"#0000ff","token":"string.interpolated.pug"},{"foreground":"#0000ff","token":"string.unquoted.plain.in.yaml"},{"foreground":"#0000ff","token":"string.unquoted.plain.out.yaml"},{"foreground":"#0000ff","token":"string.unquoted.block.yaml"},{"foreground":"#0000ff","token":"string.quoted.single.yaml"},{"foreground":"#0000ff","token":"string.quoted.double.xml"},{"foreground":"#0000ff","token":"string.quoted.single.xml"},{"foreground":"#0000ff","token":"string.unquoted.cdata.xml"},{"foreground":"#0000ff","token":"string.quoted.double.html"},{"foreground":"#0000ff","token":"string.quoted.single.html"},{"foreground":"#0000ff","token":"string.unquoted.html"},{"foreground":"#0000ff","token":"string.quoted.single.handlebars"},{"foreground":"#0000ff","token":"string.quoted.double.handlebars"},{"foreground":"#811f3f","token":"string.regexp"},{"foreground":"#0000ff","token":"punctuation.definition.template-expression.begin"},{"foreground":"#0000ff","token":"punctuation.definition.template-expression.end"},{"foreground":"#0000ff","token":"punctuation.section.embedded"},{"foreground":"#000000","token":"meta.template.expression"},{"foreground":"#0451a5","token":"support.constant.property-value"},{"foreground":"#0451a5","token":"support.constant.font-name"},{"foreground":"#0451a5","token":"support.constant.media-type"},{"foreground":"#0451a5","token":"support.constant.media"},{"foreground":"#0451a5","token":"constant.other.color.rgb-value"},{"foreground":"#0451a5","token":"constant.other.rgb-value"},{"foreground":"#0451a5","token":"support.constant.color"},{"foreground":"#e50000","token":"support.type.vendored.property-name"},{"foreground":"#e50000","token":"support.type.property-name"},{"foreground":"#e50000","token":"source.css variable"},{"foreground":"#e50000","token":"source.coffee.embedded"},{"foreground":"#0451a5","token":"support.type.property-name.json"},{"foreground":"#0000ff","token":"keyword"},{"foreground":"#0000ff","token":"keyword.control"},{"foreground":"#000000","token":"keyword.operator"},{"foreground":"#0000ff","token":"keyword.operator.new"},{"foreground":"#0000ff","token":"keyword.operator.expression"},{"foreground":"#0000ff","token":"keyword.operator.cast"},{"foreground":"#0000ff","token":"keyword.operator.sizeof"},{"foreground":"#0000ff","token":"keyword.operator.alignof"},{"foreground":"#0000ff","token":"keyword.operator.typeid"},{"foreground":"#0000ff","token":"keyword.operator.alignas"},{"foreground":"#0000ff","token":"keyword.operator.instanceof"},{"foreground":"#0000ff","token":"keyword.operator.logical.python"},{"foreground":"#0000ff","token":"keyword.operator.wordlike"},{"foreground":"#098658","token":"keyword.other.unit"},{"foreground":"#800000","token":"punctuation.section.embedded.begin.php"},{"foreground":"#800000","token":"punctuation.section.embedded.end.php"},{"foreground":"#0451a5","token":"support.function.git-rebase"},{"foreground":"#098658","token":"constant.sha.git-rebase"},{"foreground":"#000000","token":"storage.modifier.import.java"},{"foreground":"#000000","token":"variable.language.wildcard.java"},{"foreground":"#000000","token":"storage.modifier.package.java"},{"foreground":"#0000ff","token":"variable.language"},{"foreground":"#795E26","token":"entity.name.function"},{"foreground":"#795E26","token":"support.function"},{"foreground":"#795E26","token":"support.constant.handlebars"},{"foreground":"#795E26","token":"source.powershell variable.other.member"},{"foreground":"#795E26","token":"entity.name.operator.custom-literal"},{"foreground":"#267f99","token":"support.class"},{"foreground":"#267f99","token":"support.type"},{"foreground":"#267f99","token":"entity.name.type"},{"foreground":"#267f99","token":"entity.name.namespace"},{"foreground":"#267f99","token":"entity.other.attribute"},{"foreground":"#267f99","token":"entity.name.scope-resolution"},{"foreground":"#267f99","token":"entity.name.class"},{"foreground":"#267f99","token":"storage.type.numeric.go"},{"foreground":"#267f99","token":"storage.type.byte.go"},{"foreground":"#267f99","token":"storage.type.boolean.go"},{"foreground":"#267f99","token":"storage.type.string.go"},{"foreground":"#267f99","token":"storage.type.uintptr.go"},{"foreground":"#267f99","token":"storage.type.error.go"},{"foreground":"#267f99","token":"storage.type.rune.go"},{"foreground":"#267f99","token":"storage.type.cs"},{"foreground":"#267f99","token":"storage.type.generic.cs"},{"foreground":"#267f99","token":"storage.type.modifier.cs"},{"foreground":"#267f99","token":"storage.type.variable.cs"},{"foreground":"#267f99","token":"storage.type.annotation.java"},{"foreground":"#267f99","token":"storage.type.generic.java"},{"foreground":"#267f99","token":"storage.type.java"},{"foreground":"#267f99","token":"storage.type.object.array.java"},{"foreground":"#267f99","token":"storage.type.primitive.array.java"},{"foreground":"#267f99","token":"storage.type.primitive.java"},{"foreground":"#267f99","token":"storage.type.token.java"},{"foreground":"#267f99","token":"storage.type.groovy"},{"foreground":"#267f99","token":"storage.type.annotation.groovy"},{"foreground":"#267f99","token":"storage.type.parameters.groovy"},{"foreground":"#267f99","token":"storage.type.generic.groovy"},{"foreground":"#267f99","token":"storage.type.object.array.groovy"},{"foreground":"#267f99","token":"storage.type.primitive.array.groovy"},{"foreground":"#267f99","token":"storage.type.primitive.groovy"},{"foreground":"#267f99","token":"meta.type.cast.expr"},{"foreground":"#267f99","token":"meta.type.new.expr"},{"foreground":"#267f99","token":"support.constant.math"},{"foreground":"#267f99","token":"support.constant.dom"},{"foreground":"#267f99","token":"support.constant.json"},{"foreground":"#267f99","token":"entity.other.inherited-class"},{"foreground":"#267f99","token":"punctuation.separator.namespace.ruby"},{"foreground":"#AF00DB","token":"keyword.control"},{"foreground":"#AF00DB","token":"source.cpp keyword.operator.new"},{"foreground":"#AF00DB","token":"source.cpp keyword.operator.delete"},{"foreground":"#AF00DB","token":"keyword.other.using"},{"foreground":"#AF00DB","token":"keyword.other.directive.using"},{"foreground":"#AF00DB","token":"keyword.other.operator"},{"foreground":"#AF00DB","token":"entity.name.operator"},{"foreground":"#001080","token":"variable"},{"foreground":"#001080","token":"meta.definition.variable.name"},{"foreground":"#001080","token":"support.variable"},{"foreground":"#001080","token":"entity.name.variable"},{"foreground":"#001080","token":"constant.other.placeholder"},{"foreground":"#0070C1","token":"variable.other.constant"},{"foreground":"#0070C1","token":"variable.other.enummember"},{"foreground":"#001080","token":"meta.object-literal.key"},{"foreground":"#0451a5","token":"support.constant.property-value"},{"foreground":"#0451a5","token":"support.constant.font-name"},{"foreground":"#0451a5","token":"support.constant.media-type"},{"foreground":"#0451a5","token":"support.constant.media"},{"foreground":"#0451a5","token":"constant.other.color.rgb-value"},{"foreground":"#0451a5","token":"constant.other.rgb-value"},{"foreground":"#0451a5","token":"support.constant.color"},{"foreground":"#d16969","token":"punctuation.definition.group.regexp"},{"foreground":"#d16969","token":"punctuation.definition.group.assertion.regexp"},{"foreground":"#d16969","token":"punctuation.definition.character-class.regexp"},{"foreground":"#d16969","token":"punctuation.character.set.begin.regexp"},{"foreground":"#d16969","token":"punctuation.character.set.end.regexp"},{"foreground":"#d16969","token":"keyword.operator.negation.regexp"},{"foreground":"#d16969","token":"support.other.parenthesis.regexp"},{"foreground":"#811f3f","token":"constant.character.character-class.regexp"},{"foreground":"#811f3f","token":"constant.other.character-class.set.regexp"},{"foreground":"#811f3f","token":"constant.other.character-class.regexp"},{"foreground":"#811f3f","token":"constant.character.set.regexp"},{"foreground":"#000000","token":"keyword.operator.quantifier.regexp"},{"foreground":"#EE0000","token":"keyword.operator.or.regexp"},{"foreground":"#EE0000","token":"keyword.control.anchor.regexp"},{"foreground":"#0000ff","token":"constant.character"},{"foreground":"#0000ff","token":"constant.other.option"},{"foreground":"#EE0000","token":"constant.character.escape"},{"foreground":"#000000","token":"entity.name.label"}],"encodedTokensColors":[]}')},24102:(e,t,o)=>{"use strict";o.d(t,{AR:()=>a,DW:()=>i,Eh:()=>s});var n=o(62001),r=o(40739);function a(e){return n.Uri.parse(e.toString()+".ts")}async function i(e,t,o){var r,i;const s=await n.languages.typescript.getJavaScriptWorker(),d=await s(e.uri),u=n.editor.getModel(a(e.uri)),g=e.getOffsetAt(t)-(null!==(r=null==o?void 0:o.offset)&&void 0!==r?r:0),c=await d.getCompletionsAtPosition(u.uri.toString(),g),l=e.getWordUntilPosition(t),p=new n.Range(t.lineNumber,l.startColumn,t.lineNumber,l.endColumn);return(null!==(i=null==c?void 0:c.entries)&&void 0!==i?i:[]).map((o=>{let r=p;if(o.replacementSpan){const t=e.getPositionAt(o.replacementSpan.start),a=e.getPositionAt(o.replacementSpan.start+o.replacementSpan.length);r=new n.Range(t.lineNumber,t.column,a.lineNumber,a.column)}return{uri:u.uri,position:t,offset:g,range:r,label:o.name,insertText:o.name,sortText:o.sortText,kind:n.languages.CompletionItemKind.Property}}))}function s(){return["\ndeclare namespace APP {\n const name: string;\n const id: string;\n const homepage: string;\n const currentVersion: string;\n const config: object;\n const localeName: string;\n const localeTitle: string;\n}\n",r.X2].join("\n")}},29844:(e,t,o)=>{"use strict";self.MonacoEnvironment={getWorker:function(e,t){switch(t){case"json":return new Worker(new URL(o.p+o.u(7247),o.b));case"css":case"scss":case"less":return new Worker(new URL(o.p+o.u(7716),o.b));case"html":case"handlebars":case"razor":return new Worker(new URL(o.p+o.u(8204),o.b));case"typescript":case"javascript":return new Worker(new URL(o.p+o.u(4044),o.b));default:return new Worker(new URL(o.p+o.u(548),o.b))}}}},30426:(e,t,o)=>{"use strict";o.d(t,{N:()=>N});var n,r=o(74635),a=o(70918),i=o(5536),s=o(99492),d=o(86121),u=o(70829),g=o(62740),c=o(90870),l=o(30981);let p,f,m,k,b,C,h,y,B;const{method:M,property:w}=(0,c.createDecorators)();var A=new WeakMap,F=new WeakSet,v=new WeakMap,x=new WeakMap,E=new WeakMap,D=new WeakMap,I=new WeakMap,j=new WeakMap;class N extends l.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,F),(0,a.A)(this,A,(p(this),!1)),(0,a.A)(this,v,"normal"),(0,a.A)(this,x,!1),(0,a.A)(this,E,f(this)),(0,a.A)(this,D,(m(this),k(this))),(0,a.A)(this,I,(b(this),C(this))),(0,a.A)(this,j,(h(this),y(this))),B(this)}get isFormItemElement(){return!0}set validateState(e){(0,s.A)(F,z,this,e),this._render()}get validateState(){return(0,i.A)(F,this,T)}set notRender(e){this.hidden=e,(0,s.A)(F,S,this,e),this._render()}get notRender(){return(0,i.A)(F,this,L)}get $bindFormItem(){return(0,i.A)(F,this,O)}set $bindFormItem(e){(0,s.A)(F,P,this,e),this._render()}get helpBrick(){return(0,u.A)(E,this)}set helpBrick(e){(0,d.A)(E,this,e)}get labelBrick(){return(0,u.A)(D,this)}set labelBrick(e){(0,d.A)(D,this,e)}get labelCol(){return(0,u.A)(I,this)}set labelCol(e){(0,d.A)(I,this,e)}get wrapperCol(){return(0,u.A)(j,this)}set wrapperCol(e){(0,d.A)(j,this,e)}setNotRender(e){this.notRender=e}getFormElement(){let e=this;for(;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}function L(e){return(0,u.A)(A,e)}function S(e,t){(0,d.A)(A,e,t)}function T(e){return(0,u.A)(v,e)}function z(e,t){(0,d.A)(v,e,t)}function O(e){return(0,u.A)(x,e)}function P(e,t){(0,d.A)(x,e,t)}n=N,[f,m,k,b,C,h,y,B,p]=(0,g.A)(n,[],[[w({attribute:!1}),1,"helpBrick"],[w({attribute:!1}),1,"labelBrick"],[w({attribute:!1}),1,"labelCol"],[w({attribute:!1}),1,"wrapperCol"],[M(),2,"setNotRender"],[M(),2,"getFormElement"]],0,void 0,l.ReactNextElement).e},37584:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjNDI0MjQyIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="},40739:(e,t,o)=>{"use strict";o.d(t,{X2:()=>r,xN:()=>n});const n=["target","targetRef","properties","events","method","callback","success","error","action","useProvider","useChildren","useBrick","args","if","then"],r='\n declare const DATA: any;\n declare const EVENT: CustomEvent<any>;\n declare const FLAGS: Record<string, boolean>;\n declare const ANCHOR: string | null;\n declare const HASH: string;\n declare namespace INSTALLED_APPS {\n function has(appId: string):boolean\n }\n declare const ITEM: any;\n declare const INDEX: number;\n declare const SIZE: number;\n declare namespace LOCAL_STORAGE {\n function getItem(name: string): string;\n }\n declare namespace SESSION_STORAGE {\n function getItem(name: string): string\n }\n declare const MEDIA: {\n breakpoint?: "xLarge" | "large" | "medium" | "small" | "xSmall";\n };\n declare const MISC: Record<string, any>;\n declare const PARAMS: URLSearchParams;\n declare const PROCESSORS: Record<string, Record<string, Function>>;\n declare const QUERY_ARRAY: Record<string, string[]>;\n declare const TPL: Record<string, any>;\n declare const PIPES: Record<string, Function>;\n declare const _: Record<string, any>;\n declare namespace SYS {\n const username:string;\n const userInstanceId:string;\n const org:number;\n const isAdmin: boolean;\n const accessRule:string;\n const csrfToken:string;\n const accessToken:string;\n const userShowValue:string[];\n }\n declare const BASE_URL: string;\n declare namespace IMG {\n function get(src: string): string;\n }\n declare function I18N(key: string, options?: string | Record<string, unknown>): string;\n declare function I18N_TEXT(data: {[language: string]: string}):string;\n declare namespace PERMISSIONS {\n function check(...action: string[]):boolean;\n }\n declare namespace THEME {\n function getTheme(): "light" | "dark" | "dark-v2";\n }\n'},43271:(e,t,o)=>{"use strict";o.d(t,{A:()=>s});var n=o(36758),r=o.n(n),a=o(40935),i=o.n(a)()(r());i.push([e.id,".highlight{box-shadow:rgb(74 170 189) 0px 1px 0px 0px}.pointer{cursor:pointer}.monaco-editor{outline-width:0;background:none}.monaco-editor .overflow-guard{border-radius:var(--antd-button-border-radius);border:1px solid var(--color-border-divider-line)}.code-editor-wrapper.error .overflow-guard{border-color:var(--antd-error-color)}.code-editor-wrapper{position:relative}.code-editor-wrapper.expanded{position:fixed;z-index:1000;top:0;left:0;right:0;bottom:0;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.toolbar-wrapper{position:absolute;z-index:4;top:0;bottom:0;right:0;pointer-events:none;padding:15px 20px}.toolbar{pointer-events:auto;display:none;line-height:12px;font-size:12px;text-align:center;gap:10px;box-shadow:none;transition:none;border-radius:50%;border:none}.code-editor-wrapper:not(.expanded) .toolbar.sticky{position:sticky;top:15px}.code-editor-wrapper.expanded .toolbar-wrapper{right:40px;top:40px}.code-editor-wrapper:hover .toolbar{display:flex}.copy-icon,\n.expand-icon{opacity:0.5;cursor:pointer;font-size:16px}.copy-icon:hover,\n.expand-icon:hover{opacity:1}.monaco-editor.monaco-editor-v3 .find-widget > .find-part,\n.monaco-editor.monaco-editor-v3 .find-widget > .replace-part{margin-right:25px}.monaco-editor.monaco-editor-v3 .find-widget .button:not(.toggle){box-sizing:content-box}.monaco-editor.monaco-editor-v3 .sticky-line-number{text-align:initial;float:initial}",""]);const s=i},44804:(e,t,o)=>{"use strict";let n;function r(e){n=e}function a(){return n}o.d(t,{B:()=>a,J:()=>r})},46587:e=>{"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII="},46984:(e,t,o)=>{"use strict";o.d(t,{ZY:()=>l,MY:()=>p,ix:()=>c});var n=o(62001),r=o(49936),a=o(90896),i=o(44804);function s(e,t){const o=d(e,"<%",t);if(!o)return!1;const n=u(e,"%>",t);if(!n)return!1;const r=d(e,"%>",t);if(r&&o.range.getEndPosition().isBefore(r.range.getStartPosition()))return!1;const a=u(e,"<%",t);return!a||!a.range.getStartPosition().isBefore(n.range.getEndPosition())}function d(e,t,o){const n=e.findPreviousMatch(t,o,!1,!1,null,!1);return n&&o.isBefore(n.range.getStartPosition())?null:n}function u(e,t,o){const n=e.findNextMatch(t,o,!1,!1,null,!1);return n&&n.range.getEndPosition().isBefore(o)?null:n}const g={request:["uri","query","header","body"]};function c(e,t,o){if("<"!==o.triggerCharacter||s(e,t))return{suggestions:[]};const r=e.getValueInRange({startLineNumber:t.lineNumber,startColumn:t.column-2,endLineNumber:t.lineNumber,endColumn:t.column+1});if(!/^(['"]?)<\1$/.test(r.trim()))return{suggestions:[]};const a=e.getWordUntilPosition(t),i={startLineNumber:t.lineNumber,startColumn:a.startColumn,endLineNumber:t.lineNumber,endColumn:a.endColumn};return{suggestions:[{label:"<% %>",detail:"CEL body",kind:n.languages.CompletionItemKind.Value,insertText:"% ${0} %>",insertTextRules:n.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:i}]}}function l(e){return{triggerCharacters:["."],provideCompletionItems(t,o,i){if("cel"!==e&&!s(t,o))return{suggestions:[]};const d=t.getWordUntilPosition(o),u={startLineNumber:o.lineNumber,startColumn:d.startColumn,endLineNumber:o.lineNumber,endColumn:d.endColumn},c=t.getWordUntilPosition(new n.Position(o.lineNumber,d.startColumn-1));if("."===i.triggerCharacter||"."===t.getValueInRange({startLineNumber:o.lineNumber,startColumn:c.endColumn,endLineNumber:o.lineNumber,endColumn:d.startColumn}).trim()){const e=c.word&&(0,r.hasOwnProperty)(g,c.word)?g[c.word]:void 0;return e?{suggestions:e.map((e=>({label:e,insertText:e,kind:n.languages.CompletionItemKind.Method,range:u})))}:a.AA.includes(c.word)?{suggestions:[]}:{suggestions:a.D$.map((e=>({label:e,insertText:e,kind:n.languages.CompletionItemKind.Method,range:u})))}}return{suggestions:a.AA.map((e=>({label:e,insertText:e,kind:n.languages.CompletionItemKind.Keyword,range:u})))}}}}function p(e,t,o){return{triggerCharacters:["."],provideCompletionItems(a,d,u){if(t!==(0,i.B)()||"cel"!==e&&!s(a,d))return{suggestions:[]};const g=a.getWordUntilPosition(d),c=a.getWordUntilPosition(new n.Position(d.lineNumber,g.startColumn-1));if("."!==u.triggerCharacter&&"."!==a.getValueInRange({startLineNumber:d.lineNumber,startColumn:c.endColumn,endLineNumber:d.lineNumber,endColumn:g.startColumn}).trim())return{suggestions:[]};let l;if(c.word)for(const e of o)"members"===e.type&&(0,r.hasOwnProperty)(e.members,c.word)&&(l=e.members[c.word]);if(!l)return{suggestions:[]};const p={startLineNumber:d.lineNumber,endLineNumber:d.lineNumber,startColumn:g.startColumn,endColumn:g.endColumn};return{suggestions:l.map((e=>({label:e,insertText:e,kind:n.languages.CompletionItemKind.Method,range:p})))}}}}},47726:(e,t,o)=>{"use strict";o.d(t,{$:()=>h,F:()=>c});var n=o(70918),r=o(70829),a=o(86121),i=o(62001);const s={brick_next_yaml:'你是一个编程助手,主要用于 Visual Builder 中的 YAML 配置的代码补全。\n\nYAML 中可以使用 `<% %>` 嵌入 JS 表达式,例如:\n\n```yamlyaml\ngroups: <% _.groupBy(CTX.hosts, "idc") %>\n```\n\nJS 表达式中可以使用 lodash (`_`) 和 moment。\n\n提供简洁易读的代码补全,语法和逻辑准确,与现有上下文无缝集成,格式优雅。如果要添加注释,不要放在行尾部,应该单独成行。',javascript:d("JavaScript"),typescript:d("TypeScript")};function d(e){return`你是一个编程助手,主要用于 Visual Builder 中的 ${e} 函数的代码补全。\n\n提供简洁易读的代码补全,语法和逻辑准确,与现有上下文无缝集成,格式优雅。如果要添加注释,不要放在行尾部,应该单独成行。`}var u=o(29755);function g(e){let t="",o="";return{trimmed:e.replace(/^\s+/,(e=>(t=e,""))).replace(/\s+$/,(e=>(o=e,""))),leading:t,trailing:o}}const c=Object.freeze(["typescript","javascript","brick_next_yaml"]);var l=new WeakMap,p=new WeakMap,f=new WeakMap,m=new WeakMap,k=new WeakMap,b=new WeakMap,C=new WeakMap;class h{constructor(e){var t,o,r;(0,n.A)(this,l,null),(0,n.A)(this,p,null),(0,n.A)(this,f,void 0),(0,n.A)(this,m,void 0),(0,n.A)(this,k,void 0),(0,n.A)(this,b,void 0),(0,n.A)(this,C,void 0),(0,a.A)(f,this,null!==(t=e.debounce)&&void 0!==t?t:750),(0,a.A)(k,this,e.HttpAbortError),(0,a.A)(b,this,e.request),(0,a.A)(C,this,null!==(o=e.model)&&void 0!==o?o:"qwen-coder-turbo"),(0,a.A)(m,this,null!==(r=e.timeout)&&void 0!==r?r:12e3)}async provideInlineCompletions(e,t,o,n){const d=new AbortController;var c;return n.onCancellationRequested((()=>{d.abort()})),(0,r.A)(l,this)&&(clearTimeout((0,r.A)(l,this)),null===(c=(0,r.A)(p,this))||void 0===c||c.call(this,null),(0,a.A)(l,this,null),(0,a.A)(p,this,null)),new Promise((o=>{(0,a.A)(p,this,o),(0,a.A)(l,this,setTimeout((async()=>{(0,a.A)(l,this,null),(0,a.A)(p,this,null),n.isCancellationRequested&&o(null);const c=e.getLanguageId(),f=e.getValue(),h=e.getLineContent(t.lineNumber);if(0===f.trim().length||t.column===e.getLineLength(t.lineNumber)+1&&("brick_next_yaml"===c?/\s+%>\s*$/.test(h):/[;,}\]]\s*$/.test(h)))return void o(null);const y=setTimeout((()=>{d.abort()}),(0,r.A)(m,this));try{const n=await async function(e){let{request:t,model:o,source:n,language:r,offset:a,signal:i}=e;const d=n.slice(0,a),c=n.slice(a),l="brick_next_yaml"===r?"# File: config.yaml\n":`// File utils.${"javascript"===r?"js":"ts"}\n`,p=await t({model:o,system:s[r],prompt:`<|fim_prefix|>${l}${d}<|fim_suffix|>${c}<|fim_middle|>`,temperature:.2,signal:i}),f=null==p?void 0:p.match(/(?:^|\n)```(?:\w*)\n([\s\S]*?)(?:\n```(?:\n|$)|$)/);if(!f)return console.error("No code block found in response.",p),null;const m=function(e,t,o){const n=e.replace(/^\n+|\n+$/g,""),r=t.replace(/^\n+/g,""),a=o.replace(/\n+$/g,""),i=n.split("\n"),s=r.split("\n"),d=a.split("\n"),c=s.length,l=Math.max(0,s.length-i.length),p=`${l>0?s.slice(l).join("\n"):r}${d.length>i.length?d.slice(0,i.length).join("\n"):a}`,f=(0,u.Pp)(p,n,{ignoreWhitespace:!0});let m=l,k=!1,b="unchanged";for(let e=0;e<f.length;e++){const t=f[e];b=t.removed?"removed":t.added?"added":"unchanged";const o=f[e+1],n=null!=o&&o.removed?"removed":null!=o&&o.added?"added":"unchanged";if("added"!==b?m+=t.count:0===e&&1===f.length&&m++,!k&&(k=m>=c,k)){const e=m-c;if("unchanged"===b&&0===e&&"added"===n||"added"===b&&0===e||"removed"===b&&"added"===n){const e="added"===b?t:o,n=`${"unchanged"===b?`${t.value.replace(/\n$/,"").split("\n").pop()}\n`:""}${e.value.replace(/\n$/,"")}`.split("\n"),r=n[n.length-1],a=s[c-1],i=d[0],{trimmed:u,trailing:l}=g(r),{trimmed:p,leading:f,trailing:m}=g(a),{trimmed:k,leading:C}=g(i);for(let e=0;e<n.length;e++){const t=n[e],{trimmed:o,leading:r}=g(t);if(o.startsWith(p)&&u.endsWith(k)){const t=n.slice(e).join("\n"),a=r.length+p.length,i=t.length-(l.length+k.length),s=t.slice(a,i),{leading:d,trailing:u}=g(s),c=s.slice(Math.min(d.length,m.length),s.length-Math.min(u.length,C.length));if(f.length>r.length&&o.length>0&&p.length>0&&f.startsWith(r)){const e=f.slice(r.length);return c.split("\n").map(((t,o)=>0===o?t:`${e}${t}`)).join("\n")}return c}}}break}}if(f.filter((e=>!(e.added||e.removed))).reduce(((e,t)=>e+t.count),0)/p.split("\n").length<.2){var C,h;const e=n.trimStart(),t=null!==(C=null===(h=s[s.length-1].match(/^\s+/))||void 0===h?void 0:h[0])&&void 0!==C?C:"";return t?e.split("\n").map(((e,o)=>0===o?e:`${t}${e}`)).join("\n"):e}return null}(f[1].startsWith(l)?f[1].slice(l.length):f[1],d,c);return m&&/\S/.test(m)?m:(console.warn("Response is invalid:",p),null)}({request:(0,r.A)(b,this),model:(0,r.A)(C,this),source:f,offset:e.getOffsetAt(t),language:c,signal:d.signal});if(!n)return null;o({enableForwardStability:!0,items:[{insertText:n,range:new i.Range(t.lineNumber,t.column,t.lineNumber,t.column)}]})}catch(e){e instanceof(0,r.A)(k,this)||console.error("Error fetching inline completion:",e),o(null)}finally{clearTimeout(y)}}),(0,r.A)(f,this)))}))}freeInlineCompletions(){}}},55262:(e,t,o)=>{"use strict";o.d(t,{$:()=>a});var n=o(62001);let r;function a(e,t){for(const e of null!=r?r:[])e.dispose();r=null==e?void 0:e.map((e=>{const o=n.Uri.file(`libs/${e.filePath}`).toString();return n.languages.typescript[t.languageDefaults].addExtraLib(e.content,o)}))}},62066:(e,t,o)=>{"use strict";o.d(t,{kz:()=>a});const n={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:o(62001).languages.IndentAction.Indent}}]},r={tokenPostfix:".yaml.cel",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","NULL","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["tag","white","operators","white"]],{include:"@flowScalars"},{include:"@flowExpression"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"tag"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +)(<%(?:\s|$))/,["string",{token:"@rematch",next:"@multiExpression.$1"}]],[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *)(.+)$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@singleQuotedString"],[/"/,"string","@doubleQuotedString"]],singleQuotedString:[{include:"@expressionStart"},[/(%>)(\s*)(')/,[{token:"delimiter",bracket:"@close"},"white",{token:"string",next:"@pop"}]],[/[^']*'/,"string","@pop"]],doubleQuotedString:[{include:"@expressionStart"},[/(%>)(\s*)(")/,[{token:"delimiter",bracket:"@close"},"white",{token:"string",next:"@pop"}]],[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]],flowExpression:[{include:"@expressionStart"},[/(\s+)(%>)(\s*)/,["white",{token:"delimiter",bracket:"@close"},{token:"white",next:"@pop"}]]],expressionStart:[[/(\s*)(<%)(\s+)/,["white",{token:"delimiter",bracket:"@open"},{token:"white",next:"@expressionEmbedded",nextEmbedded:"text/cel"}]]],multiExpression:[[/(<%)/,{token:"delimiter",next:"@expressionEmbedded",nextEmbedded:"text/cel",bracket:"@open"}],[/(%>)(\s*)/,[{token:"delimiter",bracket:"@close"},{token:"white",next:"@pop"}]],[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],expressionEmbedded:[[/%>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]]}};function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cel_yaml";e.languages.register({id:t,extensions:[".cel-yaml"],mimetypes:["text/cel-yaml"]}),e.languages.setLanguageConfiguration(t,n),e.languages.setMonarchTokensProvider(t,r)}},71836:(e,t,o)=>{"use strict";o.d(t,{j:()=>a});var n=o(24586),r=o(62001);class a{constructor(e,t,o){(0,n.A)(this,"domNode",void 0),(0,n.A)(this,"placeholder",void 0),(0,n.A)(this,"editor",void 0),(0,n.A)(this,"color",void 0),this.placeholder=e,this.editor=t,this.color=o,this.editor.onDidChangeModelContent((()=>this.onDidChangeModelContent())),this.onDidChangeModelContent()}onDidChangeModelContent(){var e,t,o,n;""===(null===(e=this.editor)||void 0===e||null===(t=e.getValue)||void 0===t?void 0:t.call(e))?this.editor.addContentWidget(this):null===(o=this.editor)||void 0===o||null===(n=o.removeContentWidget)||void 0===n||n.call(o,this)}getId(){return a.ID}getDomNode(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="max-content",this.domNode.style.pointerEvents="none",this.domNode.textContent=this.placeholder,this.domNode.style.whiteSpace="break-spaces",this.domNode.style.fontStyle="italic",this.domNode.style.color=this.color,this.editor.applyFontInfo(this.domNode)),this.domNode}getPosition(){return{position:{lineNumber:1,column:1},preference:[r.editor.ContentWidgetPositionPreference.EXACT]}}dispose(){var e,t;null===(e=this.editor)||void 0===e||null===(t=e.removeContentWidget)||void 0===t||t.call(e,this)}}(0,n.A)(a,"ID","editor.widget.placeholderHint")},73569:(e,t,o)=>{"use strict";var n=o(72591),r=o.n(n),a=o(1740),i=o.n(a),s=o(88128),d=o.n(s),u=o(30855),g=o.n(u),c=o(93051),l=o.n(c),p=o(73656),f=o.n(p),m=o(43271),k={};k.styleTagTransform=f(),k.setAttributes=g(),k.insert=d().bind(null,"head"),k.domAPI=i(),k.insertStyleElement=l(),r()(m.A,k),m.A&&m.A.locals&&m.A.locals},81076:(e,t,o)=>{var n={"./JSON.tmLanguage.json":[33887,3887],"./JavaScript.tmLanguage.json":[43272,3272],"./JavaScriptReact.tmLanguage.json":[28267,8267],"./MagicPython.tmLanguage.json":[42370,2370],"./TypeScript.tmLanguage.json":[66272,6272],"./TypeScriptReact.tmLanguage.json":[96595,6595],"./brick-next/builtin-entity.json":[22385,2385],"./brick-next/injection-quoted-double.json":[13354,3354],"./brick-next/injection-quoted-single.json":[51427,1427],"./brick-next/injection-unquoted.json":[49519,9519],"./css.tmLanguage.json":[53872,3872],"./go.tmLanguage.json":[62859,2859],"./html-derivative.tmLanguage.json":[71442,1442],"./html.tmLanguage.json":[96206,6206],"./java.tmLanguage.json":[26485,6485],"./markdown.tmLanguage.json":[45014,5014],"./powershell.tmLanguage.json":[58350,8350],"./shell-unix-bash.tmLanguage.json":[51545,1545],"./xml.tmLanguage.json":[29041,1422],"./yaml-1.0.tmLanguage.json":[77384,7384],"./yaml-1.1.tmLanguage.json":[42953,2953],"./yaml-1.2.tmLanguage.json":[60658,658],"./yaml-1.3.tmLanguage.json":[91867,1867],"./yaml-embedded.tmLanguage.json":[87825,7825],"./yaml.tmLanguage.json":[78816,8816]};function r(e){if(!o.o(n,e))return Promise.resolve().then((()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=n[e],r=t[0];return o.e(t[1]).then((()=>o.t(r,17)))}r.keys=()=>Object.keys(n),r.id=81076,e.exports=r},85808:(e,t,o)=>{"use strict";o.d(t,{n:()=>i});var n=o(47695);let r,a;function i(){return r||(r=(async()=>{const e=(0,n.LV)((a||(a=new Worker(new URL(o.p+o.u(2675),o.b))),a));return await new e})()),r}},86060:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCA1MyAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNDguMDM2NCA0LjAxMDQySDQuMDA3NzlMNC4wMDc3OSAzMi4wMjg2SDQ4LjAzNjRWNC4wMTA0MlpNNC4wMDc3OSAwLjAwNzgxMjVDMS43OTcyMSAwLjAwNzgxMjUgMC4wMDUxODc5OSAxLjc5OTg0IDAuMDA1MTg3OTkgNC4wMTA0MlYzMi4wMjg2QzAuMDA1MTg3OTkgMzQuMjM5MiAxLjc5NzIxIDM2LjAzMTIgNC4wMDc3OSAzNi4wMzEySDQ4LjAzNjRDNTAuMjQ3IDM2LjAzMTIgNTIuMDM5IDM0LjIzOTIgNTIuMDM5IDMyLjAyODZWNC4wMTA0MkM1Mi4wMzkgMS43OTk4NCA1MC4yNDcgMC4wMDc4MTI1IDQ4LjAzNjQgMC4wMDc4MTI1SDQuMDA3NzlaTTguMDEwNDIgOC4wMTMwMkgxMi4wMTNWMTIuMDE1Nkg4LjAxMDQyVjguMDEzMDJaTTIwLjAxODIgOC4wMTMwMkgxNi4wMTU2VjEyLjAxNTZIMjAuMDE4MlY4LjAxMzAyWk0yNC4wMjA4IDguMDEzMDJIMjguMDIzNFYxMi4wMTU2SDI0LjAyMDhWOC4wMTMwMlpNMzYuMDI4NiA4LjAxMzAySDMyLjAyNlYxMi4wMTU2SDM2LjAyODZWOC4wMTMwMlpNNDAuMDMxMiA4LjAxMzAySDQ0LjAzMzlWMTIuMDE1Nkg0MC4wMzEyVjguMDEzMDJaTTE2LjAxNTYgMTYuMDE4Mkg4LjAxMDQyVjIwLjAyMDhIMTYuMDE1NlYxNi4wMTgyWk0yMC4wMTgyIDE2LjAxODJIMjQuMDIwOFYyMC4wMjA4SDIwLjAxODJWMTYuMDE4MlpNMzIuMDI2IDE2LjAxODJIMjguMDIzNFYyMC4wMjA4SDMyLjAyNlYxNi4wMTgyWk00NC4wMzM5IDE2LjAxODJWMjAuMDIwOEgzNi4wMjg2VjE2LjAxODJINDQuMDMzOVpNMTIuMDEzIDI0LjAyMzRIOC4wMTA0MlYyOC4wMjZIMTIuMDEzVjI0LjAyMzRaTTE2LjAxNTYgMjQuMDIzNEgzNi4wMjg2VjI4LjAyNkgxNi4wMTU2VjI0LjAyMzRaTTQ0LjAzMzkgMjQuMDIzNEg0MC4wMzEyVjI4LjAyNkg0NC4wMzM5VjI0LjAyMzRaIiBmaWxsPSIjQzVDNUM1Ii8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iY2xpcDAiPgo8cmVjdCB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9IndoaXRlIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg=="},88849:(e,t,o)=>{"use strict";o.d(t,{A:()=>k,e:()=>u});var n=o(62001),r=o(25726),a=o(27107),i=o(24619);const s={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:n.languages.IndentAction.Indent}}]},d=new Map;d.set("javascript","source.js.jsx"),d.set("typescript","source.tsx"),d.set("html","text.html.basic"),d.set("markdown","text.html.markdown"),d.set("xml","text.xml"),d.set("css","source.css"),d.set("json","source.json"),d.set("python","source.python"),d.set("go","source.go"),d.set("java","source.java"),d.set("shell","source.shell"),d.set("powershell","source.powershell"),d.set("yaml","source.yaml"),d.set("brick_next_yaml","source.brick_next_yaml");const u=[...d.keys()];var g;(g=n).languages.register({id:"brick_next_yaml",extensions:[".yaml",".yml"],mimetypes:["application/x-yaml","text/x-yaml"]}),g.languages.setLanguageConfiguration("brick_next_yaml",s);const c=new Map([["source.js","JavaScript.tmLanguage"],["source.js.jsx","JavaScriptReact.tmLanguage"],["source.ts","TypeScript.tmLanguage"],["source.tsx","TypeScriptReact.tmLanguage"],["text.html.basic","html.tmLanguage"],["text.html.derivative","html-derivative.tmLanguage"],["text.html.markdown","markdown.tmLanguage"],["text.xml","xml.tmLanguage"],["source.css","css.tmLanguage"],["source.json","JSON.tmLanguage"],["source.python","MagicPython.tmLanguage"],["source.go","go.tmLanguage"],["source.java","java.tmLanguage"],["source.shell","shell-unix-bash.tmLanguage"],["source.powershell","powershell.tmLanguage"],["source.yaml","yaml.tmLanguage"],["source.yaml.1.0","yaml-1.0.tmLanguage"],["source.yaml.1.1","yaml-1.1.tmLanguage"],["source.yaml.1.2","yaml-1.2.tmLanguage"],["source.yaml.1.3","yaml-1.3.tmLanguage"],["source.yaml.embedded","yaml-embedded.tmLanguage"],["source.brick_next_yaml","yaml.tmLanguage"],["placeholder.injection.string.unquoted","brick-next/injection-unquoted"],["placeholder.injection.string.quoted.double","brick-next/injection-quoted-double"],["placeholder.injection.string.quoted.single","brick-next/injection-quoted-single"],["builtin.entity.injection.string","brick-next/builtin-entity"]]),l=fetch(i).then((e=>e.arrayBuffer())).then((e=>(0,a.loadWASM)({data:e}))),p=new r.Registry({onigLib:l.then((()=>({createOnigScanner:e=>new a.OnigScanner(e),createOnigString:e=>new a.OnigString(e)}))),async loadGrammar(e){const t=c.get(e);if(t){const n=(await o(81076)(`./${t}.json`)).default;return"source.brick_next_yaml"===e?{...n,scopeName:e}:n}return null},getInjections:e=>"source.brick_next_yaml"===e?["placeholder.injection.string.unquoted","placeholder.injection.string.quoted.double","placeholder.injection.string.quoted.single","builtin.entity.injection.string"]:[]}),f=new Map,m=new Set;function k(e){if(m.has(e))return;m.add(e);const t=d.get(e);t&&n.languages.setTokensProvider(e,function(e){let t=f.get(e);return t||(t=async function(e){const t=await p.loadGrammar(e);if(!t)throw new Error("Failed to load grammar");return{getInitialState:()=>r.INITIAL,tokenize(e,o){const n=t.tokenizeLine(e,o),r=[];for(const e of n.tokens)r.push({startIndex:e.startIndex,scopes:e.scopes[e.scopes.length-1]});return{tokens:r,endState:n.ruleStack}}}}(e),f.set(e,t)),t}(t))}},90896:(e,t,o)=>{"use strict";o.d(t,{AA:()=>r,D$:()=>a,kz:()=>s,xf:()=>n});const n={comments:{lineComment:"//",blockComment:null},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],onEnterRules:[{beforeText:/^ $/,afterText:/^ $/,action:{indentAction:o(62001).languages.IndentAction.IndentOutdent,appendText:" "}}]},r=["bytes","double","duration","dyn","int","bool","matches","size","string","timestamp","type","uint","round","base64","has","printf","isEmpty","repeatArray","mergeList","fieldNotEmpty","hasOrDefault","trinocular","traceId","SHA1","random","random_string","now","request","step","variable","config","$"],a=["contains","endsWith","matches","startsWith","getDate","getDayOfMonth","getDayOfWeek","getDayOfYear","getFullYear","getHours","getMilliseconds","getMinutes","getMonth","getSeconds","charAt","indexOf","lastIndexOf","lowerAscii","replace","split","join","substring","trim","upperAscii","all","exists","exists_one","map","filter","decodeb64","truncate","parseJSON","parseYAML","parseURL","isBlank","marshalJSON","marshalYAML","merge","repeat","match","canonical","convertMap","fuse","remove","setAttr","parseDate","format","input","output"],i={defaultToken:"invalid",tokenPostfix:".cel",keywords:["in","as","break","const","continue","else","for","function","if","import","let","loop","package","namespace","return","var","void","while","null","true","false"],constants:r,instanceMethods:a,operators:["&&","||","<=","<",">=",">","==","!=","+","-","*","/","%","!"],symbols:/[=><!~?:&|+\-*/^%]+/,escapes:/\\(?:[bfnrt\\"']|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|[0-3][0-7]{2})/,tokenizer:{root:[[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":"keyword","@constants":"keyword","@default":"identifier"}}],[/(\.)([a-zA-Z_$][\w$]*)/,["operator",{cases:{"@instanceMethods":"keyword","@default":"identifier"}}]],{include:"@whitespace"},[/[{}()[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\.\d+([eE][-+]?\d+)?/,"number.float"],[/0x[0-9a-fA-F]+[uU]?/,"number.hex"],[/\d+[uU]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\/.*$/,"comment"]]}};function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cel";e.languages.register({id:t,extensions:[".cel"],mimetypes:["text/cel"]}),e.languages.setLanguageConfiguration(t,n),e.languages.setMonarchTokensProvider(t,i)}},97137:(e,t,o)=>{"use strict";o.d(t,{Vu:()=>i,fE:()=>r,lP:()=>a,yU:()=>n});const n=12,r=18,a=12,i=12},97716:(e,t,o)=>{"use strict";o.d(t,{v:()=>a});const n=new RegExp("\\b(MARK:\\s*)(.*)$"),r=/^-+|-+$/g;function a(e,t){var o;let n=[];if(t.findRegionSectionHeaders&&(null===(o=t.foldingRules)||void 0===o?void 0:o.markers)){const o=function(e,t){const o=[],n=e.getLineCount();for(let r=1;r<=n;r++){const n=e.getLineContent(r),a=n.match(t.foldingRules.markers.start);if(a){const e={startLineNumber:r,startColumn:a[0].length+1,endLineNumber:r,endColumn:n.length+1};if(e.endColumn>e.startColumn){const t={range:e,...s(n.substring(a[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&o.push(t)}}}return o}(e,t);n=n.concat(o)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],o=e.getLineCount();for(let n=1;n<=o;n++)i(e.getLineContent(n),n,t);return t}(e);n=n.concat(t)}return n}function i(e,t,o){n.lastIndex=0;const r=n.exec(e);if(r){const e=r.index+r[1].length+1,n={startLineNumber:t,startColumn:e,endLineNumber:t,endColumn:e+r[2].length};if(n.endColumn>n.startColumn){const e={range:n,...s(r[1]),shouldBeInComments:!0};(e.text||e.hasSeparatorLine)&&o.push(e)}}}function s(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(r,""),hasSeparatorLine:t}}},98546:(e,t,o)=>{"use strict";o.d(t,{kz:()=>i});var n=o(90896);const r={brackets:n.xf.brackets,autoClosingPairs:n.xf.autoClosingPairs},a={tokenPostfix:".yaml.str",tokenizer:{root:[{include:"@whitespace"},{include:"@expression"},{include:"@strings"}],expression:[[/<%/,{token:"delimiter",next:"@expressionEmbedded",nextEmbedded:"text/cel",bracket:"@open"}],[/%>/,{token:"delimiter",bracket:"@close"}]],expressionEmbedded:[[/%>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],strings:[[/[^<]+|<(?!%)/,"string"]],whitespace:[[/[ \t\r\n]+/,"white"]]}};function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cel_str";e.languages.register({id:t,extensions:[".cel-str"],mimetypes:["text/cel-str"]}),e.languages.setLanguageConfiguration(t,r),e.languages.setMonarchTokensProvider(t,a)}},98967:e=>{"use strict";e.exports=JSON.parse('{"inherit":false,"base":"vs-dark","colors":{"checkbox.border":"#3C3C3C","editor.background":"#1F1F1F","editor.foreground":"#CCCCCC","editor.inactiveSelectionBackground":"#3A3D41","editorIndentGuide.background1":"#404040","editorIndentGuide.activeBackground1":"#707070","editor.selectionHighlightBackground":"#ADD6FF26","list.dropBackground":"#383B3D","activityBarBadge.background":"#0078D4","sideBarTitle.foreground":"#CCCCCC","input.placeholderForeground":"#989898","menu.background":"#1F1F1F","menu.foreground":"#CCCCCC","menu.separatorBackground":"#454545","menu.border":"#454545","menu.selectionBackground":"#0078d4","statusBarItem.remoteForeground":"#FFFFFF","statusBarItem.remoteBackground":"#0078D4","ports.iconRunningProcessForeground":"#369432","sideBarSectionHeader.background":"#181818","sideBarSectionHeader.border":"#2B2B2B","tab.selectedBackground":"#222222","tab.selectedForeground":"#ffffffa0","tab.lastPinnedBorder":"#ccc3","list.activeSelectionIconForeground":"#FFF","terminal.inactiveSelectionBackground":"#3A3D41","widget.border":"#313131","actionBar.toggledBackground":"#383a49","activityBar.activeBorder":"#0078D4","activityBar.background":"#181818","activityBar.border":"#2B2B2B","activityBar.foreground":"#D7D7D7","activityBar.inactiveForeground":"#868686","activityBarBadge.foreground":"#FFFFFF","badge.background":"#616161","badge.foreground":"#F8F8F8","button.background":"#0078D4","button.border":"#FFFFFF12","button.foreground":"#FFFFFF","button.hoverBackground":"#026EC1","button.secondaryBackground":"#313131","button.secondaryForeground":"#CCCCCC","button.secondaryHoverBackground":"#3C3C3C","chat.slashCommandBackground":"#26477866","chat.slashCommandForeground":"#85B6FF","chat.editedFileForeground":"#E2C08D","checkbox.background":"#313131","debugToolBar.background":"#181818","descriptionForeground":"#9D9D9D","dropdown.background":"#313131","dropdown.border":"#3C3C3C","dropdown.foreground":"#CCCCCC","dropdown.listBackground":"#1F1F1F","editor.findMatchBackground":"#9E6A03","editorGroup.border":"#FFFFFF17","editorGroupHeader.tabsBackground":"#181818","editorGroupHeader.tabsBorder":"#2B2B2B","editorGutter.addedBackground":"#2EA043","editorGutter.deletedBackground":"#F85149","editorGutter.modifiedBackground":"#0078D4","editorLineNumber.activeForeground":"#CCCCCC","editorLineNumber.foreground":"#6E7681","editorOverviewRuler.border":"#010409","editorWidget.background":"#202020","errorForeground":"#F85149","focusBorder":"#0078D4","foreground":"#CCCCCC","icon.foreground":"#CCCCCC","input.background":"#313131","input.border":"#3C3C3C","input.foreground":"#CCCCCC","inputOption.activeBackground":"#2489DB82","inputOption.activeBorder":"#2488DB","keybindingLabel.foreground":"#CCCCCC","notificationCenterHeader.background":"#1F1F1F","notificationCenterHeader.foreground":"#CCCCCC","notifications.background":"#1F1F1F","notifications.border":"#2B2B2B","notifications.foreground":"#CCCCCC","panel.background":"#181818","panel.border":"#2B2B2B","panelInput.border":"#2B2B2B","panelTitle.activeBorder":"#0078D4","panelTitle.activeForeground":"#CCCCCC","panelTitle.inactiveForeground":"#9D9D9D","peekViewEditor.background":"#1F1F1F","peekViewEditor.matchHighlightBackground":"#BB800966","peekViewResult.background":"#1F1F1F","peekViewResult.matchHighlightBackground":"#BB800966","pickerGroup.border":"#3C3C3C","progressBar.background":"#0078D4","quickInput.background":"#222222","quickInput.foreground":"#CCCCCC","settings.dropdownBackground":"#313131","settings.dropdownBorder":"#3C3C3C","settings.headerForeground":"#FFFFFF","settings.modifiedItemIndicator":"#BB800966","sideBar.background":"#181818","sideBar.border":"#2B2B2B","sideBar.foreground":"#CCCCCC","sideBarSectionHeader.foreground":"#CCCCCC","statusBar.background":"#181818","statusBar.border":"#2B2B2B","statusBar.debuggingBackground":"#0078D4","statusBar.debuggingForeground":"#FFFFFF","statusBar.focusBorder":"#0078D4","statusBar.foreground":"#CCCCCC","statusBar.noFolderBackground":"#1F1F1F","statusBarItem.focusBorder":"#0078D4","statusBarItem.prominentBackground":"#6E768166","tab.activeBackground":"#1F1F1F","tab.activeBorder":"#1F1F1F","tab.activeBorderTop":"#0078D4","tab.activeForeground":"#FFFFFF","tab.selectedBorderTop":"#6caddf","tab.border":"#2B2B2B","tab.hoverBackground":"#1F1F1F","tab.inactiveBackground":"#181818","tab.inactiveForeground":"#9D9D9D","tab.unfocusedActiveBorder":"#1F1F1F","tab.unfocusedActiveBorderTop":"#2B2B2B","tab.unfocusedHoverBackground":"#1F1F1F","terminal.foreground":"#CCCCCC","terminal.tab.activeBorder":"#0078D4","textBlockQuote.background":"#2B2B2B","textBlockQuote.border":"#616161","textCodeBlock.background":"#2B2B2B","textLink.activeForeground":"#4daafc","textLink.foreground":"#4daafc","textPreformat.foreground":"#D0D0D0","textPreformat.background":"#3C3C3C","textSeparator.foreground":"#21262D","titleBar.activeBackground":"#181818","titleBar.activeForeground":"#CCCCCC","titleBar.border":"#2B2B2B","titleBar.inactiveBackground":"#1F1F1F","titleBar.inactiveForeground":"#9D9D9D","welcomePage.tileBackground":"#2B2B2B","welcomePage.progress.foreground":"#0078D4"},"rules":[{"foreground":"#CCCCCC","token":"punctuation.section.embedded.begin.yaml"},{"foreground":"#CCCCCC","token":"punctuation.section.embedded.end.yaml"},{"foreground":"#6A9955","token":"punctuation.definition.comment"},{"foreground":"#ce9178","token":"punctuation.definition.string"},{"foreground":"#D4D4D4","token":"meta.embedded"},{"foreground":"#D4D4D4","token":"source.groovy.embedded"},{"foreground":"#D4D4D4","token":"string meta.image.inline.markdown"},{"foreground":"#D4D4D4","token":"variable.legacy.builtin.python"},{"fontStyle":"italic","token":"emphasis"},{"fontStyle":"bold","token":"strong"},{"foreground":"#000080","token":"header"},{"foreground":"#6A9955","token":"comment"},{"foreground":"#569cd6","token":"constant.language"},{"foreground":"#b5cea8","token":"constant.numeric"},{"foreground":"#b5cea8","token":"variable.other.enummember"},{"foreground":"#b5cea8","token":"keyword.operator.plus.exponent"},{"foreground":"#b5cea8","token":"keyword.operator.minus.exponent"},{"foreground":"#646695","token":"constant.regexp"},{"foreground":"#569cd6","token":"entity.name.tag"},{"foreground":"#d7ba7d","token":"entity.name.tag.css"},{"foreground":"#d7ba7d","token":"entity.name.tag.less"},{"foreground":"#9cdcfe","token":"entity.other.attribute-name"},{"foreground":"#d7ba7d","token":"entity.other.attribute-name.class.css"},{"foreground":"#d7ba7d","token":"source.css entity.other.attribute-name.class"},{"foreground":"#d7ba7d","token":"entity.other.attribute-name.id.css"},{"foreground":"#d7ba7d","token":"entity.other.attribute-name.parent-selector.css"},{"foreground":"#d7ba7d","token":"entity.other.attribute-name.parent.less"},{"foreground":"#d7ba7d","token":"source.css entity.other.attribute-name.pseudo-class"},{"foreground":"#d7ba7d","token":"entity.other.attribute-name.pseudo-element.css"},{"foreground":"#d7ba7d","token":"source.css.less entity.other.attribute-name.id"},{"foreground":"#d7ba7d","token":"entity.other.attribute-name.scss"},{"foreground":"#f44747","token":"invalid"},{"fontStyle":"underline","token":"markup.underline"},{"fontStyle":"bold","foreground":"#569cd6","token":"markup.bold"},{"fontStyle":"bold","foreground":"#569cd6","token":"markup.heading"},{"fontStyle":"italic","token":"markup.italic"},{"fontStyle":"strikethrough","token":"markup.strikethrough"},{"foreground":"#b5cea8","token":"markup.inserted"},{"foreground":"#ce9178","token":"markup.deleted"},{"foreground":"#569cd6","token":"markup.changed"},{"foreground":"#6A9955","token":"punctuation.definition.quote.begin.markdown"},{"foreground":"#6796e6","token":"punctuation.definition.list.begin.markdown"},{"foreground":"#ce9178","token":"markup.inline.raw"},{"foreground":"#808080","token":"punctuation.definition.tag"},{"foreground":"#569cd6","token":"meta.preprocessor"},{"foreground":"#569cd6","token":"entity.name.function.preprocessor"},{"foreground":"#ce9178","token":"meta.preprocessor.string"},{"foreground":"#b5cea8","token":"meta.preprocessor.numeric"},{"foreground":"#9cdcfe","token":"meta.structure.dictionary.key.python"},{"foreground":"#569cd6","token":"meta.diff.header"},{"foreground":"#569cd6","token":"storage"},{"foreground":"#569cd6","token":"storage.type"},{"foreground":"#569cd6","token":"storage.modifier"},{"foreground":"#569cd6","token":"keyword.operator.noexcept"},{"foreground":"#ce9178","token":"string"},{"foreground":"#ce9178","token":"meta.embedded.assembly"},{"foreground":"#ce9178","token":"string.tag"},{"foreground":"#ce9178","token":"string.value"},{"foreground":"#d16969","token":"string.regexp"},{"foreground":"#569cd6","token":"punctuation.definition.template-expression.begin"},{"foreground":"#569cd6","token":"punctuation.definition.template-expression.end"},{"foreground":"#569cd6","token":"punctuation.section.embedded"},{"foreground":"#d4d4d4","token":"meta.template.expression"},{"foreground":"#9cdcfe","token":"support.type.vendored.property-name"},{"foreground":"#9cdcfe","token":"support.type.property-name"},{"foreground":"#9cdcfe","token":"source.css variable"},{"foreground":"#9cdcfe","token":"source.coffee.embedded"},{"foreground":"#569cd6","token":"keyword"},{"foreground":"#569cd6","token":"keyword.control"},{"foreground":"#d4d4d4","token":"keyword.operator"},{"foreground":"#569cd6","token":"keyword.operator.new"},{"foreground":"#569cd6","token":"keyword.operator.expression"},{"foreground":"#569cd6","token":"keyword.operator.cast"},{"foreground":"#569cd6","token":"keyword.operator.sizeof"},{"foreground":"#569cd6","token":"keyword.operator.alignof"},{"foreground":"#569cd6","token":"keyword.operator.typeid"},{"foreground":"#569cd6","token":"keyword.operator.alignas"},{"foreground":"#569cd6","token":"keyword.operator.instanceof"},{"foreground":"#569cd6","token":"keyword.operator.logical.python"},{"foreground":"#569cd6","token":"keyword.operator.wordlike"},{"foreground":"#b5cea8","token":"keyword.other.unit"},{"foreground":"#569cd6","token":"punctuation.section.embedded.begin.php"},{"foreground":"#569cd6","token":"punctuation.section.embedded.end.php"},{"foreground":"#9cdcfe","token":"support.function.git-rebase"},{"foreground":"#b5cea8","token":"constant.sha.git-rebase"},{"foreground":"#d4d4d4","token":"storage.modifier.import.java"},{"foreground":"#d4d4d4","token":"variable.language.wildcard.java"},{"foreground":"#d4d4d4","token":"storage.modifier.package.java"},{"foreground":"#569cd6","token":"variable.language"},{"foreground":"#DCDCAA","token":"entity.name.function"},{"foreground":"#DCDCAA","token":"support.function"},{"foreground":"#DCDCAA","token":"support.constant.handlebars"},{"foreground":"#DCDCAA","token":"source.powershell variable.other.member"},{"foreground":"#DCDCAA","token":"entity.name.operator.custom-literal"},{"foreground":"#4EC9B0","token":"support.class"},{"foreground":"#4EC9B0","token":"support.type"},{"foreground":"#4EC9B0","token":"entity.name.type"},{"foreground":"#4EC9B0","token":"entity.name.namespace"},{"foreground":"#4EC9B0","token":"entity.other.attribute"},{"foreground":"#4EC9B0","token":"entity.name.scope-resolution"},{"foreground":"#4EC9B0","token":"entity.name.class"},{"foreground":"#4EC9B0","token":"storage.type.numeric.go"},{"foreground":"#4EC9B0","token":"storage.type.byte.go"},{"foreground":"#4EC9B0","token":"storage.type.boolean.go"},{"foreground":"#4EC9B0","token":"storage.type.string.go"},{"foreground":"#4EC9B0","token":"storage.type.uintptr.go"},{"foreground":"#4EC9B0","token":"storage.type.error.go"},{"foreground":"#4EC9B0","token":"storage.type.rune.go"},{"foreground":"#4EC9B0","token":"storage.type.cs"},{"foreground":"#4EC9B0","token":"storage.type.generic.cs"},{"foreground":"#4EC9B0","token":"storage.type.modifier.cs"},{"foreground":"#4EC9B0","token":"storage.type.variable.cs"},{"foreground":"#4EC9B0","token":"storage.type.annotation.java"},{"foreground":"#4EC9B0","token":"storage.type.generic.java"},{"foreground":"#4EC9B0","token":"storage.type.java"},{"foreground":"#4EC9B0","token":"storage.type.object.array.java"},{"foreground":"#4EC9B0","token":"storage.type.primitive.array.java"},{"foreground":"#4EC9B0","token":"storage.type.primitive.java"},{"foreground":"#4EC9B0","token":"storage.type.token.java"},{"foreground":"#4EC9B0","token":"storage.type.groovy"},{"foreground":"#4EC9B0","token":"storage.type.annotation.groovy"},{"foreground":"#4EC9B0","token":"storage.type.parameters.groovy"},{"foreground":"#4EC9B0","token":"storage.type.generic.groovy"},{"foreground":"#4EC9B0","token":"storage.type.object.array.groovy"},{"foreground":"#4EC9B0","token":"storage.type.primitive.array.groovy"},{"foreground":"#4EC9B0","token":"storage.type.primitive.groovy"},{"foreground":"#4EC9B0","token":"meta.type.cast.expr"},{"foreground":"#4EC9B0","token":"meta.type.new.expr"},{"foreground":"#4EC9B0","token":"support.constant.math"},{"foreground":"#4EC9B0","token":"support.constant.dom"},{"foreground":"#4EC9B0","token":"support.constant.json"},{"foreground":"#4EC9B0","token":"entity.other.inherited-class"},{"foreground":"#4EC9B0","token":"punctuation.separator.namespace.ruby"},{"foreground":"#C586C0","token":"keyword.control"},{"foreground":"#C586C0","token":"source.cpp keyword.operator.new"},{"foreground":"#C586C0","token":"keyword.operator.delete"},{"foreground":"#C586C0","token":"keyword.other.using"},{"foreground":"#C586C0","token":"keyword.other.directive.using"},{"foreground":"#C586C0","token":"keyword.other.operator"},{"foreground":"#C586C0","token":"entity.name.operator"},{"foreground":"#9CDCFE","token":"variable"},{"foreground":"#9CDCFE","token":"meta.definition.variable.name"},{"foreground":"#9CDCFE","token":"support.variable"},{"foreground":"#9CDCFE","token":"entity.name.variable"},{"foreground":"#9CDCFE","token":"constant.other.placeholder"},{"foreground":"#4FC1FF","token":"variable.other.constant"},{"foreground":"#4FC1FF","token":"variable.other.enummember"},{"foreground":"#9CDCFE","token":"meta.object-literal.key"},{"foreground":"#CE9178","token":"support.constant.property-value"},{"foreground":"#CE9178","token":"support.constant.font-name"},{"foreground":"#CE9178","token":"support.constant.media-type"},{"foreground":"#CE9178","token":"support.constant.media"},{"foreground":"#CE9178","token":"constant.other.color.rgb-value"},{"foreground":"#CE9178","token":"constant.other.rgb-value"},{"foreground":"#CE9178","token":"support.constant.color"},{"foreground":"#CE9178","token":"punctuation.definition.group.regexp"},{"foreground":"#CE9178","token":"punctuation.definition.group.assertion.regexp"},{"foreground":"#CE9178","token":"punctuation.definition.character-class.regexp"},{"foreground":"#CE9178","token":"punctuation.character.set.begin.regexp"},{"foreground":"#CE9178","token":"punctuation.character.set.end.regexp"},{"foreground":"#CE9178","token":"keyword.operator.negation.regexp"},{"foreground":"#CE9178","token":"support.other.parenthesis.regexp"},{"foreground":"#d16969","token":"constant.character.character-class.regexp"},{"foreground":"#d16969","token":"constant.other.character-class.set.regexp"},{"foreground":"#d16969","token":"constant.other.character-class.regexp"},{"foreground":"#d16969","token":"constant.character.set.regexp"},{"foreground":"#DCDCAA","token":"keyword.operator.or.regexp"},{"foreground":"#DCDCAA","token":"keyword.control.anchor.regexp"},{"foreground":"#d7ba7d","token":"keyword.operator.quantifier.regexp"},{"foreground":"#569cd6","token":"constant.character"},{"foreground":"#569cd6","token":"constant.other.option"},{"foreground":"#d7ba7d","token":"constant.character.escape"},{"foreground":"#C8C8C8","token":"entity.name.label"}],"encodedTokensColors":[]}')}}]);
|
|
2
|
-
//# sourceMappingURL=3758.6c29aedc.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/3758.6c29aedc.js","mappings":"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","sources":["webpack:///./src/generated-actions.js","webpack:///./src/code-editor/utils/brickNextYaml.ts","webpack:///./src/code-editor/utils/EditorService.ts","webpack:///./src/code-editor/workers/yamlLinter.ts","webpack:///./src/code-editor/i18n.ts","webpack:///./src/code-editor/utils/embeddedModelState.ts","webpack:///./src/code-editor/utils/jsSuggestInBrickYaml.ts","webpack:///../../src/workers.ts","webpack:///../../src/FormItemElement.tsx","webpack:///./src/code-editor/utils/constants.ts","webpack:///./src/code-editor/index.css","webpack:///./src/code-editor/utils/editorId.ts","webpack:///./src/code-editor/utils/isInEmbedded.ts","webpack:///./src/code-editor/utils/celCompletionProvider.ts","webpack:///../../src/prompt.ts","webpack:///../../src/postProcessByDiff.ts","webpack:///../../src/MonacoCopilotProvider.ts","webpack:///./src/code-editor/utils/setExtraLibs.ts","webpack:///./src/code-editor/languages/cel-yaml.ts","webpack:///./src/code-editor/widget/Placeholder.tsx","webpack:///./src/code-editor/index.css?aefa","webpack:///../../shared/monaco-textmate/dist/esm/grammars/ lazy ^\\.\\/.*\\.json$ strict namespace object","webpack:///./src/code-editor/workers/spellCheckRemoteWorker.ts","webpack:///../../src/brick_next_yaml.ts","webpack:///../../src/TokensProvider.ts","webpack:///./src/code-editor/languages/cel.ts","webpack:///./src/code-editor/constants.ts","webpack:///../../node_modules/monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js","webpack:///./src/code-editor/languages/cel-str.ts"],"sourcesContent":["export default [\"analytics.event\",\"console.error\",\"console.info\",\"console.log\",\"console.warn\",\"context.assign\",\"context.load\",\"context.refresh\",\"context.replace\",\"event.preventDefault\",\"event.stopPropagation\",\"formstate.update\",\"handleHttpError\",\"history.block\",\"history.goBack\",\"history.goForward\",\"history.push\",\"history.pushAnchor\",\"history.pushQuery\",\"history.reload\",\"history.replace\",\"history.replaceQuery\",\"history.unblock\",\"localStorage.removeItem\",\"localStorage.setItem\",\"location.assign\",\"location.reload\",\"menu.clearMenuCache\",\"menu.clearMenuTitleCache\",\"message.error\",\"message.info\",\"message.subscribe\",\"message.success\",\"message.unsubscribe\",\"message.warn\",\"mode.setDashboardMode\",\"mode.setDefaultMode\",\"parent.postMessage\",\"preview.debug\",\"sessionStorage.removeItem\",\"sessionStorage.setItem\",\"state.load\",\"state.refresh\",\"state.update\",\"theme.setDarkTheme\",\"theme.setLightTheme\",\"theme.setTheme\",\"tpl.dispatchEvent\",\"window.open\",\"window.postMessage\"];","import * as monaco from \"monaco-editor\";\nimport { brickNextKeywords } from \"./constants.js\";\nimport { getEditorId } from \"./editorId.js\";\nimport { TokenConfig } from \"../index.jsx\";\nimport { AdvancedCompleterMap } from \"../interfaces.js\";\nimport { provideJsSuggestItems } from \"../utils/jsSuggestInBrickYaml.js\";\nimport { EmbeddedModelContext } from \"../utils/embeddedModelState.js\";\nimport builtinActions from \"../../generated-actions.js\";\n\nconst findKeys = (\n model: monaco.editor.ITextModel,\n range: monaco.Range | monaco.editor.IWordAtPosition,\n line: number\n) => {\n const curLevelKeys: string[] = [];\n const keyList: string[] = [];\n let parentKey = \"\";\n let i = line;\n let startColumn = range.startColumn;\n while (i > 0) {\n const prefixLineWord = model.getValueInRange({\n startLineNumber: i,\n endLineNumber: i,\n startColumn: 0,\n endColumn: Infinity,\n });\n const matchWord = prefixLineWord.match(/^([\\s|-]*)(\\w+)(?=:)/);\n if (matchWord) {\n const [, wordSpace, key] = matchWord;\n if (wordSpace.length === range.startColumn - 1) {\n curLevelKeys.unshift(key);\n }\n if (wordSpace.length < startColumn - 1) {\n !parentKey && (parentKey = key);\n startColumn = wordSpace.length;\n keyList.unshift(key);\n }\n }\n i--;\n }\n return {\n curLevelKeys,\n keyList,\n parentKey,\n };\n};\n\nconst getPrefixWord = (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n tokenConfig: TokenConfig | undefined\n): {\n word: string | undefined;\n token: string;\n} => {\n const word = model.getWordUntilPosition(position);\n const prefixToken = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - word.word.length - 1,\n endColumn: position.column - word.word.length,\n });\n const prefixWord = model.getWordAtPosition({\n ...position,\n column: position.column - word?.word?.length - 1,\n });\n let matchWord = prefixWord?.word;\n if (tokenConfig?.showDSKey && prefixWord?.word === \"DS\") {\n const prefix = model.getWordAtPosition({\n ...position,\n column: prefixWord.startColumn - 1,\n });\n\n matchWord = `${prefix?.word}.${prefixWord.word}`;\n }\n return {\n word: matchWord,\n token: prefixToken,\n };\n};\n\nconst isInEvaluateBody = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): boolean => {\n const word = model.getWordUntilPosition(position);\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%\",\n position,\n false,\n false,\n null,\n false\n );\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n\n const prefixRange = prefixEvaluateOperator?.range;\n const suffixRange = suffixEvaluateOperator?.range;\n\n const isInEvaluateBody =\n prefixRange?.startLineNumber &&\n suffixRange?.startLineNumber &&\n prefixRange.startLineNumber <= position.lineNumber &&\n suffixRange.endLineNumber >= position.lineNumber &&\n // 正确匹配当前表达式,防止匹配到上一个表达式<%的开始,下一个表达式的结尾%>\n !model.findMatches(\n \"<%|%>\",\n new monaco.Range(\n prefixRange.endLineNumber,\n prefixRange.endColumn,\n suffixRange.startLineNumber,\n suffixRange.startColumn\n ),\n true,\n false,\n null,\n true\n )?.length;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixRange,\n prefixRange.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixRange,\n suffixRange.startLineNumber\n );\n const { keyList } = findKeys(model, word, position.lineNumber);\n if (\n // value is object\n (prefixParentKey === suffixParentKey &&\n keyList.includes(prefixParentKey)) ||\n // value is string\n (prefixParentKey === \"\" && suffixParentKey === \"\")\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const brickNextYAMLProviderCompletionItems = (\n completers: monaco.languages.CompletionItem[] = [],\n advancedCompleters: AdvancedCompleterMap = {},\n id: string,\n tokenConfig: TokenConfig | undefined\n) => {\n return async (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext\n ): Promise<\n monaco.languages.ProviderResult<monaco.languages.CompletionList>\n > => {\n if (id && id !== getEditorId())\n return {\n suggestions: [],\n };\n const DSToken = tokenConfig?.showDSKey ? [\"CTX.DS\", \"DS\"] : [];\n const word = model.getWordUntilPosition(position);\n const { word: prefixWord, token: prefixToken } = getPrefixWord(\n model,\n position,\n tokenConfig\n );\n const curLineWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: 0,\n endColumn: Infinity,\n });\n const range = {\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endColumn: word.endColumn,\n };\n\n const isFirstLevelProperty = word.startColumn === 1;\n const { curLevelKeys } = findKeys(model, word, model.getLineCount());\n\n if (context.triggerCharacter === \"<\") {\n const fullWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - 2,\n endColumn: position.column + 2,\n });\n if (!/^(['\"]?)<\\1$/.test(fullWord.trim())) {\n return {\n suggestions: [],\n };\n }\n return {\n suggestions: [\n {\n label: \"<% %>\",\n detail: \"Expression body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"% ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n {\n label: \"<%= %>\",\n detail: \"Track expression body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"%= ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n ],\n };\n }\n\n if (isFirstLevelProperty) {\n return {\n suggestions: (completers ?? [])\n .filter((item) => !curLevelKeys.includes(item.label as string))\n .map((item) => ({\n ...item,\n label: item.label,\n insertText: item.insertText || (item.label as string),\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n }\n\n if (\n context.triggerCharacter === \":\" ||\n (context.triggerCharacter === \".\" &&\n prefixWord &&\n ![\"CTX\", \"STATE\", \"FN\"].concat(DSToken).includes(prefixWord))\n ) {\n if (prefixWord === \"action\" && context.triggerCharacter === \":\") {\n return {\n suggestions: builtinActions.map((item) => ({\n label: ` ${item}`,\n detail: \"event action\",\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertText: ` ${item}`,\n range,\n })),\n };\n }\n const matchCompletion = advancedCompleters?.[prefixWord as string];\n let matchTriggerCharacter = \"\";\n let list: monaco.languages.CompletionItem[] | undefined;\n if (matchCompletion && !Array.isArray(matchCompletion)) {\n list = matchCompletion.completers;\n matchTriggerCharacter = matchCompletion.triggerCharacter;\n } else {\n list = matchCompletion;\n }\n if (\n matchTriggerCharacter\n ? context.triggerCharacter === matchTriggerCharacter && list\n : list\n ) {\n return {\n suggestions: (list ?? []).map((item) => {\n const label =\n matchTriggerCharacter === \":\"\n ? ` ${item.label}`\n : (item.label as string);\n return {\n ...item,\n label: label,\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: item.insertText || label,\n range,\n };\n }),\n };\n }\n }\n\n if (isInEvaluateBody(model, position) && prefixToken !== \":\") {\n const embeddedContext = EmbeddedModelContext.getInstance(id);\n\n const suggestions = await provideJsSuggestItems(\n model,\n position,\n embeddedContext.getState()\n );\n\n return {\n suggestions,\n };\n }\n\n if (/^[\\s|-]*\\w$/.test(curLineWord)) {\n return {\n suggestions: brickNextKeywords\n .map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n }))\n .filter((item) => !curLevelKeys.includes(item.label as string)),\n };\n }\n\n return {\n suggestions: [],\n };\n };\n};\n","import * as monaco from \"monaco-editor\";\n\nexport let currentEditor: monaco.editor.IStandaloneCodeEditor | null = null;\n\nexport function switchEditor(\n editor: monaco.editor.IStandaloneCodeEditor\n): boolean {\n if (currentEditor === editor) {\n return false;\n }\n currentEditor = editor;\n return true;\n}\n\nexport function disposeEditor(\n editor: monaco.editor.IStandaloneCodeEditor\n): void {\n if (currentEditor === editor) {\n currentEditor = null;\n }\n editor.getModel()?.dispose();\n editor.dispose();\n}\n\nexport function isCurrentEditor(\n editor: monaco.editor.IStandaloneCodeEditor\n): boolean {\n return currentEditor === editor;\n}\n","// istanbul ignore file\nimport { wrap } from \"comlink\";\nimport type { LintRequest, LintResponse } from \"./lintYaml\";\n\nexport interface RemoteYamlLinterWorker {\n lint(req: LintRequest): Promise<LintResponse>;\n}\n\nlet remoteWorkerPromise: Promise<RemoteYamlLinterWorker> | undefined;\n\nlet worker: Worker | undefined;\n\nexport function getRemoteYamlLinterWorker() {\n if (!remoteWorkerPromise) {\n remoteWorkerPromise = (async () => {\n const Remote = wrap<{ new (): RemoteYamlLinterWorker }>(getWorker());\n return await new Remote();\n })();\n }\n return remoteWorkerPromise;\n}\n\nfunction getWorker() {\n if (!worker) {\n worker = new Worker(new URL(\"./yamlLinter.worker.ts\", import.meta.url));\n }\n return worker;\n}\n","export enum K {\n COPY = \"COPY\",\n COPY_SUCCESS = \"COPY_SUCCESS\",\n COPY_FAILED = \"COPY_FAILED\",\n EXPAND = \"EXPAND\",\n COLLAPSE = \"COLLAPSE\",\n}\n\nconst en: Locale = {\n COPY: \"Copy\",\n COPY_SUCCESS: \"Copied!\",\n COPY_FAILED: \"Copy failed!\",\n EXPAND: \"Expand\",\n COLLAPSE: \"Collapse\",\n};\n\nconst zh: Locale = {\n COPY: \"复制\",\n COPY_SUCCESS: \"已复制!\",\n COPY_FAILED: \"复制失败!\",\n EXPAND: \"展开\",\n COLLAPSE: \"收起\",\n};\n\nexport const NS = \"bricks/vs/code-editor\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","interface Range {\n startLineNumber: number;\n startColumn: number;\n endLineNumber: number;\n endColumn: number;\n}\n\nexport interface EmbeddedState {\n content?: string;\n offset?: number;\n range?: Range;\n}\n\nexport class EmbeddedModelContext {\n static #instance: Record<string, EmbeddedModelContext> = {};\n #id: string;\n #state: EmbeddedState = {};\n\n static getInstance(id: string) {\n if (!this.#instance[id]) {\n this.#instance[id] = new EmbeddedModelContext(id);\n }\n return this.#instance[id];\n }\n\n constructor(id: string) {\n this.#id = id;\n }\n\n updateState(state: EmbeddedState) {\n this.#state = state;\n }\n\n getState(): EmbeddedState {\n return this.#state;\n }\n}\n","import * as monaco from \"monaco-editor\";\nimport { builtInKeywordDeclare } from \"./constants.js\";\n\ninterface BlockContext {\n offset?: number;\n}\n\nexport function getEmbeddedJavascriptUri(value: monaco.Uri) {\n return monaco.Uri.parse(value.toString() + \".ts\");\n}\n\n// istanbul ignore next\nexport async function provideJsSuggestItems(\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n embeddedContext: BlockContext\n) {\n const workerGetter = await monaco.languages.typescript.getJavaScriptWorker();\n const worker = await workerGetter(model.uri);\n const javascriptModel = monaco.editor.getModel(\n getEmbeddedJavascriptUri(model.uri)\n );\n\n const endOffset = model.getOffsetAt(position);\n const starOffset = embeddedContext?.offset ?? 0;\n\n const offset = endOffset - starOffset;\n\n const info = await worker.getCompletionsAtPosition(\n javascriptModel!.uri.toString(),\n offset!\n );\n\n const wordInfo = model.getWordUntilPosition(position);\n\n const wordRange = new monaco.Range(\n position.lineNumber,\n wordInfo.startColumn,\n position.lineNumber,\n wordInfo.endColumn\n );\n\n const suggestions = (info?.entries ?? []).map((entry: any) => {\n let range = wordRange;\n\n if (entry.replacementSpan) {\n const p1 = model.getPositionAt(entry.replacementSpan.start);\n const p2 = model.getPositionAt(\n entry.replacementSpan.start + entry.replacementSpan.length\n );\n range = new monaco.Range(\n p1.lineNumber,\n p1.column,\n p2.lineNumber,\n p2.column\n );\n }\n\n return {\n uri: javascriptModel!.uri,\n position: position,\n offset: offset,\n range: range,\n label: entry.name,\n insertText: entry.name,\n sortText: entry.sortText,\n kind: monaco.languages.CompletionItemKind.Property,\n };\n });\n\n return suggestions;\n}\n\nexport function getMicroAppDeclare() {\n // 不要主动提示不对用户公开的 APP 属性\n return `\ndeclare namespace APP {\n const name: string;\n const id: string;\n const homepage: string;\n const currentVersion: string;\n const config: object;\n const localeName: string;\n const localeTitle: string;\n}\n`;\n}\n\nexport function getBrickYamlBuiltInDeclare() {\n return [getMicroAppDeclare(), builtInKeywordDeclare].join(\"\\n\");\n}\n","self.MonacoEnvironment = {\n getWorker: function (workerId: string, label: string) {\n switch (label) {\n case \"json\":\n return new Worker(\n /* webpackChunkName: \"json.worker\" */\n new URL(\n \"monaco-editor/esm/vs/language/json/json.worker.js\",\n import.meta.url\n )\n );\n case \"css\":\n case \"scss\":\n case \"less\":\n /* webpackChunkName: \"css.worker\" */\n return new Worker(\n new URL(\n \"monaco-editor/esm/vs/language/css/css.worker.js\",\n import.meta.url\n )\n );\n case \"html\":\n case \"handlebars\":\n case \"razor\":\n return new Worker(\n /* webpackChunkName: \"html.worker\" */\n new URL(\n \"monaco-editor/esm/vs/language/html/html.worker.js\",\n import.meta.url\n )\n );\n case \"typescript\":\n case \"javascript\":\n return new Worker(\n /* webpackChunkName: \"ts.worker\" */\n new URL(\n \"monaco-editor/esm/vs/language/typescript/ts.worker.js\",\n import.meta.url\n )\n );\n default:\n return new Worker(\n /* webpackChunkName: \"editor.worker\" */\n new URL(\n \"monaco-editor/esm/vs/editor/editor.worker.js\",\n import.meta.url\n )\n );\n }\n },\n};\n","import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","export const EVALUATE_KEYWORD = [\n \"CTX\",\n \"STATE\",\n \"DATA\",\n \"EVENT\",\n \"FLAGS\",\n \"APP\",\n \"ANCHOR\",\n \"HASH\",\n \"INSTALLED_APPS\",\n \"ITEM\",\n \"INDEX\",\n \"SIZE\",\n \"LOCAL_STORAGE\",\n \"MEDIA\",\n \"MISC\",\n \"PARAMS\",\n \"PATH\",\n \"PROCESSORS\",\n \"QUERY\",\n \"QUERY_ARRAY\",\n \"SESSION_STORAGE\",\n \"TPL\",\n \"SYS\",\n \"BASE_URL\",\n \"IMG\",\n \"FN\",\n \"I18N\",\n \"I18N_TEXT\",\n \"PERMISSIONS\",\n \"THEME\",\n];\n\nexport const brickNextKeywords = [\n \"target\",\n \"targetRef\",\n \"properties\",\n \"events\",\n \"method\",\n \"callback\",\n \"success\",\n \"error\",\n \"action\",\n \"useProvider\",\n \"useChildren\",\n \"useBrick\",\n \"args\",\n \"if\",\n \"then\",\n];\n\nexport const Level = {\n /**\n * @deprecated Typo, use `hint` instead\n */\n hit: 1,\n hint: 1,\n info: 2,\n warn: 4,\n error: 8,\n};\n\nexport const builtInKeywordDeclare = `\n declare const DATA: any;\n declare const EVENT: CustomEvent<any>;\n declare const FLAGS: Record<string, boolean>;\n declare const ANCHOR: string | null;\n declare const HASH: string;\n declare namespace INSTALLED_APPS {\n function has(appId: string):boolean\n }\n declare const ITEM: any;\n declare const INDEX: number;\n declare const SIZE: number;\n declare namespace LOCAL_STORAGE {\n function getItem(name: string): string;\n }\n declare namespace SESSION_STORAGE {\n function getItem(name: string): string\n }\n declare const MEDIA: {\n breakpoint?: \"xLarge\" | \"large\" | \"medium\" | \"small\" | \"xSmall\";\n };\n declare const MISC: Record<string, any>;\n declare const PARAMS: URLSearchParams;\n declare const PROCESSORS: Record<string, Record<string, Function>>;\n declare const QUERY_ARRAY: Record<string, string[]>;\n declare const TPL: Record<string, any>;\n declare const PIPES: Record<string, Function>;\n declare const _: Record<string, any>;\n declare namespace SYS {\n const username:string;\n const userInstanceId:string;\n const org:number;\n const isAdmin: boolean;\n const accessRule:string;\n const csrfToken:string;\n const accessToken:string;\n const userShowValue:string[];\n }\n declare const BASE_URL: string;\n declare namespace IMG {\n function get(src: string): string;\n }\n declare function I18N(key: string, options?: string | Record<string, unknown>): string;\n declare function I18N_TEXT(data: {[language: string]: string}):string;\n declare namespace PERMISSIONS {\n function check(...action: string[]):boolean;\n }\n declare namespace THEME {\n function getTheme(): \"light\" | \"dark\" | \"dark-v2\";\n }\n`;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.highlight{box-shadow:rgb(74 170 189) 0px 1px 0px 0px}.pointer{cursor:pointer}.monaco-editor{outline-width:0;background:none}.monaco-editor .overflow-guard{border-radius:var(--antd-button-border-radius);border:1px solid var(--color-border-divider-line)}.code-editor-wrapper.error .overflow-guard{border-color:var(--antd-error-color)}.code-editor-wrapper{position:relative}.code-editor-wrapper.expanded{position:fixed;z-index:1000;top:0;left:0;right:0;bottom:0;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.toolbar-wrapper{position:absolute;z-index:4;top:0;bottom:0;right:0;pointer-events:none;padding:15px 20px}.toolbar{pointer-events:auto;display:none;line-height:12px;font-size:12px;text-align:center;gap:10px;box-shadow:none;transition:none;border-radius:50%;border:none}.code-editor-wrapper:not(.expanded) .toolbar.sticky{position:sticky;top:15px}.code-editor-wrapper.expanded .toolbar-wrapper{right:40px;top:40px}.code-editor-wrapper:hover .toolbar{display:flex}.copy-icon,\n.expand-icon{opacity:0.5;cursor:pointer;font-size:16px}.copy-icon:hover,\n.expand-icon:hover{opacity:1}.monaco-editor.monaco-editor-v3 .find-widget > .find-part,\n.monaco-editor.monaco-editor-v3 .find-widget > .replace-part{margin-right:25px}.monaco-editor.monaco-editor-v3 .find-widget .button:not(.toggle){box-sizing:content-box}.monaco-editor.monaco-editor-v3 .sticky-line-number{text-align:initial;float:initial}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","let editorId: string;\n\nexport function setEditorId(id: string) {\n editorId = id;\n}\n\nexport function getEditorId() {\n return editorId;\n}\n","import * as monaco from \"monaco-editor\";\n\nexport function isInEmbedded(\n model: monaco.editor.ITextModel,\n position: monaco.Position\n) {\n const previousStart = findPreviousMatch(model, \"<%\", position);\n if (!previousStart) {\n return false;\n }\n const nextEnd = findNextMatch(model, \"%>\", position);\n if (!nextEnd) {\n return false;\n }\n const previousEnd = findPreviousMatch(model, \"%>\", position);\n if (\n previousEnd &&\n previousStart.range\n .getEndPosition()\n .isBefore(previousEnd.range.getStartPosition())\n ) {\n return false;\n }\n const nextStart = findNextMatch(model, \"<%\", position);\n if (\n nextStart &&\n nextStart.range.getStartPosition().isBefore(nextEnd.range.getEndPosition())\n ) {\n return false;\n }\n return true;\n}\n\n/**\n * Find the previous match of the word in the model, but no loops to the end.\n */\nfunction findPreviousMatch(\n model: monaco.editor.ITextModel,\n word: string,\n position: monaco.Position\n) {\n const match = model.findPreviousMatch(\n word,\n position,\n false,\n false,\n null,\n false\n );\n if (match && position.isBefore(match.range.getStartPosition())) {\n return null;\n }\n return match;\n}\n\n/**\n * Find the next match of the word in the model, but no loops to the beginning.\n */\nfunction findNextMatch(\n model: monaco.editor.ITextModel,\n word: string,\n position: monaco.Position\n) {\n const match = model.findNextMatch(word, position, false, false, null, false);\n if (match && match.range.getEndPosition().isBefore(position)) {\n return null;\n }\n return match;\n}\n","import * as monaco from \"monaco-editor\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport { constants, instanceMembers } from \"../languages/cel\";\nimport { getEditorId } from \"./editorId\";\nimport { isInEmbedded } from \"./isInEmbedded\";\nimport type { MixedCompleter } from \"../interfaces\";\n\nconst BUILTIN_MEMBERS: Record<string, string[]> = {\n request: [\"uri\", \"query\", \"header\", \"body\"],\n};\n\n/**\n * When user types \"<\", provide the completion item \"<% | %>\",\n * in which, `|` represents the position of the cursor.\n */\nexport function provideEmbeddedCelCompletionItems(\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext\n): monaco.languages.CompletionList {\n if (context.triggerCharacter !== \"<\" || isInEmbedded(model, position)) {\n return getEmptySuggestions();\n }\n\n // Handle: <|\n // Or: \"<|\"\n // Or: '<|'\n const nearby = model.getValueInRange({\n startLineNumber: position.lineNumber,\n startColumn: position.column - 2,\n endLineNumber: position.lineNumber,\n endColumn: position.column + 1,\n });\n if (!/^(['\"]?)<\\1$/.test(nearby.trim())) {\n return getEmptySuggestions();\n }\n\n const word = model.getWordUntilPosition(position);\n const range = {\n startLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endLineNumber: position.lineNumber,\n endColumn: word.endColumn,\n };\n\n return {\n suggestions: [\n {\n label: \"<% %>\",\n detail: \"CEL body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"% ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range,\n },\n ],\n };\n}\n\n/**\n * Provide common completion items for CEL language.\n * Such as `size` and `base64`.\n */\nexport function celCommonCompletionProviderFactory(\n lang: string\n): monaco.languages.CompletionItemProvider {\n return {\n triggerCharacters: [\".\"],\n provideCompletionItems(model, position, context) {\n if (lang !== \"cel\" && !isInEmbedded(model, position)) {\n return getEmptySuggestions();\n }\n\n const word = model.getWordUntilPosition(position);\n const range = {\n startLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endLineNumber: position.lineNumber,\n endColumn: word.endColumn,\n };\n\n const previousWord = model.getWordUntilPosition(\n new monaco.Position(position.lineNumber, word.startColumn - 1)\n );\n\n // Handle: foo.|\n // Or: foo.x|\n if (\n context.triggerCharacter === \".\" ||\n model\n .getValueInRange({\n startLineNumber: position.lineNumber,\n startColumn: previousWord.endColumn,\n endLineNumber: position.lineNumber,\n endColumn: word.startColumn,\n })\n .trim() === \".\"\n ) {\n const completer =\n previousWord.word &&\n hasOwnProperty(BUILTIN_MEMBERS, previousWord.word)\n ? BUILTIN_MEMBERS[previousWord.word]\n : undefined;\n\n if (completer) {\n return {\n suggestions: completer.map((label) => ({\n label,\n insertText: label,\n kind: monaco.languages.CompletionItemKind.Method,\n range,\n })),\n };\n }\n\n // Do not provide member suggestions for constants.\n if ((constants as readonly string[]).includes(previousWord.word)) {\n return getEmptySuggestions();\n }\n\n return {\n suggestions: instanceMembers.map((label) => ({\n label,\n insertText: label,\n kind: monaco.languages.CompletionItemKind.Method,\n range,\n })),\n };\n }\n\n // Handle: x|\n return {\n suggestions: constants.map((label) => ({\n label,\n insertText: label,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n },\n };\n}\n\n/**\n * Provide specific completion items for CEL language.\n * Such as `step.*`\n */\nexport function celSpecificCompletionProviderFactory(\n lang: string,\n id: string,\n completers: MixedCompleter[]\n): monaco.languages.CompletionItemProvider {\n return {\n triggerCharacters: [\".\"],\n provideCompletionItems(model, position, context) {\n if (\n id !== getEditorId() ||\n (lang !== \"cel\" && !isInEmbedded(model, position))\n ) {\n return getEmptySuggestions();\n }\n\n const word = model.getWordUntilPosition(position);\n const previousWord = model.getWordUntilPosition(\n new monaco.Position(position.lineNumber, word.startColumn - 1)\n );\n\n if (\n context.triggerCharacter !== \".\" &&\n model\n .getValueInRange({\n startLineNumber: position.lineNumber,\n startColumn: previousWord.endColumn,\n endLineNumber: position.lineNumber,\n endColumn: word.startColumn,\n })\n .trim() !== \".\"\n ) {\n return getEmptySuggestions();\n }\n\n let members: string[] | undefined;\n if (previousWord.word) {\n for (const completer of completers) {\n if (\n completer.type === \"members\" &&\n hasOwnProperty(completer.members, previousWord.word)\n ) {\n members = completer.members[previousWord.word];\n }\n }\n }\n\n if (!members) {\n return getEmptySuggestions();\n }\n\n const range = {\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endColumn: word.endColumn,\n };\n\n return {\n suggestions: members.map((label) => ({\n label,\n insertText: label,\n kind: monaco.languages.CompletionItemKind.Method,\n range,\n })),\n };\n },\n };\n}\n\nfunction getEmptySuggestions(): monaco.languages.CompletionList {\n return { suggestions: [] };\n}\n","// istanbul ignore file\nexport const DEFAULT_SYSTEM_PROMPT: Record<string, string> = {\n brick_next_yaml: `你是一个编程助手,主要用于 Visual Builder 中的 YAML 配置的代码补全。\n\nYAML 中可以使用 \\`<% %>\\` 嵌入 JS 表达式,例如:\n\n${\"```yaml\"}yaml\ngroups: <% _.groupBy(CTX.hosts, \"idc\") %>\n${\"```\"}\n\nJS 表达式中可以使用 lodash (\\`_\\`) 和 moment。\n\n提供简洁易读的代码补全,语法和逻辑准确,与现有上下文无缝集成,格式优雅。如果要添加注释,不要放在行尾部,应该单独成行。`,\n javascript: getDefaultSystemPrompt(\"JavaScript\"),\n typescript: getDefaultSystemPrompt(\"TypeScript\"),\n};\n\nfunction getDefaultSystemPrompt(language: \"JavaScript\" | \"TypeScript\"): string {\n return `你是一个编程助手,主要用于 Visual Builder 中的 ${language} 函数的代码补全。\n\n提供简洁易读的代码补全,语法和逻辑准确,与现有上下文无缝集成,格式优雅。如果要添加注释,不要放在行尾部,应该单独成行。`;\n}\n","import { diffLines, type Change } from \"diff\";\n\ntype ChangeAction = \"added\" | \"removed\" | \"unchanged\";\n\n/**\n * Post process the response from AI to get the insertion text around the cursor.\n *\n * The AI response may:\n * 1) contains full original source code combined with the insertions (as well as insertions outside the cursor).\n * 2) contains the insertions with several lines of source code as context before and after the cursor.\n * 3) contains only the insertions.\n *\n * @param response The AI response text to be post-processed.\n * @param originalPrefix The original source code before the cursor.\n * @param originalSuffix The original source code after the cursor.\n * @returns The processed insertion text or null if no valid insertion is found.\n */\nexport function postProcessByDiff(\n response: string,\n originalPrefix: string,\n originalSuffix: string\n): string | null {\n const trimmedResponse = response.replace(/^\\n+|\\n+$/g, \"\");\n const trimmedOriginalPrefix = originalPrefix.replace(/^\\n+/g, \"\");\n const trimmedOriginalSuffix = originalSuffix.replace(/\\n+$/g, \"\");\n const responseLines = trimmedResponse.split(\"\\n\");\n const trimmedPrefixLines = trimmedOriginalPrefix.split(\"\\n\");\n const trimmedSuffixLines = trimmedOriginalSuffix.split(\"\\n\");\n const cursorLineNumber = trimmedPrefixLines.length;\n\n const diffLinesOffset = Math.max(\n 0,\n trimmedPrefixLines.length - responseLines.length\n );\n const truncatedPrefix =\n diffLinesOffset > 0\n ? trimmedPrefixLines.slice(diffLinesOffset).join(\"\\n\")\n : trimmedOriginalPrefix;\n const truncatedSuffix =\n trimmedSuffixLines.length > responseLines.length\n ? trimmedSuffixLines.slice(0, responseLines.length).join(\"\\n\")\n : trimmedOriginalSuffix;\n const truncatedSource = `${truncatedPrefix}${truncatedSuffix}`;\n\n // First, find out the insertion by comparing the diff, this resolves situation 1) and 2).\n const changes = diffLines(truncatedSource, trimmedResponse, {\n ignoreWhitespace: true,\n }) as Required<Change>[];\n\n let oldLineIndex = diffLinesOffset;\n let afterCursor = false;\n let lastAction: ChangeAction = \"unchanged\";\n for (let i = 0; i < changes.length; i++) {\n const change = changes[i];\n lastAction = change.removed\n ? \"removed\"\n : change.added\n ? \"added\"\n : \"unchanged\";\n const nextChange = changes[i + 1];\n const nextAction = nextChange?.removed\n ? \"removed\"\n : nextChange?.added\n ? \"added\"\n : \"unchanged\";\n if (lastAction !== \"added\") {\n oldLineIndex += change.count;\n } else if (i === 0 && changes.length === 1) {\n oldLineIndex++;\n }\n if (!afterCursor) {\n afterCursor = oldLineIndex >= cursorLineNumber;\n if (afterCursor) {\n const offset = oldLineIndex - cursorLineNumber;\n if (\n (lastAction === \"unchanged\" &&\n offset === 0 &&\n nextAction === \"added\") ||\n (lastAction === \"added\" && offset === 0) ||\n (lastAction === \"removed\" && nextAction === \"added\")\n ) {\n const update = lastAction === \"added\" ? change : nextChange;\n const fullFixedUpdateValue = `${\n lastAction === \"unchanged\"\n ? `${change.value.replace(/\\n$/, \"\").split(\"\\n\").pop()!}\\n`\n : \"\"\n }${update.value.replace(/\\n$/, \"\")}`;\n const updatedLines = fullFixedUpdateValue.split(\"\\n\");\n const lastUpdatedLine = updatedLines[updatedLines.length - 1];\n // Original\n const originalLinePrefix = trimmedPrefixLines[cursorLineNumber - 1];\n const originalLineSuffix = trimmedSuffixLines[0];\n\n const {\n trimmed: lastUpdatedLineTrimmed,\n trailing: lastUpdatedLineTrailing,\n } = trimWithInfo(lastUpdatedLine);\n const {\n trimmed: originalLinePrefixTrimmed,\n leading: originalLinePrefixLeading,\n trailing: originalLinePrefixTrailing,\n } = trimWithInfo(originalLinePrefix);\n const {\n trimmed: originalLineSuffixTrimmed,\n leading: originalLineSuffixLeading,\n } = trimWithInfo(originalLineSuffix);\n\n for (let j = 0; j < updatedLines.length; j++) {\n const firstUpdatedLine = updatedLines[j];\n const {\n trimmed: firstUpdatedLineTrimmed,\n leading: firstUpdatedLineLeading,\n } = trimWithInfo(firstUpdatedLine);\n if (\n firstUpdatedLineTrimmed.startsWith(originalLinePrefixTrimmed) &&\n lastUpdatedLineTrimmed.endsWith(originalLineSuffixTrimmed)\n ) {\n const fixedUpdateValue = updatedLines.slice(j).join(\"\\n\");\n const start =\n firstUpdatedLineLeading.length +\n originalLinePrefixTrimmed.length;\n const end =\n fixedUpdateValue.length -\n (lastUpdatedLineTrailing.length +\n originalLineSuffixTrimmed.length);\n const restUpdate = fixedUpdateValue.slice(start, end);\n const {\n leading: restUpdateLeading,\n trailing: restUpdateTrailing,\n } = trimWithInfo(restUpdate);\n\n const insertText = restUpdate.slice(\n Math.min(\n restUpdateLeading.length,\n originalLinePrefixTrailing.length\n ),\n restUpdate.length -\n Math.min(\n restUpdateTrailing.length,\n originalLineSuffixLeading.length\n )\n );\n\n if (\n originalLinePrefixLeading.length >\n firstUpdatedLineLeading.length &&\n firstUpdatedLineTrimmed.length > 0 &&\n originalLinePrefixTrimmed.length > 0 &&\n originalLinePrefixLeading.startsWith(firstUpdatedLineLeading)\n ) {\n const leadingSpaces = originalLinePrefixLeading.slice(\n firstUpdatedLineLeading.length\n );\n return insertText\n .split(\"\\n\")\n .map((line, index) =>\n index === 0 ? line : `${leadingSpaces}${line}`\n )\n .join(\"\\n\");\n }\n\n return insertText;\n }\n }\n }\n break;\n }\n }\n }\n\n // Maybe the response is insertion only, that's the situation 3).\n // TODO: check whether it's syntax correct after the insertion?\n const unchangedCount = changes\n .filter((change) => !(change.added || change.removed))\n .reduce((acc, change) => acc + change.count, 0);\n const truncatedLines = truncatedSource.split(\"\\n\");\n if (unchangedCount / truncatedLines.length < 0.2) {\n const insertText = trimmedResponse.trimStart();\n // Keep the original indentation.\n const leadingSpaces =\n trimmedPrefixLines[trimmedPrefixLines.length - 1].match(/^\\s+/)?.[0] ??\n \"\";\n return leadingSpaces\n ? insertText\n .split(\"\\n\")\n .map((line, index) =>\n index === 0 ? line : `${leadingSpaces}${line}`\n )\n .join(\"\\n\")\n : insertText;\n }\n\n return null;\n}\n\nfunction trimWithInfo(content: string): {\n trimmed: string;\n leading: string;\n trailing: string;\n} {\n let leading = \"\";\n let trailing = \"\";\n const trimmed = content\n .replace(/^\\s+/, (match) => {\n leading = match;\n return \"\";\n })\n .replace(/\\s+$/, (match) => {\n trailing = match;\n return \"\";\n });\n\n return { trimmed, leading, trailing };\n}\n","// istanbul ignore file: experimental\nimport * as monaco from \"monaco-editor\";\nimport { DEFAULT_SYSTEM_PROMPT } from \"./prompt.js\";\nimport { postProcessByDiff } from \"./postProcessByDiff.js\";\n\nexport const SUPPORTED_LANGUAGES = Object.freeze([\n \"typescript\",\n \"javascript\",\n \"brick_next_yaml\",\n]);\n\nexport type IHttpAbortError = {\n new (message: string): Error;\n};\n\nexport type ChatRequest = (\n options: ChatRequestOptions\n) => Promise<string | null | undefined>;\n\nexport interface ChatRequestOptions {\n model?: string;\n temperature?: number;\n system?: string;\n prompt?: string;\n signal?: AbortSignal;\n}\n\nexport interface MonacoCopilotProviderOptions {\n HttpAbortError: IHttpAbortError;\n request: ChatRequest;\n model?: string;\n debounce?: number;\n timeout?: number;\n}\n\nexport class MonacoCopilotProvider\n implements monaco.languages.InlineCompletionsProvider\n{\n #timer: null | ReturnType<typeof setTimeout> = null;\n #previousResolve:\n | null\n | ((value: monaco.languages.InlineCompletions | null) => void) = null;\n #debounce: number;\n #timeout: number;\n #HttpAbortError: IHttpAbortError;\n #request: ChatRequest;\n #model: string;\n\n constructor(options: MonacoCopilotProviderOptions) {\n this.#debounce = options.debounce ?? 750;\n this.#HttpAbortError = options.HttpAbortError;\n this.#request = options.request;\n this.#model = options.model ?? \"qwen-coder-turbo\";\n this.#timeout = options.timeout ?? 1.2e4;\n }\n\n async provideInlineCompletions(\n model: monaco.editor.IModel,\n position: monaco.Position,\n ctx: monaco.languages.InlineCompletionContext,\n token: monaco.CancellationToken\n ) {\n const abortCtrl = new AbortController();\n\n token.onCancellationRequested(() => {\n abortCtrl.abort();\n });\n\n if (this.#timer) {\n clearTimeout(this.#timer);\n this.#previousResolve?.(null);\n this.#timer = null;\n this.#previousResolve = null;\n }\n\n const promise = new Promise<monaco.languages.InlineCompletions | null>(\n (resolve) => {\n this.#previousResolve = resolve;\n\n this.#timer = setTimeout(async () => {\n this.#timer = null;\n this.#previousResolve = null;\n\n if (token.isCancellationRequested) {\n resolve(null);\n }\n\n const language = model.getLanguageId();\n const source = model.getValue();\n const lineContent = model.getLineContent(position.lineNumber);\n if (\n // Ignore empty source code.\n source.trim().length === 0 ||\n // For these use cases (generally end of a statement/declaration line),\n // the AI model would not respond in time currently.\n (position.column === model.getLineLength(position.lineNumber) + 1 &&\n (language === \"brick_next_yaml\"\n ? /\\s+%>\\s*$/.test(lineContent)\n : /[;,}\\]]\\s*$/.test(lineContent)))\n ) {\n resolve(null);\n return;\n }\n\n const requestTimeout = setTimeout(() => {\n abortCtrl.abort();\n }, this.#timeout);\n\n try {\n const edit = await getInlineEdit({\n request: this.#request,\n model: this.#model,\n source,\n offset: model.getOffsetAt(position),\n language,\n signal: abortCtrl.signal,\n });\n\n if (!edit) {\n return null;\n }\n\n resolve({\n enableForwardStability: true,\n items: [\n {\n insertText: edit,\n range: new monaco.Range(\n position.lineNumber,\n position.column,\n position.lineNumber,\n position.column\n ),\n },\n ],\n });\n } catch (error) {\n if (!(error instanceof this.#HttpAbortError)) {\n // eslint-disable-next-line no-console\n console.error(\"Error fetching inline completion:\", error);\n }\n resolve(null);\n } finally {\n clearTimeout(requestTimeout);\n }\n }, this.#debounce);\n }\n );\n\n return promise;\n }\n\n freeInlineCompletions() {\n // Do nothing\n }\n}\n\nasync function getInlineEdit({\n request,\n model,\n source,\n language,\n offset,\n signal,\n}: {\n request: ChatRequest;\n model: string;\n source: string;\n language: string;\n offset: number;\n signal: AbortSignal;\n}): Promise<string | null> {\n const prefix = source.slice(0, offset);\n const suffix = source.slice(offset);\n const context =\n language === \"brick_next_yaml\"\n ? \"# File: config.yaml\\n\"\n : `// File utils.${language === \"javascript\" ? \"js\" : \"ts\"}\\n`;\n const content = await request({\n model,\n system: DEFAULT_SYSTEM_PROMPT[language],\n prompt: `<|fim_prefix|>${context}${prefix}<|fim_suffix|>${suffix}<|fim_middle|>`,\n temperature: 0.2,\n signal,\n });\n\n const matches = content?.match(\n /(?:^|\\n)```(?:\\w*)\\n([\\s\\S]*?)(?:\\n```(?:\\n|$)|$)/\n );\n if (!matches) {\n // eslint-disable-next-line no-console\n console.error(\"No code block found in response.\", content);\n return null;\n }\n\n const response = matches[1].startsWith(context)\n ? matches[1].slice(context.length)\n : matches[1];\n\n const insertText = postProcessByDiff(response, prefix, suffix);\n\n if (insertText && /\\S/.test(insertText)) {\n return insertText;\n }\n\n // eslint-disable-next-line no-console\n console.warn(\"Response is invalid:\", content);\n return null;\n}\n","import * as monaco from \"monaco-editor\";\nimport type { ExtraLib } from \"../interfaces.js\";\n\nlet previousDisposables: monaco.IDisposable[] | undefined;\n\nexport function setExtraLibs(\n libs: ExtraLib[] | undefined,\n options: {\n languageDefaults: \"javascriptDefaults\" | \"typescriptDefaults\";\n }\n): void {\n for (const disposable of previousDisposables ?? []) {\n disposable.dispose();\n }\n\n previousDisposables = libs?.map((lib) => {\n const uri = monaco.Uri.file(`libs/${lib.filePath}`);\n const uriString = uri.toString();\n return monaco.languages.typescript[options.languageDefaults].addExtraLib(\n lib.content,\n uriString\n );\n });\n}\n","/* eslint-disable no-useless-escape */\n// https://github.com/microsoft/monaco-editor/blob/8270c45a385a180a53fd8ef8e3a189b1471100ed/src/basic-languages/yaml/yaml.ts\nimport * as monaco from \"monaco-editor\";\n\nexport const conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: \"#\",\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 ],\n folding: {\n offSide: true,\n },\n onEnterRules: [\n {\n beforeText: /:\\s*$/,\n action: {\n indentAction: monaco.languages.IndentAction.Indent,\n },\n },\n ],\n};\n\nexport const language: monaco.languages.IMonarchLanguage = {\n tokenPostfix: \".yaml.cel\",\n\n brackets: [\n { token: \"delimiter.bracket\", open: \"{\", close: \"}\" },\n { token: \"delimiter.square\", open: \"[\", close: \"]\" },\n ],\n\n keywords: [\n \"true\",\n \"True\",\n \"TRUE\",\n \"false\",\n \"False\",\n \"FALSE\",\n \"null\",\n \"Null\",\n \"NULL\",\n \"~\",\n ],\n\n numberInteger: /(?:0|[+-]?[0-9]+)/,\n numberFloat: /(?:0|[+-]?[0-9]+)(?:\\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,\n numberOctal: /0o[0-7]+/,\n numberHex: /0x[0-9a-fA-F]+/,\n numberInfinity: /[+-]?\\.(?:inf|Inf|INF)/,\n numberNaN: /\\.(?:nan|Nan|NAN)/,\n numberDate:\n /\\d{4}-\\d\\d-\\d\\d([Tt ]\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(( ?[+-]\\d\\d?(:\\d\\d)?)|Z)?)?/,\n\n escapes: /\\\\(?:[btnfr\\\\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,\n\n tokenizer: {\n root: [\n { include: \"@whitespace\" },\n { include: \"@comment\" },\n\n // Directive\n [/%[^ ]+.*$/, \"meta.directive\"],\n\n // Document Markers\n [/---/, \"operators.directivesEnd\"],\n [/\\.{3}/, \"operators.documentEnd\"],\n\n // Block Structure Indicators\n [/[-?:](?= )/, \"operators\"],\n\n { include: \"@anchor\" },\n { include: \"@tagHandle\" },\n { include: \"@flowCollections\" },\n { include: \"@blockStyle\" },\n\n // Numbers\n [/@numberInteger(?![ \\t]*\\S+)/, \"number\"],\n [/@numberFloat(?![ \\t]*\\S+)/, \"number.float\"],\n [/@numberOctal(?![ \\t]*\\S+)/, \"number.octal\"],\n [/@numberHex(?![ \\t]*\\S+)/, \"number.hex\"],\n [/@numberInfinity(?![ \\t]*\\S+)/, \"number.infinity\"],\n [/@numberNaN(?![ \\t]*\\S+)/, \"number.nan\"],\n [/@numberDate(?![ \\t]*\\S+)/, \"number.date\"],\n\n // Key:Value pair\n [\n /(\".*?\"|'.*?'|[^#'\"]*?)([ \\t]*)(:)( |$)/,\n [\"tag\", \"white\", \"operators\", \"white\"],\n ],\n\n { include: \"@flowScalars\" },\n { include: \"@flowExpression\" },\n\n // String nodes\n [\n /.+?(?=(\\s+#|$))/,\n {\n cases: {\n \"@keywords\": \"keyword\",\n \"@default\": \"string\",\n },\n },\n ],\n ],\n\n // Flow Collection: Flow Mapping\n object: [\n { include: \"@whitespace\" },\n { include: \"@comment\" },\n\n // Flow Mapping termination\n [/\\}/, \"@brackets\", \"@pop\"],\n\n // Flow Mapping delimiter\n [/,/, \"delimiter.comma\"],\n\n // Flow Mapping Key:Value delimiter\n [/:(?= )/, \"operators\"],\n\n // Flow Mapping Key:Value key\n [/(?:\".*?\"|'.*?'|[^,\\{\\[]+?)(?=: )/, \"tag\"],\n\n // Start Flow Style\n { include: \"@flowCollections\" },\n { include: \"@flowScalars\" },\n\n // Scalar Data types\n { include: \"@tagHandle\" },\n { include: \"@anchor\" },\n { include: \"@flowNumber\" },\n\n // Other value (keyword or string)\n [\n /[^\\},]+/,\n {\n cases: {\n \"@keywords\": \"keyword\",\n \"@default\": \"string\",\n },\n },\n ],\n ],\n\n // Flow Collection: Flow Sequence\n array: [\n { include: \"@whitespace\" },\n { include: \"@comment\" },\n\n // Flow Sequence termination\n [/\\]/, \"@brackets\", \"@pop\"],\n\n // Flow Sequence delimiter\n [/,/, \"delimiter.comma\"],\n\n // Start Flow Style\n { include: \"@flowCollections\" },\n { include: \"@flowScalars\" },\n\n // Scalar Data types\n { include: \"@tagHandle\" },\n { include: \"@anchor\" },\n { include: \"@flowNumber\" },\n\n // Other value (keyword or string)\n [\n /[^\\],]+/,\n {\n cases: {\n \"@keywords\": \"keyword\",\n \"@default\": \"string\",\n },\n },\n ],\n ],\n\n // First line of a Block Style\n multiString: [\n [\n /^( +)(<%(?:\\s|$))/,\n [\"string\", { token: \"@rematch\", next: \"@multiExpression.$1\" }],\n ],\n [/^( +).+$/, \"string\", \"@multiStringContinued.$1\"],\n ],\n\n // Further lines of a Block Style\n // Workaround for indentation detection\n multiStringContinued: [\n [\n /^( *)(.+)$/,\n {\n cases: {\n \"$1==$S2\": \"string\",\n \"@default\": { token: \"@rematch\", next: \"@popall\" },\n },\n },\n ],\n ],\n\n whitespace: [[/[ \\t\\r\\n]+/, \"white\"]],\n\n // Only line comments\n comment: [[/#.*$/, \"comment\"]],\n\n // Start Flow Collections\n flowCollections: [\n [/\\[/, \"@brackets\", \"@array\"],\n [/\\{/, \"@brackets\", \"@object\"],\n ],\n\n // Start Flow Scalars (quoted strings)\n flowScalars: [\n [/\"([^\"\\\\]|\\\\.)*$/, \"string.invalid\"],\n [/'([^'\\\\]|\\\\.)*$/, \"string.invalid\"],\n [/'/, \"string\", \"@singleQuotedString\"],\n [/\"/, \"string\", \"@doubleQuotedString\"],\n ],\n\n singleQuotedString: [\n { include: \"@expressionStart\" },\n [\n /(%>)(\\s*)(')/,\n [\n { token: \"delimiter\", bracket: \"@close\" },\n \"white\",\n { token: \"string\", next: \"@pop\" },\n ],\n ],\n [/[^']*'/, \"string\", \"@pop\"],\n ],\n\n doubleQuotedString: [\n { include: \"@expressionStart\" },\n [\n /(%>)(\\s*)(\")/,\n [\n { token: \"delimiter\", bracket: \"@close\" },\n \"white\",\n { token: \"string\", next: \"@pop\" },\n ],\n ],\n [/[^\\\\\"]+/, \"string\"],\n [/@escapes/, \"string.escape\"],\n [/\\\\./, \"string.escape.invalid\"],\n [/\"/, \"string\", \"@pop\"],\n ],\n\n // Start Block Scalar\n blockStyle: [[/[>|][0-9]*[+-]?$/, \"operators\", \"@multiString\"]],\n\n // Numbers in Flow Collections (terminate with ,]})\n flowNumber: [\n [/@numberInteger(?=[ \\t]*[,\\]\\}])/, \"number\"],\n [/@numberFloat(?=[ \\t]*[,\\]\\}])/, \"number.float\"],\n [/@numberOctal(?=[ \\t]*[,\\]\\}])/, \"number.octal\"],\n [/@numberHex(?=[ \\t]*[,\\]\\}])/, \"number.hex\"],\n [/@numberInfinity(?=[ \\t]*[,\\]\\}])/, \"number.infinity\"],\n [/@numberNaN(?=[ \\t]*[,\\]\\}])/, \"number.nan\"],\n [/@numberDate(?=[ \\t]*[,\\]\\}])/, \"number.date\"],\n ],\n\n tagHandle: [[/\\![^ ]*/, \"tag\"]],\n\n anchor: [[/[&*][^ ]+/, \"namespace\"]],\n\n flowExpression: [\n { include: \"@expressionStart\" },\n [\n /(\\s+)(%>)(\\s*)/,\n [\n \"white\",\n { token: \"delimiter\", bracket: \"@close\" },\n { token: \"white\", next: \"@pop\" },\n ],\n ],\n ],\n\n expressionStart: [\n [\n /(\\s*)(<%)(\\s+)/,\n [\n \"white\",\n { token: \"delimiter\", bracket: \"@open\" },\n {\n token: \"white\",\n next: \"@expressionEmbedded\",\n nextEmbedded: \"text/cel\",\n },\n ],\n ],\n ],\n\n multiExpression: [\n [\n /(<%)/,\n {\n token: \"delimiter\",\n next: \"@expressionEmbedded\",\n nextEmbedded: \"text/cel\",\n bracket: \"@open\",\n },\n ],\n [\n /(%>)(\\s*)/,\n [\n { token: \"delimiter\", bracket: \"@close\" },\n { token: \"white\", next: \"@pop\" },\n ],\n ],\n [\n /^( *).+$/,\n {\n cases: {\n \"$1==$S2\": \"string\",\n \"@default\": { token: \"@rematch\", next: \"@popall\" },\n },\n },\n ],\n ],\n\n expressionEmbedded: [\n [/%>/, { token: \"@rematch\", next: \"@pop\", nextEmbedded: \"@pop\" }],\n ],\n },\n};\n\n/**\n * Register the extended yaml language, with CEL syntax highlighting supported.\n */\nexport function register(Monaco: typeof monaco, languageId = \"cel_yaml\") {\n Monaco.languages.register({\n id: languageId,\n extensions: [\".cel-yaml\"],\n mimetypes: [\"text/cel-yaml\"],\n });\n Monaco.languages.setLanguageConfiguration(languageId, conf);\n Monaco.languages.setMonarchTokensProvider(languageId, language);\n}\n","import * as monaco from \"monaco-editor\";\n\nexport class PlaceholderContentWidget implements monaco.editor.IContentWidget {\n private static readonly ID = \"editor.widget.placeholderHint\";\n\n private domNode: HTMLElement | undefined;\n\n private readonly placeholder: string;\n private readonly editor: monaco.editor.ICodeEditor;\n private readonly color: string;\n\n constructor(\n placeholder: string,\n editor: monaco.editor.ICodeEditor,\n color: string\n ) {\n this.placeholder = placeholder;\n this.editor = editor;\n this.color = color;\n // register a listener for editor code changes\n this.editor.onDidChangeModelContent(() => this.onDidChangeModelContent());\n // ensure that on initial load the placeholder is shown\n this.onDidChangeModelContent();\n }\n\n private onDidChangeModelContent(): void {\n if (this.editor?.getValue?.() === \"\") {\n this.editor.addContentWidget(this);\n } else {\n this.editor?.removeContentWidget?.(this);\n }\n }\n\n getId(): string {\n return PlaceholderContentWidget.ID;\n }\n\n getDomNode(): HTMLElement {\n if (!this.domNode) {\n this.domNode = document.createElement(\"div\");\n this.domNode.style.width = \"max-content\";\n this.domNode.style.pointerEvents = \"none\";\n this.domNode.textContent = this.placeholder;\n this.domNode.style.whiteSpace = \"break-spaces\";\n this.domNode.style.fontStyle = \"italic\";\n this.domNode.style.color = this.color;\n this.editor.applyFontInfo(this.domNode);\n }\n\n return this.domNode;\n }\n\n getPosition(): monaco.editor.IContentWidgetPosition | null {\n return {\n position: { lineNumber: 1, column: 1 },\n preference: [monaco.editor.ContentWidgetPositionPreference.EXACT],\n };\n }\n\n dispose(): void {\n this.editor?.removeContentWidget?.(this);\n }\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n export default content && content.locals ? content.locals : undefined;\n","var map = {\n\t\"./JSON.tmLanguage.json\": [\n\t\t33887,\n\t\t3887\n\t],\n\t\"./JavaScript.tmLanguage.json\": [\n\t\t43272,\n\t\t3272\n\t],\n\t\"./JavaScriptReact.tmLanguage.json\": [\n\t\t28267,\n\t\t8267\n\t],\n\t\"./MagicPython.tmLanguage.json\": [\n\t\t42370,\n\t\t2370\n\t],\n\t\"./TypeScript.tmLanguage.json\": [\n\t\t66272,\n\t\t6272\n\t],\n\t\"./TypeScriptReact.tmLanguage.json\": [\n\t\t96595,\n\t\t6595\n\t],\n\t\"./brick-next/builtin-entity.json\": [\n\t\t22385,\n\t\t2385\n\t],\n\t\"./brick-next/injection-quoted-double.json\": [\n\t\t13354,\n\t\t3354\n\t],\n\t\"./brick-next/injection-quoted-single.json\": [\n\t\t51427,\n\t\t1427\n\t],\n\t\"./brick-next/injection-unquoted.json\": [\n\t\t49519,\n\t\t9519\n\t],\n\t\"./css.tmLanguage.json\": [\n\t\t53872,\n\t\t3872\n\t],\n\t\"./go.tmLanguage.json\": [\n\t\t62859,\n\t\t2859\n\t],\n\t\"./html-derivative.tmLanguage.json\": [\n\t\t71442,\n\t\t1442\n\t],\n\t\"./html.tmLanguage.json\": [\n\t\t96206,\n\t\t6206\n\t],\n\t\"./java.tmLanguage.json\": [\n\t\t26485,\n\t\t6485\n\t],\n\t\"./markdown.tmLanguage.json\": [\n\t\t45014,\n\t\t5014\n\t],\n\t\"./powershell.tmLanguage.json\": [\n\t\t58350,\n\t\t8350\n\t],\n\t\"./shell-unix-bash.tmLanguage.json\": [\n\t\t51545,\n\t\t1545\n\t],\n\t\"./xml.tmLanguage.json\": [\n\t\t29041,\n\t\t1422\n\t],\n\t\"./yaml-1.0.tmLanguage.json\": [\n\t\t77384,\n\t\t7384\n\t],\n\t\"./yaml-1.1.tmLanguage.json\": [\n\t\t42953,\n\t\t2953\n\t],\n\t\"./yaml-1.2.tmLanguage.json\": [\n\t\t60658,\n\t\t658\n\t],\n\t\"./yaml-1.3.tmLanguage.json\": [\n\t\t91867,\n\t\t1867\n\t],\n\t\"./yaml-embedded.tmLanguage.json\": [\n\t\t87825,\n\t\t7825\n\t],\n\t\"./yaml.tmLanguage.json\": [\n\t\t78816,\n\t\t8816\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 1 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 81076;\nmodule.exports = webpackAsyncContext;","// istanbul ignore file\nimport { wrap } from \"comlink\";\nimport type {\n SpellCheckRequest,\n SpellCheckResponse,\n} from \"@next-shared/spell-check\";\n\nexport interface RemoteSpellCheckWorker {\n spellCheck(req: SpellCheckRequest): Promise<SpellCheckResponse>;\n}\n\nlet remoteWorkerPromise: Promise<RemoteSpellCheckWorker> | undefined;\n\nlet worker: Worker | undefined;\n\nexport function getRemoteSpellCheckWorker() {\n if (!remoteWorkerPromise) {\n remoteWorkerPromise = (async () => {\n const Remote = wrap<{ new (): RemoteSpellCheckWorker }>(getWorker());\n return await new Remote();\n })();\n }\n return remoteWorkerPromise;\n}\n\nfunction getWorker() {\n if (!worker) {\n worker = new Worker(new URL(\"./spellCheck.worker.ts\", import.meta.url));\n }\n return worker;\n}\n","import * as monaco from \"monaco-editor\";\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: \"#\",\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 ],\n folding: {\n offSide: true,\n },\n onEnterRules: [\n {\n beforeText: /:\\s*$/,\n action: {\n indentAction: monaco.languages.IndentAction.Indent,\n },\n },\n ],\n};\n\n/**\n * Register the extended yaml language, with Brick Next expression syntax\n * highlighting supported.\n */\nexport function registerBrickNextYaml(Monaco: typeof monaco) {\n Monaco.languages.register({\n id: \"brick_next_yaml\",\n extensions: [\".yaml\", \".yml\"],\n mimetypes: [\"application/x-yaml\", \"text/x-yaml\"],\n });\n Monaco.languages.setLanguageConfiguration(\"brick_next_yaml\", conf);\n}\n","import * as monaco from \"monaco-editor\";\nimport * as vsctm from \"vscode-textmate\";\nimport { loadWASM, OnigScanner, OnigString } from \"vscode-oniguruma\";\nimport wasm from \"vscode-oniguruma/release/onig.wasm\";\nimport { registerBrickNextYaml } from \"./brick_next_yaml.js\";\n\nconst languageToScope = new Map<string, string>();\nlanguageToScope.set(\"javascript\", \"source.js.jsx\");\nlanguageToScope.set(\"typescript\", \"source.tsx\");\nlanguageToScope.set(\"html\", \"text.html.basic\");\nlanguageToScope.set(\"markdown\", \"text.html.markdown\");\nlanguageToScope.set(\"xml\", \"text.xml\");\nlanguageToScope.set(\"css\", \"source.css\");\nlanguageToScope.set(\"json\", \"source.json\");\nlanguageToScope.set(\"python\", \"source.python\");\nlanguageToScope.set(\"go\", \"source.go\");\nlanguageToScope.set(\"java\", \"source.java\");\nlanguageToScope.set(\"shell\", \"source.shell\");\nlanguageToScope.set(\"powershell\", \"source.powershell\");\nlanguageToScope.set(\"yaml\", \"source.yaml\");\nlanguageToScope.set(\"brick_next_yaml\", \"source.brick_next_yaml\");\n\nexport const languages = [...languageToScope.keys()];\n\nregisterBrickNextYaml(monaco);\n\nconst grammars = new Map<string, string>([\n [\"source.js\", \"JavaScript.tmLanguage\"],\n [\"source.js.jsx\", \"JavaScriptReact.tmLanguage\"],\n [\"source.ts\", \"TypeScript.tmLanguage\"],\n [\"source.tsx\", \"TypeScriptReact.tmLanguage\"],\n [\"text.html.basic\", \"html.tmLanguage\"],\n [\"text.html.derivative\", \"html-derivative.tmLanguage\"],\n [\"text.html.markdown\", \"markdown.tmLanguage\"],\n [\"text.xml\", \"xml.tmLanguage\"],\n [\"source.css\", \"css.tmLanguage\"],\n [\"source.json\", \"JSON.tmLanguage\"],\n [\"source.python\", \"MagicPython.tmLanguage\"],\n [\"source.go\", \"go.tmLanguage\"],\n [\"source.java\", \"java.tmLanguage\"],\n [\"source.shell\", \"shell-unix-bash.tmLanguage\"],\n [\"source.powershell\", \"powershell.tmLanguage\"],\n [\"source.yaml\", \"yaml.tmLanguage\"],\n [\"source.yaml.1.0\", \"yaml-1.0.tmLanguage\"],\n [\"source.yaml.1.1\", \"yaml-1.1.tmLanguage\"],\n [\"source.yaml.1.2\", \"yaml-1.2.tmLanguage\"],\n [\"source.yaml.1.3\", \"yaml-1.3.tmLanguage\"],\n [\"source.yaml.embedded\", \"yaml-embedded.tmLanguage\"],\n [\"source.brick_next_yaml\", \"yaml.tmLanguage\"],\n [\"placeholder.injection.string.unquoted\", \"brick-next/injection-unquoted\"],\n [\n \"placeholder.injection.string.quoted.double\",\n \"brick-next/injection-quoted-double\",\n ],\n [\n \"placeholder.injection.string.quoted.single\",\n \"brick-next/injection-quoted-single\",\n ],\n [\"builtin.entity.injection.string\", \"brick-next/builtin-entity\"],\n]);\n\nconst wasmPromise = fetch(wasm)\n .then((response) => response.arrayBuffer())\n .then((buffer) => loadWASM({ data: buffer }));\n\nconst registry = new vsctm.Registry({\n onigLib: wasmPromise.then(() => {\n return {\n createOnigScanner: (sources) => new OnigScanner(sources),\n createOnigString: (str) => new OnigString(str),\n };\n }),\n async loadGrammar(scopeName) {\n const grammarFile = grammars.get(scopeName);\n if (grammarFile) {\n const grammar = (await import(`./grammars/${grammarFile}.json`)).default;\n if (scopeName === \"source.brick_next_yaml\") {\n return {\n ...grammar,\n scopeName,\n };\n }\n return grammar;\n }\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(`No grammar found for scope: ${scopeName}`);\n }\n return null;\n },\n getInjections(scopeName) {\n if (scopeName === \"source.brick_next_yaml\") {\n return [\n \"placeholder.injection.string.unquoted\",\n \"placeholder.injection.string.quoted.double\",\n \"placeholder.injection.string.quoted.single\",\n \"builtin.entity.injection.string\",\n ];\n }\n return [];\n },\n});\n\nconst providers = new Map<string, Promise<monaco.languages.TokensProvider>>();\n\nconst initializedLanguages = new Set<string>();\n\nexport function initializeTokensProvider(language: string) {\n if (initializedLanguages.has(language)) {\n return;\n }\n initializedLanguages.add(language);\n\n const scopeName = languageToScope.get(language);\n if (scopeName) {\n monaco.languages.setTokensProvider(\n language,\n createTokensProvider(scopeName)\n );\n }\n}\n\nfunction createTokensProvider(\n scopeName: string\n): Promise<monaco.languages.TokensProvider> {\n let provider = providers.get(scopeName);\n if (!provider) {\n provider = doCreateTokensProvider(scopeName);\n providers.set(scopeName, provider);\n }\n return provider;\n}\n\nasync function doCreateTokensProvider(\n scopeName: string\n): Promise<monaco.languages.TokensProvider> {\n const grammar = await registry.loadGrammar(scopeName);\n if (!grammar) {\n throw new Error(\"Failed to load grammar\");\n }\n return {\n getInitialState() {\n return vsctm.INITIAL;\n },\n tokenize(line, state: vsctm.StateStack) {\n const lineTokens = grammar.tokenizeLine(line, state);\n const tokens: monaco.languages.IToken[] = [];\n for (const token of lineTokens.tokens) {\n tokens.push({\n startIndex: token.startIndex,\n // Monaco doesn't support an array of scopes\n scopes: token.scopes[token.scopes.length - 1],\n });\n }\n return { tokens, endState: lineTokens.ruleStack };\n },\n };\n}\n","// https://github.com/google/cel-spec/blob/master/doc/langdef.md#syntax\nimport * as monaco from \"monaco-editor\";\n\nexport const conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: \"//\",\n blockComment: null,\n },\n\n brackets: [\n [\"{\", \"}\"],\n [\"[\", \"]\"],\n [\"(\", \")\"],\n ],\n\n autoClosingPairs: [\n { open: \"{\", close: \"}\" },\n { open: \"[\", close: \"]\" },\n { open: \"(\", close: \")\" },\n { open: '\"', close: '\"', notIn: [\"string\"] },\n { open: \"'\", close: \"'\", notIn: [\"string\", \"comment\"] },\n ],\n\n onEnterRules: [\n {\n // e.g. <% | %>\n beforeText: /^ $/,\n afterText: /^ $/,\n action: {\n indentAction: monaco.languages.IndentAction.IndentOutdent,\n appendText: \" \",\n },\n },\n ],\n};\n\nexport const constants = [\n // Built-in functions\n \"bytes\",\n \"double\",\n \"duration\",\n \"dyn\",\n \"int\",\n \"bool\",\n \"matches\",\n \"size\",\n \"string\",\n \"timestamp\",\n \"type\",\n \"uint\",\n \"round\",\n // Built-in extensions\n \"base64\",\n // Built-in macros\n \"has\",\n // EasyOps primitive_type_ext\n \"printf\",\n \"isEmpty\",\n \"repeatArray\",\n // EasyOps dyn_type_ext\n \"mergeList\",\n \"fieldNotEmpty\",\n \"hasOrDefault\",\n \"trinocular\",\n \"traceId\",\n \"SHA1\",\n \"random\",\n \"random_string\",\n \"now\",\n // Flow builder variables\n \"request\",\n \"step\",\n \"variable\",\n \"config\",\n \"$\",\n] as readonly string[];\n\nexport const instanceMembers = [\n // Built-in methods\n \"contains\",\n \"endsWith\",\n \"matches\",\n \"startsWith\",\n // Built-in datetime methods\n \"getDate\",\n \"getDayOfMonth\",\n \"getDayOfWeek\",\n \"getDayOfYear\",\n \"getFullYear\",\n \"getHours\",\n \"getMilliseconds\",\n \"getMinutes\",\n \"getMonth\",\n \"getSeconds\",\n // Built-in extensions\n \"charAt\",\n \"indexOf\",\n \"lastIndexOf\",\n \"lowerAscii\",\n \"replace\",\n \"split\",\n \"join\",\n \"substring\",\n \"trim\",\n \"upperAscii\",\n // Built-in macros\n \"all\",\n \"exists\",\n \"exists_one\",\n \"map\",\n \"filter\",\n // EasyOps primitive_type_ext\n \"decodeb64\",\n \"truncate\",\n \"parseJSON\",\n \"parseYAML\",\n \"parseURL\",\n \"isBlank\",\n // EasyOps dyn_type_ext\n \"marshalJSON\",\n \"marshalYAML\",\n \"merge\",\n \"repeat\",\n \"match\",\n \"canonical\",\n \"convertMap\",\n \"fuse\",\n \"remove\",\n \"setAttr\",\n \"parseDate\",\n \"format\",\n // Flow builder step variables,\n \"input\",\n \"output\",\n] as readonly string[];\n\nexport const language: monaco.languages.IMonarchLanguage = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n defaultToken: \"invalid\",\n\n tokenPostfix: \".cel\",\n\n keywords: [\n // Reserved keywords are not used in CEL actually.\n \"in\",\n \"as\",\n \"break\",\n \"const\",\n \"continue\",\n \"else\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"let\",\n \"loop\",\n \"package\",\n \"namespace\",\n \"return\",\n \"var\",\n \"void\",\n \"while\",\n // constants\n \"null\",\n // boolean\n \"true\",\n \"false\",\n ],\n\n constants,\n\n instanceMethods: instanceMembers,\n\n operators: [\n // Logical operators\n \"&&\",\n \"||\",\n // Comparison operators\n \"<=\",\n \"<\",\n \">=\",\n \">\",\n \"==\",\n \"!=\",\n // \"in\",\n // Arithmetic operators\n \"+\",\n \"-\",\n \"*\",\n \"/\",\n \"%\",\n \"!\",\n ],\n\n // we include these common regular expressions\n symbols: /[=><!~?:&|+\\-*/^%]+/,\n\n escapes:\n /\\\\(?:[bfnrt\\\\\"']|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|[0-3][0-7]{2})/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // identifiers and keywords\n [\n /[a-zA-Z_$][\\w$]*/,\n {\n cases: {\n \"@keywords\": \"keyword\",\n \"@constants\": \"keyword\",\n \"@default\": \"identifier\",\n },\n },\n ],\n\n // Method calling\n [\n /(\\.)([a-zA-Z_$][\\w$]*)/,\n [\n \"operator\",\n {\n cases: {\n \"@instanceMethods\": \"keyword\",\n \"@default\": \"identifier\",\n },\n },\n ],\n ],\n\n // whitespace\n { include: \"@whitespace\" },\n\n // delimiters and operators\n [/[{}()[\\]]/, \"@brackets\"],\n // [/[<>](?!@symbols)/, \"@brackets\"],\n [/@symbols/, { cases: { \"@operators\": \"operator\", \"@default\": \"\" } }],\n\n // numbers\n [/\\d*\\.\\d+([eE][-+]?\\d+)?/, \"number.float\"],\n [/0x[0-9a-fA-F]+[uU]?/, \"number.hex\"],\n [/\\d+[uU]?/, \"number\"],\n\n // delimiter: after number because of .\\d floats\n [/[;,.]/, \"delimiter\"],\n\n // strings\n [/\"([^\"\\\\]|\\\\.)*$/, \"string.invalid\"], // non-terminated string\n [/\"/, { token: \"string.quote\", bracket: \"@open\", next: \"@string\" }],\n\n // characters\n [/'[^\\\\']'/, \"string\"],\n [/(')(@escapes)(')/, [\"string\", \"string.escape\", \"string\"]],\n [/'/, \"string.invalid\"],\n ],\n\n string: [\n [/[^\\\\\"]+/, \"string\"],\n [/@escapes/, \"string.escape\"],\n [/\\\\./, \"string.escape.invalid\"],\n [/\"/, { token: \"string.quote\", bracket: \"@close\", next: \"@pop\" }],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, \"white\"],\n [/\\/\\/.*$/, \"comment\"],\n ],\n },\n};\n\n/**\n * Register the CEL language.\n *\n * See https://github.com/google/cel-spec/blob/master/doc/langdef.md#syntax\n */\nexport function register(Monaco: typeof monaco, languageId = \"cel\") {\n Monaco.languages.register({\n id: languageId,\n extensions: [\".cel\"],\n mimetypes: [\"text/cel\"],\n });\n Monaco.languages.setLanguageConfiguration(languageId, conf);\n Monaco.languages.setMonarchTokensProvider(languageId, language);\n}\n","export const EDITOR_FONT_SIZE = 12;\nexport const EDITOR_LINE_HEIGHT = 18;\nexport const EDITOR_SCROLLBAR_SIZE = 12;\nexport const EDITOR_PADDING_VERTICAL = 12;\n","// istanbul ignore file\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nconst markRegex = new RegExp(\"\\\\b(MARK:\\\\s*)(.*)$\");\nconst trimDashesRegex = /^-+|-+$/g;\n/**\n * Find section headers in the model.\n *\n * @param model the text model to search in\n * @param options options to search with\n * @returns an array of section headers\n */\nexport function findSectionHeaders(model, options) {\n var _a;\n let headers = [];\n if (\n options.findRegionSectionHeaders &&\n ((_a = options.foldingRules) === null || _a === void 0\n ? void 0\n : _a.markers)\n ) {\n const regionHeaders = collectRegionHeaders(model, options);\n headers = headers.concat(regionHeaders);\n }\n if (options.findMarkSectionHeaders) {\n const markHeaders = collectMarkHeaders(model);\n headers = headers.concat(markHeaders);\n }\n return headers;\n}\nfunction collectRegionHeaders(model, options) {\n const regionHeaders = [];\n const endLineNumber = model.getLineCount();\n for (let lineNumber = 1; lineNumber <= endLineNumber; lineNumber++) {\n const lineContent = model.getLineContent(lineNumber);\n const match = lineContent.match(options.foldingRules.markers.start);\n if (match) {\n const range = {\n startLineNumber: lineNumber,\n startColumn: match[0].length + 1,\n endLineNumber: lineNumber,\n endColumn: lineContent.length + 1,\n };\n if (range.endColumn > range.startColumn) {\n const sectionHeader = {\n range,\n ...getHeaderText(lineContent.substring(match[0].length)),\n shouldBeInComments: false,\n };\n if (sectionHeader.text || sectionHeader.hasSeparatorLine) {\n regionHeaders.push(sectionHeader);\n }\n }\n }\n }\n return regionHeaders;\n}\nfunction collectMarkHeaders(model) {\n const markHeaders = [];\n const endLineNumber = model.getLineCount();\n for (let lineNumber = 1; lineNumber <= endLineNumber; lineNumber++) {\n const lineContent = model.getLineContent(lineNumber);\n addMarkHeaderIfFound(lineContent, lineNumber, markHeaders);\n }\n return markHeaders;\n}\nfunction addMarkHeaderIfFound(lineContent, lineNumber, sectionHeaders) {\n markRegex.lastIndex = 0;\n const match = markRegex.exec(lineContent);\n if (match) {\n const column = match.index + match[1].length + 1;\n const endColumn = column + match[2].length;\n const range = {\n startLineNumber: lineNumber,\n startColumn: column,\n endLineNumber: lineNumber,\n endColumn: endColumn,\n };\n if (range.endColumn > range.startColumn) {\n const sectionHeader = {\n range,\n ...getHeaderText(match[1]),\n shouldBeInComments: true,\n };\n if (sectionHeader.text || sectionHeader.hasSeparatorLine) {\n sectionHeaders.push(sectionHeader);\n }\n }\n }\n}\nfunction getHeaderText(text) {\n text = text.trim();\n const hasSeparatorLine = text.startsWith(\"-\");\n text = text.replace(trimDashesRegex, \"\");\n return { text, hasSeparatorLine };\n}\n","// https://github.com/microsoft/monaco-editor/blob/8270c45a385a180a53fd8ef8e3a189b1471100ed/src/basic-languages/yaml/yaml.ts\nimport * as monaco from \"monaco-editor\";\nimport { conf as confOfCel } from \"./cel\";\n\nexport const conf: monaco.languages.LanguageConfiguration = {\n brackets: confOfCel.brackets,\n autoClosingPairs: confOfCel.autoClosingPairs,\n};\n\nexport const language: monaco.languages.IMonarchLanguage = {\n tokenPostfix: \".yaml.str\",\n\n tokenizer: {\n root: [\n { include: \"@whitespace\" },\n { include: \"@expression\" },\n { include: \"@strings\" },\n ],\n\n expression: [\n [\n /<%/,\n {\n token: \"delimiter\",\n next: \"@expressionEmbedded\",\n nextEmbedded: \"text/cel\",\n bracket: \"@open\",\n },\n ],\n [/%>/, { token: \"delimiter\", bracket: \"@close\" }],\n ],\n\n expressionEmbedded: [\n [/%>/, { token: \"@rematch\", next: \"@pop\", nextEmbedded: \"@pop\" }],\n ],\n\n strings: [[/[^<]+|<(?!%)/, \"string\"]],\n\n whitespace: [[/[ \\t\\r\\n]+/, \"white\"]],\n },\n};\n\n/**\n * Register the cel_str language, that CEL is embedded in `<% %>` as a plain string.\n */\nexport function register(Monaco: typeof monaco, languageId = \"cel_str\") {\n Monaco.languages.register({\n id: languageId,\n extensions: [\".cel-str\"],\n mimetypes: [\"text/cel-str\"],\n });\n Monaco.languages.setLanguageConfiguration(languageId, conf);\n Monaco.languages.setMonarchTokensProvider(languageId, language);\n}\n"],"names":["findKeys","model","range","line","curLevelKeys","keyList","parentKey","i","startColumn","matchWord","getValueInRange","startLineNumber","endLineNumber","endColumn","Infinity","match","wordSpace","key","length","unshift","brickNextYAMLProviderCompletionItems","completers","arguments","undefined","advancedCompleters","id","tokenConfig","async","position","context","getEditorId","suggestions","DSToken","showDSKey","word","getWordUntilPosition","prefixWord","token","prefixToken","getPrefixWord","_word$word","lineNumber","column","getWordAtPosition","prefix","curLineWord","isFirstLevelProperty","getLineCount","triggerCharacter","fullWord","test","trim","label","detail","kind","monaco","CompletionItemKind","Value","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","filter","item","includes","map","Keyword","concat","builtinActions","matchCompletion","list","matchTriggerCharacter","Array","isArray","isInEvaluateBody","_model$findMatches","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixRange","suffixRange","findMatches","prefixParentKey","suffixParentKey","embeddedContext","EmbeddedModelContext","getInstance","provideJsSuggestItems","getState","brickNextKeywords","currentEditor","switchEditor","editor","disposeEditor","_editor$getModel","getModel","dispose","isCurrentEditor","remoteWorkerPromise","worker","getRemoteYamlLinterWorker","Remote","wrap","Worker","URL","K","NS","locales","en","COPY","COPY_SUCCESS","COPY_FAILED","EXPAND","COLLAPSE","zh","_assertClassBrand","this","_instance","_","constructor","_classPrivateFieldInitSpec","_id","_state","_classPrivateFieldSet","updateState","state","_classPrivateFieldGet","getEmbeddedJavascriptUri","value","parse","toString","_embeddedContext$offs","_info$entries","workerGetter","typescript","getJavaScriptWorker","uri","javascriptModel","offset","getOffsetAt","info","getCompletionsAtPosition","wordInfo","wordRange","entries","entry","replacementSpan","p1","getPositionAt","start","p2","name","sortText","Property","getBrickYamlBuiltInDeclare","builtInKeywordDeclare","join","self","MonacoEnvironment","getWorker","workerId","method","property","createDecorators","_A","WeakMap","_FormItemElementBase_brand","WeakSet","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","_classPrivateMethodInitSpec","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","isFormItemElement","validateState","_classPrivateSetter","_set_validate","_render","_classPrivateGetter","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","v","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_this","_this2","_this3","_this4","_this5","_this6","_FormItemElementBase","_applyDecs","attribute","e","___CSS_LOADER_EXPORT___","push","module","editorId","setEditorId","isInEmbedded","previousStart","nextEnd","previousEnd","getEndPosition","isBefore","getStartPosition","nextStart","BUILTIN_MEMBERS","request","provideEmbeddedCelCompletionItems","nearby","celCommonCompletionProviderFactory","lang","triggerCharacters","provideCompletionItems","previousWord","completer","hasOwnProperty","Method","constants","instanceMembers","celSpecificCompletionProviderFactory","members","type","DEFAULT_SYSTEM_PROMPT","brick_next_yaml","javascript","getDefaultSystemPrompt","language","trimWithInfo","content","leading","trailing","trimmed","replace","SUPPORTED_LANGUAGES","Object","freeze","_timer","_previousResolve","_debounce","_timeout","_HttpAbortError","_request","_model","MonacoCopilotProvider","options","_options$debounce","_options$model","_options$timeout","debounce","HttpAbortError","timeout","provideInlineCompletions","ctx","abortCtrl","AbortController","_classPrivateFieldGet2","onCancellationRequested","abort","clearTimeout","call","Promise","resolve","setTimeout","isCancellationRequested","getLanguageId","source","getValue","lineContent","getLineContent","getLineLength","requestTimeout","edit","_ref","signal","slice","suffix","system","prompt","temperature","matches","console","error","response","originalPrefix","originalSuffix","trimmedResponse","trimmedOriginalPrefix","trimmedOriginalSuffix","responseLines","split","trimmedPrefixLines","trimmedSuffixLines","cursorLineNumber","diffLinesOffset","Math","max","truncatedSource","changes","diffLines","ignoreWhitespace","oldLineIndex","afterCursor","lastAction","change","removed","added","nextChange","nextAction","count","update","updatedLines","pop","lastUpdatedLine","originalLinePrefix","originalLineSuffix","lastUpdatedLineTrimmed","lastUpdatedLineTrailing","originalLinePrefixTrimmed","originalLinePrefixLeading","originalLinePrefixTrailing","originalLineSuffixTrimmed","originalLineSuffixLeading","j","firstUpdatedLine","firstUpdatedLineTrimmed","firstUpdatedLineLeading","startsWith","endsWith","fixedUpdateValue","end","restUpdate","restUpdateLeading","restUpdateTrailing","min","leadingSpaces","index","reduce","acc","_trimmedPrefixLines$m","_trimmedPrefixLines$m2","trimStart","postProcessByDiff","warn","getInlineEdit","enableForwardStability","items","freeInlineCompletions","previousDisposables","setExtraLibs","libs","disposable","lib","uriString","file","filePath","languageDefaults","addExtraLib","conf","comments","lineComment","brackets","autoClosingPairs","open","close","folding","offSide","onEnterRules","beforeText","action","indentAction","IndentAction","Indent","tokenPostfix","keywords","numberInteger","numberFloat","numberOctal","numberHex","numberInfinity","numberNaN","numberDate","escapes","tokenizer","root","include","cases","object","array","multiString","next","multiStringContinued","whitespace","comment","flowCollections","flowScalars","singleQuotedString","bracket","doubleQuotedString","blockStyle","flowNumber","tagHandle","anchor","flowExpression","expressionStart","nextEmbedded","multiExpression","expressionEmbedded","register","Monaco","languageId","languages","extensions","mimetypes","setLanguageConfiguration","setMonarchTokensProvider","PlaceholderContentWidget","placeholder","color","_defineProperty","onDidChangeModelContent","_this$editor","_this$editor$getValue","_this$editor2","_this$editor2$removeC","addContentWidget","removeContentWidget","getId","ID","getDomNode","domNode","document","createElement","style","width","pointerEvents","textContent","whiteSpace","fontStyle","applyFontInfo","getPosition","preference","ContentWidgetPositionPreference","EXACT","_this$editor3","_this$editor3$removeC","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","webpackAsyncContext","req","__webpack_require__","o","then","Error","code","ids","t","keys","exports","getRemoteSpellCheckWorker","languageToScope","Map","set","grammars","wasmPromise","fetch","wasm","arrayBuffer","buffer","loadWASM","data","registry","vsctm","onigLib","createOnigScanner","sources","OnigScanner","createOnigString","str","OnigString","loadGrammar","scopeName","grammarFile","get","grammar","default","getInjections","providers","initializedLanguages","Set","initializeTokensProvider","has","add","setTokensProvider","provider","getInitialState","tokenize","lineTokens","tokenizeLine","tokens","startIndex","scopes","endState","ruleStack","doCreateTokensProvider","createTokensProvider","blockComment","notIn","afterText","IndentOutdent","appendText","defaultToken","instanceMethods","operators","symbols","string","EDITOR_FONT_SIZE","EDITOR_LINE_HEIGHT","EDITOR_SCROLLBAR_SIZE","EDITOR_PADDING_VERTICAL","markRegex","RegExp","trimDashesRegex","findSectionHeaders","_a","headers","findRegionSectionHeaders","foldingRules","markers","regionHeaders","sectionHeader","getHeaderText","substring","shouldBeInComments","text","hasSeparatorLine","collectRegionHeaders","findMarkSectionHeaders","markHeaders","addMarkHeaderIfFound","collectMarkHeaders","sectionHeaders","lastIndex","exec","confOfCel","expression","strings"],"sourceRoot":""}
|