@arcgis/coding-components 5.1.0-next.105 → 5.1.0-next.107

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/cdn/2CBDII2T.js +2 -0
  2. package/dist/cdn/3LHMOBGC.js +2 -0
  3. package/dist/cdn/{363GMMQ6.js → 5S2GF6U4.js} +1 -1
  4. package/dist/cdn/{TCLNQ7Z6.js → 66CFQA7G.js} +1 -1
  5. package/dist/cdn/{TSZHSRGH.js → 6DAYEZO3.js} +1 -1
  6. package/dist/cdn/{GZ6HZKQZ.js → AZR47E7L.js} +1 -1
  7. package/dist/cdn/CK7ERP6J.js +2 -0
  8. package/dist/cdn/{NWLOXWV6.js → DWYZXGBU.js} +1 -1
  9. package/dist/cdn/{GPIFJKPY.js → DX64LARM.js} +1 -1
  10. package/dist/cdn/E5OXH2IV.js +2 -0
  11. package/dist/cdn/{CHTL74L2.js → ETVSINLC.js} +1 -1
  12. package/dist/cdn/{G56LJGLK.js → HLDSPJ74.js} +1 -1
  13. package/dist/cdn/HUJVXIUS.js +2 -0
  14. package/dist/cdn/{PPV6RAZ3.js → IC45T3XF.js} +1 -1
  15. package/dist/cdn/{GHTOL7NB.js → KV35R64B.js} +1 -1
  16. package/dist/cdn/{GVMVHGSK.js → LT4IXMHV.js} +1 -1
  17. package/dist/cdn/MNHNQABP.js +4 -0
  18. package/dist/cdn/{OGS4AWC2.js → NMT25LRW.js} +1 -1
  19. package/dist/cdn/{NOHSS7JG.js → Q7MSRF5V.js} +1 -1
  20. package/dist/cdn/{P7I5ATMN.js → UN7LGHT2.js} +1 -1
  21. package/dist/cdn/{SATQDL5P.js → XDJFQDE6.js} +1 -1
  22. package/dist/cdn/{WL2QW4SI.js → ZSFJLQXB.js} +1 -1
  23. package/dist/cdn/assets/arcade-editor/t9n/messages.en.json +1 -1
  24. package/dist/cdn/assets/code-editor/arcade.worker.js +2 -5
  25. package/dist/cdn/assets/code-editor/sql-expr.worker.js +2440 -2410
  26. package/dist/cdn/index.js +1 -1
  27. package/dist/chunks/arcade-mode.js +174 -142
  28. package/dist/chunks/sql-expr-defaults.js +97 -75
  29. package/dist/components/arcgis-arcade-coding-assistant/customElement.js +24 -13
  30. package/dist/components/arcgis-arcade-editor/customElement.d.ts +33 -1
  31. package/dist/components/arcgis-arcade-editor/customElement.js +311 -184
  32. package/dist/components/arcgis-code-editor/customElement.js +1 -1
  33. package/dist/docs/api.json +1 -1
  34. package/dist/docs/docs.json +1 -1
  35. package/dist/docs/vscode.html-custom-data.json +1 -1
  36. package/dist/docs/web-types.json +1 -1
  37. package/dist/loader.js +4 -4
  38. package/dist/types/lumina.d.ts +1 -1
  39. package/dist/types/preact.d.ts +1 -1
  40. package/dist/types/react.d.ts +1 -1
  41. package/dist/types/stencil.d.ts +1 -1
  42. package/dist/utils/arcade-executor.d.ts +44 -1
  43. package/package.json +5 -5
  44. package/dist/cdn/BWQEBSSL.js +0 -4
  45. package/dist/cdn/JQQBQXPD.js +0 -2
  46. package/dist/cdn/SKTKTWIV.js +0 -2
  47. package/dist/cdn/WP6BSOSW.js +0 -2
  48. package/dist/cdn/YJW6NUWX.js +0 -2
package/dist/cdn/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{J as s,v as e}from"./REL6OK2I.js";import"./Y3KOWWO5.js";import"./3TTFCHAA.js";var r=e(s,{"arcgis-arcade-coding-assistant":[()=>import("./BWQEBSSL.js"),"appVersion,assistantsEnabled,closed,closePanel:,disableQuestionAnswerLogging,editorRef:,feedbackServiceUrl,helpBase,insertText:,portalUrl,serviceUrl;destroy"],"arcgis-arcade-debugger-console":[()=>import("./PPV6RAZ3.js"),"debuggerStore:,modelId"],"arcgis-arcade-debugger-output":[()=>import("./7NI24N24.js"),"debuggerStore:,result:"],"arcgis-arcade-editor":[()=>import("./WP6BSOSW.js"),"arcadeAssistant:,customPanels:,editorInstance:,editorOptions:,enableDebugger,hideDocumentationActions,hideSideBar,messageOverrides:,messages:,openedSidePanel,profile:,script,sideActionBarExpanded,snippets:,suggestions:,testData:;getTestResult,setFocus"],"arcgis-arcade-results":[()=>import("./363GMMQ6.js"),"consoleLogs:,hideHeader,loading,openedResultPanel,result:"],"arcgis-arcade-suggestions":[()=>import("./WL2QW4SI.js"),"closed,suggestions:"],"arcgis-code-editor":[()=>import("./GHTOL7NB.js"),"editorInstance:,editorOptions:,language,modelId,value;insertSnippet,insertText,setFocus"],"arcgis-code-editor-shell":[()=>import("./WN4UL6U4.js")],"arcgis-code-viewer":[()=>import("./TSZHSRGH.js"),"language,lineNumbers,round"],"arcgis-editor-variables":[()=>import("./UCX6WHKQ.js"),"closed,heading,loading,messageOverrides:,modelId,variable:"],"arcgis-language-api-panel":[()=>import("./NWLOXWV6.js"),"apiLibrary:,closed,hideDocumentationActions,languageId,loading"],"arcgis-sql-expression-editor":[()=>import("./SATQDL5P.js"),"hideSideBar,messageOverrides:,messages:,profile:,script;setFocus"],"arcgis-sql-layer-editor":[()=>import("./GVMVHGSK.js"),"editorInstance:,editorOptions:,hideSideBar,messageOverrides:,messages:,openedSidePanel,profile:,script;setFocus"]});r({resourcesUrl:import.meta.url});var i=new CSSStyleSheet;i.replaceSync("@layer{:not([hydrated]):is(arcgis-arcade-editor,arcgis-code-editor,arcgis-code-editor-shell,arcgis-code-viewer,arcgis-sql-expression-editor,arcgis-sql-layer-editor){visibility:hidden}}");document.adoptedStyleSheets=[...document.adoptedStyleSheets,i];window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),((a,r)=>{a.t=(c,...x)=>Promise.all(x.map(x=>x.then?x:(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x))).then(c);r.p=a.t(([m])=>{r.t=m.trackAccess;r.o=m.createObservable;r.c=m.createTrackingTarget;r.r=m.runTracked},"applications/Components/reactiveUtils")})($arcgis,s)
2
+ import{J as s,v as e}from"./REL6OK2I.js";import"./Y3KOWWO5.js";import"./3TTFCHAA.js";var r=e(s,{"arcgis-arcade-coding-assistant":[()=>import("./MNHNQABP.js"),"appVersion,closed,closePanel:,diagnostics:,disableQuestionAnswerLogging,editorRef:,feedbackServiceUrl,helpBase,insertText:,portalUrl,promptingEnabled,serviceUrl;destroy,openPrompt"],"arcgis-arcade-debugger-console":[()=>import("./IC45T3XF.js"),"debuggerStore:,modelId"],"arcgis-arcade-debugger-output":[()=>import("./7NI24N24.js"),"debuggerStore:,result:"],"arcgis-arcade-editor":[()=>import("./CK7ERP6J.js"),"arcadeAssistant:,customPanels:,editorInstance:,editorOptions:,enableDebugger,externalExecutor:,hideDocumentationActions,hideSideBar,messageOverrides:,messages:,openedSidePanel,profile:,script,sideActionBarExpanded,snippets:,suggestions:,testData:;getTestResult,openArcadeAssistant,setFocus"],"arcgis-arcade-results":[()=>import("./5S2GF6U4.js"),"consoleLogs:,hideHeader,loading,openedResultPanel,result:"],"arcgis-arcade-suggestions":[()=>import("./ZSFJLQXB.js"),"closed,suggestions:"],"arcgis-code-editor":[()=>import("./KV35R64B.js"),"editorInstance:,editorOptions:,language,modelId,value;insertSnippet,insertText,setFocus"],"arcgis-code-editor-shell":[()=>import("./WN4UL6U4.js")],"arcgis-code-viewer":[()=>import("./6DAYEZO3.js"),"language,lineNumbers,round"],"arcgis-editor-variables":[()=>import("./UCX6WHKQ.js"),"closed,heading,loading,messageOverrides:,modelId,variable:"],"arcgis-language-api-panel":[()=>import("./DWYZXGBU.js"),"apiLibrary:,closed,hideDocumentationActions,languageId,loading"],"arcgis-sql-expression-editor":[()=>import("./XDJFQDE6.js"),"hideSideBar,messageOverrides:,messages:,profile:,script;setFocus"],"arcgis-sql-layer-editor":[()=>import("./LT4IXMHV.js"),"editorInstance:,editorOptions:,hideSideBar,messageOverrides:,messages:,openedSidePanel,profile:,script;setFocus"]});r({resourcesUrl:import.meta.url});var i=new CSSStyleSheet;i.replaceSync("@layer{:not([hydrated]):is(arcgis-arcade-editor,arcgis-code-editor,arcgis-code-editor-shell,arcgis-code-viewer,arcgis-sql-expression-editor,arcgis-sql-layer-editor){visibility:hidden}}");document.adoptedStyleSheets=[...document.adoptedStyleSheets,i];window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),((a,r)=>{a.t=(c,...x)=>Promise.all(x.map(x=>x.then?x:(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x))).then(c);r.p=a.t(([m])=>{r.t=m.trackAccess;r.o=m.createObservable;r.c=m.createTrackingTarget;r.r=m.runTracked},"applications/Components/reactiveUtils")})($arcgis,s)
@@ -1,18 +1,11 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import { Range as _, languages as l, MarkerSeverity as p, Emitter as M } from "monaco-editor";
3
- import "monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js";
4
- import "monaco-editor/esm/vs/editor/standalone/common/standaloneTheme.js";
5
- import "monaco-editor/esm/vs/platform/hover/browser/hover.js";
6
- import "monaco-editor/esm/vs/editor/common/languages/supports/tokenization.js";
7
- import "monaco-editor/esm/vs/base/browser/dom.js";
8
- import "monaco-editor/esm/vs/editor/browser/editorDom.js";
9
- import "monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js";
10
- import { ArcadeKeywords as L } from "@arcgis/arcade-languageservice";
11
- import { i as w } from "./monaco-importer.js";
12
- import { InsertTextFormat as y, CompletionItemKind as i, DiagnosticSeverity as m } from "vscode-languageserver-types";
13
- import { debounce as A } from "@arcgis/toolkit/function";
14
- import { rethrowError as f } from "@arcgis/toolkit/log";
15
- const F = [
2
+ import { i as f } from "./monaco-importer.js";
3
+ import { ArcadeKeywords as M } from "@arcgis/arcade-languageservice";
4
+ import { InsertTextFormat as L, CompletionItemKind as o, DiagnosticSeverity as h } from "vscode-languageserver-types";
5
+ import { debounce as S } from "@arcgis/toolkit/function";
6
+ import { rethrowError as w } from "@arcgis/toolkit/log";
7
+ import { Range as b, languages as l, MarkerSeverity as p, Emitter as F } from "monaco-editor";
8
+ const P = [
16
9
  "<=",
17
10
  ">=",
18
11
  "==",
@@ -41,7 +34,7 @@ const F = [
41
34
  "**=",
42
35
  "/=",
43
36
  "%="
44
- ], S = {
37
+ ], T = {
45
38
  // the default separators except `@$`
46
39
  wordPattern: /(-?\d*\.\d\w*)|([^`~!#%\^&\*\(\)\-=\+\[\{\]\}\\\|;:'",\.<>\/\?\s]+)/gu,
47
40
  comments: {
@@ -74,7 +67,7 @@ const F = [
74
67
  // ^.*\{[^}"']*$
75
68
  increaseIndentPattern: /^((?!\/\/).)*(\{[^}"'`]*|\([^)"'`]*|\[[^\]"'`]*)$/u
76
69
  }
77
- }, T = {
70
+ }, W = {
78
71
  // Set defaultToken to invalid to see what you do not tokenize yet
79
72
  defaultToken: "invalid",
80
73
  tokenPostfix: ".arcgis",
@@ -83,8 +76,8 @@ const F = [
83
76
  // builtinFunctions: [...arcadeService.FunctionNames],
84
77
  // Arcade keywords. 'from' is a special case as we want to treat it as a keyword in
85
78
  // import statement but as an identifier in var statement.
86
- keywords: L,
87
- operators: F,
79
+ keywords: M,
80
+ operators: P,
88
81
  constants: ["true", "false", "null"],
89
82
  // we include these common regular expressions
90
83
  symbols: /[=><!~?:&|+\-*\/\^%]+/u,
@@ -253,89 +246,89 @@ const F = [
253
246
  ]
254
247
  }
255
248
  };
256
- class P {
257
- constructor(e, n, {
249
+ class $ {
250
+ constructor(e, r, {
258
251
  defaults: s,
259
- diagnosticsService: g
252
+ diagnosticsService: u
260
253
  }) {
261
- this._languageId = e, this._worker = n, this._disposables = [], this._modelListeners = /* @__PURE__ */ new Map(), this._diagnosticsService = g, this._defaults = s, w().then((a) => {
262
- const u = (o) => {
263
- const r = o.getLanguageId();
264
- if (r !== this._languageId)
254
+ this._languageId = e, this._worker = r, this._disposables = [], this._modelListeners = /* @__PURE__ */ new Map(), this._diagnosticsService = u, this._defaults = s, f().then((a) => {
255
+ const d = (i) => {
256
+ const n = i.getLanguageId();
257
+ if (n !== this._languageId)
265
258
  return;
266
- const c = A(() => {
267
- this._doValidate(o, r).catch((E) => {
268
- throw E;
259
+ const c = S(() => {
260
+ this._doValidate(i, n).catch((y) => {
261
+ throw y;
269
262
  });
270
- }), I = o.onDidChangeContent(c), v = o.onDidChangeAttached(c);
271
- this._modelListeners.set(o.uri.toString(), [I, v]), this._doValidate(o, r).catch(f("DiagnosticsAdapter"));
272
- }, d = (o) => {
273
- const r = o.uri.toString();
274
- a.setModelMarkers(o, this._languageId, []);
275
- const c = this._modelListeners.get(r);
263
+ }), I = i.onDidChangeContent(c), E = i.onDidChangeAttached(c);
264
+ this._modelListeners.set(i.uri.toString(), [I, E]), this._doValidate(i, n).catch(w("DiagnosticsAdapter"));
265
+ }, g = (i) => {
266
+ const n = i.uri.toString();
267
+ a.setModelMarkers(i, this._languageId, []);
268
+ const c = this._modelListeners.get(n);
276
269
  if (c) {
277
270
  for (; c.length; )
278
271
  c.pop()?.dispose();
279
- this._modelListeners.delete(r);
272
+ this._modelListeners.delete(n);
280
273
  }
281
274
  };
282
- this._disposables.push(a.onDidCreateModel(u)), this._disposables.push(
283
- a.onWillDisposeModel((o) => {
284
- d(o);
275
+ this._disposables.push(a.onDidCreateModel(d)), this._disposables.push(
276
+ a.onWillDisposeModel((i) => {
277
+ g(i);
285
278
  })
286
279
  ), this._disposables.push(
287
- a.onDidChangeModelLanguage((o) => {
288
- d(o.model), u(o.model);
280
+ a.onDidChangeModelLanguage((i) => {
281
+ g(i.model), d(i.model);
289
282
  })
290
283
  ), this._disposables.push(
291
284
  s.onDidChange(() => {
292
- a.getModels().forEach((o) => {
293
- o.getLanguageId() === this._languageId && (d(o), u(o));
285
+ a.getModels().forEach((i) => {
286
+ i.getLanguageId() === this._languageId && (g(i), d(i));
294
287
  });
295
288
  })
296
289
  ), this._disposables.push(
297
- s.onModelContextDidChange((o) => {
298
- a.getModels().forEach((r) => {
299
- r.getLanguageId() === this._languageId && r.uri.toString() === o && this._doValidate(r, this._languageId).catch(f("DiagnosticsAdapter"));
290
+ s.onModelContextDidChange((i) => {
291
+ a.getModels().forEach((n) => {
292
+ n.getLanguageId() === this._languageId && n.uri.toString() === i && this._doValidate(n, this._languageId).catch(w("DiagnosticsAdapter"));
300
293
  });
301
294
  })
302
295
  ), this._disposables.push({
303
296
  dispose: () => {
304
- this._modelListeners.forEach((o) => o.forEach((r) => r.dispose())), this._modelListeners.clear();
297
+ this._modelListeners.forEach((i) => i.forEach((n) => n.dispose())), this._modelListeners.clear();
305
298
  }
306
- }), a.getModels().forEach(u);
299
+ }), a.getModels().forEach(d);
307
300
  });
308
301
  }
309
302
  dispose() {
310
303
  this._disposables.forEach((e) => e.dispose()), this._disposables = [];
311
304
  }
312
- async _doValidate(e, n) {
305
+ async _doValidate(e, r) {
313
306
  if (e.isAttachedToEditor())
314
307
  try {
315
- const s = await w(), g = await this._worker(e.uri), a = this._defaults.getApiContextForModel(e.uri), u = await g.doValidation(e.uri.toString(), a), d = u.map((o) => $(e.uri, o));
316
- this._diagnosticsService.fireDiagnosticsChange(e.uri, u), s.setModelMarkers(e, n, d);
308
+ const s = await f(), u = await this._worker(e.uri), a = this._defaults.getApiContextForModel(e.uri), d = await u.doValidation(e.uri.toString(), a), g = d.map((i) => R(e.uri, i));
309
+ this._diagnosticsService.fireDiagnosticsChange(e.uri, d), s.setModelMarkers(e, r, g);
317
310
  } catch (s) {
318
- f("DiagnosticsAdapter")(s);
311
+ w("DiagnosticsAdapter")(s);
319
312
  }
320
313
  }
321
314
  }
322
- function W(t) {
315
+ function D(t) {
323
316
  switch (t) {
324
- case m.Error:
317
+ case h.Error:
325
318
  return p.Error;
326
- case m.Warning:
319
+ case h.Warning:
327
320
  return p.Warning;
328
- case m.Information:
321
+ case h.Information:
329
322
  return p.Info;
330
- case m.Hint:
323
+ case h.Hint:
331
324
  return p.Hint;
332
325
  default:
333
326
  return p.Info;
334
327
  }
335
328
  }
336
- function $(t, e) {
329
+ function R(t, e) {
337
330
  return {
338
- severity: W(e.severity),
331
+ severity: D(e.severity),
339
332
  startLineNumber: e.range.start.line + 1,
340
333
  startColumn: e.range.start.character + 1,
341
334
  endLineNumber: e.range.end.line + 1,
@@ -343,119 +336,119 @@ function $(t, e) {
343
336
  message: e.message
344
337
  };
345
338
  }
346
- function D(t) {
339
+ function V(t) {
347
340
  return { character: t.column - 1, line: t.lineNumber - 1 };
348
341
  }
349
- function h(t) {
350
- return new _(t.start.line + 1, t.start.character + 1, t.end.line + 1, t.end.character + 1);
342
+ function m(t) {
343
+ return new b(t.start.line + 1, t.start.character + 1, t.end.line + 1, t.end.character + 1);
351
344
  }
352
- function R(t) {
345
+ function K(t) {
353
346
  return {
354
- range: h(t.range),
347
+ range: m(t.range),
355
348
  text: t.newText
356
349
  };
357
350
  }
358
- function V(t) {
351
+ function N(t) {
359
352
  return typeof t.insert < "u" && typeof t.replace < "u";
360
353
  }
361
- function K(t) {
354
+ function z(t) {
362
355
  const e = l.CompletionItemKind;
363
356
  switch (t) {
364
- case i.Text:
357
+ case o.Text:
365
358
  return e.Text;
366
- case i.Method:
359
+ case o.Method:
367
360
  return e.Method;
368
- case i.Function:
361
+ case o.Function:
369
362
  return e.Function;
370
- case i.Constructor:
363
+ case o.Constructor:
371
364
  return e.Constructor;
372
- case i.Field:
365
+ case o.Field:
373
366
  return e.Field;
374
- case i.Variable:
367
+ case o.Variable:
375
368
  return e.Variable;
376
- case i.Class:
369
+ case o.Class:
377
370
  return e.Class;
378
- case i.Interface:
371
+ case o.Interface:
379
372
  return e.Interface;
380
- case i.Module:
373
+ case o.Module:
381
374
  return e.Module;
382
- case i.Property:
375
+ case o.Property:
383
376
  return e.Property;
384
- case i.Unit:
377
+ case o.Unit:
385
378
  return e.Unit;
386
- case i.Value:
379
+ case o.Value:
387
380
  return e.Value;
388
- case i.Enum:
381
+ case o.Enum:
389
382
  return e.Enum;
390
- case i.Keyword:
383
+ case o.Keyword:
391
384
  return e.Keyword;
392
- case i.Snippet:
385
+ case o.Snippet:
393
386
  return e.Snippet;
394
- case i.Color:
387
+ case o.Color:
395
388
  return e.Color;
396
- case i.File:
389
+ case o.File:
397
390
  return e.File;
398
- case i.Reference:
391
+ case o.Reference:
399
392
  return e.Reference;
400
- case i.Folder:
393
+ case o.Folder:
401
394
  return e.Folder;
402
- case i.EnumMember:
395
+ case o.EnumMember:
403
396
  return e.EnumMember;
404
- case i.Constant:
397
+ case o.Constant:
405
398
  return e.Constant;
406
- case i.Struct:
399
+ case o.Struct:
407
400
  return e.Struct;
408
- case i.Event:
401
+ case o.Event:
409
402
  return e.Event;
410
- case i.Operator:
403
+ case o.Operator:
411
404
  return e.Operator;
412
- case i.TypeParameter:
405
+ case o.TypeParameter:
413
406
  return e.TypeParameter;
414
407
  default:
415
408
  return e.Property;
416
409
  }
417
410
  }
418
- class N {
419
- constructor(e, n) {
420
- this._worker = e, this._defaults = n, this.triggerCharacters = [".", "("];
411
+ class O {
412
+ constructor(e, r) {
413
+ this._worker = e, this._defaults = r, this.triggerCharacters = [".", "("];
421
414
  }
422
- async provideCompletionItems(e, n) {
423
- const s = await this._worker(e.uri), g = this._defaults.getApiContextForModel(e.uri), a = await s.doComplete(e.uri.toString(), D(n), g), u = e.getWordUntilPosition(n), d = new _(n.lineNumber, u.startColumn, n.lineNumber, u.endColumn), o = a.items.map((r) => {
415
+ async provideCompletionItems(e, r) {
416
+ const s = await this._worker(e.uri), u = this._defaults.getApiContextForModel(e.uri), a = await s.doComplete(e.uri.toString(), V(r), u), d = e.getWordUntilPosition(r), g = new b(r.lineNumber, d.startColumn, r.lineNumber, d.endColumn), i = a.items.map((n) => {
424
417
  const c = {
425
- label: r.label,
426
- insertText: r.insertText || r.label,
427
- sortText: r.sortText,
428
- filterText: r.filterText,
429
- detail: r.detail,
430
- range: d,
431
- kind: K(r.kind)
418
+ label: n.label,
419
+ insertText: n.insertText || n.label,
420
+ sortText: n.sortText,
421
+ filterText: n.filterText,
422
+ detail: n.detail,
423
+ range: g,
424
+ kind: z(n.kind)
432
425
  };
433
- return r.textEdit && (V(r.textEdit) ? c.range = {
434
- insert: h(r.textEdit.insert),
435
- replace: h(r.textEdit.replace)
436
- } : c.range = h(r.textEdit.range), c.insertText = r.textEdit.newText), r.additionalTextEdits && (c.additionalTextEdits = r.additionalTextEdits.map(R)), r.insertTextFormat === y.Snippet && (c.insertTextRules = l.CompletionItemInsertTextRule.InsertAsSnippet), r.documentation && (typeof r.documentation == "string" ? c.documentation = r.documentation : c.documentation = {
426
+ return n.textEdit && (N(n.textEdit) ? c.range = {
427
+ insert: m(n.textEdit.insert),
428
+ replace: m(n.textEdit.replace)
429
+ } : c.range = m(n.textEdit.range), c.insertText = n.textEdit.newText), n.additionalTextEdits && (c.additionalTextEdits = n.additionalTextEdits.map(K)), n.insertTextFormat === L.Snippet && (c.insertTextRules = l.CompletionItemInsertTextRule.InsertAsSnippet), n.documentation && (typeof n.documentation == "string" ? c.documentation = n.documentation : c.documentation = {
437
430
  supportThemeIcons: !1,
438
- value: r.documentation.value,
431
+ value: n.documentation.value,
439
432
  supportHtml: !0
440
433
  }), c;
441
434
  });
442
435
  return {
443
436
  incomplete: a.isIncomplete,
444
- suggestions: o
437
+ suggestions: i
445
438
  };
446
439
  }
447
440
  }
448
- class z {
449
- constructor(e, n) {
450
- this._worker = e, this._defaults = n;
441
+ class B {
442
+ constructor(e, r) {
443
+ this._worker = e, this._defaults = r;
451
444
  }
452
445
  async provideDocumentFormattingEdits(e) {
453
- const n = await this._worker(e.uri), s = this._defaults.getApiContextForModel(e.uri.toString());
454
- return (await n.doFormat(e.uri.toString(), s)).map((a) => ({ range: h(a.range), text: a.newText }));
446
+ const r = await this._worker(e.uri), s = this._defaults.getApiContextForModel(e.uri.toString());
447
+ return (await r.doFormat(e.uri.toString(), s)).map((a) => ({ range: m(a.range), text: a.newText }));
455
448
  }
456
449
  }
457
- let k = Promise.withResolvers();
458
- class b {
450
+ let x = Promise.withResolvers();
451
+ class v {
459
452
  constructor(e) {
460
453
  this._defaults = e, this._worker = null, this._client = null, this._configChangeListener = this._defaults.onDidChange(() => this.stopWorker());
461
454
  }
@@ -463,48 +456,81 @@ class b {
463
456
  this._configChangeListener.dispose(), this.stopWorker();
464
457
  }
465
458
  stopWorker() {
466
- this._worker && (this._worker.dispose(), this._worker = null, k = Promise.withResolvers()), this._client = null;
459
+ this._worker && (this._worker.dispose(), this._worker = null, x = Promise.withResolvers()), this._client = null;
467
460
  }
468
461
  /**
469
462
  * Wait for the worker to be ready.
470
463
  * @returns A promise that resolves when the worker is ready.
471
464
  */
472
465
  static async waitForWorker() {
473
- return await k.promise;
466
+ return await x.promise;
474
467
  }
475
468
  async _getClientProxy() {
476
- const e = await w();
469
+ const e = await f();
477
470
  if (!this._client) {
478
- const { languageId: n } = this._defaults, s = window.MonacoEnvironment?.getWorker;
471
+ const { languageId: r } = this._defaults, s = window.MonacoEnvironment?.getWorker;
479
472
  if (!s)
480
473
  throw new Error(
481
474
  "MonacoEnvironment.getWorker is not configured. Call setupMonacoEnvironment(...) before creating Arcade workers."
482
475
  );
483
476
  this._worker = e.createWebWorker({
484
- worker: s("ArcadeWorker", n),
477
+ worker: s("ArcadeWorker", r),
485
478
  host: this._defaults.workerHost
486
- }), k.resolve(this._worker), this._client = this._worker.getProxy();
479
+ }), x.resolve(this._worker), this._client = this._worker.getProxy();
487
480
  }
488
481
  return await this._client;
489
482
  }
490
483
  async getLanguageServiceWorker(...e) {
491
- const n = await this._getClientProxy();
492
- return await this._worker?.withSyncedResources(e), n;
484
+ const r = await this._getClientProxy();
485
+ return await this._worker?.withSyncedResources(e), r;
486
+ }
487
+ }
488
+ let C;
489
+ const H = "quickfix", U = "arcgis.arcade-editor.ask-ai", k = /* @__PURE__ */ new Map();
490
+ let _;
491
+ function te(t, e) {
492
+ const r = typeof t == "string" ? t : t.uri.toString();
493
+ if (!e) {
494
+ k.delete(r);
495
+ return;
496
+ }
497
+ k.set(r, e);
498
+ }
499
+ async function q() {
500
+ return _ || (_ = (async () => (await f()).addCommand({
501
+ id: U,
502
+ run: (...r) => {
503
+ const [, s, u] = r;
504
+ if (typeof s != "string")
505
+ return;
506
+ const a = typeof u == "string" ? u : void 0;
507
+ k.get(s)?.run(a);
508
+ }
509
+ }))()), await _;
510
+ }
511
+ class Q {
512
+ async provideCodeActions(e, r, s, u) {
513
+ const a = k.get(e.uri.toString());
514
+ return {
515
+ actions: a ? await a.provideCodeActions({ model: e, range: r, context: s, token: u }) : [],
516
+ // Monaco always disposes CodeActionList results, but these actions are plain data with no request-scoped resources.
517
+ dispose: () => {
518
+ }
519
+ };
493
520
  }
494
521
  }
495
- let x;
496
522
  async function re(...t) {
497
- return await b.waitForWorker(), await new Promise((e, n) => {
498
- if (!x) {
499
- n(new Error("Arcade not registered!"));
523
+ return await v.waitForWorker(), await new Promise((e, r) => {
524
+ if (!C) {
525
+ r(new Error("Arcade not registered!"));
500
526
  return;
501
527
  }
502
- e(x(...t));
528
+ e(C(...t));
503
529
  });
504
530
  }
505
- class O {
531
+ class X {
506
532
  constructor() {
507
- this._onDiagnosticsChange = new M();
533
+ this._onDiagnosticsChange = new F();
508
534
  }
509
535
  /**
510
536
  * An event to signal changes to the diagnostics.
@@ -518,29 +544,35 @@ class O {
518
544
  * @param uri The uri of the model for which the diagnostics changed.
519
545
  * @param diagnostics The diagnostics for the model.
520
546
  */
521
- fireDiagnosticsChange(e, n) {
522
- this._onDiagnosticsChange.fire({ uri: e, diagnostics: n });
547
+ fireDiagnosticsChange(e, r) {
548
+ this._onDiagnosticsChange.fire({ uri: e, diagnostics: r });
523
549
  }
524
550
  }
525
- const C = new O();
551
+ const A = new X();
526
552
  function ne() {
527
- return C;
553
+ return A;
528
554
  }
529
- function oe(t) {
530
- const e = new b(t), n = async (...s) => await e.getLanguageServiceWorker(...s);
531
- x = n, l.setMonarchTokensProvider(t.languageId, T), l.setLanguageConfiguration(t.languageId, S), l.registerCompletionItemProvider(
555
+ function ie(t) {
556
+ q();
557
+ const e = new v(t), r = async (...s) => await e.getLanguageServiceWorker(...s);
558
+ C = r, l.setMonarchTokensProvider(t.languageId, W), l.setLanguageConfiguration(t.languageId, T), l.registerCompletionItemProvider(
532
559
  t.languageId,
533
- new N(n, t)
560
+ new O(r, t)
534
561
  ), l.registerDocumentFormattingEditProvider(
535
562
  t.languageId,
536
- new z(n, t)
537
- ), new P(t.languageId, n, {
563
+ new B(r, t)
564
+ ), l.registerCodeActionProvider(t.languageId, new Q(), {
565
+ providedCodeActionKinds: [H]
566
+ }), new $(t.languageId, r, {
538
567
  defaults: t,
539
- diagnosticsService: C
568
+ diagnosticsService: A
540
569
  });
541
570
  }
542
571
  export {
572
+ U as arcadeAskAiCommandId,
573
+ H as arcadeQuickFixKind,
543
574
  ne as getArcadeDiagnosticService,
544
575
  re as getArcadeWorker,
545
- oe as setupMode
576
+ te as setArcadeAskAiBinding,
577
+ ie as setupMode
546
578
  };