@deephaven/console 0.95.1-beta.7 → 0.96.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"MonacoProviders.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoProviders.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MonacoProviders.d.ts","sourceRoot":"","sources":["../../src/monaco/MonacoProviders.tsx"],"names":[],"mappings":"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"}
@@ -79,17 +79,19 @@ class MonacoProviders extends PureComponent {
79
79
  if (!MonacoProviders.ruffWorkspace) {
80
80
  return;
81
81
  }
82
- monaco.editor.setModelMarkers(model, 'ruff', MonacoProviders.getDiagnostics(model).map(d => {
83
- // Unused variable or import. Mark as warning and unnecessary to fade the text
82
+ var diagnostics = MonacoProviders.getDiagnostics(model);
83
+ log.debug("Linting Python document: ".concat(model.uri.toString()), diagnostics);
84
+ monaco.editor.setModelMarkers(model, 'ruff', diagnostics.map(d => {
85
+ // Unused variable or import. Mark as unnecessary to fade the text
84
86
  var isUnnecessary = d.code === 'F401' || d.code === 'F841';
87
+ var isSyntaxError = d.code == null; // SyntaxError has no error code
85
88
  return {
86
89
  startLineNumber: d.location.row,
87
90
  startColumn: d.location.column,
88
91
  endLineNumber: d.end_location.row,
89
92
  endColumn: d.end_location.column,
90
- message: d.code != null ? "".concat(d.code, ": ").concat(d.message) : d.message,
91
- // SyntaxError has no code
92
- severity: isUnnecessary ? monaco.MarkerSeverity.Warning : monaco.MarkerSeverity.Error,
93
+ message: isSyntaxError ? d.message : "".concat(d.code, ": ").concat(d.message),
94
+ severity: isSyntaxError ? monaco.MarkerSeverity.Error : monaco.MarkerSeverity.Warning,
93
95
  tags: isUnnecessary ? [monaco.MarkerTag.Unnecessary] : []
94
96
  };
95
97
  }));
@@ -315,6 +317,7 @@ class MonacoProviders extends PureComponent {
315
317
  if (!MonacoProviders.ruffWorkspace) {
316
318
  return;
317
319
  }
320
+ log.debug("Formatting Python document: ".concat(model.uri.toString));
318
321
  return [{
319
322
  range: model.getFullModelRange(),
320
323
  text: MonacoProviders.ruffWorkspace.format(model.getValue())
@@ -1 +1 @@
1
- {"version":3,"file":"MonacoProviders.js","names":["PureComponent","monaco","throttle","Log","init","Workspace","RUFF_DEFAULT_SETTINGS","MonacoUtils","log","module","MonacoProviders","initRuff","_asyncToGenerator","initRuffPromise","then","debug","version","ruffWorkspace","ruffSettings","lintAllPython","setRuffSettings","_arguments","arguments","settings","length","undefined","getDiagnostics","model","diagnostics","check","getValue","isConsoleModel","filter","d","code","isRuffEnabled","editor","removeAllMarkers","getModels","m","getLanguageId","forEach","lintPython","setModelMarkers","map","isUnnecessary","startLineNumber","location","row","startColumn","column","endLineNumber","end_location","endColumn","message","concat","severity","MarkerSeverity","Warning","Error","tags","MarkerTag","Unnecessary","lspToMonacoKind","kind","monacoKinds","languages","CompletionItemKind","Text","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","Color","File","Reference","Folder","EnumMember","Constant","Struct","Event","Operator","TypeParameter","lspToMonacoRange","range","start","end","line","character","monacoToLspPosition","position","lineNumber","handlePythonCodeActionRequest","actions","dispose","diagnosticRange","Range","intersectRanges","fixActions","_ref","fix","title","id","edit","edits","_edit$content","resource","uri","versionId","getVersionId","textEdit","text","content","disableActions","getLineContent","lastToken","tokenize","at","lineEdit","type","startsWith","offset","flat","handlePythonFormatRequest","options","token","getFullModelRange","format","constructor","props","_defineProperty","handleCompletionRequest","bind","handleSignatureRequest","handleHoverRequest","componentDidMount","language","session","registeredCompletionProvider","registerCompletionItemProvider","provideCompletionItems","triggerCharacters","getSignatureHelp","registeredSignatureProvider","registerSignatureHelpProvider","provideSignatureHelp","signatureHelpTriggerCharacters","getHover","registeredHoverProvider","registerHoverProvider","provideHover","throttledLint","onDidChangeContent","componentWillUnmount","_this$registeredCompl","_this$registeredSigna","_this$registeredHover","context","propModel","params","textDocument","completionItems","getCompletionItems","monacoCompletionItems","items","suggestions","item","label","detail","documentation","sortText","filterText","insertTextFormat","value","insertText","insertTextRules","incomplete","catch","error","defaultResult","signatures","activeSignature","activeParameter","signatureItems","monacoSignatures","parameters","hover","monacoHover","hoverItem","contents","hoverContents","render"],"sources":["../../src/monaco/MonacoProviders.tsx"],"sourcesContent":["/**\n * Completion provider for a code session\n */\nimport { PureComponent } from 'react';\nimport * as monaco from 'monaco-editor';\nimport throttle from 'lodash.throttle';\nimport Log from '@deephaven/log';\nimport type { dh } from '@deephaven/jsapi-types';\nimport init, { Workspace, type Diagnostic } from '@astral-sh/ruff-wasm-web';\nimport RUFF_DEFAULT_SETTINGS from './RuffDefaultSettings';\nimport MonacoUtils from './MonacoUtils';\n\nconst log = Log.module('MonacoCompletionProvider');\n\ninterface MonacoProviderProps {\n model: monaco.editor.ITextModel;\n session: dh.IdeSession;\n language: string;\n}\n\n/**\n * Registers a completion provider with monaco for the language and session provided.\n */\nclass MonacoProviders extends PureComponent<\n MonacoProviderProps,\n Record<string, never>\n> {\n static ruffWorkspace?: Workspace;\n\n static initRuffPromise?: Promise<void>;\n\n static isRuffEnabled = true;\n\n static ruffSettings: Record<string, unknown> = RUFF_DEFAULT_SETTINGS;\n\n /**\n * Loads and initializes Ruff.\n * Subsequent calls will return the same promise.\n */\n static async initRuff(): Promise<void> {\n if (MonacoProviders.initRuffPromise) {\n return MonacoProviders.initRuffPromise;\n }\n\n MonacoProviders.initRuffPromise = init({}).then(() => {\n log.debug('Initialized Ruff', Workspace.version());\n\n MonacoProviders.ruffWorkspace = new Workspace(\n MonacoProviders.ruffSettings\n );\n MonacoProviders.lintAllPython();\n });\n\n return MonacoProviders.initRuffPromise;\n }\n\n /**\n * Sets ruff settings\n * @param settings The ruff settings\n */\n static async setRuffSettings(\n settings: Record<string, unknown> = MonacoProviders.ruffSettings\n ): Promise<void> {\n MonacoProviders.ruffSettings = settings;\n\n // Ruff has not been initialized yet\n if (MonacoProviders.ruffWorkspace == null) {\n return;\n }\n\n MonacoProviders.ruffWorkspace = new Workspace(settings);\n MonacoProviders.lintAllPython();\n }\n\n static getDiagnostics(model: monaco.editor.ITextModel): Diagnostic[] {\n if (!MonacoProviders.ruffWorkspace) {\n return [];\n }\n\n const diagnostics = MonacoProviders.ruffWorkspace.check(\n model.getValue()\n ) as Diagnostic[];\n if (MonacoUtils.isConsoleModel(model)) {\n // Only want SyntaxErrors for console which have no code\n return diagnostics.filter(d => d.code == null);\n }\n return diagnostics;\n }\n\n static lintAllPython(): void {\n if (!MonacoProviders.isRuffEnabled) {\n monaco.editor.removeAllMarkers('ruff');\n return;\n }\n\n monaco.editor\n .getModels()\n .filter(m => m.getLanguageId() === 'python')\n .forEach(MonacoProviders.lintPython);\n }\n\n static lintPython(model: monaco.editor.ITextModel): void {\n if (!MonacoProviders.isRuffEnabled) {\n return;\n }\n\n if (!MonacoProviders.ruffWorkspace) {\n return;\n }\n\n monaco.editor.setModelMarkers(\n model,\n 'ruff',\n MonacoProviders.getDiagnostics(model).map((d: Diagnostic) => {\n // Unused variable or import. Mark as warning and unnecessary to fade the text\n const isUnnecessary = d.code === 'F401' || d.code === 'F841';\n return {\n startLineNumber: d.location.row,\n startColumn: d.location.column,\n endLineNumber: d.end_location.row,\n endColumn: d.end_location.column,\n message: d.code != null ? `${d.code}: ${d.message}` : d.message, // SyntaxError has no code\n severity: isUnnecessary\n ? monaco.MarkerSeverity.Warning\n : monaco.MarkerSeverity.Error,\n tags: isUnnecessary ? [monaco.MarkerTag.Unnecessary] : [],\n };\n })\n );\n }\n\n /**\n * Converts LSP CompletionItemKind to Monaco CompletionItemKind\n * Defaults to Variable if no LSP kind was provided\n * https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionItemKind\n *\n * @param kind The LSP kind\n * @returns Monaco kind\n */\n static lspToMonacoKind(kind: number | undefined): number {\n const monacoKinds = monaco.languages.CompletionItemKind;\n switch (kind) {\n case 1:\n return monacoKinds.Text;\n case 2:\n return monacoKinds.Method;\n case 3:\n return monacoKinds.Function;\n case 4:\n return monacoKinds.Constructor;\n case 5:\n return monacoKinds.Field;\n case 6:\n return monacoKinds.Variable;\n case 7:\n return monacoKinds.Class;\n case 8:\n return monacoKinds.Interface;\n case 9:\n return monacoKinds.Module;\n case 10:\n return monacoKinds.Property;\n case 11:\n return monacoKinds.Unit;\n case 12:\n return monacoKinds.Value;\n case 13:\n return monacoKinds.Enum;\n case 14:\n return monacoKinds.Keyword;\n case 15:\n return monacoKinds.Snippet;\n case 16:\n return monacoKinds.Color;\n case 17:\n return monacoKinds.File;\n case 18:\n return monacoKinds.Reference;\n case 19:\n return monacoKinds.Folder;\n case 20:\n return monacoKinds.EnumMember;\n case 21:\n return monacoKinds.Constant;\n case 22:\n return monacoKinds.Struct;\n case 23:\n return monacoKinds.Event;\n case 24:\n return monacoKinds.Operator;\n case 25:\n return monacoKinds.TypeParameter;\n default:\n return monacoKinds.Variable;\n }\n }\n\n /**\n * Converts an LSP document range to a monaco range\n * Accounts for LSP indexing from 0 and monaco indexing from 1\n *\n * @param range The LSP document range to convert\n * @returns The corresponding monaco range\n */\n static lspToMonacoRange(range: dh.lsp.Range): monaco.IRange {\n const { start, end } = range;\n\n // Monaco expects the columns/ranges to start at 1. LSP starts at 0\n return {\n startLineNumber: start.line + 1,\n startColumn: start.character + 1,\n endLineNumber: end.line + 1,\n endColumn: end.character + 1,\n };\n }\n\n /**\n * Converts a monaco position to an LSP position\n * Accounts for LSP indexing from 0 and monaco indexing from 1\n *\n * @param position The monaco position\n * @returns The corresponding LSP position\n */\n static monacoToLspPosition(\n position: monaco.IPosition\n ): Pick<dh.lsp.Position, 'line' | 'character'> {\n // Monaco 1-indexes Position. LSP 0-indexes Position\n return {\n line: position.lineNumber - 1,\n character: position.column - 1,\n };\n }\n\n static handlePythonCodeActionRequest(\n model: monaco.editor.ITextModel,\n range: monaco.Range\n ): monaco.languages.ProviderResult<monaco.languages.CodeActionList> {\n if (!MonacoProviders.ruffWorkspace) {\n return {\n actions: [],\n dispose: () => {\n /* no-op */\n },\n };\n }\n\n const diagnostics = MonacoProviders.getDiagnostics(model).filter(d => {\n const diagnosticRange = new monaco.Range(\n d.location.row,\n d.location.column,\n d.end_location.row,\n d.end_location.column\n );\n return diagnosticRange.intersectRanges(range);\n });\n\n const fixActions: monaco.languages.CodeAction[] = diagnostics\n .filter(({ fix }) => fix != null)\n .map(d => {\n let title = 'Fix';\n if (d.fix != null) {\n if (d.fix.message != null && d.fix.message !== '') {\n title = `${d.code}: ${d.fix.message}`;\n } else {\n title = `Fix ${d.code}`;\n }\n }\n return {\n title,\n id: `fix-${d.code}`,\n kind: 'quickfix',\n edit: d.fix\n ? {\n edits: d.fix.edits.map(edit => ({\n resource: model.uri,\n versionId: model.getVersionId(),\n textEdit: {\n range: {\n startLineNumber: edit.location.row,\n startColumn: edit.location.column,\n endLineNumber: edit.end_location.row,\n endColumn: edit.end_location.column,\n },\n text: edit.content ?? '',\n },\n })),\n }\n : undefined,\n };\n });\n\n const disableActions: monaco.languages.CodeAction[] = diagnostics\n .map(d => {\n const line = model.getLineContent(d.location.row);\n const lastToken = monaco.editor\n .tokenize(line, model.getLanguageId())[0]\n .at(-1);\n const lineEdit = {\n range: {\n startLineNumber: d.location.row,\n startColumn: line.length + 1,\n endLineNumber: d.location.row,\n endColumn: line.length + 1,\n },\n text: ` # noqa: ${d.code}`,\n };\n if (lastToken != null && lastToken.type.startsWith('comment')) {\n // Already a comment at the end of the line\n lineEdit.text = `# noqa: ${d.code} `;\n if (line.startsWith('# noqa:', lastToken.offset)) {\n // Already another suppressed rule on the line\n lineEdit.range.startColumn = lastToken.offset + 1;\n lineEdit.range.endColumn = lastToken.offset + 9; // \"# noqa: \" length + 1 to offset\n } else {\n lineEdit.range.startColumn = lastToken.offset + 1;\n lineEdit.range.endColumn = line.startsWith('# ', lastToken.offset)\n ? lastToken.offset + 3 // \"# \" + 1 to offset\n : lastToken.offset + 2; // \"#\" + 1 to offset\n }\n }\n return [\n {\n title: `Disable ${d.code} for this line`,\n kind: 'quickfix',\n edit: {\n edits: [\n {\n resource: model.uri,\n versionId: model.getVersionId(),\n textEdit: lineEdit,\n },\n ],\n },\n },\n {\n title: `Disable ${d.code} for this file`,\n kind: 'quickfix',\n edit: {\n edits: [\n {\n resource: model.uri,\n versionId: model.getVersionId(),\n textEdit: {\n range: {\n startLineNumber: 1,\n startColumn: 1,\n endLineNumber: 1,\n endColumn: 1,\n },\n text: `# ruff: noqa: ${d.code}\\n`,\n },\n },\n ],\n },\n },\n ];\n })\n .flat();\n\n return {\n actions: [...fixActions, ...disableActions],\n dispose: () => {\n /* no-op */\n },\n };\n }\n\n static handlePythonFormatRequest(\n model: monaco.editor.ITextModel,\n options: monaco.languages.FormattingOptions,\n token: monaco.CancellationToken\n ): monaco.languages.ProviderResult<monaco.languages.TextEdit[]> {\n if (!MonacoProviders.ruffWorkspace) {\n return;\n }\n\n return [\n {\n range: model.getFullModelRange(),\n text: MonacoProviders.ruffWorkspace.format(model.getValue()),\n },\n ];\n }\n\n constructor(props: MonacoProviderProps) {\n super(props);\n\n this.handleCompletionRequest = this.handleCompletionRequest.bind(this);\n this.handleSignatureRequest = this.handleSignatureRequest.bind(this);\n this.handleHoverRequest = this.handleHoverRequest.bind(this);\n }\n\n componentDidMount(): void {\n const { language, session, model } = this.props;\n\n this.registeredCompletionProvider =\n monaco.languages.registerCompletionItemProvider(language, {\n provideCompletionItems: this.handleCompletionRequest,\n triggerCharacters: ['.', '\"', \"'\"],\n });\n\n if (session.getSignatureHelp != null) {\n this.registeredSignatureProvider =\n monaco.languages.registerSignatureHelpProvider(language, {\n provideSignatureHelp: this.handleSignatureRequest,\n signatureHelpTriggerCharacters: ['(', ','],\n });\n }\n\n if (session.getHover != null) {\n this.registeredHoverProvider = monaco.languages.registerHoverProvider(\n language,\n {\n provideHover: this.handleHoverRequest,\n }\n );\n }\n\n if (language === 'python') {\n if (MonacoProviders.ruffWorkspace == null) {\n MonacoProviders.initRuff(); // This will also lint all open editors\n } else {\n MonacoProviders.lintPython(model);\n }\n\n const throttledLint = throttle(\n (m: monaco.editor.ITextModel) => MonacoProviders.lintPython(m),\n 250\n );\n\n model.onDidChangeContent(() => {\n throttledLint(model);\n });\n }\n }\n\n componentWillUnmount(): void {\n this.registeredCompletionProvider?.dispose();\n this.registeredSignatureProvider?.dispose();\n this.registeredHoverProvider?.dispose();\n }\n\n registeredCompletionProvider?: monaco.IDisposable;\n\n registeredSignatureProvider?: monaco.IDisposable;\n\n registeredHoverProvider?: monaco.IDisposable;\n\n handleCompletionRequest(\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext\n ): monaco.languages.ProviderResult<monaco.languages.CompletionList> {\n const { model: propModel, session } = this.props;\n if (model !== propModel) {\n return null;\n }\n\n const params = {\n textDocument: {\n uri: `${model.uri}`,\n version: model.getVersionId(),\n },\n position: MonacoProviders.monacoToLspPosition(position),\n context,\n };\n\n const completionItems = session.getCompletionItems(params);\n log.debug('Requested completion items', params);\n\n const monacoCompletionItems = completionItems\n .then(items => {\n log.debug('Completion items received: ', params, items);\n\n const suggestions = items.map(item => {\n const {\n label,\n kind,\n detail,\n documentation,\n sortText,\n filterText,\n textEdit,\n insertTextFormat,\n } = item;\n\n return {\n label,\n kind: MonacoProviders.lspToMonacoKind(kind),\n detail,\n documentation:\n documentation?.kind === 'markdown'\n ? documentation\n : documentation?.value,\n sortText,\n filterText,\n insertText: textEdit.text,\n // We are basically guessing that LSP's insertTextFormat===2 is\n // semantically equivalent to monaco's insertTextRules===4.\n // Why microsoft is using almost-but-not-LSP apis is beyond me....\n insertTextRules: insertTextFormat === 2 ? 4 : insertTextFormat,\n range: MonacoProviders.lspToMonacoRange(textEdit.range),\n };\n });\n\n return {\n incomplete: true,\n suggestions,\n };\n })\n .catch((error: unknown) => {\n log.error('There was an error retrieving completion items', error);\n return { suggestions: [] };\n });\n\n return monacoCompletionItems;\n }\n\n handleSignatureRequest(\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n token: monaco.CancellationToken,\n context: monaco.languages.SignatureHelpContext\n ): monaco.languages.ProviderResult<monaco.languages.SignatureHelpResult> {\n const defaultResult: monaco.languages.SignatureHelpResult = {\n value: {\n signatures: [],\n activeSignature: 0,\n activeParameter: 0,\n },\n dispose: () => {\n /* no-op */\n },\n };\n\n const { model: propModel, session } = this.props;\n if (model !== propModel || session.getSignatureHelp == null) {\n return null;\n }\n\n const params = {\n textDocument: {\n uri: `${model.uri}`,\n version: model.getVersionId(),\n },\n position: MonacoProviders.monacoToLspPosition(position),\n context,\n };\n\n const signatureItems = session.getSignatureHelp(params);\n log.debug('Requested signature help', params);\n\n const monacoSignatures = signatureItems\n .then(items => {\n log.debug('Signatures received: ', params, signatureItems);\n const signatures = items.map(item => {\n const { label, documentation, parameters } = item;\n\n return {\n documentation:\n documentation?.kind === 'markdown'\n ? documentation\n : documentation?.value,\n label,\n parameters: parameters ?? [],\n };\n });\n\n if (signatures.length === 0) {\n return defaultResult;\n }\n\n // For now we will assume we only autocomplete Python w/ 1 signature\n // For multiple signatures, this may need to be sent through the request as context\n const activeSignature = 0;\n\n return {\n value: {\n signatures,\n activeSignature,\n activeParameter: items[activeSignature].activeParameter,\n },\n dispose: () => {\n /* no-op */\n },\n };\n })\n .catch((error: unknown) => {\n log.error('There was an error retrieving completion items', error);\n return defaultResult;\n });\n\n return monacoSignatures;\n }\n\n handleHoverRequest(\n model: monaco.editor.ITextModel,\n position: monaco.Position\n ): monaco.languages.ProviderResult<monaco.languages.Hover> {\n const { model: propModel, session } = this.props;\n if (model !== propModel || session.getHover == null) {\n return null;\n }\n\n const params = {\n textDocument: {\n uri: `${model.uri}`,\n version: model.getVersionId(),\n },\n position: MonacoProviders.monacoToLspPosition(position),\n };\n\n const hover = session.getHover(params);\n log.debug('Requested hover', params);\n\n const monacoHover = hover\n .then(hoverItem => {\n log.debug('Hover received: ', params, hoverItem);\n const { contents: hoverContents } = hoverItem;\n\n return {\n contents: hoverContents != null ? [hoverContents] : [],\n };\n })\n .catch((error: unknown) => {\n log.error('There was an error retrieving hover', error);\n return { contents: [] };\n });\n\n return monacoHover;\n }\n\n render(): null {\n return null;\n }\n}\n\nexport default MonacoProviders;\n"],"mappings":"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"}
1
+ {"version":3,"file":"MonacoProviders.js","names":["PureComponent","monaco","throttle","Log","init","Workspace","RUFF_DEFAULT_SETTINGS","MonacoUtils","log","module","MonacoProviders","initRuff","_asyncToGenerator","initRuffPromise","then","debug","version","ruffWorkspace","ruffSettings","lintAllPython","setRuffSettings","_arguments","arguments","settings","length","undefined","getDiagnostics","model","diagnostics","check","getValue","isConsoleModel","filter","d","code","isRuffEnabled","editor","removeAllMarkers","getModels","m","getLanguageId","forEach","lintPython","concat","uri","toString","setModelMarkers","map","isUnnecessary","isSyntaxError","startLineNumber","location","row","startColumn","column","endLineNumber","end_location","endColumn","message","severity","MarkerSeverity","Error","Warning","tags","MarkerTag","Unnecessary","lspToMonacoKind","kind","monacoKinds","languages","CompletionItemKind","Text","Method","Function","Constructor","Field","Variable","Class","Interface","Module","Property","Unit","Value","Enum","Keyword","Snippet","Color","File","Reference","Folder","EnumMember","Constant","Struct","Event","Operator","TypeParameter","lspToMonacoRange","range","start","end","line","character","monacoToLspPosition","position","lineNumber","handlePythonCodeActionRequest","actions","dispose","diagnosticRange","Range","intersectRanges","fixActions","_ref","fix","title","id","edit","edits","_edit$content","resource","versionId","getVersionId","textEdit","text","content","disableActions","getLineContent","lastToken","tokenize","at","lineEdit","type","startsWith","offset","flat","handlePythonFormatRequest","options","token","getFullModelRange","format","constructor","props","_defineProperty","handleCompletionRequest","bind","handleSignatureRequest","handleHoverRequest","componentDidMount","language","session","registeredCompletionProvider","registerCompletionItemProvider","provideCompletionItems","triggerCharacters","getSignatureHelp","registeredSignatureProvider","registerSignatureHelpProvider","provideSignatureHelp","signatureHelpTriggerCharacters","getHover","registeredHoverProvider","registerHoverProvider","provideHover","throttledLint","onDidChangeContent","componentWillUnmount","_this$registeredCompl","_this$registeredSigna","_this$registeredHover","context","propModel","params","textDocument","completionItems","getCompletionItems","monacoCompletionItems","items","suggestions","item","label","detail","documentation","sortText","filterText","insertTextFormat","value","insertText","insertTextRules","incomplete","catch","error","defaultResult","signatures","activeSignature","activeParameter","signatureItems","monacoSignatures","parameters","hover","monacoHover","hoverItem","contents","hoverContents","render"],"sources":["../../src/monaco/MonacoProviders.tsx"],"sourcesContent":["/**\n * Completion provider for a code session\n */\nimport { PureComponent } from 'react';\nimport * as monaco from 'monaco-editor';\nimport throttle from 'lodash.throttle';\nimport Log from '@deephaven/log';\nimport type { dh } from '@deephaven/jsapi-types';\nimport init, { Workspace, type Diagnostic } from '@astral-sh/ruff-wasm-web';\nimport RUFF_DEFAULT_SETTINGS from './RuffDefaultSettings';\nimport MonacoUtils from './MonacoUtils';\n\nconst log = Log.module('MonacoCompletionProvider');\n\ninterface MonacoProviderProps {\n model: monaco.editor.ITextModel;\n session: dh.IdeSession;\n language: string;\n}\n\n/**\n * Registers a completion provider with monaco for the language and session provided.\n */\nclass MonacoProviders extends PureComponent<\n MonacoProviderProps,\n Record<string, never>\n> {\n static ruffWorkspace?: Workspace;\n\n static initRuffPromise?: Promise<void>;\n\n static isRuffEnabled = true;\n\n static ruffSettings: Record<string, unknown> = RUFF_DEFAULT_SETTINGS;\n\n /**\n * Loads and initializes Ruff.\n * Subsequent calls will return the same promise.\n */\n static async initRuff(): Promise<void> {\n if (MonacoProviders.initRuffPromise) {\n return MonacoProviders.initRuffPromise;\n }\n\n MonacoProviders.initRuffPromise = init({}).then(() => {\n log.debug('Initialized Ruff', Workspace.version());\n\n MonacoProviders.ruffWorkspace = new Workspace(\n MonacoProviders.ruffSettings\n );\n MonacoProviders.lintAllPython();\n });\n\n return MonacoProviders.initRuffPromise;\n }\n\n /**\n * Sets ruff settings\n * @param settings The ruff settings\n */\n static async setRuffSettings(\n settings: Record<string, unknown> = MonacoProviders.ruffSettings\n ): Promise<void> {\n MonacoProviders.ruffSettings = settings;\n\n // Ruff has not been initialized yet\n if (MonacoProviders.ruffWorkspace == null) {\n return;\n }\n\n MonacoProviders.ruffWorkspace = new Workspace(settings);\n MonacoProviders.lintAllPython();\n }\n\n static getDiagnostics(model: monaco.editor.ITextModel): Diagnostic[] {\n if (!MonacoProviders.ruffWorkspace) {\n return [];\n }\n\n const diagnostics = MonacoProviders.ruffWorkspace.check(\n model.getValue()\n ) as Diagnostic[];\n if (MonacoUtils.isConsoleModel(model)) {\n // Only want SyntaxErrors for console which have no code\n return diagnostics.filter(d => d.code == null);\n }\n return diagnostics;\n }\n\n static lintAllPython(): void {\n if (!MonacoProviders.isRuffEnabled) {\n monaco.editor.removeAllMarkers('ruff');\n return;\n }\n\n monaco.editor\n .getModels()\n .filter(m => m.getLanguageId() === 'python')\n .forEach(MonacoProviders.lintPython);\n }\n\n static lintPython(model: monaco.editor.ITextModel): void {\n if (!MonacoProviders.isRuffEnabled) {\n return;\n }\n\n if (!MonacoProviders.ruffWorkspace) {\n return;\n }\n\n const diagnostics = MonacoProviders.getDiagnostics(model);\n log.debug(`Linting Python document: ${model.uri.toString()}`, diagnostics);\n\n monaco.editor.setModelMarkers(\n model,\n 'ruff',\n diagnostics.map((d: Diagnostic) => {\n // Unused variable or import. Mark as unnecessary to fade the text\n const isUnnecessary = d.code === 'F401' || d.code === 'F841';\n const isSyntaxError = d.code == null; // SyntaxError has no error code\n return {\n startLineNumber: d.location.row,\n startColumn: d.location.column,\n endLineNumber: d.end_location.row,\n endColumn: d.end_location.column,\n message: isSyntaxError ? d.message : `${d.code}: ${d.message}`,\n severity: isSyntaxError\n ? monaco.MarkerSeverity.Error\n : monaco.MarkerSeverity.Warning,\n tags: isUnnecessary ? [monaco.MarkerTag.Unnecessary] : [],\n };\n })\n );\n }\n\n /**\n * Converts LSP CompletionItemKind to Monaco CompletionItemKind\n * Defaults to Variable if no LSP kind was provided\n * https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#completionItemKind\n *\n * @param kind The LSP kind\n * @returns Monaco kind\n */\n static lspToMonacoKind(kind: number | undefined): number {\n const monacoKinds = monaco.languages.CompletionItemKind;\n switch (kind) {\n case 1:\n return monacoKinds.Text;\n case 2:\n return monacoKinds.Method;\n case 3:\n return monacoKinds.Function;\n case 4:\n return monacoKinds.Constructor;\n case 5:\n return monacoKinds.Field;\n case 6:\n return monacoKinds.Variable;\n case 7:\n return monacoKinds.Class;\n case 8:\n return monacoKinds.Interface;\n case 9:\n return monacoKinds.Module;\n case 10:\n return monacoKinds.Property;\n case 11:\n return monacoKinds.Unit;\n case 12:\n return monacoKinds.Value;\n case 13:\n return monacoKinds.Enum;\n case 14:\n return monacoKinds.Keyword;\n case 15:\n return monacoKinds.Snippet;\n case 16:\n return monacoKinds.Color;\n case 17:\n return monacoKinds.File;\n case 18:\n return monacoKinds.Reference;\n case 19:\n return monacoKinds.Folder;\n case 20:\n return monacoKinds.EnumMember;\n case 21:\n return monacoKinds.Constant;\n case 22:\n return monacoKinds.Struct;\n case 23:\n return monacoKinds.Event;\n case 24:\n return monacoKinds.Operator;\n case 25:\n return monacoKinds.TypeParameter;\n default:\n return monacoKinds.Variable;\n }\n }\n\n /**\n * Converts an LSP document range to a monaco range\n * Accounts for LSP indexing from 0 and monaco indexing from 1\n *\n * @param range The LSP document range to convert\n * @returns The corresponding monaco range\n */\n static lspToMonacoRange(range: dh.lsp.Range): monaco.IRange {\n const { start, end } = range;\n\n // Monaco expects the columns/ranges to start at 1. LSP starts at 0\n return {\n startLineNumber: start.line + 1,\n startColumn: start.character + 1,\n endLineNumber: end.line + 1,\n endColumn: end.character + 1,\n };\n }\n\n /**\n * Converts a monaco position to an LSP position\n * Accounts for LSP indexing from 0 and monaco indexing from 1\n *\n * @param position The monaco position\n * @returns The corresponding LSP position\n */\n static monacoToLspPosition(\n position: monaco.IPosition\n ): Pick<dh.lsp.Position, 'line' | 'character'> {\n // Monaco 1-indexes Position. LSP 0-indexes Position\n return {\n line: position.lineNumber - 1,\n character: position.column - 1,\n };\n }\n\n static handlePythonCodeActionRequest(\n model: monaco.editor.ITextModel,\n range: monaco.Range\n ): monaco.languages.ProviderResult<monaco.languages.CodeActionList> {\n if (!MonacoProviders.ruffWorkspace) {\n return {\n actions: [],\n dispose: () => {\n /* no-op */\n },\n };\n }\n\n const diagnostics = MonacoProviders.getDiagnostics(model).filter(d => {\n const diagnosticRange = new monaco.Range(\n d.location.row,\n d.location.column,\n d.end_location.row,\n d.end_location.column\n );\n return diagnosticRange.intersectRanges(range);\n });\n\n const fixActions: monaco.languages.CodeAction[] = diagnostics\n .filter(({ fix }) => fix != null)\n .map(d => {\n let title = 'Fix';\n if (d.fix != null) {\n if (d.fix.message != null && d.fix.message !== '') {\n title = `${d.code}: ${d.fix.message}`;\n } else {\n title = `Fix ${d.code}`;\n }\n }\n return {\n title,\n id: `fix-${d.code}`,\n kind: 'quickfix',\n edit: d.fix\n ? {\n edits: d.fix.edits.map(edit => ({\n resource: model.uri,\n versionId: model.getVersionId(),\n textEdit: {\n range: {\n startLineNumber: edit.location.row,\n startColumn: edit.location.column,\n endLineNumber: edit.end_location.row,\n endColumn: edit.end_location.column,\n },\n text: edit.content ?? '',\n },\n })),\n }\n : undefined,\n };\n });\n\n const disableActions: monaco.languages.CodeAction[] = diagnostics\n .map(d => {\n const line = model.getLineContent(d.location.row);\n const lastToken = monaco.editor\n .tokenize(line, model.getLanguageId())[0]\n .at(-1);\n const lineEdit = {\n range: {\n startLineNumber: d.location.row,\n startColumn: line.length + 1,\n endLineNumber: d.location.row,\n endColumn: line.length + 1,\n },\n text: ` # noqa: ${d.code}`,\n };\n if (lastToken != null && lastToken.type.startsWith('comment')) {\n // Already a comment at the end of the line\n lineEdit.text = `# noqa: ${d.code} `;\n if (line.startsWith('# noqa:', lastToken.offset)) {\n // Already another suppressed rule on the line\n lineEdit.range.startColumn = lastToken.offset + 1;\n lineEdit.range.endColumn = lastToken.offset + 9; // \"# noqa: \" length + 1 to offset\n } else {\n lineEdit.range.startColumn = lastToken.offset + 1;\n lineEdit.range.endColumn = line.startsWith('# ', lastToken.offset)\n ? lastToken.offset + 3 // \"# \" + 1 to offset\n : lastToken.offset + 2; // \"#\" + 1 to offset\n }\n }\n return [\n {\n title: `Disable ${d.code} for this line`,\n kind: 'quickfix',\n edit: {\n edits: [\n {\n resource: model.uri,\n versionId: model.getVersionId(),\n textEdit: lineEdit,\n },\n ],\n },\n },\n {\n title: `Disable ${d.code} for this file`,\n kind: 'quickfix',\n edit: {\n edits: [\n {\n resource: model.uri,\n versionId: model.getVersionId(),\n textEdit: {\n range: {\n startLineNumber: 1,\n startColumn: 1,\n endLineNumber: 1,\n endColumn: 1,\n },\n text: `# ruff: noqa: ${d.code}\\n`,\n },\n },\n ],\n },\n },\n ];\n })\n .flat();\n\n return {\n actions: [...fixActions, ...disableActions],\n dispose: () => {\n /* no-op */\n },\n };\n }\n\n static handlePythonFormatRequest(\n model: monaco.editor.ITextModel,\n options: monaco.languages.FormattingOptions,\n token: monaco.CancellationToken\n ): monaco.languages.ProviderResult<monaco.languages.TextEdit[]> {\n if (!MonacoProviders.ruffWorkspace) {\n return;\n }\n\n log.debug(`Formatting Python document: ${model.uri.toString}`);\n\n return [\n {\n range: model.getFullModelRange(),\n text: MonacoProviders.ruffWorkspace.format(model.getValue()),\n },\n ];\n }\n\n constructor(props: MonacoProviderProps) {\n super(props);\n\n this.handleCompletionRequest = this.handleCompletionRequest.bind(this);\n this.handleSignatureRequest = this.handleSignatureRequest.bind(this);\n this.handleHoverRequest = this.handleHoverRequest.bind(this);\n }\n\n componentDidMount(): void {\n const { language, session, model } = this.props;\n\n this.registeredCompletionProvider =\n monaco.languages.registerCompletionItemProvider(language, {\n provideCompletionItems: this.handleCompletionRequest,\n triggerCharacters: ['.', '\"', \"'\"],\n });\n\n if (session.getSignatureHelp != null) {\n this.registeredSignatureProvider =\n monaco.languages.registerSignatureHelpProvider(language, {\n provideSignatureHelp: this.handleSignatureRequest,\n signatureHelpTriggerCharacters: ['(', ','],\n });\n }\n\n if (session.getHover != null) {\n this.registeredHoverProvider = monaco.languages.registerHoverProvider(\n language,\n {\n provideHover: this.handleHoverRequest,\n }\n );\n }\n\n if (language === 'python') {\n if (MonacoProviders.ruffWorkspace == null) {\n MonacoProviders.initRuff(); // This will also lint all open editors\n } else {\n MonacoProviders.lintPython(model);\n }\n\n const throttledLint = throttle(\n (m: monaco.editor.ITextModel) => MonacoProviders.lintPython(m),\n 250\n );\n\n model.onDidChangeContent(() => {\n throttledLint(model);\n });\n }\n }\n\n componentWillUnmount(): void {\n this.registeredCompletionProvider?.dispose();\n this.registeredSignatureProvider?.dispose();\n this.registeredHoverProvider?.dispose();\n }\n\n registeredCompletionProvider?: monaco.IDisposable;\n\n registeredSignatureProvider?: monaco.IDisposable;\n\n registeredHoverProvider?: monaco.IDisposable;\n\n handleCompletionRequest(\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext\n ): monaco.languages.ProviderResult<monaco.languages.CompletionList> {\n const { model: propModel, session } = this.props;\n if (model !== propModel) {\n return null;\n }\n\n const params = {\n textDocument: {\n uri: `${model.uri}`,\n version: model.getVersionId(),\n },\n position: MonacoProviders.monacoToLspPosition(position),\n context,\n };\n\n const completionItems = session.getCompletionItems(params);\n log.debug('Requested completion items', params);\n\n const monacoCompletionItems = completionItems\n .then(items => {\n log.debug('Completion items received: ', params, items);\n\n const suggestions = items.map(item => {\n const {\n label,\n kind,\n detail,\n documentation,\n sortText,\n filterText,\n textEdit,\n insertTextFormat,\n } = item;\n\n return {\n label,\n kind: MonacoProviders.lspToMonacoKind(kind),\n detail,\n documentation:\n documentation?.kind === 'markdown'\n ? documentation\n : documentation?.value,\n sortText,\n filterText,\n insertText: textEdit.text,\n // We are basically guessing that LSP's insertTextFormat===2 is\n // semantically equivalent to monaco's insertTextRules===4.\n // Why microsoft is using almost-but-not-LSP apis is beyond me....\n insertTextRules: insertTextFormat === 2 ? 4 : insertTextFormat,\n range: MonacoProviders.lspToMonacoRange(textEdit.range),\n };\n });\n\n return {\n incomplete: true,\n suggestions,\n };\n })\n .catch((error: unknown) => {\n log.error('There was an error retrieving completion items', error);\n return { suggestions: [] };\n });\n\n return monacoCompletionItems;\n }\n\n handleSignatureRequest(\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n token: monaco.CancellationToken,\n context: monaco.languages.SignatureHelpContext\n ): monaco.languages.ProviderResult<monaco.languages.SignatureHelpResult> {\n const defaultResult: monaco.languages.SignatureHelpResult = {\n value: {\n signatures: [],\n activeSignature: 0,\n activeParameter: 0,\n },\n dispose: () => {\n /* no-op */\n },\n };\n\n const { model: propModel, session } = this.props;\n if (model !== propModel || session.getSignatureHelp == null) {\n return null;\n }\n\n const params = {\n textDocument: {\n uri: `${model.uri}`,\n version: model.getVersionId(),\n },\n position: MonacoProviders.monacoToLspPosition(position),\n context,\n };\n\n const signatureItems = session.getSignatureHelp(params);\n log.debug('Requested signature help', params);\n\n const monacoSignatures = signatureItems\n .then(items => {\n log.debug('Signatures received: ', params, signatureItems);\n const signatures = items.map(item => {\n const { label, documentation, parameters } = item;\n\n return {\n documentation:\n documentation?.kind === 'markdown'\n ? documentation\n : documentation?.value,\n label,\n parameters: parameters ?? [],\n };\n });\n\n if (signatures.length === 0) {\n return defaultResult;\n }\n\n // For now we will assume we only autocomplete Python w/ 1 signature\n // For multiple signatures, this may need to be sent through the request as context\n const activeSignature = 0;\n\n return {\n value: {\n signatures,\n activeSignature,\n activeParameter: items[activeSignature].activeParameter,\n },\n dispose: () => {\n /* no-op */\n },\n };\n })\n .catch((error: unknown) => {\n log.error('There was an error retrieving completion items', error);\n return defaultResult;\n });\n\n return monacoSignatures;\n }\n\n handleHoverRequest(\n model: monaco.editor.ITextModel,\n position: monaco.Position\n ): monaco.languages.ProviderResult<monaco.languages.Hover> {\n const { model: propModel, session } = this.props;\n if (model !== propModel || session.getHover == null) {\n return null;\n }\n\n const params = {\n textDocument: {\n uri: `${model.uri}`,\n version: model.getVersionId(),\n },\n position: MonacoProviders.monacoToLspPosition(position),\n };\n\n const hover = session.getHover(params);\n log.debug('Requested hover', params);\n\n const monacoHover = hover\n .then(hoverItem => {\n log.debug('Hover received: ', params, hoverItem);\n const { contents: hoverContents } = hoverItem;\n\n return {\n contents: hoverContents != null ? [hoverContents] : [],\n };\n })\n .catch((error: unknown) => {\n log.error('There was an error retrieving hover', error);\n return { contents: [] };\n });\n\n return monacoHover;\n }\n\n render(): null {\n return null;\n }\n}\n\nexport default MonacoProviders;\n"],"mappings":";;;;;AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,OAAO;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,OAAOC,GAAG,MAAM,gBAAgB;AAEhC,OAAOC,IAAI,IAAIC,SAAS,QAAyB,0BAA0B;AAAC,OACrEC,qBAAqB;AAAA,OACrBC,WAAW;AAElB,IAAMC,GAAG,GAAGL,GAAG,CAACM,MAAM,CAAC,0BAA0B,CAAC;AAQlD;AACA;AACA;AACA,MAAMC,eAAe,SAASV,aAAa,CAGzC;EASA;AACF;AACA;AACA;EACE,OAAaW,QAAQA,CAAA,EAAkB;IAAA,OAAAC,iBAAA;MACrC,IAAIF,eAAe,CAACG,eAAe,EAAE;QACnC,OAAOH,eAAe,CAACG,eAAe;MACxC;MAEAH,eAAe,CAACG,eAAe,GAAGT,IAAI,CAAC,CAAC,CAAC,CAAC,CAACU,IAAI,CAAC,MAAM;QACpDN,GAAG,CAACO,KAAK,CAAC,kBAAkB,EAAEV,SAAS,CAACW,OAAO,CAAC,CAAC,CAAC;QAElDN,eAAe,CAACO,aAAa,GAAG,IAAIZ,SAAS,CAC3CK,eAAe,CAACQ,YAClB,CAAC;QACDR,eAAe,CAACS,aAAa,CAAC,CAAC;MACjC,CAAC,CAAC;MAEF,OAAOT,eAAe,CAACG,eAAe;IAAC;EACzC;;EAEA;AACF;AACA;AACA;EACE,OAAaO,eAAeA,CAAA,EAEX;IAAA,IAAAC,UAAA,GAAAC,SAAA;IAAA,OAAAV,iBAAA;MAAA,IADfW,QAAiC,GAAAF,UAAA,CAAAG,MAAA,QAAAH,UAAA,QAAAI,SAAA,GAAAJ,UAAA,MAAGX,eAAe,CAACQ,YAAY;MAEhER,eAAe,CAACQ,YAAY,GAAGK,QAAQ;;MAEvC;MACA,IAAIb,eAAe,CAACO,aAAa,IAAI,IAAI,EAAE;QACzC;MACF;MAEAP,eAAe,CAACO,aAAa,GAAG,IAAIZ,SAAS,CAACkB,QAAQ,CAAC;MACvDb,eAAe,CAACS,aAAa,CAAC,CAAC;IAAC;EAClC;EAEA,OAAOO,cAAcA,CAACC,KAA+B,EAAgB;IACnE,IAAI,CAACjB,eAAe,CAACO,aAAa,EAAE;MAClC,OAAO,EAAE;IACX;IAEA,IAAMW,WAAW,GAAGlB,eAAe,CAACO,aAAa,CAACY,KAAK,CACrDF,KAAK,CAACG,QAAQ,CAAC,CACjB,CAAiB;IACjB,IAAIvB,WAAW,CAACwB,cAAc,CAACJ,KAAK,CAAC,EAAE;MACrC;MACA,OAAOC,WAAW,CAACI,MAAM,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,IAAI,IAAI,CAAC;IAChD;IACA,OAAON,WAAW;EACpB;EAEA,OAAOT,aAAaA,CAAA,EAAS;IAC3B,IAAI,CAACT,eAAe,CAACyB,aAAa,EAAE;MAClClC,MAAM,CAACmC,MAAM,CAACC,gBAAgB,CAAC,MAAM,CAAC;MACtC;IACF;IAEApC,MAAM,CAACmC,MAAM,CACVE,SAAS,CAAC,CAAC,CACXN,MAAM,CAACO,CAAC,IAAIA,CAAC,CAACC,aAAa,CAAC,CAAC,KAAK,QAAQ,CAAC,CAC3CC,OAAO,CAAC/B,eAAe,CAACgC,UAAU,CAAC;EACxC;EAEA,OAAOA,UAAUA,CAACf,KAA+B,EAAQ;IACvD,IAAI,CAACjB,eAAe,CAACyB,aAAa,EAAE;MAClC;IACF;IAEA,IAAI,CAACzB,eAAe,CAACO,aAAa,EAAE;MAClC;IACF;IAEA,IAAMW,WAAW,GAAGlB,eAAe,CAACgB,cAAc,CAACC,KAAK,CAAC;IACzDnB,GAAG,CAACO,KAAK,6BAAA4B,MAAA,CAA6BhB,KAAK,CAACiB,GAAG,CAACC,QAAQ,CAAC,CAAC,GAAIjB,WAAW,CAAC;IAE1E3B,MAAM,CAACmC,MAAM,CAACU,eAAe,CAC3BnB,KAAK,EACL,MAAM,EACNC,WAAW,CAACmB,GAAG,CAAEd,CAAa,IAAK;MACjC;MACA,IAAMe,aAAa,GAAGf,CAAC,CAACC,IAAI,KAAK,MAAM,IAAID,CAAC,CAACC,IAAI,KAAK,MAAM;MAC5D,IAAMe,aAAa,GAAGhB,CAAC,CAACC,IAAI,IAAI,IAAI,CAAC,CAAC;MACtC,OAAO;QACLgB,eAAe,EAAEjB,CAAC,CAACkB,QAAQ,CAACC,GAAG;QAC/BC,WAAW,EAAEpB,CAAC,CAACkB,QAAQ,CAACG,MAAM;QAC9BC,aAAa,EAAEtB,CAAC,CAACuB,YAAY,CAACJ,GAAG;QACjCK,SAAS,EAAExB,CAAC,CAACuB,YAAY,CAACF,MAAM;QAChCI,OAAO,EAAET,aAAa,GAAGhB,CAAC,CAACyB,OAAO,MAAAf,MAAA,CAAMV,CAAC,CAACC,IAAI,QAAAS,MAAA,CAAKV,CAAC,CAACyB,OAAO,CAAE;QAC9DC,QAAQ,EAAEV,aAAa,GACnBhD,MAAM,CAAC2D,cAAc,CAACC,KAAK,GAC3B5D,MAAM,CAAC2D,cAAc,CAACE,OAAO;QACjCC,IAAI,EAAEf,aAAa,GAAG,CAAC/C,MAAM,CAAC+D,SAAS,CAACC,WAAW,CAAC,GAAG;MACzD,CAAC;IACH,CAAC,CACH,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,eAAeA,CAACC,IAAwB,EAAU;IACvD,IAAMC,WAAW,GAAGnE,MAAM,CAACoE,SAAS,CAACC,kBAAkB;IACvD,QAAQH,IAAI;MACV,KAAK,CAAC;QACJ,OAAOC,WAAW,CAACG,IAAI;MACzB,KAAK,CAAC;QACJ,OAAOH,WAAW,CAACI,MAAM;MAC3B,KAAK,CAAC;QACJ,OAAOJ,WAAW,CAACK,QAAQ;MAC7B,KAAK,CAAC;QACJ,OAAOL,WAAW,CAACM,WAAW;MAChC,KAAK,CAAC;QACJ,OAAON,WAAW,CAACO,KAAK;MAC1B,KAAK,CAAC;QACJ,OAAOP,WAAW,CAACQ,QAAQ;MAC7B,KAAK,CAAC;QACJ,OAAOR,WAAW,CAACS,KAAK;MAC1B,KAAK,CAAC;QACJ,OAAOT,WAAW,CAACU,SAAS;MAC9B,KAAK,CAAC;QACJ,OAAOV,WAAW,CAACW,MAAM;MAC3B,KAAK,EAAE;QACL,OAAOX,WAAW,CAACY,QAAQ;MAC7B,KAAK,EAAE;QACL,OAAOZ,WAAW,CAACa,IAAI;MACzB,KAAK,EAAE;QACL,OAAOb,WAAW,CAACc,KAAK;MAC1B,KAAK,EAAE;QACL,OAAOd,WAAW,CAACe,IAAI;MACzB,KAAK,EAAE;QACL,OAAOf,WAAW,CAACgB,OAAO;MAC5B,KAAK,EAAE;QACL,OAAOhB,WAAW,CAACiB,OAAO;MAC5B,KAAK,EAAE;QACL,OAAOjB,WAAW,CAACkB,KAAK;MAC1B,KAAK,EAAE;QACL,OAAOlB,WAAW,CAACmB,IAAI;MACzB,KAAK,EAAE;QACL,OAAOnB,WAAW,CAACoB,SAAS;MAC9B,KAAK,EAAE;QACL,OAAOpB,WAAW,CAACqB,MAAM;MAC3B,KAAK,EAAE;QACL,OAAOrB,WAAW,CAACsB,UAAU;MAC/B,KAAK,EAAE;QACL,OAAOtB,WAAW,CAACuB,QAAQ;MAC7B,KAAK,EAAE;QACL,OAAOvB,WAAW,CAACwB,MAAM;MAC3B,KAAK,EAAE;QACL,OAAOxB,WAAW,CAACyB,KAAK;MAC1B,KAAK,EAAE;QACL,OAAOzB,WAAW,CAAC0B,QAAQ;MAC7B,KAAK,EAAE;QACL,OAAO1B,WAAW,CAAC2B,aAAa;MAClC;QACE,OAAO3B,WAAW,CAACQ,QAAQ;IAC/B;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOoB,gBAAgBA,CAACC,KAAmB,EAAiB;IAC1D,IAAM;MAAEC,KAAK;MAAEC;IAAI,CAAC,GAAGF,KAAK;;IAE5B;IACA,OAAO;MACL/C,eAAe,EAAEgD,KAAK,CAACE,IAAI,GAAG,CAAC;MAC/B/C,WAAW,EAAE6C,KAAK,CAACG,SAAS,GAAG,CAAC;MAChC9C,aAAa,EAAE4C,GAAG,CAACC,IAAI,GAAG,CAAC;MAC3B3C,SAAS,EAAE0C,GAAG,CAACE,SAAS,GAAG;IAC7B,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,mBAAmBA,CACxBC,QAA0B,EACmB;IAC7C;IACA,OAAO;MACLH,IAAI,EAAEG,QAAQ,CAACC,UAAU,GAAG,CAAC;MAC7BH,SAAS,EAAEE,QAAQ,CAACjD,MAAM,GAAG;IAC/B,CAAC;EACH;EAEA,OAAOmD,6BAA6BA,CAClC9E,KAA+B,EAC/BsE,KAAmB,EAC+C;IAClE,IAAI,CAACvF,eAAe,CAACO,aAAa,EAAE;MAClC,OAAO;QACLyF,OAAO,EAAE,EAAE;QACXC,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MAEJ,CAAC;IACH;IAEA,IAAM/E,WAAW,GAAGlB,eAAe,CAACgB,cAAc,CAACC,KAAK,CAAC,CAACK,MAAM,CAACC,CAAC,IAAI;MACpE,IAAM2E,eAAe,GAAG,IAAI3G,MAAM,CAAC4G,KAAK,CACtC5E,CAAC,CAACkB,QAAQ,CAACC,GAAG,EACdnB,CAAC,CAACkB,QAAQ,CAACG,MAAM,EACjBrB,CAAC,CAACuB,YAAY,CAACJ,GAAG,EAClBnB,CAAC,CAACuB,YAAY,CAACF,MACjB,CAAC;MACD,OAAOsD,eAAe,CAACE,eAAe,CAACb,KAAK,CAAC;IAC/C,CAAC,CAAC;IAEF,IAAMc,UAAyC,GAAGnF,WAAW,CAC1DI,MAAM,CAACgF,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKC,GAAG,IAAI,IAAI;IAAA,EAAC,CAChClE,GAAG,CAACd,CAAC,IAAI;MACR,IAAIiF,KAAK,GAAG,KAAK;MACjB,IAAIjF,CAAC,CAACgF,GAAG,IAAI,IAAI,EAAE;QACjB,IAAIhF,CAAC,CAACgF,GAAG,CAACvD,OAAO,IAAI,IAAI,IAAIzB,CAAC,CAACgF,GAAG,CAACvD,OAAO,KAAK,EAAE,EAAE;UACjDwD,KAAK,MAAAvE,MAAA,CAAMV,CAAC,CAACC,IAAI,QAAAS,MAAA,CAAKV,CAAC,CAACgF,GAAG,CAACvD,OAAO,CAAE;QACvC,CAAC,MAAM;UACLwD,KAAK,UAAAvE,MAAA,CAAUV,CAAC,CAACC,IAAI,CAAE;QACzB;MACF;MACA,OAAO;QACLgF,KAAK;QACLC,EAAE,SAAAxE,MAAA,CAASV,CAAC,CAACC,IAAI,CAAE;QACnBiC,IAAI,EAAE,UAAU;QAChBiD,IAAI,EAAEnF,CAAC,CAACgF,GAAG,GACP;UACEI,KAAK,EAAEpF,CAAC,CAACgF,GAAG,CAACI,KAAK,CAACtE,GAAG,CAACqE,IAAI;YAAA,IAAAE,aAAA;YAAA,OAAK;cAC9BC,QAAQ,EAAE5F,KAAK,CAACiB,GAAG;cACnB4E,SAAS,EAAE7F,KAAK,CAAC8F,YAAY,CAAC,CAAC;cAC/BC,QAAQ,EAAE;gBACRzB,KAAK,EAAE;kBACL/C,eAAe,EAAEkE,IAAI,CAACjE,QAAQ,CAACC,GAAG;kBAClCC,WAAW,EAAE+D,IAAI,CAACjE,QAAQ,CAACG,MAAM;kBACjCC,aAAa,EAAE6D,IAAI,CAAC5D,YAAY,CAACJ,GAAG;kBACpCK,SAAS,EAAE2D,IAAI,CAAC5D,YAAY,CAACF;gBAC/B,CAAC;gBACDqE,IAAI,GAAAL,aAAA,GAAEF,IAAI,CAACQ,OAAO,cAAAN,aAAA,cAAAA,aAAA,GAAI;cACxB;YACF,CAAC;UAAA,CAAC;QACJ,CAAC,GACD7F;MACN,CAAC;IACH,CAAC,CAAC;IAEJ,IAAMoG,cAA6C,GAAGjG,WAAW,CAC9DmB,GAAG,CAACd,CAAC,IAAI;MACR,IAAMmE,IAAI,GAAGzE,KAAK,CAACmG,cAAc,CAAC7F,CAAC,CAACkB,QAAQ,CAACC,GAAG,CAAC;MACjD,IAAM2E,SAAS,GAAG9H,MAAM,CAACmC,MAAM,CAC5B4F,QAAQ,CAAC5B,IAAI,EAAEzE,KAAK,CAACa,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxCyF,EAAE,CAAC,CAAC,CAAC,CAAC;MACT,IAAMC,QAAQ,GAAG;QACfjC,KAAK,EAAE;UACL/C,eAAe,EAAEjB,CAAC,CAACkB,QAAQ,CAACC,GAAG;UAC/BC,WAAW,EAAE+C,IAAI,CAAC5E,MAAM,GAAG,CAAC;UAC5B+B,aAAa,EAAEtB,CAAC,CAACkB,QAAQ,CAACC,GAAG;UAC7BK,SAAS,EAAE2C,IAAI,CAAC5E,MAAM,GAAG;QAC3B,CAAC;QACDmG,IAAI,cAAAhF,MAAA,CAAcV,CAAC,CAACC,IAAI;MAC1B,CAAC;MACD,IAAI6F,SAAS,IAAI,IAAI,IAAIA,SAAS,CAACI,IAAI,CAACC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC7D;QACAF,QAAQ,CAACP,IAAI,cAAAhF,MAAA,CAAcV,CAAC,CAACC,IAAI,MAAG;QACpC,IAAIkE,IAAI,CAACgC,UAAU,CAAC,SAAS,EAAEL,SAAS,CAACM,MAAM,CAAC,EAAE;UAChD;UACAH,QAAQ,CAACjC,KAAK,CAAC5C,WAAW,GAAG0E,SAAS,CAACM,MAAM,GAAG,CAAC;UACjDH,QAAQ,CAACjC,KAAK,CAACxC,SAAS,GAAGsE,SAAS,CAACM,MAAM,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC,MAAM;UACLH,QAAQ,CAACjC,KAAK,CAAC5C,WAAW,GAAG0E,SAAS,CAACM,MAAM,GAAG,CAAC;UACjDH,QAAQ,CAACjC,KAAK,CAACxC,SAAS,GAAG2C,IAAI,CAACgC,UAAU,CAAC,IAAI,EAAEL,SAAS,CAACM,MAAM,CAAC,GAC9DN,SAAS,CAACM,MAAM,GAAG,CAAC,CAAC;UAAA,EACrBN,SAAS,CAACM,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5B;MACF;;MACA,OAAO,CACL;QACEnB,KAAK,aAAAvE,MAAA,CAAaV,CAAC,CAACC,IAAI,mBAAgB;QACxCiC,IAAI,EAAE,UAAU;QAChBiD,IAAI,EAAE;UACJC,KAAK,EAAE,CACL;YACEE,QAAQ,EAAE5F,KAAK,CAACiB,GAAG;YACnB4E,SAAS,EAAE7F,KAAK,CAAC8F,YAAY,CAAC,CAAC;YAC/BC,QAAQ,EAAEQ;UACZ,CAAC;QAEL;MACF,CAAC,EACD;QACEhB,KAAK,aAAAvE,MAAA,CAAaV,CAAC,CAACC,IAAI,mBAAgB;QACxCiC,IAAI,EAAE,UAAU;QAChBiD,IAAI,EAAE;UACJC,KAAK,EAAE,CACL;YACEE,QAAQ,EAAE5F,KAAK,CAACiB,GAAG;YACnB4E,SAAS,EAAE7F,KAAK,CAAC8F,YAAY,CAAC,CAAC;YAC/BC,QAAQ,EAAE;cACRzB,KAAK,EAAE;gBACL/C,eAAe,EAAE,CAAC;gBAClBG,WAAW,EAAE,CAAC;gBACdE,aAAa,EAAE,CAAC;gBAChBE,SAAS,EAAE;cACb,CAAC;cACDkE,IAAI,mBAAAhF,MAAA,CAAmBV,CAAC,CAACC,IAAI;YAC/B;UACF,CAAC;QAEL;MACF,CAAC,CACF;IACH,CAAC,CAAC,CACDoG,IAAI,CAAC,CAAC;IAET,OAAO;MACL5B,OAAO,EAAE,CAAC,GAAGK,UAAU,EAAE,GAAGc,cAAc,CAAC;MAC3ClB,OAAO,EAAEA,CAAA,KAAM;QACb;MAAA;IAEJ,CAAC;EACH;EAEA,OAAO4B,yBAAyBA,CAC9B5G,KAA+B,EAC/B6G,OAA2C,EAC3CC,KAA+B,EAC+B;IAC9D,IAAI,CAAC/H,eAAe,CAACO,aAAa,EAAE;MAClC;IACF;IAEAT,GAAG,CAACO,KAAK,gCAAA4B,MAAA,CAAgChB,KAAK,CAACiB,GAAG,CAACC,QAAQ,CAAE,CAAC;IAE9D,OAAO,CACL;MACEoD,KAAK,EAAEtE,KAAK,CAAC+G,iBAAiB,CAAC,CAAC;MAChCf,IAAI,EAAEjH,eAAe,CAACO,aAAa,CAAC0H,MAAM,CAAChH,KAAK,CAACG,QAAQ,CAAC,CAAC;IAC7D,CAAC,CACF;EACH;EAEA8G,WAAWA,CAACC,KAA0B,EAAE;IACtC,KAAK,CAACA,KAAK,CAAC;IAACC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAEb,IAAI,CAACC,uBAAuB,GAAG,IAAI,CAACA,uBAAuB,CAACC,IAAI,CAAC,IAAI,CAAC;IACtE,IAAI,CAACC,sBAAsB,GAAG,IAAI,CAACA,sBAAsB,CAACD,IAAI,CAAC,IAAI,CAAC;IACpE,IAAI,CAACE,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACF,IAAI,CAAC,IAAI,CAAC;EAC9D;EAEAG,iBAAiBA,CAAA,EAAS;IACxB,IAAM;MAAEC,QAAQ;MAAEC,OAAO;MAAE1H;IAAM,CAAC,GAAG,IAAI,CAACkH,KAAK;IAE/C,IAAI,CAACS,4BAA4B,GAC/BrJ,MAAM,CAACoE,SAAS,CAACkF,8BAA8B,CAACH,QAAQ,EAAE;MACxDI,sBAAsB,EAAE,IAAI,CAACT,uBAAuB;MACpDU,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IACnC,CAAC,CAAC;IAEJ,IAAIJ,OAAO,CAACK,gBAAgB,IAAI,IAAI,EAAE;MACpC,IAAI,CAACC,2BAA2B,GAC9B1J,MAAM,CAACoE,SAAS,CAACuF,6BAA6B,CAACR,QAAQ,EAAE;QACvDS,oBAAoB,EAAE,IAAI,CAACZ,sBAAsB;QACjDa,8BAA8B,EAAE,CAAC,GAAG,EAAE,GAAG;MAC3C,CAAC,CAAC;IACN;IAEA,IAAIT,OAAO,CAACU,QAAQ,IAAI,IAAI,EAAE;MAC5B,IAAI,CAACC,uBAAuB,GAAG/J,MAAM,CAACoE,SAAS,CAAC4F,qBAAqB,CACnEb,QAAQ,EACR;QACEc,YAAY,EAAE,IAAI,CAAChB;MACrB,CACF,CAAC;IACH;IAEA,IAAIE,QAAQ,KAAK,QAAQ,EAAE;MACzB,IAAI1I,eAAe,CAACO,aAAa,IAAI,IAAI,EAAE;QACzCP,eAAe,CAACC,QAAQ,CAAC,CAAC,CAAC,CAAC;MAC9B,CAAC,MAAM;QACLD,eAAe,CAACgC,UAAU,CAACf,KAAK,CAAC;MACnC;MAEA,IAAMwI,aAAa,GAAGjK,QAAQ,CAC3BqC,CAA2B,IAAK7B,eAAe,CAACgC,UAAU,CAACH,CAAC,CAAC,EAC9D,GACF,CAAC;MAEDZ,KAAK,CAACyI,kBAAkB,CAAC,MAAM;QAC7BD,aAAa,CAACxI,KAAK,CAAC;MACtB,CAAC,CAAC;IACJ;EACF;EAEA0I,oBAAoBA,CAAA,EAAS;IAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;IAC3B,CAAAF,qBAAA,OAAI,CAAChB,4BAA4B,cAAAgB,qBAAA,uBAAjCA,qBAAA,CAAmC3D,OAAO,CAAC,CAAC;IAC5C,CAAA4D,qBAAA,OAAI,CAACZ,2BAA2B,cAAAY,qBAAA,uBAAhCA,qBAAA,CAAkC5D,OAAO,CAAC,CAAC;IAC3C,CAAA6D,qBAAA,OAAI,CAACR,uBAAuB,cAAAQ,qBAAA,uBAA5BA,qBAAA,CAA8B7D,OAAO,CAAC,CAAC;EACzC;EAQAoC,uBAAuBA,CACrBpH,KAA+B,EAC/B4E,QAAyB,EACzBkE,OAA2C,EACuB;IAClE,IAAM;MAAE9I,KAAK,EAAE+I,SAAS;MAAErB;IAAQ,CAAC,GAAG,IAAI,CAACR,KAAK;IAChD,IAAIlH,KAAK,KAAK+I,SAAS,EAAE;MACvB,OAAO,IAAI;IACb;IAEA,IAAMC,MAAM,GAAG;MACbC,YAAY,EAAE;QACZhI,GAAG,KAAAD,MAAA,CAAKhB,KAAK,CAACiB,GAAG,CAAE;QACnB5B,OAAO,EAAEW,KAAK,CAAC8F,YAAY,CAAC;MAC9B,CAAC;MACDlB,QAAQ,EAAE7F,eAAe,CAAC4F,mBAAmB,CAACC,QAAQ,CAAC;MACvDkE;IACF,CAAC;IAED,IAAMI,eAAe,GAAGxB,OAAO,CAACyB,kBAAkB,CAACH,MAAM,CAAC;IAC1DnK,GAAG,CAACO,KAAK,CAAC,4BAA4B,EAAE4J,MAAM,CAAC;IAE/C,IAAMI,qBAAqB,GAAGF,eAAe,CAC1C/J,IAAI,CAACkK,KAAK,IAAI;MACbxK,GAAG,CAACO,KAAK,CAAC,6BAA6B,EAAE4J,MAAM,EAAEK,KAAK,CAAC;MAEvD,IAAMC,WAAW,GAAGD,KAAK,CAACjI,GAAG,CAACmI,IAAI,IAAI;QACpC,IAAM;UACJC,KAAK;UACLhH,IAAI;UACJiH,MAAM;UACNC,aAAa;UACbC,QAAQ;UACRC,UAAU;UACV7D,QAAQ;UACR8D;QACF,CAAC,GAAGN,IAAI;QAER,OAAO;UACLC,KAAK;UACLhH,IAAI,EAAEzD,eAAe,CAACwD,eAAe,CAACC,IAAI,CAAC;UAC3CiH,MAAM;UACNC,aAAa,EACX,CAAAA,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAElH,IAAI,MAAK,UAAU,GAC9BkH,aAAa,GACbA,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,KAAK;UAC1BH,QAAQ;UACRC,UAAU;UACVG,UAAU,EAAEhE,QAAQ,CAACC,IAAI;UACzB;UACA;UACA;UACAgE,eAAe,EAAEH,gBAAgB,KAAK,CAAC,GAAG,CAAC,GAAGA,gBAAgB;UAC9DvF,KAAK,EAAEvF,eAAe,CAACsF,gBAAgB,CAAC0B,QAAQ,CAACzB,KAAK;QACxD,CAAC;MACH,CAAC,CAAC;MAEF,OAAO;QACL2F,UAAU,EAAE,IAAI;QAChBX;MACF,CAAC;IACH,CAAC,CAAC,CACDY,KAAK,CAAEC,KAAc,IAAK;MACzBtL,GAAG,CAACsL,KAAK,CAAC,gDAAgD,EAAEA,KAAK,CAAC;MAClE,OAAO;QAAEb,WAAW,EAAE;MAAG,CAAC;IAC5B,CAAC,CAAC;IAEJ,OAAOF,qBAAqB;EAC9B;EAEA9B,sBAAsBA,CACpBtH,KAA+B,EAC/B4E,QAAyB,EACzBkC,KAA+B,EAC/BgC,OAA8C,EACyB;IACvE,IAAMsB,aAAmD,GAAG;MAC1DN,KAAK,EAAE;QACLO,UAAU,EAAE,EAAE;QACdC,eAAe,EAAE,CAAC;QAClBC,eAAe,EAAE;MACnB,CAAC;MACDvF,OAAO,EAAEA,CAAA,KAAM;QACb;MAAA;IAEJ,CAAC;IAED,IAAM;MAAEhF,KAAK,EAAE+I,SAAS;MAAErB;IAAQ,CAAC,GAAG,IAAI,CAACR,KAAK;IAChD,IAAIlH,KAAK,KAAK+I,SAAS,IAAIrB,OAAO,CAACK,gBAAgB,IAAI,IAAI,EAAE;MAC3D,OAAO,IAAI;IACb;IAEA,IAAMiB,MAAM,GAAG;MACbC,YAAY,EAAE;QACZhI,GAAG,KAAAD,MAAA,CAAKhB,KAAK,CAACiB,GAAG,CAAE;QACnB5B,OAAO,EAAEW,KAAK,CAAC8F,YAAY,CAAC;MAC9B,CAAC;MACDlB,QAAQ,EAAE7F,eAAe,CAAC4F,mBAAmB,CAACC,QAAQ,CAAC;MACvDkE;IACF,CAAC;IAED,IAAM0B,cAAc,GAAG9C,OAAO,CAACK,gBAAgB,CAACiB,MAAM,CAAC;IACvDnK,GAAG,CAACO,KAAK,CAAC,0BAA0B,EAAE4J,MAAM,CAAC;IAE7C,IAAMyB,gBAAgB,GAAGD,cAAc,CACpCrL,IAAI,CAACkK,KAAK,IAAI;MACbxK,GAAG,CAACO,KAAK,CAAC,uBAAuB,EAAE4J,MAAM,EAAEwB,cAAc,CAAC;MAC1D,IAAMH,UAAU,GAAGhB,KAAK,CAACjI,GAAG,CAACmI,IAAI,IAAI;QACnC,IAAM;UAAEC,KAAK;UAAEE,aAAa;UAAEgB;QAAW,CAAC,GAAGnB,IAAI;QAEjD,OAAO;UACLG,aAAa,EACX,CAAAA,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAElH,IAAI,MAAK,UAAU,GAC9BkH,aAAa,GACbA,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEI,KAAK;UAC1BN,KAAK;UACLkB,UAAU,EAAEA,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI;QAC5B,CAAC;MACH,CAAC,CAAC;MAEF,IAAIL,UAAU,CAACxK,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAOuK,aAAa;MACtB;;MAEA;MACA;MACA,IAAME,eAAe,GAAG,CAAC;MAEzB,OAAO;QACLR,KAAK,EAAE;UACLO,UAAU;UACVC,eAAe;UACfC,eAAe,EAAElB,KAAK,CAACiB,eAAe,CAAC,CAACC;QAC1C,CAAC;QACDvF,OAAO,EAAEA,CAAA,KAAM;UACb;QAAA;MAEJ,CAAC;IACH,CAAC,CAAC,CACDkF,KAAK,CAAEC,KAAc,IAAK;MACzBtL,GAAG,CAACsL,KAAK,CAAC,gDAAgD,EAAEA,KAAK,CAAC;MAClE,OAAOC,aAAa;IACtB,CAAC,CAAC;IAEJ,OAAOK,gBAAgB;EACzB;EAEAlD,kBAAkBA,CAChBvH,KAA+B,EAC/B4E,QAAyB,EACgC;IACzD,IAAM;MAAE5E,KAAK,EAAE+I,SAAS;MAAErB;IAAQ,CAAC,GAAG,IAAI,CAACR,KAAK;IAChD,IAAIlH,KAAK,KAAK+I,SAAS,IAAIrB,OAAO,CAACU,QAAQ,IAAI,IAAI,EAAE;MACnD,OAAO,IAAI;IACb;IAEA,IAAMY,MAAM,GAAG;MACbC,YAAY,EAAE;QACZhI,GAAG,KAAAD,MAAA,CAAKhB,KAAK,CAACiB,GAAG,CAAE;QACnB5B,OAAO,EAAEW,KAAK,CAAC8F,YAAY,CAAC;MAC9B,CAAC;MACDlB,QAAQ,EAAE7F,eAAe,CAAC4F,mBAAmB,CAACC,QAAQ;IACxD,CAAC;IAED,IAAM+F,KAAK,GAAGjD,OAAO,CAACU,QAAQ,CAACY,MAAM,CAAC;IACtCnK,GAAG,CAACO,KAAK,CAAC,iBAAiB,EAAE4J,MAAM,CAAC;IAEpC,IAAM4B,WAAW,GAAGD,KAAK,CACtBxL,IAAI,CAAC0L,SAAS,IAAI;MACjBhM,GAAG,CAACO,KAAK,CAAC,kBAAkB,EAAE4J,MAAM,EAAE6B,SAAS,CAAC;MAChD,IAAM;QAAEC,QAAQ,EAAEC;MAAc,CAAC,GAAGF,SAAS;MAE7C,OAAO;QACLC,QAAQ,EAAEC,aAAa,IAAI,IAAI,GAAG,CAACA,aAAa,CAAC,GAAG;MACtD,CAAC;IACH,CAAC,CAAC,CACDb,KAAK,CAAEC,KAAc,IAAK;MACzBtL,GAAG,CAACsL,KAAK,CAAC,qCAAqC,EAAEA,KAAK,CAAC;MACvD,OAAO;QAAEW,QAAQ,EAAE;MAAG,CAAC;IACzB,CAAC,CAAC;IAEJ,OAAOF,WAAW;EACpB;EAEAI,MAAMA,CAAA,EAAS;IACb,OAAO,IAAI;EACb;AACF;AAAC7D,eAAA,CA1mBKpI,eAAe;AAAAoI,eAAA,CAAfpI,eAAe;AAAAoI,eAAA,CAAfpI,eAAe,mBAQI,IAAI;AAAAoI,eAAA,CARvBpI,eAAe,kBAU4BJ,qBAAqB;AAkmBtE,eAAeI,eAAe"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/console",
3
- "version": "0.95.1-beta.7+92b133bf",
3
+ "version": "0.96.1-beta.0+9e833931",
4
4
  "description": "Deephaven Console",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -24,16 +24,16 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "@astral-sh/ruff-wasm-web": "0.6.4",
27
- "@deephaven/chart": "^0.95.1-beta.7+92b133bf",
28
- "@deephaven/components": "^0.95.1-beta.7+92b133bf",
29
- "@deephaven/icons": "^0.95.1-beta.7+92b133bf",
30
- "@deephaven/jsapi-bootstrap": "^0.95.1-beta.7+92b133bf",
27
+ "@deephaven/chart": "^0.96.1-beta.0+9e833931",
28
+ "@deephaven/components": "^0.96.1-beta.0+9e833931",
29
+ "@deephaven/icons": "^0.96.1-beta.0+9e833931",
30
+ "@deephaven/jsapi-bootstrap": "^0.96.1-beta.0+9e833931",
31
31
  "@deephaven/jsapi-types": "^1.0.0-dev0.34.0",
32
- "@deephaven/jsapi-utils": "^0.95.1-beta.7+92b133bf",
33
- "@deephaven/log": "^0.95.1-beta.7+92b133bf",
34
- "@deephaven/react-hooks": "^0.95.1-beta.7+92b133bf",
35
- "@deephaven/storage": "^0.95.1-beta.7+92b133bf",
36
- "@deephaven/utils": "^0.95.1-beta.7+92b133bf",
32
+ "@deephaven/jsapi-utils": "^0.96.1-beta.0+9e833931",
33
+ "@deephaven/log": "^0.96.1-beta.0+9e833931",
34
+ "@deephaven/react-hooks": "^0.96.1-beta.0+9e833931",
35
+ "@deephaven/storage": "^0.96.1-beta.0+9e833931",
36
+ "@deephaven/utils": "^0.96.1-beta.0+9e833931",
37
37
  "@fortawesome/react-fontawesome": "^0.2.0",
38
38
  "classnames": "^2.3.1",
39
39
  "linkifyjs": "^4.1.0",
@@ -53,9 +53,9 @@
53
53
  "react-dom": ">=16.8.0"
54
54
  },
55
55
  "devDependencies": {
56
- "@deephaven/jsapi-shim": "^0.95.1-beta.7+92b133bf",
57
- "@deephaven/mocks": "^0.95.1-beta.7+92b133bf",
58
- "@deephaven/test-utils": "^0.95.1-beta.7+92b133bf"
56
+ "@deephaven/jsapi-shim": "^0.96.1-beta.0+9e833931",
57
+ "@deephaven/mocks": "^0.96.1-beta.0+9e833931",
58
+ "@deephaven/test-utils": "^0.96.1-beta.0+9e833931"
59
59
  },
60
60
  "files": [
61
61
  "dist"
@@ -66,5 +66,5 @@
66
66
  "publishConfig": {
67
67
  "access": "public"
68
68
  },
69
- "gitHead": "92b133bf94737776a5e4ab413d415128a50692d8"
69
+ "gitHead": "9e833931f86671d1677d31bb7dbb45a13bb848bd"
70
70
  }