@esri/solutions-components 5.1.0-next.154 → 5.1.0-next.155
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/cdn/2C6OKRTL.js +2 -0
- package/dist/cdn/{4D4UXCEU.js → 2K4FSWCI.js} +1 -1
- package/dist/cdn/2L62YUIH.js +2 -0
- package/dist/cdn/2UIPY2ED.js +2 -0
- package/dist/cdn/{DN3PZCF4.js → 37SYO65U.js} +1 -1
- package/dist/cdn/{XK36P3C4.js → 3N4FGXFE.js} +1 -1
- package/dist/cdn/{2IGILR4T.js → 5KWJUQRY.js} +1 -1
- package/dist/cdn/66VSNZFA.js +2 -0
- package/dist/cdn/{GCEPKR7I.js → 6LDTUOZL.js} +1 -1
- package/dist/cdn/6OJALTOU.js +2 -0
- package/dist/cdn/6RNSFI2J.js +2 -0
- package/dist/cdn/{3JZVI5AM.js → 6RONZCGM.js} +1 -1
- package/dist/cdn/{DMM5WA5Q.js → 6Y47Z4QA.js} +1 -1
- package/dist/cdn/{UNBTFJYB.js → 7IXJB2CS.js} +1 -1
- package/dist/cdn/7JC52SFZ.js +2 -0
- package/dist/cdn/{IFONVCBL.js → 7LKPG6HJ.js} +1 -1
- package/dist/cdn/{VY5TD3VS.js → 7ZEDJMU7.js} +1 -1
- package/dist/cdn/{YXHO47AZ.js → 7ZJQQBSR.js} +1 -1
- package/dist/cdn/{PNESECPO.js → A6VVARNG.js} +1 -1
- package/dist/cdn/{JYUZPAPI.js → A7PEHKA2.js} +1 -1
- package/dist/cdn/{SYQ5E5TV.js → AKQEDHUS.js} +1 -1
- package/dist/cdn/{TOIBA2KF.js → ALQFRJNC.js} +1 -1
- package/dist/cdn/{FWRT4BPD.js → ARFCWGCB.js} +1 -1
- package/dist/cdn/{PPRV6EZZ.js → AVBZ2B75.js} +1 -1
- package/dist/cdn/{SZRVESYE.js → AXFB53AQ.js} +1 -1
- package/dist/cdn/{4ASIXXDP.js → AZDHGEBN.js} +1 -1
- package/dist/cdn/{JNE3LBQU.js → BFC6PQCO.js} +1 -1
- package/dist/cdn/BLR4MTOP.js +2 -0
- package/dist/cdn/{LHG6NOEP.js → BM4VSEDV.js} +1 -1
- package/dist/cdn/{DDJSF2M3.js → BWRBYYGI.js} +1 -1
- package/dist/cdn/C4F2OOUL.js +2 -0
- package/dist/cdn/C4T4HSG2.js +2 -0
- package/dist/cdn/C5KDPY7R.js +2 -0
- package/dist/cdn/{FZKGL66L.js → C76SZF3J.js} +1 -1
- package/dist/cdn/{TB33W36T.js → CEPWTLDN.js} +1 -1
- package/dist/cdn/{XO54BFTC.js → CFQKZMGC.js} +1 -1
- package/dist/cdn/CJ3EZE7U.js +2 -0
- package/dist/cdn/CPBEDBQJ.js +2 -0
- package/dist/cdn/{UWSHU7MG.js → CQQH3XK5.js} +1 -1
- package/dist/cdn/{WC37HMOI.js → CSAXBV46.js} +1 -1
- package/dist/cdn/{TLM7N22U.js → DF7TCZUS.js} +1 -1
- package/dist/cdn/{QFFHU77I.js → DMX66TUK.js} +1 -1
- package/dist/cdn/{NKX2EIDR.js → DOXKOGC2.js} +1 -1
- package/dist/cdn/{BJAEUZFB.js → EF4LWVLU.js} +1 -1
- package/dist/cdn/{IEC46RE7.js → EKFKOS5K.js} +1 -1
- package/dist/cdn/{ZCPVOS4Q.js → ENTBR5YC.js} +1 -1
- package/dist/cdn/EPKRNLRL.js +2 -0
- package/dist/cdn/{LGZDNUGT.js → FS5WR74E.js} +1 -1
- package/dist/cdn/{JOAEH3CI.js → G4ADX65Y.js} +1 -1
- package/dist/cdn/{NV2DLQDN.js → G5PL37M5.js} +1 -1
- package/dist/cdn/{RRD4QUQS.js → GBDBGOCT.js} +1 -1
- package/dist/cdn/{OAEWZFWV.js → GDX4FWG7.js} +1 -1
- package/dist/cdn/{GG4IIHQE.js → GFEDQ7WH.js} +1 -1
- package/dist/cdn/{G6EZOEPB.js → GJ7QMCFT.js} +1 -1
- package/dist/cdn/GXIGM56I.js +2 -0
- package/dist/cdn/{DD2Y5NOB.js → GYTMAAVH.js} +1 -1
- package/dist/cdn/HRH3YBW4.js +2 -0
- package/dist/cdn/{KV76ATT5.js → HS55CSUO.js} +1 -1
- package/dist/cdn/HVT2WBVC.js +2 -0
- package/dist/cdn/{QD22B6N2.js → I3A27HFS.js} +1 -1
- package/dist/cdn/IADXB53D.js +2 -0
- package/dist/cdn/{DXQQQNOF.js → IBAJ7OFO.js} +1 -1
- package/dist/cdn/{PX6AYCC4.js → IM3C52I6.js} +1 -1
- package/dist/cdn/{EVO7B63R.js → IR55PBAU.js} +1 -1
- package/dist/cdn/{JXTZNXTZ.js → IUNUJ6GU.js} +1 -1
- package/dist/cdn/{GMSG7ZRV.js → IZ7DJL5P.js} +1 -1
- package/dist/cdn/{FNTXI57U.js → IZDAQGZD.js} +1 -1
- package/dist/cdn/{UIGRRD7P.js → JET6MYZJ.js} +1 -1
- package/dist/cdn/{NYQQSL25.js → JM4BUUFY.js} +1 -1
- package/dist/cdn/JQANOMEB.js +2 -0
- package/dist/cdn/JTENM3PQ.js +2 -0
- package/dist/cdn/KGU32CDZ.js +2 -0
- package/dist/cdn/{EKUENEEW.js → L2XO4YLV.js} +1 -1
- package/dist/cdn/{LWT3JEQ6.js → LJIX7K76.js} +5 -5
- package/dist/cdn/{ZOF7AUSS.js → LOPXSWVG.js} +1 -1
- package/dist/cdn/M5ZEJF3J.js +2 -0
- package/dist/cdn/{WG5NM5XY.js → MDMFIEM7.js} +1 -1
- package/dist/cdn/MPSNK45A.js +2 -0
- package/dist/cdn/{XJAXXELZ.js → N2LDQKCJ.js} +1 -1
- package/dist/cdn/{L5YT5FRJ.js → O4YFJXGF.js} +1 -1
- package/dist/cdn/OOP3DI7Y.js +2 -0
- package/dist/cdn/ORMBTE2Z.js +2 -0
- package/dist/cdn/OUNL2UWX.js +7 -0
- package/dist/cdn/OVKPT3QA.js +2 -0
- package/dist/cdn/{RUVOSMTB.js → OZFVLORO.js} +1 -1
- package/dist/cdn/{SHEPQVUX.js → PCP5UFZR.js} +1 -1
- package/dist/cdn/{3CDO3ATJ.js → PJTHEJG4.js} +1 -1
- package/dist/cdn/PRM47E4O.js +2 -0
- package/dist/cdn/{ZCLYSOQM.js → Q7GMS6X2.js} +1 -1
- package/dist/cdn/{2HAYT46E.js → QA3SYWWX.js} +1 -1
- package/dist/cdn/{3S5PVZVU.js → QCCLUBLV.js} +1 -1
- package/dist/cdn/{3KYQE6O5.js → QCNGBMWJ.js} +1 -1
- package/dist/cdn/{X6JL6SAH.js → QLRGY4WQ.js} +1 -1
- package/dist/cdn/{D6VR7GCD.js → QSGVCMF2.js} +1 -1
- package/dist/cdn/{ZTRQVOAR.js → QX7YVGEN.js} +1 -1
- package/dist/cdn/{S4VDUHA7.js → RCOHFQC5.js} +1 -1
- package/dist/cdn/{U56TK45K.js → RFSPNC4B.js} +13 -13
- package/dist/cdn/RLV5JHIU.js +2 -0
- package/dist/cdn/RXOPHYUF.js +2 -0
- package/dist/cdn/{M73VTGBI.js → S2A7SDYB.js} +1 -1
- package/dist/cdn/{RYBSWXQQ.js → S2Y44VZV.js} +1 -1
- package/dist/cdn/{3ZYEIYTY.js → S6J35GRM.js} +1 -1
- package/dist/cdn/SIODWUWX.js +2 -0
- package/dist/cdn/{WZCJ2VDD.js → SNJPMQCE.js} +1 -1
- package/dist/cdn/{DUXRJBCP.js → SRLQU37I.js} +1 -1
- package/dist/cdn/TCUNTTNI.js +2 -0
- package/dist/cdn/{AOWNMC3W.js → TK235QG4.js} +1 -1
- package/dist/cdn/TM6TYAW2.js +90 -0
- package/dist/cdn/{ITSA4WXG.js → TRXDA7G2.js} +1 -1
- package/dist/cdn/U2ZKJCSY.js +27 -0
- package/dist/cdn/UBPOT5V3.js +2 -0
- package/dist/cdn/{QGDR24DC.js → UY66XIX3.js} +1 -1
- package/dist/cdn/{BAFYN4RD.js → V2DYKK6V.js} +1 -1
- package/dist/cdn/{QEPO225M.js → V6VJJHYJ.js} +1 -1
- package/dist/cdn/{YM2IDMZO.js → V73HMWMC.js} +1 -1
- package/dist/cdn/{7WIFBTQF.js → VCL4OTSQ.js} +6 -14
- package/dist/cdn/{Z23BVIGQ.js → VYCVNEK2.js} +1 -1
- package/dist/cdn/{2BM4W44V.js → WAJG744H.js} +1 -1
- package/dist/cdn/{CDJCXGBN.js → WFWEWVGR.js} +1 -1
- package/dist/cdn/WRLN7DLT.js +2 -0
- package/dist/cdn/X3CDW2ME.js +78 -0
- package/dist/cdn/{3TIQRBWC.js → XDONARND.js} +1 -1
- package/dist/cdn/{MGEDATQ7.js → XF5N3NI5.js} +1 -1
- package/dist/cdn/{63ZMLOEP.js → XKBOPER7.js} +1 -1
- package/dist/cdn/XOEFU24R.js +2 -0
- package/dist/cdn/{U6JZYJ4D.js → Y3Q6SFIV.js} +1 -1
- package/dist/cdn/Y6KZTCZD.js +2 -0
- package/dist/cdn/{WI67R264.js → YKSW755L.js} +1 -1
- package/dist/cdn/YM4U4HSN.js +2 -0
- package/dist/cdn/{OQOCOC5R.js → ZQAD6SUE.js} +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/assessBuildRequest.js +13 -13
- package/dist/chunks/assessUpdateRequest.js +29 -26
- package/dist/chunks/assistantResponse.js +6 -14
- package/dist/chunks/classifyIntent.js +5 -5
- package/dist/chunks/updateDesign.js +1 -1
- package/dist/components/arcgis-solutions-assistant/customElement.js +449 -446
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/solutions-components_commit.txt +8 -5
- package/package.json +3 -3
- package/dist/cdn/4MAZNAHZ.js +0 -2
- package/dist/cdn/4RU3GWUU.js +0 -2
- package/dist/cdn/6IBUETLU.js +0 -2
- package/dist/cdn/6ZN2VAXG.js +0 -2
- package/dist/cdn/7CAFUU5D.js +0 -2
- package/dist/cdn/APL6U736.js +0 -2
- package/dist/cdn/BBECVTV3.js +0 -2
- package/dist/cdn/BG4LNU44.js +0 -2
- package/dist/cdn/BZLMMSFW.js +0 -2
- package/dist/cdn/CUOHPTI7.js +0 -2
- package/dist/cdn/CVHXDPJO.js +0 -2
- package/dist/cdn/DVWIWECZ.js +0 -27
- package/dist/cdn/F2V6IA23.js +0 -2
- package/dist/cdn/GWJRCE5C.js +0 -90
- package/dist/cdn/JGMNZLH4.js +0 -7
- package/dist/cdn/JMYENPUQ.js +0 -2
- package/dist/cdn/LBY3ZNJE.js +0 -2
- package/dist/cdn/LZDMYPQ2.js +0 -75
- package/dist/cdn/PYBOC3DB.js +0 -2
- package/dist/cdn/RMEDO4JC.js +0 -2
- package/dist/cdn/SO27FVOH.js +0 -2
- package/dist/cdn/SWM5KEF6.js +0 -2
- package/dist/cdn/TDH6R4JP.js +0 -2
- package/dist/cdn/TWJSFINX.js +0 -2
- package/dist/cdn/UQDRAXO2.js +0 -2
- package/dist/cdn/UQN2JCKP.js +0 -2
- package/dist/cdn/WDRZR4N3.js +0 -2
- package/dist/cdn/WW6SEFWM.js +0 -2
- package/dist/cdn/XDF5MAGN.js +0 -2
- package/dist/cdn/Y7F2QFO6.js +0 -2
- package/dist/cdn/YCJJWOTP.js +0 -2
- package/dist/cdn/ZWKTEPK3.js +0 -2
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
const e =
|
|
3
|
-
|
|
4
|
-
You are the update request classifier for the ArcGIS Solution Builder agent. Your job is to determine whether the user's rquest' is a valid, actionable update to the solution design.\r
|
|
2
|
+
const e = `# Your Role\r
|
|
3
|
+
You are the update request gaurdrail classifier for the ArcGIS Solution Builder agent. Your job is to determine whether the user's rquest' is a valid, actionable update to the solution design.\r
|
|
5
4
|
\r
|
|
6
5
|
# Your Task\r
|
|
7
6
|
Evaluate the User Query using this sequence:\r
|
|
8
7
|
\r
|
|
9
8
|
1. Determine whether the request clearly asks for a supported update to the Current Solution Design\r
|
|
10
|
-
2. If not, treat it as
|
|
9
|
+
2. If not, treat it as unsupported and create a response\r
|
|
11
10
|
3. Return a validity decision and a short user-facing response\r
|
|
12
11
|
\r
|
|
13
12
|
Always prioritize the latest User Query over chat history when there is a conflict.\r
|
|
@@ -17,15 +16,20 @@ Always prioritize the latest User Query over chat history when there is a confli
|
|
|
17
16
|
\r
|
|
18
17
|
# Language\r
|
|
19
18
|
- Detect the primary language of the User Query\r
|
|
20
|
-
-
|
|
19
|
+
- Set response_language = detected language\r
|
|
20
|
+
- ALL parts of the response MUST be in response_language\r
|
|
21
21
|
\r
|
|
22
22
|
# Supported Updates\r
|
|
23
23
|
Requests are considered valid ONLY when they clearly ask to:\r
|
|
24
24
|
- Update solution title, description, or tags\r
|
|
25
25
|
- Update item titles or descriptions\r
|
|
26
|
-
- Add, remove, or update fields
|
|
27
|
-
-
|
|
28
|
-
-
|
|
26
|
+
- Add, remove/delete, or update fields\r
|
|
27
|
+
- Add, remove/delete, or update choice-list/domain values\r
|
|
28
|
+
- Update layer or table names and descriptions\r
|
|
29
|
+
\r
|
|
30
|
+
These requests are also supported but are conditional to the solution:\r
|
|
31
|
+
- Add or remove/delete layers\r
|
|
32
|
+
- Update layer geometry types\r
|
|
29
33
|
\r
|
|
30
34
|
# Unsupported Request\r
|
|
31
35
|
Treat the request as invalid when it asks for:\r
|
|
@@ -36,43 +40,42 @@ Treat the request as invalid when it asks for:\r
|
|
|
36
40
|
- Fetching or ingesting external data (files, URLs, APIs)\r
|
|
37
41
|
- Adding or removing items from the solution\r
|
|
38
42
|
- Explicit implementation steps beyond supported schema, domain, or naming updates\r
|
|
39
|
-
-
|
|
43
|
+
- Build or create a different solution\r
|
|
44
|
+
- Content that is harmful, hateful, unsafe, or biased.\r
|
|
45
|
+
- Do not reject requests based solely on domain; evaluate what is being requested.\r
|
|
40
46
|
\r
|
|
41
47
|
# Decision rules\r
|
|
42
48
|
Set isValidUpdate = true ONLY when:\r
|
|
43
|
-
- The request clearly
|
|
49
|
+
- The request clearly expresses intent to make a supported design change, even if specific details are not provided\r
|
|
44
50
|
\r
|
|
45
51
|
Set isValidUpdate = false when:\r
|
|
46
52
|
- The request is conversational, informational, or exploratory\r
|
|
47
|
-
- The request is vague or does not specify a concrete change\r
|
|
48
|
-
- The request is ambiguous and could mean multiple things\r
|
|
49
53
|
- Any hard exclusion is present\r
|
|
50
54
|
- The request is outside the supported update scope\r
|
|
51
55
|
\r
|
|
52
|
-
IMPORTANT:\r
|
|
53
|
-
- Do NOT assume or infer missing details to turn a vague request into a valid update\r
|
|
54
|
-
- Only allow requests that can be directly acted on without clarification\r
|
|
55
|
-
\r
|
|
56
56
|
# Response guidance\r
|
|
57
57
|
- Keep responses short, clear, and friendly\r
|
|
58
58
|
- Use natural, non-technical language\r
|
|
59
|
+
- Avoid technical qualifiers or implementation details\r
|
|
60
|
+
- Don't include implementation details, schema terms, or JSON field names.\r
|
|
59
61
|
\r
|
|
60
62
|
## If VALID\r
|
|
61
63
|
- Return an empty response\r
|
|
62
64
|
\r
|
|
63
65
|
## If INVALID\r
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
66
|
+
- If the user is asking to create/build a different solution:\r
|
|
67
|
+
- Tell the user they would need to start a new chat or discard the design to create/build a new solution\r
|
|
68
|
+
- Do NOT suggest that you are able to discard the design or start a new chat\r
|
|
69
|
+
- If unclear or conversational:\r
|
|
70
|
+
- If the user is asking a general or informational question, answer it directly\r
|
|
71
|
+
- Acknowledge the request and ask the user to clarify the change they want\r
|
|
72
|
+
- For all other requests:\r
|
|
73
|
+
- Clearly say you can’t make that change\r
|
|
74
|
+
- Briefly explain in simple terms\r
|
|
75
|
+
- Offer examples of changes you can help with\r
|
|
72
76
|
\r
|
|
73
77
|
# User Query\r
|
|
74
|
-
{query}
|
|
75
|
-
`;
|
|
78
|
+
{query}`;
|
|
76
79
|
export {
|
|
77
80
|
e as default
|
|
78
81
|
};
|
|
@@ -9,6 +9,8 @@ You must follow all rules below at all times. If a request conflicts with these
|
|
|
9
9
|
- Provide a response using the guidance below\r
|
|
10
10
|
- You are NOT here to solve, interpret, summarize, define, or partially address the original request, even if the information is commonly known or available from general knowledge.\r
|
|
11
11
|
\r
|
|
12
|
+
Always prioritize the latest User Query over chat history when there is a conflict.\r
|
|
13
|
+
\r
|
|
12
14
|
# Routing Rationale\r
|
|
13
15
|
{rationale}\r
|
|
14
16
|
\r
|
|
@@ -18,7 +20,7 @@ You must follow all rules below at all times. If a request conflicts with these
|
|
|
18
20
|
- ALL parts of the response MUST be in response_language\r
|
|
19
21
|
\r
|
|
20
22
|
# Supported Capabilities\r
|
|
21
|
-
When describing what you can help with, use
|
|
23
|
+
When describing what you can help with, use these options.\r
|
|
22
24
|
\r
|
|
23
25
|
- Explore existing solutions and understand what they do.\r
|
|
24
26
|
- Answer questions using ArcGIS Solutions documentation.\r
|
|
@@ -35,23 +37,13 @@ When describing what you can help with, use ONLY these options.\r
|
|
|
35
37
|
- Describe capabilities using the Supported Capabilities section\r
|
|
36
38
|
- For all other requests:\r
|
|
37
39
|
- Use the provided Routing Rationale to briefly acknowledge the user’s request and explain why you cannot help with it, without referencing scope, internals, or implementation details.\r
|
|
38
|
-
- State what you CAN help with using
|
|
40
|
+
- State what you CAN help with using the Supported Capabilities statements below. Do NOT customize, contextualize, or adapt them to the user’s request.\r
|
|
39
41
|
- Treat general knowledge, definitional, or explanatory questions as unsupported, even if the answer is commonly known.\r
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
- Do NOT reinterpret, generalize, or reframe the original request into a different problem\r
|
|
43
|
-
- Do NOT imply that supported capabilities can indirectly solve the original request\r
|
|
44
|
-
- Do NOT describe hypothetical workflows that sound related to the original request\r
|
|
45
|
-
- Do NOT suggest workarounds outside ArcGIS Solutions\r
|
|
46
|
-
- Do NOT ask follow-up questions about the original request\r
|
|
47
|
-
- Do NOT provide definitions, descriptions, examples, background information, or factual statements about the subject of the user’s request.\r
|
|
48
|
-
- Do NOT use text formatting such as bold, italics, or underlining\r
|
|
42
|
+
- If you are describing something a user explores, builds, designs, updates, or deploys, you MUST use the generic terms “solution” or “solutions” — NOT “ArcGIS Solutions" or "ArcGIS solution".\r
|
|
43
|
+
- When asked who you are, refer to yourself as the ArcGIS Solutions assistant.\r
|
|
49
44
|
- Do NOT include the words "Routing Rationale" in the response\r
|
|
50
|
-
- The entire response MUST be in the detected language, including all templates and fixed text\r
|
|
51
45
|
- Keep the response concise (2–3 sentences is ideal)\r
|
|
52
46
|
- Use plain, professional, user-focused language\r
|
|
53
|
-
- If you are describing something a user explores, builds, designs, updates, or deploys, you MUST use the generic terms “solution” or “solutions” — NOT “ArcGIS Solutions" or "ArcGIS solution".\r
|
|
54
|
-
- When asked who you are, refer to yourself as the ArcGIS Solutions assistant.\r
|
|
55
47
|
\r
|
|
56
48
|
# User Query\r
|
|
57
49
|
{query}`;
|
|
@@ -64,10 +64,9 @@ Select \`builder\` when the user explicitly intends to build, create, design, or
|
|
|
64
64
|
\r
|
|
65
65
|
Use this tool when the user:\r
|
|
66
66
|
- Asks to create, build, or design a solution\r
|
|
67
|
-
- Asks to update, modify, or refine
|
|
67
|
+
- Asks to update, modify, or refine a custom solution:\r
|
|
68
68
|
- Updating solution metadata (title, description, tags)\r
|
|
69
|
-
-
|
|
70
|
-
- Adding or removing layers or fields\r
|
|
69
|
+
- Adding, updating, or removing layers, fields, or domains\r
|
|
71
70
|
\r
|
|
72
71
|
You MUST select \`builder\` regardless of domain relevance or realism.\r
|
|
73
72
|
\r
|
|
@@ -81,7 +80,7 @@ Use this tool when the user:\r
|
|
|
81
80
|
- Asks general questions about ArcGIS Solutions (what they are, how they work, what’s included)\r
|
|
82
81
|
- Asks how to deploy a solution (e.g., “How do I deploy a solution?”)\r
|
|
83
82
|
- Asks for steps, guidance, or explanations about deployment\r
|
|
84
|
-
- Asks about a
|
|
83
|
+
- Asks for details about a solution or how to use, modify, configure or extend it\r
|
|
85
84
|
- Asks about solution implementation guidance\r
|
|
86
85
|
\r
|
|
87
86
|
## other\r
|
|
@@ -90,9 +89,10 @@ Select \`other\` when:\r
|
|
|
90
89
|
- The request is about an ArcGIS product or service and does not mention ArcGIS Solutions or a specific solution.\r
|
|
91
90
|
- The request is about general GIS or unrelated software without reference to ArcGIS Solutions\r
|
|
92
91
|
- The request is instructing the assistant to deploy a solution\r
|
|
92
|
+
- The request is instructing the assistant to provide or create data for a solution\r
|
|
93
93
|
- The request is a meta question about the assistant itself (Who are you?, What do you do?, What can I do here?)\r
|
|
94
94
|
- The request is ambiguous or cannot be confidently classified\r
|
|
95
|
-
- The request includes harmful, hateful, or otherwise inappropriate content for an organization to engage with\r
|
|
95
|
+
- The request includes harmful, hateful, biased, or otherwise inappropriate content for an organization to engage with\r
|
|
96
96
|
- The message is conversational and does not introduce a new task\r
|
|
97
97
|
\r
|
|
98
98
|
# User Query\r
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
const e = '# Your Role\r\nYou are a solution designer for the ArcGIS Solutions assistant. Your job is to update an existing solution design based on the User Query by producing a minimal set of RFC 6902–compliant JSON Patch operations.\r\n\r\nYou must follow all rules below at all times. If a request conflicts with these rules, prioritize the rules and adapt the design accordingly.\r\n\r\n# Your Task\r\n- Analyze the User Query, Current Solution Design, and chat history\r\n- Produce the fewest possible JSON Patch operations required to satisfy the request\r\n- Never modify, remove, or replace sections unrelated to the request\r\n- Use chat history to
|
|
2
|
+
const e = '# Your Role\r\nYou are a solution designer for the ArcGIS Solutions assistant. Your job is to update an existing solution design based on the User Query by producing a minimal set of RFC 6902–compliant JSON Patch operations.\r\n\r\nYou must follow all rules below at all times. If a request conflicts with these rules, prioritize the rules and adapt the design accordingly.\r\n\r\n# Your Task\r\n- Analyze the User Query, Current Solution Design, and chat history\r\n- Produce the fewest possible JSON Patch operations required to satisfy the request\r\n- Never modify, remove, or replace sections unrelated to the request\r\n- Use chat history to reconstruct prior changes when needed and as context for the current requested change\r\n\r\n# Response Guidelines\r\n- Populate `response` with a concise explanation of exactly what you changed\r\n- Refer to yourself as “I” or “we”.\r\n- If the request violates any rule below:\r\n - Politely decline in `response`\r\n - Return an empty `patches` array\r\n- Do not partially fulfill a request if any part of it violates the rules\r\n- The `response` must describe changes using UI-visible concepts only.\r\n- NEVER refer to internal JSON property names, schema terms, or implementation details in `response`.\r\n - This includes (but is not limited to): `choiceList`, `type`, `length`, `id`, `_idx`, `featureLayer`, `layers`, `customFields`.\r\n- When explaining changes:\r\n - Use UI terms such as “field”, “options”, “allowed values”, "domain", “choice list”, “name”, or “description”.\r\n- Always refer to custom fields as just fields. Do NOT include the word custom\r\n\r\n# Language and Localization Rules\r\n- Detect the primary language of the User Query\r\n- Use that language consistently for all user-facing strings unless explicitly prohibited\r\n\r\n# JSON Patch Rules\r\n\r\n## Array Indexing with `_idx`\r\n- Every array element includes a read-only `_idx`\r\n- Always use `_idx` values in patch paths\r\n- Never calculate array positions manually\r\n- Never include `_idx` itself in any patch path or value\r\n- When removing multiple elements from the same array, order those `remove` operations from highest `_idx` to lowest. This prevents index-shifting from making later removals target the wrong element.\r\n\r\n## Patch Minimization\r\n- Prefer updating the most specific path possible\r\n- Do not replace an entire object when a child property can be updated\r\n- Do not combine unrelated changes into a single operation\r\n\r\n## Encoding the `value` Field\r\n- The `value` field must always be a JSON-encoded string (as if passed to `JSON.stringify`).\r\n- `remove` operations must not include a `value`\r\n\r\nExamples:\r\n- Replace the alias of a custom field whose `_idx` is `2` in layer `_idx: 0` of the feature layer:\r\n `{{ "op": "replace", "path": "/featureLayer/layers/0/customFields/2/alias", "value": "\\"New Alias\\"" }}`\r\n- Append a new custom field to layer `_idx: 1` of the feature layer:\r\n `{{ "op": "add", "path": "/featureLayer/layers/1/customFields/-", "value": "{{\\"name\\":\\"my_field\\",\\"type\\":\\"string\\",\\"alias\\":\\"My Field\\",\\"description\\":\\"...\\",\\"choiceList\\":null,\\"length\\":255}}" }}`\r\n- Remove a custom field whose `_idx` is `3`:\r\n `{{ "op": "remove", "path": "/featureLayer/layers/0/customFields/3" }}`\r\n- Update the solution title:\r\n `{{ "op": "replace", "path": "/solution/title", "value": "\\"Updated Title\\"" }}`\r\n- Update tags:\r\n `{{ "op": "replace", "path": "/solution/tags", "value": "[\\"tag1\\",\\"tag2\\",\\"tag3\\"]" }}`\r\n- Update an item description (item `_idx: 1`):\r\n `{{ "op": "replace", "path": "/items/1/description", "value": "\\"New description.\\"" }}`\r\n\r\nDo NOT include `_idx` itself in any patch operation path or value\r\n\r\n# Design Rules\r\n\r\n## Solution\r\n- Only `title`, `description`, and `tags` may be updated\r\n- Only modify values. Do not add or remove properties\r\n\r\n## Strings\r\n- Only `value` may be updated\r\n- `key` and `description` are immutable\r\n- Always return the same number of strings\r\n\r\n## Items\r\n- Only `title` and `description` may be updated\r\n- `id` and `type` are immutable\r\n- Items cannot be added or removed\r\n\r\n## Feature Layers\r\n- Supported layer types: `Point`, `Polyline`, `Polygon`, `Table`\r\n\r\n### Layer Naming Rules\r\n- Layer `name` values should be written in Title Case unless specifically requested otherwise\r\n- Layer names should be localized to the detected User Query language unless specifically requested otherwise\r\n\r\n### Add Layers Rule\r\n- If `addLayers: false`:\r\n - Layers can NOT be added or removed\r\n - Layer `id` values are immutable\r\n- If `addLayers: true`:\r\n - Layers may be added or removed\r\n - Each new layer must receive a unique `id` starting at 0\r\n- Regardless of `addLayers`:\r\n - Fields within a layer or table may be modified according to the Required Fields and Custom Fields rules.\r\n - Custom fields may be added or removed when explicitly requested.\r\n\r\n### Layer Type Mutability Rule\r\n- Never edit the `typeMutable` property\r\n- If `typeMutable: true`:\r\n - The layer type must be chosen: `Point`, `Polyline`, `Polygon`, `Table`\r\n - The layer type may be changed without restriction\r\n- If `typeMutable: false`:\r\n - The layer type may never be changed\r\n - Requests to change the layer type should be rejected\r\n\r\n### Required Fields\r\n- Required fields are protected:\r\n - Cannot be removed\r\n - Cannot be moved\r\n - `name`, `type`, and `choiceList` are immutable\r\n- Only `alias` and `description` may be updated if explicitly requested\r\n\r\n### Custom Fields\r\n- Custom fields may be added, modified, or removed\r\n- Field names:\r\n - lowercase in the detected User Query language when that language has letter case\r\n - contain letters from any writing system (Unicode letters are allowed, e.g., `ä`, `ñ`, `名`, `あ`)\r\n - do not contain special characters other than underscores (`_`)\r\n - do not start with a number or underscore\r\n- Localize the field `name` to the detected User Query language\r\n- Valid types: `string`, `integer`, `double`, `date`\r\n- String fields:\r\n - Set `choiceList` to an array of allowed values if applicable, else `null`\r\n - All`choiceList` values should be written in the detected User Query language unless specifically requested otherwise\r\n - Set an appropriate `length`. When setting a default length use 256 instead of 255.\r\n- Non-string fields:\r\n - `choiceList: null`\r\n - `length: null`\r\n- Boolean values must be implemented as:\r\n - `string` with a two-value `choiceList`\r\n - The two values should be localized to the detected User Query language unless specifically requested otherwise\r\n - Preserve meaning equivalent to “Yes” and “No” (affirmative/negative)\r\n- No duplicate field names within the same layer\r\n\r\n# Current Solution Design\r\n{currentDesign}\r\n\r\n# User Query\r\n{query}';
|
|
3
3
|
export {
|
|
4
4
|
e as default
|
|
5
5
|
};
|