@arcgis/coding-components 5.0.0-next.86 → 5.0.0-next.87
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/addons/arcade-coding-assistant/chat-helper.d.ts +2 -2
- package/dist/addons.js +1 -1
- package/dist/cdn/{BTHHVPUO.js → 2YMBVBWG.js} +2 -2
- package/dist/cdn/{MDIQFVFA.js → 325TXA7I.js} +2 -2
- package/dist/cdn/{7I7EBDPY.js → 3EYZBLKJ.js} +2 -2
- package/dist/cdn/3M5NYJZN.js +4 -0
- package/dist/cdn/{MCGQ6KRV.js → 3XCLDYRR.js} +1 -1
- package/dist/cdn/{V4TG6GDW.js → 4V3YSKVN.js} +2 -2
- package/dist/cdn/{G2MNT5MH.js → 5ER6Q35Q.js} +2 -2
- package/dist/cdn/{IVXRAZY5.js → 7TYVOHB7.js} +1 -1
- package/dist/cdn/{HI5LKY6R.js → ABJIWJPS.js} +2 -2
- package/dist/cdn/{A7GC2RAP.js → BDRKA3H4.js} +1 -1
- package/dist/cdn/{N3MHW6AM.js → CCHMIQXD.js} +2 -2
- package/dist/cdn/{XDOANCWB.js → CTFINT6J.js} +2 -2
- package/dist/cdn/{GGTAF434.js → D32DPMWU.js} +2 -2
- package/dist/cdn/{BCHJVYE5.js → DEI64BDN.js} +2 -2
- package/dist/cdn/{ROG4QBVE.js → DZNC75PY.js} +2 -2
- package/dist/cdn/{FITYHC24.js → F77Q6CNP.js} +2 -2
- package/dist/cdn/{S5A4U67W.js → J3MBBE3G.js} +2 -2
- package/dist/cdn/{USZ2KUJP.js → JQHYB5KX.js} +1 -1
- package/dist/cdn/{KT6E5ZTM.js → KNBWO4CO.js} +2 -2
- package/dist/cdn/{HMWZEC7D.js → L3L34CKE.js} +2 -2
- package/dist/cdn/{W7DH63B3.js → MGCEFDSA.js} +2 -2
- package/dist/cdn/{SE4PPQQW.js → MLAKZDOK.js} +2 -2
- package/dist/cdn/{ZK3HCKLO.js → NCVMUEKS.js} +2 -2
- package/dist/cdn/{WHDQGCW7.js → NIZHKJXJ.js} +2 -2
- package/dist/cdn/{OVV6WXX7.js → O5N7KZ5P.js} +2 -2
- package/dist/cdn/PRHML5UA.js +6 -0
- package/dist/cdn/{RZ4DRTSI.js → PWAA4CRD.js} +2 -2
- package/dist/cdn/{HUDN4YMY.js → QAYPWIIC.js} +1 -1
- package/dist/cdn/{HNMU72SH.js → QE4KT43F.js} +2 -2
- package/dist/cdn/{SWSJLICP.js → RMZBNT2N.js} +3 -3
- package/dist/cdn/{CEE3ZJUA.js → RQYFQ3B4.js} +2 -2
- package/dist/cdn/{5MPQLT5X.js → TE26WGVV.js} +2 -2
- package/dist/cdn/{VYCA3AJT.js → TXVBD3VC.js} +1 -1
- package/dist/cdn/{JPLSYGHT.js → UPLQXWT2.js} +2 -2
- package/dist/cdn/{TTAY72VH.js → VFYYXL2I.js} +2 -2
- package/dist/cdn/{DD6ZRT43.js → VLOVVVTE.js} +2 -2
- package/dist/cdn/{2LDLCX6R.js → VT7DU6NI.js} +2 -2
- package/dist/cdn/{5WXTHFB6.js → VXGTTGEB.js} +1 -1
- package/dist/cdn/{3JQZLQ6X.js → X4V2UEQT.js} +1 -1
- package/dist/cdn/{J2SETKWM.js → XGHQXMGP.js} +2 -2
- package/dist/cdn/{3DX6HUJZ.js → XTUDWQAL.js} +2 -2
- package/dist/cdn/{IC67HR3V.js → XUYSIX4L.js} +2 -2
- package/dist/cdn/{5JYRNSC3.js → XYFDVWIU.js} +2 -2
- package/dist/cdn/{GGKL5FWT.js → Y66D4CG7.js} +1 -1
- package/dist/cdn/{WI4BDXBY.js → YM3LXZU4.js} +2 -2
- package/dist/cdn/{XIOTAEZY.js → YT7R2HN7.js} +2 -2
- package/dist/cdn/{33X46FFL.js → ZPSMGPBJ.js} +2 -2
- package/dist/cdn/{HMLBWY5X.js → ZSVSMP5N.js} +2 -2
- package/dist/cdn/assets/code-editor/sql-expr.worker.js +888 -879
- package/dist/cdn/index.js +2 -2
- package/dist/chunks/arcade-contribution.js +1 -1
- package/dist/chunks/arcade-defaults.js +1 -1
- package/dist/chunks/arcade-executor.js +1 -1
- package/dist/chunks/arcade-mode.js +1 -1
- package/dist/chunks/arcade-service-accessors.js +1 -1
- package/dist/chunks/colorize.js +1 -1
- package/dist/chunks/editor.js +1 -1
- package/dist/chunks/fields.js +1 -1
- package/dist/chunks/language-defaults-base.js +1 -1
- package/dist/chunks/markdown.js +1 -1
- package/dist/chunks/monaco-importer.js +1 -1
- package/dist/chunks/monaco-theme.js +1 -1
- package/dist/chunks/runtime.js +1 -1
- package/dist/chunks/sql-expr-defaults.js +1 -1
- package/dist/chunks/sql-expr-mode.js +1 -1
- package/dist/chunks/sql-expr-service-accessors.js +1 -1
- package/dist/chunks/useT9n.js +1 -1
- package/dist/chunks/utilities.js +1 -1
- package/dist/components/arcgis-arcade-coding-assistant/customElement.d.ts +12 -2
- package/dist/components/arcgis-arcade-coding-assistant/customElement.js +41 -41
- package/dist/components/arcgis-arcade-coding-assistant/types.d.ts +2 -2
- package/dist/components/arcgis-arcade-editor/customElement.js +1 -1
- package/dist/components/arcgis-arcade-results/customElement.js +1 -1
- package/dist/components/arcgis-arcade-results/functional.d.ts +2 -2
- package/dist/components/arcgis-arcade-suggestions/customElement.js +1 -1
- package/dist/components/arcgis-code-editor/customElement.js +1 -1
- package/dist/components/arcgis-code-viewer/customElement.js +1 -1
- package/dist/components/arcgis-editor-variables/customElement.js +1 -1
- package/dist/components/arcgis-language-api-panel/customElement.js +1 -1
- package/dist/components/arcgis-sql-expression-editor/customElement.js +1 -1
- package/dist/components/arcgis-sql-expression-fields/customElement.js +1 -1
- package/dist/docs/api.json +2 -2
- package/dist/docs/docs.json +2 -2
- package/dist/docs/web-types.json +1 -1
- package/dist/index.js +1 -1
- package/dist/loader.js +1 -1
- package/dist/monacoStyles.js +1 -1
- package/dist/utils/arcade-executor.d.ts +11 -8
- package/dist/utils/fields.d.ts +7 -6
- package/dist/utils/profile/editor-profile.d.ts +11 -7
- package/dist/utils/profile/types.d.ts +26 -21
- package/dist/utils/profile/utils.d.ts +13 -7
- package/dist/utils/sql-expr-monaco/sql-expr-completion.d.ts +2 -2
- package/dist/utils/sql-expr-monaco/sql-expr-constants.d.ts +14 -13
- package/dist/utils/sql-expr-monaco/sql-expr-defaults.d.ts +3 -3
- package/dist/utils/sql-expr-monaco/sql-expr-parser-utils.d.ts +8 -8
- package/dist/utils/sql-expr-monaco/sql-expr-validation-utils.d.ts +10 -10
- package/dist/utils/sql-expr-monaco/sql-expr-validation.d.ts +2 -2
- package/dist/utils/sql-expr-monaco/types.d.ts +9 -7
- package/dist/utils/utilities.d.ts +2 -2
- package/package.json +5 -5
- package/dist/cdn/BLVE5YQR.js +0 -6
- package/dist/cdn/QFHNOTXM.js +0 -4
package/dist/cdn/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
2
2
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
3
|
-
v5.0.0-next.
|
|
4
|
-
import{J as s,v as e}from"./
|
|
3
|
+
v5.0.0-next.87 */
|
|
4
|
+
import{J as s,v as e}from"./VLOVVVTE.js";import"./TXVBD3VC.js";import"./3XCLDYRR.js";var t=e(s,{"arcgis-arcade-coding-assistant":[()=>import("./PRHML5UA.js"),"appVersion,assistantsEnabled,closed,closePanel:,editorRef:,feedbackServiceUrl,helpBase,insertText:,layer,portalUrl,serviceUrl;destroy"],"arcgis-arcade-editor":[()=>import("./L3L34CKE.js"),"arcadeAssistant:,customPanels:,editorInstance:,editorOptions:,hideDocumentationActions,hideSideBar,openedSidePanel:,profile:,script,sideActionBarExpanded,snippets:,suggestions:,testData:;getEditorInstance,getScript,getTestResult,setFocus"],"arcgis-arcade-results":[()=>import("./KNBWO4CO.js"),"calciteModeDark,consoleLogs:,loading,openedResultPanel,result:"],"arcgis-arcade-suggestions":[()=>import("./3EYZBLKJ.js"),"closed,suggestions:"],"arcgis-code-editor":[()=>import("./CTFINT6J.js"),"editorInstance:,editorOptions:,language,modelId:,value;getEditorInstance,getValue,insertSnippet,insertText,setFocus,setValue"],"arcgis-code-viewer":[()=>import("./ZPSMGPBJ.js"),"language,round"],"arcgis-editor-variables":[()=>import("./J3MBBE3G.js"),"closed,loading,modelId,variable:"],"arcgis-language-api-panel":[()=>import("./YM3LXZU4.js"),"apiLibrary:,closed,hideDocumentationActions,languageId,loading"],"arcgis-sql-expression-editor":[()=>import("./VT7DU6NI.js"),"hideSideBar,profile:,script;setFocus"],"arcgis-sql-expression-fields":[()=>import("./DZNC75PY.js"),"loading,modelId"]});t({resourcesUrl:import.meta.url});var i=new CSSStyleSheet();var ___=new CSSStyleSheet();___.replaceSync(`@layer{/*!-----------------------------------------------------------
|
|
5
5
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
6
6
|
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
|
7
7
|
* Released under the MIT license
|
|
@@ -11,7 +11,7 @@ import { b as n } from "./arcade-defaults.js";
|
|
|
11
11
|
import { g as h } from "./arcade-service-accessors.js";
|
|
12
12
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
13
13
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
14
|
-
v5.0.0-next.
|
|
14
|
+
v5.0.0-next.87 */
|
|
15
15
|
const k = ["arcade", "arcgis-sql-expression"], i = /* @__PURE__ */ new Set(), g = /* @__PURE__ */ new Map();
|
|
16
16
|
function c(e) {
|
|
17
17
|
let r = g.get(e);
|
|
@@ -5,7 +5,7 @@ import { CompletionItemKind as w, InsertTextFormat as u, InsertTextMode as p } f
|
|
|
5
5
|
import { getDeclaredPixelMembers as I } from "@arcgis/core/applications/Components/arcadeEditorUtils.js";
|
|
6
6
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
7
7
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
8
|
-
v5.0.0-next.
|
|
8
|
+
v5.0.0-next.87 */
|
|
9
9
|
async function C(e) {
|
|
10
10
|
const { apiVersion: r, bundles: t, hiddenApiItems: i } = e.toEditorProfileDefinition(), n = await h(e.dictionaryVariables);
|
|
11
11
|
return { apiVersion: r, bundles: t, variables: n, hiddenApiItems: i?.map((s) => s.toLowerCase()) };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createArcadeExecutor as C } from "@arcgis/core/arcade.js";
|
|
2
2
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
|
-
v5.0.0-next.
|
|
4
|
+
v5.0.0-next.87 */
|
|
5
5
|
const O = "https://developers.arcgis.com/arcade/", P = 100, A = 100;
|
|
6
6
|
function g(t) {
|
|
7
7
|
return !!t && typeof t == "object" && "declaredRootClass" in t && typeof t.declaredRootClass == "string" && t.declaredRootClass === "esri.arcade.featureset.support.FeatureSet";
|
|
@@ -10,7 +10,7 @@ import { debounce as F } from "@arcgis/toolkit/function";
|
|
|
10
10
|
import { Deferred as _ } from "@arcgis/toolkit/promise";
|
|
11
11
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
12
12
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
13
|
-
v5.0.0-next.
|
|
13
|
+
v5.0.0-next.87 */
|
|
14
14
|
const S = [
|
|
15
15
|
"<=",
|
|
16
16
|
">=",
|
|
@@ -6,7 +6,7 @@ import { IHoverService as m } from "monaco-editor/esm/vs/platform/hover/browser/
|
|
|
6
6
|
import "monaco-editor/esm/vs/editor/common/languages/supports/tokenization.js";
|
|
7
7
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
8
8
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
9
|
-
v5.0.0-next.
|
|
9
|
+
v5.0.0-next.87 */
|
|
10
10
|
function g() {
|
|
11
11
|
return !!window.MonacoEnvironment?.getWorker;
|
|
12
12
|
}
|
package/dist/chunks/colorize.js
CHANGED
|
@@ -4,7 +4,7 @@ import { IStandaloneThemeService as n } from "monaco-editor/esm/vs/editor/standa
|
|
|
4
4
|
import { generateTokensCSSForColorMap as a } from "monaco-editor/esm/vs/editor/common/languages/supports/tokenization.js";
|
|
5
5
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
6
6
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
7
|
-
v5.0.0-next.
|
|
7
|
+
v5.0.0-next.87 */
|
|
8
8
|
async function c(e, o) {
|
|
9
9
|
return await (await i()).colorize(e, o, { tabSize: 2 });
|
|
10
10
|
}
|
package/dist/chunks/editor.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { css as o } from "lit";
|
|
2
2
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
|
-
v5.0.0-next.
|
|
4
|
+
v5.0.0-next.87 */
|
|
5
5
|
const i = o`@layer{arcgis-arcade-editor,arcgis-sql-expression-editor{--arcgis-coding-components-border: 1px solid var(--calcite-color-border-3);--arcgis-coding-components-background-color: var(--calcite-color-foreground-1);--arcgis-coding-components-side-action-bar-max-w: 25%;--arcgis-coding-components-code-editor-side-panel-w: 600px;--arcgis-coding-components-code-editor-side-panel-max-w: 45%;.flex-adjustable{flex:1 1 auto;overflow:hidden}.flex-panel{flex:1 0 auto}.position-relative{position:relative}.flex-row{display:flex;flex-direction:row;overflow:hidden}.flex-column{display:flex;flex-direction:column;overflow:hidden}.border-inline-start{border-inline-start:var(--arcgis-coding-components-border)!important;box-sizing:border-box}.border-inline-end{border-inline-end:var(--arcgis-coding-components-border)!important;box-sizing:border-box}.side-action-bar{max-width:var(--arcgis-coding-components-side-action-bar-max-w)}.code-editor-side-panel{max-width:var(--arcgis-coding-components-code-editor-side-panel-max-w);width:var(--arcgis-coding-components-code-editor-side-panel-w)}.code-editor-side-panel calcite-flow{height:100%}}}`;
|
|
6
6
|
export {
|
|
7
7
|
i as s
|
package/dist/chunks/fields.js
CHANGED
|
@@ -17,7 +17,7 @@ import { filterApiLibraryForContext as de } from "@arcgis/languages-api-utils";
|
|
|
17
17
|
import { Emitter as G, Uri as E } from "monaco-editor";
|
|
18
18
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
19
19
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
20
|
-
v5.0.0-next.
|
|
20
|
+
v5.0.0-next.87 */
|
|
21
21
|
function k(t) {
|
|
22
22
|
return !!t && typeof t == "object" && "declaredClass" in t && typeof t.declaredClass == "string" && t.declaredClass.startsWith("esri.layers.") && w(t) && "queryFeatures" in t && typeof t.queryFeatures == "function";
|
|
23
23
|
}
|
package/dist/chunks/markdown.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
2
2
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
3
|
-
v5.0.0-next.
|
|
3
|
+
v5.0.0-next.87 */
|
|
4
4
|
function D() {
|
|
5
5
|
return { async: !1, breaks: !1, extensions: null, gfm: !0, hooks: null, pedantic: !1, renderer: null, silent: !1, tokenizer: null, walkTokens: null };
|
|
6
6
|
}
|
|
@@ -5,7 +5,7 @@ import "monaco-editor/esm/vs/platform/hover/browser/hover.js";
|
|
|
5
5
|
import "monaco-editor/esm/vs/editor/common/languages/supports/tokenization.js";
|
|
6
6
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
7
7
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
8
|
-
v5.0.0-next.
|
|
8
|
+
v5.0.0-next.87 */
|
|
9
9
|
const r = async () => {
|
|
10
10
|
const { editor: t } = await import("monaco-editor/esm/vs/editor/editor.api.js");
|
|
11
11
|
return t;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
2
2
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
3
|
-
v5.0.0-next.
|
|
3
|
+
v5.0.0-next.87 */
|
|
4
4
|
const e = {
|
|
5
5
|
"light-theme": { comment: "#606060", constant: "#9809C8", date: "#296389", identifier: "#0000B3", keyword: "#BF4900", number: "#136D3D", string: "#A31515", operator: "#9809C8", predefined: "#0000B3" },
|
|
6
6
|
"dark-theme": { comment: "#BFBFBF", constant: "#CDBAEA", date: "#97A6CE", identifier: "#9FD4F3", keyword: "#EEAA5A", number: "#AAD04B", string: "#F2877B", operator: "#CDBAEA", predefined: "#9FD4F3" }
|
package/dist/chunks/runtime.js
CHANGED
|
@@ -3,7 +3,7 @@ import { makeRuntime as e } from "@arcgis/lumina";
|
|
|
3
3
|
import { trackAccess as s, createObservable as r, createTrackingTarget as a, runTracked as c } from "@arcgis/core/applications/Components/reactiveUtils.js";
|
|
4
4
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
5
5
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
6
|
-
v5.0.0-next.
|
|
6
|
+
v5.0.0-next.87 */
|
|
7
7
|
const t = e({ defaultAssetPath: "https://jsdev.arcgis.com/5.0.0-next/coding-components/", hydratedAttribute: "hydrated" }), { customElement: n, getAssetPath: d, setAssetPath: i } = t;
|
|
8
8
|
t.t = s;
|
|
9
9
|
t.o = r;
|
|
@@ -4,7 +4,7 @@ import { fetchT9nStringsBundle as M } from "@arcgis/toolkit/intl";
|
|
|
4
4
|
import { g as b } from "./runtime.js";
|
|
5
5
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
6
6
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
7
|
-
v5.0.0-next.
|
|
7
|
+
v5.0.0-next.87 */
|
|
8
8
|
const x = (r) => {
|
|
9
9
|
const e = r.variables[0], i = e && e.type === "featureSet" ? A(e) : void 0, { apiVersion: t, bundles: o, hiddenApiItems: s } = r.toEditorProfileDefinition();
|
|
10
10
|
return {
|
|
@@ -10,7 +10,7 @@ import { debounce as N } from "@arcgis/toolkit/function";
|
|
|
10
10
|
import { g as f } from "./sql-expr-service-accessors.js";
|
|
11
11
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
12
12
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
13
|
-
v5.0.0-next.
|
|
13
|
+
v5.0.0-next.87 */
|
|
14
14
|
let h = new _();
|
|
15
15
|
class k {
|
|
16
16
|
constructor(e) {
|
package/dist/chunks/useT9n.js
CHANGED
|
@@ -2,7 +2,7 @@ import { makeT9nController as o } from "@arcgis/lumina/controllers";
|
|
|
2
2
|
import { g as t } from "./runtime.js";
|
|
3
3
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
4
4
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
5
|
-
v5.0.0-next.
|
|
5
|
+
v5.0.0-next.87 */
|
|
6
6
|
const s = o(t);
|
|
7
7
|
export {
|
|
8
8
|
s as u
|
package/dist/chunks/utilities.js
CHANGED
|
@@ -2,7 +2,7 @@ import { createFilterExpression as d } from "@arcgis/toolkit/string";
|
|
|
2
2
|
import { format as f } from "@arcgis/arcade-languageservice";
|
|
3
3
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
4
4
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
5
|
-
v5.0.0-next.
|
|
5
|
+
v5.0.0-next.87 */
|
|
6
6
|
function b(e, r, s, u) {
|
|
7
7
|
if (!r)
|
|
8
8
|
return [];
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
/// <reference types="@arcgis/core/interfaces.d.ts" />
|
|
2
1
|
/// <reference path="../../index.d.ts" />
|
|
3
2
|
import { JsxNode, PublicLitElement as LitElement, TargetedEvent } from '@arcgis/lumina';
|
|
4
3
|
import { ArcgisArcadeEditor } from '../arcgis-arcade-editor/customElement.js';
|
|
5
4
|
import { ResponseDisplayCard } from './functional';
|
|
5
|
+
import { default as FeatureLayer } from '@arcgis/core/layers/FeatureLayer.js';
|
|
6
6
|
import { HistoryItem, FeedbackState, Context } from './types';
|
|
7
7
|
import { PropertyValues } from 'lit';
|
|
8
|
+
import { default as CatalogFootprintLayer } from '@arcgis/core/layers/catalog/CatalogFootprintLayer';
|
|
9
|
+
import { default as CSVLayer } from '@arcgis/core/layers/CSVLayer';
|
|
10
|
+
import { default as GeoJSONLayer } from '@arcgis/core/layers/GeoJSONLayer';
|
|
11
|
+
import { default as OGCFeatureLayer } from '@arcgis/core/layers/OGCFeatureLayer';
|
|
12
|
+
import { default as OrientedImageryLayer } from '@arcgis/core/layers/OrientedImageryLayer';
|
|
13
|
+
import { default as SceneLayer } from '@arcgis/core/layers/SceneLayer';
|
|
14
|
+
import { default as Sublayer } from '@arcgis/core/layers/support/Sublayer';
|
|
15
|
+
import { default as SubtypeSublayer } from '@arcgis/core/layers/support/SubtypeSublayer';
|
|
16
|
+
import { default as VoxelLayer } from '@arcgis/core/layers/VoxelLayer';
|
|
17
|
+
import { default as WFSLayer } from '@arcgis/core/layers/WFSLayer';
|
|
8
18
|
|
|
9
19
|
/**
|
|
10
20
|
* Arcade Assistant component for AI-powered Arcade code generation.
|
|
@@ -22,7 +32,7 @@ export declare class ArcgisArcadeCodingAssistant extends LitElement {
|
|
|
22
32
|
* @default false
|
|
23
33
|
*/
|
|
24
34
|
assistantsEnabled: boolean;
|
|
25
|
-
layer:
|
|
35
|
+
layer: CatalogFootprintLayer | CSVLayer | FeatureLayer | GeoJSONLayer | OGCFeatureLayer | OrientedImageryLayer | SceneLayer | Sublayer | SubtypeSublayer | VoxelLayer | WFSLayer;
|
|
26
36
|
portalUrl: string;
|
|
27
37
|
serviceUrl: string;
|
|
28
38
|
/** @default false */
|
|
@@ -4,7 +4,7 @@ import { ref as B, createRef as j } from "lit/directives/ref.js";
|
|
|
4
4
|
import W from "@arcgis/core/identity/IdentityManager.js";
|
|
5
5
|
import { u as G } from "../../chunks/useT9n.js";
|
|
6
6
|
import { b as I } from "../../chunks/arcade-defaults.js";
|
|
7
|
-
import { css as Q, html as
|
|
7
|
+
import { css as Q, html as c } from "lit";
|
|
8
8
|
import T from "@arcgis/core/request.js";
|
|
9
9
|
import { e as J, a as K } from "../../chunks/utilities.js";
|
|
10
10
|
import { repeat as F } from "lit/directives/repeat.js";
|
|
@@ -18,17 +18,17 @@ import { b as te } from "../../chunks/language-defaults-base.js";
|
|
|
18
18
|
import { log as b } from "@arcgis/toolkit/log";
|
|
19
19
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
20
20
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
21
|
-
v5.0.0-next.
|
|
21
|
+
v5.0.0-next.87 */
|
|
22
22
|
const ie = Q`:host(:not([closed])){container-type:size;--calcite-block-border-color: var(--calcite-color-transparent);flex:1 0 auto;border-inline-start:var(--arcgis-coding-components-border);box-sizing:border-box;max-width:var(--arcgis-coding-components-code-editor-side-panel-max-w);width:var(--arcgis-coding-components-code-editor-side-panel-w);.submission-actions-wrapper{display:flex;flex-direction:column;width:100%;gap:.75rem}.submission-actions{display:flex;flex-direction:row;gap:.5rem;justify-content:space-between}@container (max-width: 380px){.hidden-below-380{display:none}}@container (min-width: 380px){.hidden-above-380{display:none}}.gaps{display:flex;gap:.25rem}.align-inline-end{margin-inline-start:auto}.action .error-display{display:flex;flex-direction:row;gap:.5rem;justify-content:space-between}.context-popover p{padding:0 .5rem;font-size:var(--calcite-font-size-sm)}.feedback-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem;max-height:30vh;overflow-y:auto}.feedback-sheet{--calcite-sheet-height: auto;--calcite-sheet-max-height: 100%;--calcite-sheet-min-height: auto}calcite-chip[slot=header-actions-end]{align-self:center;margin-inline-end:.5rem}calcite-flow-item calcite-shell{background:transparent}calcite-block{width:100%;max-width:100%;align-self:flex-end;background-color:transparent;margin-block:0}calcite-sheet{--calcite-sheet-scrim-background: rgba(200, 200, 200, .5)}.type-suggestion{--calcite-color-foreground-1: var(--calcite-color-foreground-current);--calcite-color-text-3: var(--calcite-color-text-2);--calcite-icon-color: var(--calcite-color-brand)}.type-history{--calcite-icon-color: var(--calcite-color-text-2)}.type-response{--calcite-icon-color: var(--calcite-color-brand);--calcite-font-family: monospace}.block-response{align-self:flex-start;margin-block-end:4rem;border-block-end:0;--calcite-block-text-color: var(--calcite-color-brand)}calcite-list-item calcite-button{margin-inline-end:.25rem}.type-docs{--calcite-color-foreground-1: var(--calcite-color-foreground-3);--calcite-icon-color: var(--calcite-color-text-1)}.type-error{--calcite-icon-color: var(--calcite-color-status-danger);--calcite-font-family: monospace;border:1px solid var(--calcite-color-status-danger)}#thumbs-up{margin-inline-start:auto;--calcite-icon-color: var(--calcite-color-border-input)}#thumbs-down{--calcite-icon-color: var(--calcite-color-border-input)}calcite-flow-item calcite-shell calcite-notice{margin-block:1rem}.no-space-block,.no-space-block[open]{margin:0}calcite-block[open]:last-of-type{border-block-end:0}.text-area-wrapper{display:flex;border-radius:var(--calcite-corner-radius-round);margin:.75rem;overflow:hidden;--calcite-color-border-input: transparent;position:sticky;box-shadow:var(--calcite-shadow-sm);flex:none}calcite-text-area{height:auto;min-height:5.75rem;overflow:hidden;border-radius:var(--calcite-corner-radius-round) var(--calcite-corner-radius-round) 0 0;--calcite-font-weight-normal: 500;font-weight:500;line-height:1.2}calcite-tooltip{--calcite-tooltip-z-index: 1000}.standalone-list{margin:1rem;width:calc(100% - 2rem)}.result-disclaimer{display:block;width:24rem;max-width:90%;margin:1rem auto;text-align:center;line-height:1.125rem;font-size:.875rem;font-style:italic}calcite-flow{height:100%}calcite-popover calcite-list{--calcite-list-background-color: transparent;--calcite-input-border-color: transparent}calcite-popover calcite-list calcite-filter{--calcite-spacing-sm: 0}.contained-popover-or-tooltip{--calcite-popover-max-size-x: 100%;--calcite-tooltip-max-size-x: 100%}.break-spaces{white-space:break-spaces}.feedback-button-container{margin-inline-start:auto;gap:0}.info-heading{font-size:var(--calcite-font-size-1);color:var(--calcite-color-text-1)}.unstyled-h3{margin:unset;font-size:var(--calcite-font-size-md)}.unstyled-shell{position:unset;inset:unset;display:unset;block-size:unset;inline-size:unset}.suggestion-button{font-weight:var(--calcite-font-weight-medium)}.info-block{max-width:450px}#result-block{calcite-card-group{--calcite-card-group-gap: 1.25rem}calcite-card{--calcite-card-corner-radius: var(--calcite-corner-radius-round);--calcite-card-border-color: transparent;width:100%}.positioned-code-content{display:flex;flex-direction:row;gap:.5rem;padding:.5rem}calcite-card [slot=title] calcite-chip{margin-block-start:.25rem}.code-response-wrapper{position:relative;background:var(--calcite-color-foreground-2);border-radius:var(--calcite-corner-radius-round);margin-top:-1.5rem}.prior-prompt{display:flex;flex-direction:row;padding:0;overflow-y:hidden;overflow-x:auto;margin:.25rem 0 .75rem;align-items:center;max-width:100%;span{overflow-x:auto;overflow-y:hidden}}.copy-feedback{display:none}.copy-prompt-button{align-self:flex-start;margin-inline-start:auto}.response-secondary-action-button[data-copied]+.copy-feedback,.copy-prompt-button[data-copied]+.copy-feedback{display:block;span{padding:.75rem 1rem;font-size:var(--calcite-font-size--2);line-height:1.375;color:var(--calcite-color-text--2);font-weight:var(--calcite-font-weight-medium)}}.copy-prompt-button[data-copied]~.copy-tooltip,.response-secondary-action-button[data-copied]~.copy-tooltip{display:none}code{white-space:pre;font-size:12px;margin:0;overflow-x:auto;font-family:Fira Mono,Consolas,Menlo,monospace;display:block;max-height:12rem;position:relative;padding:.5rem}.code-collapse{margin-inline-start:auto}.response-secondary-action-button{margin-left:.5rem}.add-to-editor-button{--calcite-internal-button-border-color: unset}}.collapsible-code{padding:.5rem}.collapsible-code summary{cursor:pointer;font-weight:500;color:var(--calcite-color-brand);outline:none;padding:.25rem 0}.collapsible-code[open] summary{color:var(--calcite-color-text-2)}.collapsible-error{padding:.5rem}.collapsible-error summary{cursor:pointer;font-weight:500;color:var(--calcite-color-status-danger);outline:none;padding:.25rem 0}.collapsible-error[open] summary{color:var(--calcite-color-text-2)}.response-error-container{padding:.5rem;background:color-mix(in srgb,var(--calcite-color-status-warning) 10%,transparent);border-radius:var(--calcite-corner-radius-round);margin:1rem 0;font-size:var(--calcite-font-size--2);--calcite-input-message-icon-color: var(--calcite-color-status-warning)}.response-error-chip{--calcite-internal-chip-background-color: var(--calcite-color-status-warning);--calcite-chip-icon-color: var(--calcite-color-foreground-1);--calcite-chip-border-color: var(--calcite-color-transparent)}.feedback-actions{gap:unset}.contained{max-width:100%;max-height:100%;max-width:100cqi;max-height:75cqb;overflow-y:auto}}:host([closed]){display:none}`;
|
|
23
23
|
class y extends Error {
|
|
24
24
|
constructor({
|
|
25
25
|
message: e,
|
|
26
26
|
code: t,
|
|
27
27
|
subCode: o,
|
|
28
|
-
details:
|
|
28
|
+
details: r,
|
|
29
29
|
source: n
|
|
30
30
|
}) {
|
|
31
|
-
super(e), this.name = "ArcadeAssistantError", this.code = t, this.subCode = o, this.details =
|
|
31
|
+
super(e), this.name = "ArcadeAssistantError", this.code = t, this.subCode = o, this.details = r, this.source = n;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
function E(i) {
|
|
@@ -45,7 +45,7 @@ function E(i) {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
async function oe(i) {
|
|
48
|
-
const { baseUrl: e, skillId: t, message: o, authToken:
|
|
48
|
+
const { baseUrl: e, skillId: t, message: o, authToken: r, previousConversationId: n, context: u } = i, d = t ? `${e}/skills/${t}/chat` : `${e}/chat`, s = [], a = {
|
|
49
49
|
message: o,
|
|
50
50
|
context: u
|
|
51
51
|
};
|
|
@@ -56,7 +56,7 @@ async function oe(i) {
|
|
|
56
56
|
method: "post",
|
|
57
57
|
headers: {
|
|
58
58
|
"Content-Type": "application/json",
|
|
59
|
-
token:
|
|
59
|
+
token: r
|
|
60
60
|
},
|
|
61
61
|
body: JSON.stringify(a),
|
|
62
62
|
responseType: "json"
|
|
@@ -81,7 +81,7 @@ async function oe(i) {
|
|
|
81
81
|
method: "post",
|
|
82
82
|
headers: {
|
|
83
83
|
"Content-Type": "application/json",
|
|
84
|
-
token:
|
|
84
|
+
token: r
|
|
85
85
|
},
|
|
86
86
|
body: JSON.stringify(x),
|
|
87
87
|
responseType: "json"
|
|
@@ -91,7 +91,7 @@ async function oe(i) {
|
|
|
91
91
|
throw S ? new y(S) : v;
|
|
92
92
|
}
|
|
93
93
|
const h = g.data;
|
|
94
|
-
if (h.context
|
|
94
|
+
if (h.context?.kind === "ArcgisErrorAsContext" && h.context.error)
|
|
95
95
|
throw new y({
|
|
96
96
|
message: h.context.error.message || "ArcGIS Assistant error",
|
|
97
97
|
code: h.context.error.code,
|
|
@@ -136,29 +136,29 @@ function ae(i, e, t) {
|
|
|
136
136
|
function se(i) {
|
|
137
137
|
return i.message.match(/Error in prompt shield/u) ? "I'm having trouble with this request. Try again by rephrasing the question." : i.code === "TIMEOUT" ? "I'm having trouble with this request. Try again by re-asking the same question or rephrasing it." : i.message;
|
|
138
138
|
}
|
|
139
|
-
const
|
|
140
|
-
const e = i.value.length, t = 72, o = 180,
|
|
139
|
+
const re = (i) => {
|
|
140
|
+
const e = i.value.length, t = 72, o = 180, r = i.offsetWidth, u = Math.max(1, Math.floor(r / 8)), d = Math.ceil(e / u), s = t + (d - 2) * 24;
|
|
141
141
|
i.style.setProperty("--calcite-text-area-min-height", `${Math.min(s, o)}px`);
|
|
142
142
|
};
|
|
143
|
-
function
|
|
144
|
-
return
|
|
143
|
+
function ce({ messages: i }) {
|
|
144
|
+
return c`<calcite-chip slot=header-actions-end scale=s appearance=outline-fill .label=${i.beta ?? "Beta"}>${i.beta ?? "Beta"}</calcite-chip>`;
|
|
145
145
|
}
|
|
146
146
|
function ne({ popoverContent: i }) {
|
|
147
|
-
return
|
|
147
|
+
return c`<calcite-action icon=information slot=header-actions-end id=legal-disclaimer text></calcite-action><calcite-popover reference-element=legal-disclaimer label=legal-disclaimer placement=bottom auto-close focus-trap-disabled><div class="contained">${i}</div></calcite-popover>`;
|
|
148
148
|
}
|
|
149
149
|
function _({ errorMessage: i, slot: e }) {
|
|
150
|
-
return
|
|
150
|
+
return c`<div class="error-display"><calcite-input-message id=error-message status=invalid icon=exclamation-mark-triangle scale=m slot=${e ?? U}>${i}</calcite-input-message></div>`;
|
|
151
151
|
}
|
|
152
152
|
function le({ active: i, setActive: e, messages: t }) {
|
|
153
|
-
return
|
|
153
|
+
return c`<calcite-alert slot=alerts .open=${i} placement=bottom kind=success icon=check-circle-f auto-close @calciteAlertClose=${() => e(!1)} .label=${t.expressionapplied ?? "Expression applied"}><div slot=message>${t.expressionapplied ?? "Expression applied to editor."}</div></calcite-alert>`;
|
|
154
154
|
}
|
|
155
155
|
function de({ context: i, messages: e }) {
|
|
156
|
-
return i ?
|
|
156
|
+
return i ? c`<div class="gaps">${i.profileName && c`<calcite-popover auto-close placement=top .label=${(e.profilecontextlabel ?? "Profile context: {profileName}").replace("{profileName}", i.profileName)} reference-element=profile-context-button class="context-popover contained-popover-or-tooltip"><p>${(e.profilecontextlabel ?? "Profile context: {profileName}").replace("{profileName}", i.profileName)}</p></calcite-popover><calcite-button round kind=neutral icon-start=map-information id=profile-context-button></calcite-button>` || ""}${i.layerName && c`<calcite-popover auto-close placement=top .label=${(e.layercontextlabel ?? "Layer context: {layerName}").replace("{layerName}", i.layerName)} reference-element=layer-context-button class="context-popover contained-popover-or-tooltip"><p>${(e.layercontextlabel ?? "Layer context: {layerName}").replace("{layerName}", i.layerName)}</p></calcite-popover><calcite-button round kind=neutral icon-start=layers id=layer-context-button></calcite-button>` || ""}</div>` : null;
|
|
157
157
|
}
|
|
158
|
-
function pe({ isDisabled: i, isReadOnly: e, setQuestion: t, setIsViewingResult: o, textAreaRef:
|
|
159
|
-
return
|
|
160
|
-
|
|
161
|
-
}} ${B(
|
|
158
|
+
function pe({ isDisabled: i, isReadOnly: e, setQuestion: t, setIsViewingResult: o, textAreaRef: r, question: n, errorMessage: u, setErrorMessage: d, submitQuestion: s, messages: a, mode: l, context: p }) {
|
|
159
|
+
return c`<div class="text-area-wrapper"><calcite-text-area resize=vertical .readOnly=${i || e} class="styled-text-area" .placeholder=${a.askaquestion ?? `Specify the calculation or logic you need in an Arcade expression. (e.g., 'Return "Yes" if value > 10')`} .value=${n} @calciteTextAreaInput=${($) => {
|
|
160
|
+
re($.target), t($.target.value);
|
|
161
|
+
}} ${B(r)}><div class="submission-actions-wrapper" slot=footer-start>${u && _({ errorMessage: u, slot: "footer-start" }) || ""}<div class="submission-actions">${de({ context: p, messages: a })}<div class="align-inline-end gaps"><calcite-button round kind=neutral .hidden=${l !== "refine"} icon-start=arrow-left icon-flip-rtl=both appearance=solid .disabled=${i} @click=${async () => {
|
|
162
162
|
o(!1), t("");
|
|
163
163
|
}} .label=${a.startover ?? "Start Over"} class="hidden-above-380" id=small-start-over-button></calcite-button><calcite-tooltip reference-element=small-start-over-button placement=top-start class="hidden-above-380">${a.startover ?? "Start Over"}</calcite-tooltip><calcite-button round kind=neutral .hidden=${l !== "refine"} icon-start=arrow-left icon-flip-rtl=both appearance=solid .disabled=${i} @click=${async () => {
|
|
164
164
|
o(!1), t("");
|
|
@@ -167,30 +167,30 @@ function pe({ isDisabled: i, isReadOnly: e, setQuestion: t, setIsViewingResult:
|
|
|
167
167
|
}}>${l === "prompt" ? a.ask ?? "Generate" : a.refine ?? "Refine"}</calcite-button></div></div></div></calcite-text-area></div>`;
|
|
168
168
|
}
|
|
169
169
|
const ue = "https://www.esri.com/en-us/privacy/privacy-statements/privacy-statement", he = "https://www.esri.com/en-us/privacy/privacy-statements/privacy-supplement";
|
|
170
|
-
function me({ setOpen: i, messages: e, feedback: t, setFeedback: o, onSubmit:
|
|
171
|
-
return t.active ?
|
|
170
|
+
function me({ setOpen: i, messages: e, feedback: t, setFeedback: o, onSubmit: r }) {
|
|
171
|
+
return t.active ? c`<calcite-sheet class="feedback-sheet" .label=${e.feedback ?? "Feedback"} slot=sheets display-mode=float position=block-end .open=${t.active} @calciteSheetClose=${() => i(!1)}><calcite-panel .heading=${e.providefeedback ?? "Provide feedback"} .description=${e.experiencehelps ?? "Your experience helps guide future improvements"}><div class="feedback-content"><calcite-label>${e.experiencehelpful ?? "Was the assistant helpful?"}<calcite-segmented-control scale=l .disabled=${t.submitting}><calcite-segmented-control-item icon-start=thumbs-up .checked=${t.value === "good"} @click=${() => o({ ...t, value: "good" })}></calcite-segmented-control-item><calcite-segmented-control-item icon-start=thumbs-down .checked=${t.value === "bad"} @click=${() => o({ ...t, value: "bad" })}></calcite-segmented-control-item></calcite-segmented-control></calcite-label><calcite-label>${e.describeexperience ?? "Describe your experience"}<calcite-text-area resize=vertical .value=${t.text} @calciteTextAreaInput=${(n) => o({ ...t, text: n.target.value })} .disabled=${t.submitting}></calcite-text-area></calcite-label><calcite-label layout=inline scale=s><calcite-checkbox scale=l .checked=${t.termsAccepted} @calciteCheckboxChange=${(n) => {
|
|
172
172
|
o({ ...t, termsAccepted: n.target.checked });
|
|
173
|
-
}} .disabled=${t.submitting}></calcite-checkbox><span>${k((e.agreement ?? "I agree to the {EsriPrivacyStatement} (and {Supplement}).").replace("{EsriPrivacyStatement}", `<calcite-link href=${ue} target="_blank">${e.esriprivacystatement ?? "Esri Privacy Statement"}</calcite-link>`).replace("{Supplement}", `<calcite-link href=${he} target="_blank">${e.supplement ?? "Supplement"}</calcite-link>`))}</span></calcite-label></div><calcite-button slot=footer width=full @click=${
|
|
173
|
+
}} .disabled=${t.submitting}></calcite-checkbox><span>${k((e.agreement ?? "I agree to the {EsriPrivacyStatement} (and {Supplement}).").replace("{EsriPrivacyStatement}", `<calcite-link href=${ue} target="_blank">${e.esriprivacystatement ?? "Esri Privacy Statement"}</calcite-link>`).replace("{Supplement}", `<calcite-link href=${he} target="_blank">${e.supplement ?? "Supplement"}</calcite-link>`))}</span></calcite-label></div><calcite-button slot=footer width=full @click=${r} .disabled=${!t.termsAccepted || t.submitting} .loading=${t.submitting}>${e.submitfeedback ?? "Submit Feedback"}</calcite-button></calcite-panel></calcite-sheet>` : null;
|
|
174
174
|
}
|
|
175
|
-
function R({ assistantsEnabled: i, messages: e, slot: t, assistantHelpUrl: o, helpTopicUrl:
|
|
176
|
-
return
|
|
175
|
+
function R({ assistantsEnabled: i, messages: e, slot: t, assistantHelpUrl: o, helpTopicUrl: r }) {
|
|
176
|
+
return c`<calcite-block .label=${e.assistantinformation ?? "Assistant information"} slot=${t ?? U} expanded class="info-block"><calcite-chip .label=${e.new ?? "New"} kind=brand>${e.new ?? "New"}</calcite-chip><h1 class="info-heading">${e.introducing ?? "Introducing Arcade Assistant (beta)"}</h1><p>${e.capabilities ?? "The assistant uses artificial intelligence to generate Arcade expressions."}</p>${i ? c`<p>${e.keepinmind ?? "Keep in mind the following:"}<ul><li>${e.beconsise ?? "Be concise, but also clear in your request"}</li><li>${e.avoidambiguity ?? "Avoid ambiguity and vagueness"}</li><li>${e.moredetails ?? "you do not need to use exact field names in your instructions, but more detail is generally better"}</li></ul>${k((e.seedocumentation ?? "Please see the {documentation} for more information, including limitations and additional resources.").replace("{documentation}", `<calcite-link href=${r} target="_blank">${e.documentation ?? "documentation"}</calcite-link>`))}</p>` : c`<p>${k(e.useofassistant?.replace("{aiassistants}", `<strong>${e.aiassistants ?? "Ai Assistants"}</strong>`))}<calcite-link .href=${o} target=_blank icon-end=launch-2>${e.configureassistants ?? "Configure Assistants"}</calcite-link></p>`}</calcite-block>`;
|
|
177
177
|
}
|
|
178
178
|
function fe({ messages: i, onProceed: e, onExit: t, helpTopicUrl: o }) {
|
|
179
|
-
return
|
|
179
|
+
return c`<calcite-dialog close-disabled placement=top .heading=${i.welcome ?? "Welcome to the new assistant experience"} slot=dialogs open width-scale=m id=welcome-dialog><h3 class="unstyled-h3">${i.beforeyougetstarted ?? "Before you get started be aware:"}</h3><ul><li>${i.maybeincorrect ?? "AI generated code may occasionally be incorrect or biased. Review carefully."}</li><li>${k((i.pleasereadhelp ?? "Read the Arcade Assistant (beta) {helpTopic} to get started and learn details on security, privacy and limitations.").replace("{helpTopic}", `<calcite-link href=${o} target="_blank">${i.helptopic ?? "help topic"}</calcite-link>`))}</li></ul><calcite-button id=welcome-proceed slot=footer-end @click=${e}>${i.proceed ?? "Proceed"}</calcite-button><calcite-button id=welcome-decline slot=footer-start @click=${t} kind=neutral>${i.exit ?? "Exit"}</calcite-button></calcite-dialog>`;
|
|
180
180
|
}
|
|
181
181
|
function be({ messages: i, suggestions: e, onSuggestionClick: t }) {
|
|
182
|
-
return
|
|
182
|
+
return c`<calcite-block .heading=${i.promptsuggestions} expanded collapsible id=suggestion-block><calcite-chip-group class="suggestions" .label=${i.promptsuggestions ?? "Prompt Suggestions"}>${F(e, (o) => o, (o) => c`<calcite-button round appearance=outline-fill kind=neutral .label=${i.promptsuggestion} class="suggestion-button" @click=${() => t?.(o)}>${o}</calcite-button>`)}</calcite-chip-group></calcite-block>`;
|
|
183
183
|
}
|
|
184
184
|
const N = 200;
|
|
185
|
-
function q({ hidden: i = !1, expanded: e = !1, messages: t, cards: o, heading:
|
|
186
|
-
return
|
|
185
|
+
function q({ hidden: i = !1, expanded: e = !1, messages: t, cards: o, heading: r, collapsible: n = !1, showEffectsIcon: u = !1, onCopyCode: d, standalone: s }) {
|
|
186
|
+
return c`<calcite-block .hidden=${i} id=result-block .heading=${r ?? t.besteffort ?? "Here is the assistant's best effort"} .expanded=${e} .collapsible=${n}>${u && c`<calcite-chip .label=${t.assistantresponses ?? "Assistant responses"} slot=content-start icon=effects scale=m class="suggestion-chips"></calcite-chip>` || ""}<calcite-card-group .label=${t.assistantresponses ?? "Assistant responses"}>${F(o, (a) => a.conversationId, (a) => c`<calcite-card><div slot=heading><div class="prior-prompt"><span>${a.priorPrompt.length > N ? `${a.priorPrompt.slice(0, N)}...` : a.priorPrompt}</span><calcite-action icon=duplicate scale=s slot=actions-end class="copy-prompt-button" text .id=${`copy-prompt-${a.conversationId}-${s ? "standalone" : "list"}`} @click=${(l) => {
|
|
187
187
|
const p = l.currentTarget;
|
|
188
188
|
navigator.clipboard.writeText(a.priorPrompt).then(() => {
|
|
189
189
|
p.setAttribute("data-copied", "true"), setTimeout(() => p.removeAttribute("data-copied"), 1500);
|
|
190
190
|
});
|
|
191
|
-
}}></calcite-action><calcite-popover .referenceElement=${`copy-prompt-${a.conversationId}-${s ? "standalone" : "list"}`} placement=top-start class="copy-feedback" .label=${t.copiedsuccessfully ?? "copied successfully"} open trigger-disabled><span>${t.copiedsuccessfully ?? "copied successfully"}</span></calcite-popover><calcite-tooltip .referenceElement=${`copy-prompt-${a.conversationId}-${s ? "standalone" : "list"}`} placement=top-start class="copy-tooltip">${t.copyprompttoclipboard ?? "Copy prompt to clipboard"}</calcite-tooltip></div>${a.message && s &&
|
|
191
|
+
}}></calcite-action><calcite-popover .referenceElement=${`copy-prompt-${a.conversationId}-${s ? "standalone" : "list"}`} placement=top-start class="copy-feedback" .label=${t.copiedsuccessfully ?? "copied successfully"} open trigger-disabled><span>${t.copiedsuccessfully ?? "copied successfully"}</span></calcite-popover><calcite-tooltip .referenceElement=${`copy-prompt-${a.conversationId}-${s ? "standalone" : "list"}`} placement=top-start class="copy-tooltip">${t.copyprompttoclipboard ?? "Copy prompt to clipboard"}</calcite-tooltip></div>${a.message && s && c`<div class="response-error-container">${_({ errorMessage: a.message })}</div>` || ""}</div><div><div class="code-response-wrapper"><div class="positioned-code-content"><calcite-chip-group .label=${t.responsecontext ?? "Response Context"} scale=s>${a.message && !s && c`<calcite-tooltip .referenceElement=${`response-chip-${a.conversationId}-error`} placement=top-start>${a.message}</calcite-tooltip><calcite-chip .id=${`response-chip-${a.conversationId}-error`} .label=${t.error ?? "Error"} scale=s appearance=outline icon=exclamation-mark-triangle-f class="response-error-chip"></calcite-chip>` || ""}${a.chips?.map((l) => {
|
|
192
192
|
const p = Y();
|
|
193
|
-
return
|
|
193
|
+
return c`${l.tooltip && c`<calcite-tooltip .referenceElement=${`response-chip-${l.conversationId}-${p}`} placement=top-start class="contained-popover-or-tooltip">${l.tooltip}</calcite-tooltip>` || ""}<calcite-chip .label=${l.label} .scale=${l.scale ?? "s"} .appearance=${l.appearance ?? "outline"} .icon=${l.icon} .id=${`response-chip-${l.conversationId}-${p}`}>${l.label}</calcite-chip>`;
|
|
194
194
|
})}</calcite-chip-group></div><details class="collapsible-code" open><summary>Code response</summary><arcgis-code-viewer language=arcade round>${a.code}</arcgis-code-viewer></details></div></div><div slot=footer-start class="feedback-actions"><calcite-button class="add-to-editor-button hidden-above-380" @click=${() => a.onAddToEditor("add")} scale=s icon-start=plus round .label=${t.addtoeditor ?? "Add to editor"} .id=${`add-to-editor-button-${a.conversationId}-${s ? "standalone" : "list"}`}></calcite-button><calcite-tooltip class="hidden-above-380" .referenceElement=${`add-to-editor-button-${a.conversationId}-${s ? "standalone" : "list"}`} placement=top-start>${t.addtoeditor ?? "Add to editor"}</calcite-tooltip><calcite-button class="add-to-editor-button hidden-below-380" @click=${() => a.onAddToEditor("add")} scale=s icon-start=plus round>${t.addtoeditor ?? "Add to editor"}</calcite-button><calcite-button round icon-start=file-code kind=neutral scale=s @click=${() => a.onAddToEditor("replace")} class="response-secondary-action-button" .id=${`replace-${a.conversationId}-${s ? "standalone" : "list"}`}></calcite-button><calcite-tooltip .referenceElement=${`replace-${a.conversationId}-${s ? "standalone" : "list"}`} placement=top-start><span>${t.replaceineditor ?? "Replace all code in editor"}</span></calcite-tooltip><calcite-button round icon-start=copy-to-clipboard kind=neutral scale=s @click=${(l) => {
|
|
195
195
|
const p = l.currentTarget;
|
|
196
196
|
d(a.code).then(() => {
|
|
@@ -227,8 +227,8 @@ class ke extends H {
|
|
|
227
227
|
this.handleFeedbackSheetClose();
|
|
228
228
|
return;
|
|
229
229
|
}
|
|
230
|
-
const t = this.getModel(), o = t ? await this.getProfileAndMetadata(t.uri) : void 0,
|
|
231
|
-
!
|
|
230
|
+
const t = this.getModel(), o = t ? await this.getProfileAndMetadata(t.uri) : void 0, r = Z.applicationName;
|
|
231
|
+
!r && !this.appVersion && b("warn", this, "esriConfig.applicationName is not set. Consider setting it to help identify the application version in feedback.");
|
|
232
232
|
const n = {
|
|
233
233
|
user_evaluation: this.feedback.value,
|
|
234
234
|
your_comments: this.feedback.text || void 0,
|
|
@@ -242,7 +242,7 @@ class ke extends H {
|
|
|
242
242
|
answer: encodeURIComponent(this.feedback.item?.formattedScript ?? ""),
|
|
243
243
|
useragent: navigator.userAgent,
|
|
244
244
|
_source: ye,
|
|
245
|
-
version: this.appVersion ||
|
|
245
|
+
version: this.appVersion || r || "NOT_SET",
|
|
246
246
|
context: o ? JSON.stringify(o) : "",
|
|
247
247
|
extras: o?.profileName ?? "",
|
|
248
248
|
conversation_id: this.feedback.item?.conversationId ?? "",
|
|
@@ -355,7 +355,7 @@ class ke extends H {
|
|
|
355
355
|
return;
|
|
356
356
|
const e = new X({ url: this.feedbackServiceUrl });
|
|
357
357
|
await e.load();
|
|
358
|
-
const t = $e.filter((o) => !e.fields.some((
|
|
358
|
+
const t = $e.filter((o) => !e.fields.some((r) => r.name === o));
|
|
359
359
|
if (t.length > 0) {
|
|
360
360
|
b("error", this, `Missing the following fields in feedback service: ${t.join(", ")}. Feedback will not be logged.`);
|
|
361
361
|
return;
|
|
@@ -372,7 +372,7 @@ class ke extends H {
|
|
|
372
372
|
const e = await this.getToken(), t = this.getModel();
|
|
373
373
|
if (!t)
|
|
374
374
|
return;
|
|
375
|
-
const { profileName: o, metadata:
|
|
375
|
+
const { profileName: o, metadata: r, layerName: n } = await this.getProfileAndMetadata(t.uri), d = (await oe({
|
|
376
376
|
baseUrl: this.serviceUrl,
|
|
377
377
|
skillId: ge,
|
|
378
378
|
message: this.question,
|
|
@@ -381,7 +381,7 @@ class ke extends H {
|
|
|
381
381
|
kind: ve,
|
|
382
382
|
context: {
|
|
383
383
|
profile_name: o,
|
|
384
|
-
metadata:
|
|
384
|
+
metadata: r
|
|
385
385
|
}
|
|
386
386
|
}
|
|
387
387
|
})).find((s) => s.context?.kind === "ArcadeCodeResponse");
|
|
@@ -415,8 +415,8 @@ class ke extends H {
|
|
|
415
415
|
let t = w;
|
|
416
416
|
const o = I.getEditorProfileForModel(e);
|
|
417
417
|
o?.loaded || await o?.loadSource();
|
|
418
|
-
const
|
|
419
|
-
|
|
418
|
+
const r = this.editorRef.profile;
|
|
419
|
+
r && "id" in r && (t = r.id);
|
|
420
420
|
const n = o?.definition?.variables?.find((s) => s.type === "feature");
|
|
421
421
|
let u = [], d;
|
|
422
422
|
return n?.definition && "fields" in n.definition && (u = n.definition.fields.map((s) => ({
|
|
@@ -431,7 +431,7 @@ ${e}` : "";
|
|
|
431
431
|
return navigator.clipboard.writeText(t);
|
|
432
432
|
}
|
|
433
433
|
render() {
|
|
434
|
-
return this.closed ? null : this.assistantsEnabled ?
|
|
434
|
+
return this.closed ? null : this.assistantsEnabled ? c`<calcite-flow><calcite-flow-item closable heading-level=2 .heading=${this.messages.arcadeassistant ?? "Arcade assistant"} @calciteFlowItemClose=${this.handleClose}>${this.splashActive && c`<calcite-scrim></calcite-scrim>` || ""}${ce({ messages: this.messages })}${ne({ popoverContent: R({ assistantsEnabled: this.assistantsEnabled, messages: this.messages, assistantHelpUrl: this.assistantHelpUrl, helpTopicUrl: this.usingTheAssitantDocUrl }) })}<calcite-shell class="unstyled-shell">${this.splashActive && fe({ messages: this.messages, onProceed: () => {
|
|
435
435
|
this.splashActive = !1;
|
|
436
436
|
}, helpTopicUrl: this.assistantOverviewDocUrl, onExit: (e) => this.closePanel?.(e) }) || ""}${le({ active: this.confirmationActive, setActive: (e) => this.confirmationActive = e, messages: this.messages })}${pe({ isDisabled: this.isSubmitting, isReadOnly: !1, setQuestion: this.setQuestion, setIsViewingResult: (e) => this.isViewingResult = e, mode: this.isViewingResult ? "refine" : "prompt", textAreaRef: this.textAreaRef, question: this.question, errorMessage: this.errorMessage, setErrorMessage: (e) => this.errorMessage = e, submitQuestion: this.submitQuestion.bind(this), messages: this.messages, context: this.context })}<calcite-block-group label="interactive blocks">${!this.isViewingResult && !this.isSubmitting && be({ messages: this.messages, suggestions: [this.messages.prompsuggestion1 ?? "", this.messages.prompsuggestion2 ?? ""], onSuggestionClick: this.onSuggestionClick }) || ""}<calcite-block .hidden=${!this.isSubmitting} .heading=${this.messages.generatingresponse ?? "Generating response..."}></calcite-block>${q({
|
|
437
437
|
expanded: this.isViewingResult,
|
|
@@ -458,7 +458,7 @@ ${e}` : "";
|
|
|
458
458
|
heading: this.messages.recentprompts ?? "Recent prompts",
|
|
459
459
|
hidden: this.isSubmitting || this.history.length === 0,
|
|
460
460
|
onCopyCode: this.onCopyCode.bind(this)
|
|
461
|
-
})}</calcite-block-group>${this.feedback.active ? me({ setOpen: this.handleFeedbackSheetClose, messages: this.messages, onSubmit: this.handleFeedbackSubmit, feedback: this.feedback, setFeedback: this.setFeedbackState.bind(this) }) : null}</calcite-shell></calcite-flow-item></calcite-flow>` :
|
|
461
|
+
})}</calcite-block-group>${this.feedback.active ? me({ setOpen: this.handleFeedbackSheetClose, messages: this.messages, onSubmit: this.handleFeedbackSubmit, feedback: this.feedback, setFeedback: this.setFeedbackState.bind(this) }) : null}</calcite-shell></calcite-flow-item></calcite-flow>` : c`<calcite-flow><calcite-flow-item .selected=${!this.isViewingResult} closable heading-level=2 .heading=${this.messages.arcadeassistant ?? "Arcade assistant"} @calciteFlowItemClose=${this.handleClose}>${R({ slot: "content-top", messages: this.messages, assistantsEnabled: this.assistantsEnabled, assistantHelpUrl: this.assistantHelpUrl, helpTopicUrl: this.usingTheAssitantDocUrl })}</calcite-flow-item></calcite-flow>`;
|
|
462
462
|
}
|
|
463
463
|
}
|
|
464
464
|
V("arcgis-arcade-coding-assistant", ke);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import { default as Field } from '@arcgis/core/layers/support/Field';
|
|
2
2
|
export type Feedback = {
|
|
3
3
|
user_evaluation?: "bad" | "good";
|
|
4
4
|
your_comments?: string;
|
|
@@ -41,7 +41,7 @@ export type HistoryItem = {
|
|
|
41
41
|
export type Context = {
|
|
42
42
|
/** profileName and metadata are passed to backend */
|
|
43
43
|
profileName: string;
|
|
44
|
-
metadata: Partial<
|
|
44
|
+
metadata: Partial<Field>[];
|
|
45
45
|
/** used for the context display buttons / chips */
|
|
46
46
|
layerName?: nullish | string;
|
|
47
47
|
};
|
|
@@ -17,7 +17,7 @@ import { s as U } from "../../chunks/editor.js";
|
|
|
17
17
|
import j from "@arcgis/core/identity/IdentityManager.js";
|
|
18
18
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
19
19
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
20
|
-
v5.0.0-next.
|
|
20
|
+
v5.0.0-next.87 */
|
|
21
21
|
const z = w`@layer{arcgis-arcade-editor{display:flex;flex-direction:column;position:relative;overflow:hidden;border:var(--arcgis-coding-components-border)!important;box-sizing:border-box;background-color:var(--arcgis-coding-components-background-color);height:100%;.sticky{position:sticky;top:0;z-index:10}.notice-container{margin:var(--calcite-spacing-xxs);padding:var(--calcite-spacing-sm);background-color:var(--calcite-color-foreground-1);text-align:center}.main-action-bar{border-bottom:var(--arcgis-coding-components-border)!important;flex:0 0 auto;calcite-action-group{padding-inline-end:var(--calcite-spacing-sm);calcite-action{padding-inline-end:var(--calcite-spacing-sm)}calcite-action:not(:first-child){padding-inline-start:var(--calcite-spacing-sm)}}calcite-action-group:last-child{border-inline-end-width:0px}calcite-action-group:not(:first-child){padding-inline-start:var(--calcite-spacing-sm)}}arcgis-arcade-results{border-top:var(--arcgis-coding-components-border)!important;box-sizing:border-box;max-height:50%;min-height:50%;margin-bottom:-1px}calcite-flow{[slot=footer]{word-break:break-word}}.hidden{display:none}}}`, N = "https://services6.arcgis.com/HXHga6CfMLMBOlBX/ArcGIS/rest/services/survey123_6e349a50b4504ca6b6107216d568db5f_form/FeatureServer/0", O = (s) => {
|
|
22
22
|
const { aiAssistantsEnabled: e } = s;
|
|
23
23
|
return e === void 0 ? (console.warn("areAiAssistantsEnabled is not defined in the organizations settings."), !1) : e;
|
|
@@ -11,7 +11,7 @@ import { t as k } from "../../chunks/monaco-theme.js";
|
|
|
11
11
|
import { observeAncestorsMutation as z, unsafeGetCalciteModeName as N } from "@arcgis/toolkit/dom";
|
|
12
12
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
13
13
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
14
|
-
v5.0.0-next.
|
|
14
|
+
v5.0.0-next.87 */
|
|
15
15
|
const E = w`:host{display:flex;flex-direction:column;width:100%;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-2);.flex-adjustable{flex:1 1 auto;overflow:hidden}.flex-row{display:flex;flex-direction:row;overflow:hidden}.flex-column{display:flex;flex-direction:column;overflow:hidden}.y-scrollable-container{overflow-y:auto;block-size:100%;background-color:var(--calcite-color-foreground-1)}header{border-bottom:1px solid var(--calcite-color-border-3);flex:0 0 auto}.ltr-container{direction:ltr}calcite-action-bar{calcite-action-group{padding-inline-end:var(--calcite-spacing-sm);calcite-action{padding-inline-end:var(--calcite-spacing-sm)}calcite-action:not(:first-child){padding-inline-start:var(--calcite-spacing-sm)}}calcite-action-group:last-child{border-inline-end-width:0px}calcite-action-group:not(:first-child){padding-inline-start:var(--calcite-spacing-sm)}}.notice-container{margin:var(--calcite-spacing-xxs);padding:var(--calcite-spacing-sm);background-color:var(--calcite-color-foreground-1)}.color-info{color:var(--calcite-color-status-info)}.color-error{color:var(--calcite-color-status-danger)}.color-success{color:var(--calcite-color-status-success)}[class*=result-value-]{font-size:var(--calcite-font-size--2);line-height:1.25rem;background-color:var(--calcite-color-foreground-1);margin:var(--calcite-spacing-md)}.console-logs-container{background-color:var(--calcite-color-foreground-1);padding:0 var(--calcite-spacing-md);font-family:var(--calcite-code-family);font-size:var(--calcite-font-size--2);font-weight:var(--calcite-font-weight-normal)}.result-value-table{table{display:block;max-width:fit-content;overflow-x:auto;border-spacing:0;border-collapse:collapse;text-align:start;white-space:nowrap;thead{background-color:var(--calcite-color-foreground-2)}tr{border-top:1px solid var(--calcite-color-border-3);border-bottom:1px solid var(--calcite-color-border-3)}th,td{border-inline-start:1px solid var(--calcite-color-border-3);border-inline-end:1px solid var(--calcite-color-border-3);text-align:start;padding:var(--calcite-spacing-xxs);.string-value{white-space:pre}}th{font-weight:var(--calcite-font-weight-medium)}}}.tree-item-label,.number-value,.string-value,.boolean-value{font-family:var(--calcite-code-family)}.tree-item-label,.value-type{color:var(--calcite-color-text-2);font-weight:var(--calcite-font-weight-normal)}.dictionary-property{color:var(--arcgis-editor-identifier)}.number-value{color:var(--arcgis-editor-number)}.string-value{color:var(--arcgis-editor-string);white-space:pre-wrap}.constant-value{color:var(--arcgis-editor-constant)}.date-value{color:var(--arcgis-editor-date)}}`, l = {
|
|
16
16
|
lines: !0,
|
|
17
17
|
selectionMode: "none",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/// <reference types="@arcgis/core/interfaces.d.ts" />
|
|
2
1
|
import { h, JsxNode } from '@arcgis/lumina';
|
|
3
2
|
import { IArcadeResultArray, IArcadeResultFeatureSet, ArcadeResult, IArcadeRuntimeDictionary } from '../../utils';
|
|
3
|
+
import { GeometryUnion } from '@arcgis/core/unionTypes';
|
|
4
4
|
declare const strings: (value: {
|
|
5
5
|
close: string;
|
|
6
6
|
console: string;
|
|
@@ -35,7 +35,7 @@ export declare const DictionaryAsJsonTree: ({ value, subtree, }: {
|
|
|
35
35
|
subtree?: boolean;
|
|
36
36
|
}) => JsxNode;
|
|
37
37
|
export declare const GeometryTree: ({ value, subtree }: {
|
|
38
|
-
value:
|
|
38
|
+
value: GeometryUnion;
|
|
39
39
|
subtree?: boolean;
|
|
40
40
|
}) => JsxNode;
|
|
41
41
|
export declare const SimpleValue: ({ arcadeResult }: {
|
|
@@ -9,7 +9,7 @@ import { c as b } from "../../chunks/markdown.js";
|
|
|
9
9
|
import { u as _ } from "../../chunks/useT9n.js";
|
|
10
10
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
11
11
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
12
|
-
v5.0.0-next.
|
|
12
|
+
v5.0.0-next.87 */
|
|
13
13
|
function v(o) {
|
|
14
14
|
return !Array.isArray(o) || !o.length ? !1 : Array.isArray(o[0].suggestions);
|
|
15
15
|
}
|
|
@@ -10,7 +10,7 @@ import { load as I } from "@arcgis/lumina/controllers";
|
|
|
10
10
|
import { Range as v, Uri as s, KeyMod as n, KeyCode as r } from "monaco-editor";
|
|
11
11
|
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
12
12
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
13
|
-
v5.0.0-next.
|
|
13
|
+
v5.0.0-next.87 */
|
|
14
14
|
const M = f`@layer{arcgis-code-editor{display:flex;width:100%;height:100%;flex-direction:column;direction:ltr;.monaco-editor{flex:1 1 auto;.monaco-hover,.editor-widget,.suggest-details-container{z-index:9999}div[widgetid="editor.contrib.resizableContentHoverWidget"],div[widgetid="editor.widget.suggestWidget"],div[widgetid="suggest.details"]{z-index:calc(var(--calcite-z-index-header) + 1)!important}}}}`, y = {
|
|
15
15
|
autoIndent: "advanced",
|
|
16
16
|
automaticLayout: !0,
|