@arcgis/ai-components 5.2.0-next.93 → 5.2.0-next.95
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/{HIPQ3VRW.js → 2O4DON37.js} +1 -1
- package/dist/cdn/{7DFXYMEA.js → 2XUL3RTX.js} +1 -1
- package/dist/cdn/{YQSU6IUO.js → 5HBAJ57P.js} +1 -1
- package/dist/cdn/{EYNEYD34.js → 5MK44FNO.js} +1 -1
- package/dist/cdn/{FDDQ67BG.js → 6ECRQVHY.js} +1 -1
- package/dist/cdn/{LPR72QZF.js → 6KN5LUAV.js} +1 -1
- package/dist/cdn/{V6F3HEK7.js → 6OOZSZRJ.js} +1 -1
- package/dist/cdn/{TMZ6DF22.js → 6P44KOKX.js} +1 -1
- package/dist/cdn/{QCFICJ7U.js → 6YYPVU7H.js} +1 -1
- package/dist/cdn/{OWTGH34K.js → 7VUSIGEM.js} +1 -1
- package/dist/cdn/{4EBLRHYE.js → AA4FBYKK.js} +1 -1
- package/dist/cdn/{VNJMTA6O.js → ANRQWYU2.js} +1 -1
- package/dist/cdn/{HKSFWTWK.js → ASR3I43T.js} +1 -1
- package/dist/cdn/{ZVGUAOXE.js → B2JDVLA6.js} +1 -1
- package/dist/cdn/{FQH3HOFH.js → B2T7D57Y.js} +1 -1
- package/dist/cdn/{AZCIDPML.js → C4FEETBZ.js} +1 -1
- package/dist/cdn/{X3COUAXY.js → COH3QXWG.js} +3 -3
- package/dist/cdn/{AT4XVTJR.js → D5UFYQHN.js} +1 -1
- package/dist/cdn/{COL6QYGQ.js → EKWM5K4K.js} +1 -1
- package/dist/cdn/{WNNMKCKS.js → EYOWRGDP.js} +1 -1
- package/dist/cdn/{RSNGZQCQ.js → F5NIRETW.js} +1 -1
- package/dist/cdn/{HMUWQCXU.js → FG647IP6.js} +1 -1
- package/dist/cdn/{6KFMRBAA.js → FUF3NAU7.js} +1 -1
- package/dist/cdn/G2EGT3CF.js +6 -0
- package/dist/cdn/{PEYYWXFE.js → G7OMHU2B.js} +1 -1
- package/dist/cdn/{OL5656NI.js → HAEFC2SJ.js} +1 -1
- package/dist/cdn/{ZQMBJ6MI.js → HDACNIZF.js} +1 -1
- package/dist/cdn/{WR2SQX3J.js → HHUQXL3R.js} +1 -1
- package/dist/cdn/{JJJZ7FOM.js → HNADFHYH.js} +1 -1
- package/dist/cdn/{C5ZL5Z52.js → IC3LG6TH.js} +1 -1
- package/dist/cdn/JCOA24UH.js +3 -0
- package/dist/cdn/{SUYWKYWI.js → LNCT4S4I.js} +1 -1
- package/dist/cdn/{OYSPNIJI.js → MX7OEO5Z.js} +1 -1
- package/dist/cdn/{EKB7CAMM.js → MXTXJKFE.js} +1 -1
- package/dist/cdn/MY47B3CE.js +3 -0
- package/dist/cdn/{KCU4FWF7.js → NEZXHUAL.js} +1 -1
- package/dist/cdn/{DP6O6PMH.js → NSHLOFIY.js} +1 -1
- package/dist/cdn/{PSYRZMX2.js → NZSOJ726.js} +1 -1
- package/dist/cdn/{SHD6YFSR.js → O4NVW75A.js} +1 -1
- package/dist/cdn/{4HDDRBIY.js → OE3GW5LE.js} +1 -1
- package/dist/cdn/{ZLWWWTH4.js → R2PQVY4O.js} +1 -1
- package/dist/cdn/{2PTPBAIN.js → SXM4NUT5.js} +1 -1
- package/dist/cdn/{FUZ77UGP.js → UAANWCMU.js} +1 -1
- package/dist/cdn/{WP7ORLSB.js → WGO5SER7.js} +1 -1
- package/dist/cdn/{4KOV2NEI.js → WJXXOKGA.js} +1 -1
- package/dist/cdn/{MKOQJXQQ.js → WSWB3B7B.js} +1 -1
- package/dist/cdn/{W5JPJWMM.js → YWN57GH4.js} +1 -1
- package/dist/cdn/{4NJ2FF7H.js → ZDV4K4WG.js} +1 -1
- package/dist/cdn/agent-utils/index.js +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/baseAgentState.js +32 -30
- package/dist/chunks/dataExplorationGraph.js +2 -2
- package/dist/chunks/orchestrator.js +301 -249
- package/dist/components/arcgis-assistant/customElement.d.ts +24 -0
- package/dist/components/arcgis-assistant/customElement.js +275 -270
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/loader.js +1 -1
- package/dist/types/lumina.d.ts +1 -1
- package/dist/types/preact.d.ts +1 -1
- package/dist/types/react.d.ts +1 -1
- package/dist/types/stencil.d.ts +1 -1
- package/dist/utils/index.d.ts +57 -30
- package/package.json +5 -5
- package/dist/cdn/6VJXUIXY.js +0 -3
- package/dist/cdn/7M6VKBTK.js +0 -6
- package/dist/cdn/PKUDO2RC.js +0 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcgis/ai-components",
|
|
3
|
-
"version": "5.2.0-next.
|
|
3
|
+
"version": "5.2.0-next.95",
|
|
4
4
|
"description": "ArcGIS AI Components",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -58,8 +58,8 @@
|
|
|
58
58
|
],
|
|
59
59
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@arcgis/lumina": "5.2.0-next.
|
|
62
|
-
"@arcgis/toolkit": "5.2.0-next.
|
|
61
|
+
"@arcgis/lumina": "5.2.0-next.95",
|
|
62
|
+
"@arcgis/toolkit": "5.2.0-next.95",
|
|
63
63
|
"@esri/arcgis-html-sanitizer": "~4.1.0",
|
|
64
64
|
"@langchain/core": "^1.2.8",
|
|
65
65
|
"@langchain/langgraph": "^1.4.10",
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
"zod": "^4.4.3"
|
|
72
72
|
},
|
|
73
73
|
"peerDependencies": {
|
|
74
|
-
"@arcgis/core": "5.2.0-next.
|
|
75
|
-
"@arcgis/map-components": "~5.2.0-next.
|
|
74
|
+
"@arcgis/core": "5.2.0-next.95",
|
|
75
|
+
"@arcgis/map-components": "~5.2.0-next.95",
|
|
76
76
|
"@esri/calcite-components": "^5.2.0-next.52"
|
|
77
77
|
},
|
|
78
78
|
"css.customData": [
|
package/dist/cdn/6VJXUIXY.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import a from"./AT4XVTJR.js";import{b as I}from"./R74ZHFA6.js";import{a as m}from"./7VAQUCBU.js";import{Ya as _,a as R,b,ea as M,y as S}from"./EWLXNGKH.js";import{La as A,ea as C,qa as k}from"./AI6DYOKR.js";export default $arcgis.t(([P,N,T,G,z,{a:$,b:D,c:E,e:W,f:L,m:q}])=>{var B=async t=>{let e=await Q(),r=await $("default"),a=N.getDefault(),n=(await P.getCredential(`${a.url}/sharing`)).token,s={type:"generateEmbeddings",webmapEmbeddings:t,auth:{apiUrl:r,token:n}};return e.postMessage(s),await new Promise((i,o)=>{let d=u=>{u.data==="completed"&&(e.removeEventListener("message",d),i())},c=u=>{e.removeEventListener("message",d),o(u instanceof Error?u:new Error("Embeddings worker error"))};e.addEventListener("message",d),e.addEventListener("error",c,{once:!0})}),e},Q=async()=>{{let t=(await import("./OKVLGJAG.js")).default;return new t}},J=t=>{t.currentIntent="none"},K=async(t,e)=>{let r=E(e);if(t.agentExecutionContext.userRequest){let n=new k(t.agentExecutionContext.userRequest.trim());t.agentExecutionContext.messages=[...t.agentExecutionContext.messages,n],J(t)}let a=r?.services.agentRegistry.list().map(n=>n.agent.id)??[];return await m({text:`Available agents: ${[...a].join(", ")}`},e),await m({text:"Analyzing user input"},e),t},V=async(t,e)=>(await m({text:"Exiting..."},e),t),F=t=>typeof t=="object"&&t!==null&&!Array.isArray(t),X=(t,e)=>{if(!F(t)){t!==void 0&&console.warn(`Agent "${e}" returned invalid sharedStatePatch. Ignoring it.`);return}let r={};for(let[a,n]of Object.entries(t)){if(!F(n)||!("value"in n)){console.warn(`Agent "${e}" returned invalid sharedStatePatch entry for key "${a}". Ignoring that entry.`);continue}r[a]={value:n.value}}return r},Y=t=>{let{previousSharedState:e,patch:r,agentId:a}=t;if(!r)return e;let n=Date.now(),s={...e};for(let[i,o]of Object.entries(r))o?.value!==void 0&&(s[i]={value:o.value,meta:{updatedByAgentId:a,updatedAt:n}});return s},H=t=>typeof t!="string"?void 0:t.trim()||void 0,Z=t=>{switch(t){case"failed":return"Agent failed without a summary.";case"unknown":return"Agent returned with unknown status.";case"success":return"Agent completed without a summary.";default:return"Agent completed without a summary."}},ee=(t,e)=>{let r=H(e?.outputMessage),a=H(e?.summary),n=e?.status,s=n==="success"||n==="failed"?n:"unknown";s==="unknown"&&console.warn(`Agent "${t}" returned missing/invalid status. Defaulting to "unknown".`);let i=X(e?.sharedStatePatch,t);return{outputMessage:r,summary:a??r??Z(s),status:s,sharedStatePatch:i}},j=4e3,te=async(t,e)=>{let r=E(e);if(e?.signal?.aborted)return await m({text:"Run cancelled; skipping agent execution"},e),{...t,currentIntent:"none",requiresFollowUp:!1};let{agentRegistry:a}=r?.services??{},n=a?.get(t.currentIntent);if(!n)return console.warn(`No agent found for intent: ${t.currentIntent}`),t;await m({text:`Executing registered agent: ${n.agent.name}`},e);let s={...e??{},metadata:{...e?.metadata,agentId:n.agent.id},configurable:{...r??{},agentId:n.agent.id,context:n.getContext?await n.getContext():void 0}},i;try{let c=await n.agent.createGraph().compile().invoke({agentExecutionContext:{...t.agentExecutionContext,messages:[...t.agentExecutionContext.messages],priorSteps:structuredClone(t.agentExecutionContext.priorSteps??[]),sharedState:structuredClone(t.agentExecutionContext.sharedState??{})}},s);i=ee(n.agent.name,c),await m({text:`Finished executing registered agent: ${n.agent.name}`},e)}catch(c){if(S(c)||e?.signal?.aborted||c instanceof Error&&c.name==="AbortError")throw c;let u=c instanceof Error?c.message:String(c);console.error(`Agent "${n.agent.name}" failed:`,c),await m({text:`Registered agent failed: ${n.agent.name}. ${u}`},e),i={status:"failed",outputMessage:`Agent execution failed: ${u}`,summary:`Agent execution failed: ${u}`}}let o=i.outputMessage,d=[...t.agentExecutionContext.messages];if(o){let c=o.length>j?`${o.slice(0,j-14)}
|
|
3
|
-
[truncated]`:o;d.push(new C(c))}return{...t,stepCount:t.stepCount+1,lastExecutedAgent:n.agent.id,requiresFollowUp:i.status==="failed"?!0:t.requiresFollowUp,finalOutputMessage:o??"",agentExecutionContext:{...t.agentExecutionContext,messages:d,priorSteps:[...t.agentExecutionContext.priorSteps??[],{agentId:n.agent.id,assignedTask:t.agentExecutionContext.assignedTask,summary:i?.summary||"No summary provided.",status:i?.status||"unknown"}],sharedState:Y({previousSharedState:t.agentExecutionContext.sharedState,patch:i.sharedStatePatch,agentId:n.agent.id})}}},ne=async(t,e)=>{if(t.routing.mode!=="direct")throw new Error("Direct agent assignment requires direct routing.");return await m({text:`Doing a direct route to agent: ${t.routing.agentId}`},e),{...t,currentIntent:t.routing.agentId,requiresFollowUp:!1,agentExecutionContext:{...t.agentExecutionContext,assignedTask:t.agentExecutionContext.userRequest}}},re=3,ae=t=>t.routing.mode==="direct"?"assignDirectAgent":"intentLLM",se=t=>t.routing.mode==="direct"||t.stepCount>=re||!t.requiresFollowUp?"exit":"intentLLM",ie=()=>new _(D).addNode("ingestInput",K).addNode("assignDirectAgent",ne).addNode("intentLLM",L).addNode("executeRegisteredAgent",te).addNode("exit",V).addEdge(R,"ingestInput").addConditionalEdges("ingestInput",ae).addEdge("assignDirectAgent","executeRegisteredAgent").addConditionalEdges("intentLLM",t=>t.currentIntent==="none"||t.currentIntent===t.lastExecutedAgent?"exit":"executeRegisteredAgent").addConditionalEdges("executeRegisteredAgent",se).addEdge("exit",b),oe=(t,e)=>{let r=t.output?.usage_metadata??e.usage_metadata,a=t.output?.llmOutput?.tokenUsage,n=r?.input_tokens??a?.promptTokens,s=r?.output_tokens??a?.completionTokens,i=r?.total_tokens??a?.totalTokens;if(n===void 0||s===void 0||i===void 0)return;let o=r?.input_token_details?.cache_read,d=r?.output_token_details?.reasoning;return{input:n,output:s,total:i,...o!==void 0&&{cacheRead:o},...d!==void 0&&{reasoning:d}}},de=(t,e,r,a)=>{switch(t){case"chat_model":case"llm":return"model";case"tool":case"retriever":return t;case"chain":return!a||e==="LangGraph"?"workflow":r===e?"node":"chain";default:return}},ce=t=>{if(t instanceof Error)return{message:t.message,name:t.name};let e=t,r=typeof e?.message=="string"?e.message:String(t??"Unknown runtime error"),a=typeof e?.name=="string"?e.name:void 0;return{message:r,...a&&{name:a}}},ue=({event:t,runId:e,parentSpanId:r,timestamp:a})=>{let n=/^on_(.+)_(start|end|error)$/u.exec(t.event);if(!n)return;let[,s,i]=n,o=t.metadata??{},d=o.langgraph_node,c=de(s,t.name,d,r);if(!c)return;let u=o.agentId,p=o.model??o.ls_model_name,g=t.data,l=i==="end"&&c==="model"?oe(g,o):void 0,w=t.tags?.includes("langsmith:hidden")||d==="__start__",h={...p&&{model:p},...l&&{tokenUsage:l},...w&&{internal:!0}},y={id:t.run_id,...r&&{parentId:r},label:t.name,type:c,...Object.keys(h).length&&{metadata:h}},v={runId:e,timestamp:a,type:"runtime",...u&&{agentId:u}};switch(i){case"start":return{...v,phase:"started",span:{...y,...g?.input!==void 0&&{input:g.input}}};case"end":return{...v,phase:"completed",span:{...y,...g?.output!==void 0&&{output:g.output}}};case"error":return{...v,phase:"failed",span:{...y,error:ce(g?.error)}};default:return}},f=class{constructor(){this.agentRegistry=new Map}register(e){let{agent:r}=e;if(this.agentRegistry.has(r.id))throw new Error(`Duplicate agent id: ${r.id}`);this.agentRegistry.set(r.id,e)}get(e){return this.agentRegistry.get(e)}list(){return[...this.agentRegistry.values()]}},x=class{constructor(e,r){this.graph=e,this.config={...r}}async waitForUser(){return await new Promise((e,r)=>{this.resolveWait=e,this.rejectWait=r})}handle(e,r){try{let a={agentId:e.agentId,id:e.id,payload:r},n=this.graph.streamEvents(null,{...this.config,configurable:{...this.config.configurable,hitlResponse:a},subgraphs:!0,version:"v2"});this.resolveWait?.(n)}catch(a){this.rejectWait?.(a)}finally{this.resolveWait=void 0,this.rejectWait=void 0}}cancel(){this.rejectWait&&(this.rejectWait(new Error("Request cancelled by user.")),this.resolveWait=void 0,this.rejectWait=void 0)}},ge=async t=>{try{return await(await W()).embedDocuments(t)}catch(e){throw console.error("Failed to generate embeddings:",e),e}},U=async(t,e)=>{let r=e.get(t);if(r)return r;let a=await ge([t]);return e.set(t,a[0]),a[0]};async function le(t,e,r,a){let n=`req-${Date.now()}`,s={type:"layerSearch",precomputedEmbedding:a?await U(t,a):void 0,requestId:n,minScore:r};return await new Promise(i=>{let o=d=>{d.data.requestId===n&&i(d.data.results)};e.addEventListener("message",o,{once:!0}),e.postMessage(s)})}function he(t){let{worker:e}=t;return{async searchLayers({text:r,minScore:a,embeddingCache:n}){return await le(r,e,a,n)}}}var me=async({combinedQuery:t,layerIds:e,embeddingsWorker:r,minScore:a,topResults:n,embeddingCache:s})=>{let i=`req-${Date.now()}`,o=s?await U(t,s):void 0,d={type:"fieldSearch",layerIdForFieldsSearch:e,precomputedEmbedding:o,requestId:i,minScore:a,topResults:n};return await new Promise(c=>{let u=p=>{if(p.data.requestId!==i)return;let g=p.data.results.map(({layerId:l,results:w})=>({layerId:l,results:w}));c(g)};r.addEventListener("message",u,{once:!0}),r.postMessage(d)})};function pe(t){let{worker:e}=t;return{async searchFields({text:r,layerIds:a,minScore:n,topResults:s,embeddingCache:i}){return await me({combinedQuery:r,layerIds:a,embeddingsWorker:e,minScore:n,topResults:s,embeddingCache:i})}}}var we=t=>{let e=q.safeParse(t);if(!e.success)throw new Error("Embeddings response validation failed. Regenerate embeddings.");return e.data},ye=(t,e)=>{let r=new Map,a=new Map;if(e.allLayers.forEach(n=>{n instanceof G&&a.set(n.id,n)}),t.length!==a.size)throw new Error("Layer count mismatch during registry restoration. Regenerate embeddings.");for(let n of t){let s=a.get(n.id);if(!s)throw new Error(`Layer with ID ${n.id} not found in the original map during registry restoration. Regenerate embeddings.`);if(n.fields.length!==s.fields.length)throw new Error(`Field count mismatch for layer ID ${n.id} during registry restoration. Regenerate embeddings.`);let i={name:n.name,title:n.title,description:n.description},o=new Map;for(let d of n.fields){let c=s.fieldsIndex.get(d.name);if(!c)throw new Error(`Field with name ${d.name} not found in the original layer ${n.id} during registry restoration. Regenerate embeddings.`);o.set(d.name,{name:d.name,alias:s.getFieldAlias(d.name)??d.alias,description:d.description,type:c.type||"unknown",valueType:c.valueType||"unknown",domain:s.getFieldDomain(d.name)??void 0})}r.set(n.id,{layerItem:i,fieldRegistry:o})}return r},fe=async t=>{try{return(await z(t,{responseType:"json"})).data}catch(e){throw new Error(`Failed to fetch data from ${t}: ${String(e)}`)}},ve=async t=>{let e=t.map;if(!e?.portalItem)throw new Error("WebMap portal item is missing.");let{resources:r}=await e.portalItem.fetchResources(),a=r.find(s=>s.resource.path==="embeddings-v01.json");if(!a?.resource.url)throw new Error("Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.");let n=await fe(a.resource.url);return we(n)},O=class t{constructor(){this.orchestratorReady=!1,this.chatHistory=[],this.priorSteps=[],this.sharedState={},this.agentRegistry=new f,this.activeRunId="",this.cancelledRunIds=new Set,this.parentRunIds=new Map,this.activeRuntimeSpans=new Map,this.runtimeEventsEnabled=!1,this.streamEpoch=0}static async init(e){let r=new t;r.runtimeEventsEnabled=e.runtimeEventsEnabled??!1;try{if(e.view?.map){await T.whenOnce(()=>e.view.ready);let a=await ve(e.view),n=ye(a.layers,e.view.map);r.layersAndFieldsRegistry=n,r.embeddingsWorker=await B(a)}return e.agents?.forEach(a=>{r.agentRegistry.register(a)}),r.orchestratorReady=!0,r}catch(a){throw console.error("Orchestrator initialization failed:",a),a}}async*ask(e,r={}){if(!this.orchestratorReady)throw new Error("Orchestrator is not ready yet.");if(!this.agentRegistry.list().length)throw new Error("Orchestrator has no registered agents.");let a=this.createRequestAgentRegistry(r);if(!a.list().length)throw new Error("Orchestrator has no agents selected for this request.");if(++this.streamEpoch,!e.trim())return;let n=I();this.parentRunIds.clear(),this.activeRuntimeSpans.clear(),this.activeRunId=n,this.activeAbortController=new AbortController,this.graph||(this.graph=ie().compile({checkpointer:new M}));let s=this.embeddingsWorker?he({worker:this.embeddingsWorker}):void 0,i=this.embeddingsWorker?pe({worker:this.embeddingsWorker}):void 0,o=new Map,d=r.routing==="direct"?{mode:"direct",agentId:r.agentId}:{mode:"auto"},c={thread_id:n,hitlResponse:null,services:{layerSearch:s,fieldSearch:i,layersAndFieldsRegistry:this.layersAndFieldsRegistry,agentRegistry:a,embeddingCache:o}},u={version:"v2",streamMode:"custom",signal:this.activeAbortController.signal,...this.runtimeEventsEnabled&&{callbacks:[this.createHierarchyCallback()]},configurable:c,subgraphs:!0},p=this.graph?.streamEvents({routing:d,agentExecutionContext:{userRequest:e,messages:this.chatHistory,priorSteps:this.priorSteps,sharedState:this.sharedState}},u),g=++this.streamEpoch;if(yield*this.pipeStream(p,g,n),this.isRunCancelled(n)){yield*this.createCancellationEvents(n);return}for(;;){if(this.isRunCancelled(n)){yield*this.createCancellationEvents(n);return}let w=(await this.graph.getState(u,{subgraphs:!0})).tasks.find(h=>h.interrupts.length>0)?.interrupts[0]?.value;if(!w)break;this.currentInterrupt=w,this.interruptHandler=new x(this.graph,u),yield*this.closeActiveRuntimeSpans(n,"interrupted"),yield{runId:n,timestamp:Date.now(),type:"interrupt",interrupt:w};try{let h=await this.interruptHandler.waitForUser(),y=++this.streamEpoch;yield*this.pipeStream(h,y,n)}catch(h){if(this.isRunCancelled(n)){yield*this.createCancellationEvents(n);return}if(h){yield{runId:n,timestamp:Date.now(),type:"error",error:{message:h?.message}};return}}}if(this.isRunCancelled(n)){yield*this.createCancellationEvents(n);return}let l=(await this.graph.getState(u,{subgraphs:!0})).values;if(this.isRunCancelled(n)){yield*this.createCancellationEvents(n);return}this.chatHistory=l.agentExecutionContext.messages.length?l.agentExecutionContext.messages:this.chatHistory,this.priorSteps=l.agentExecutionContext.priorSteps?.slice(-5)??[],this.sharedState=l.agentExecutionContext.sharedState??{},yield{runId:n,timestamp:Date.now(),type:"completed",result:{content:l.finalOutputMessage}}}newConversation(){this.chatHistory=[],this.priorSteps=[],this.sharedState={}}resumeInterrupt(e){if(!this.currentInterrupt||!this.interruptHandler)throw new Error("No pending interrupt to resume.");this.interruptHandler.handle(this.currentInterrupt,e)}cancelInterrupt(){this.interruptHandler&&this.interruptHandler.cancel()}cancel(){this.activeRunId&&(this.cancelledRunIds.add(this.activeRunId),this.activeAbortController?.abort(),++this.streamEpoch,this.interruptHandler?.cancel())}async*pipeStream(e,r,a){try{for await(let n of e){if(this.isRunCancelled(a)||r!==this.streamEpoch)break;if(this.runtimeEventsEnabled){let s=ue({event:n,runId:a,parentSpanId:this.parentRunIds.get(n.run_id),timestamp:Date.now()});s&&(s.phase==="started"?this.activeRuntimeSpans.set(s.span.id,s):this.activeRuntimeSpans.delete(s.span.id),yield s)}n.event==="on_custom_event"&&n.name==="trace_message"?yield{runId:a,timestamp:Date.now(),type:"trace",data:n.data}:n.name==="graph_ux_suggestion"&&(yield{runId:a,timestamp:Date.now(),type:"ux-suggestion",suggestion:n.data})}}catch(n){if(!this.isRunCancelled(a))throw n}}*createCancellationEvents(e){yield*this.closeActiveRuntimeSpans(e,"cancelled"),yield{runId:e,timestamp:Date.now(),type:"cancelled",reason:"user"}}*closeActiveRuntimeSpans(e,r){let a=Date.now(),n=[...this.activeRuntimeSpans.values()].reverse();this.activeRuntimeSpans.clear();for(let s of n){let{input:i,...o}=s.span;yield{type:"runtime",phase:r,runId:e,timestamp:a,...s.agentId&&{agentId:s.agentId},span:o}}}createHierarchyCallback(){let e=(r,a)=>{a&&this.parentRunIds.set(r,a)};return A.fromMethods({handleLLMStart:(r,a,n,s)=>e(n,s),handleChatModelStart:(r,a,n,s)=>e(n,s),handleChainStart:(r,a,n,s)=>e(n,s),handleToolStart:(r,a,n,s)=>e(n,s),handleRetrieverStart:(r,a,n,s)=>e(n,s)})}isRunCancelled(e){return this.cancelledRunIds.has(e)}createRequestAgentRegistry(e){let r=e.routing==="direct"?[e.agentId]:e.agentIds,a=r?r.map(s=>{let i=this.agentRegistry.get(s);if(!i)throw new Error(`Agent is not registered: ${s}`);return i}):this.agentRegistry.list(),n=new f;return a.forEach(s=>n.register(s)),n}dispose(){this.embeddingsWorker&&(this.embeddingsWorker.terminate(),this.embeddingsWorker=void 0),this.orchestratorReady=!1}};return{a:ge,b:O}},"identity/IdentityManager","portal/Portal","core/reactiveUtils","layers/FeatureLayer","request",a)
|
package/dist/cdn/7M6VKBTK.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{ka as r}from"./EWLXNGKH.js";var u=(t,e)=>e,o=(t,e)=>({...t,...e}),i=(t="",e)=>{let s=typeof e=="string"?e.trim():"";if(!s)return t;let a=t.trim();if(!a)return s;if(a===s)return t;let n=a.split(`
|
|
3
|
-
|
|
4
|
-
`);return n[n.length-1]?.trim()===s?t:`${t}
|
|
5
|
-
|
|
6
|
-
${s}`},c=()=>({userRequest:"",assignedTask:"",messages:[],priorSteps:[],sharedState:{}}),d=()=>({agentExecutionContext:r({reducer:o,default:c}),outputMessage:r({reducer:i,default:()=>""}),summary:r({reducer:u,default:()=>""}),status:r({reducer:u})}),f=()=>({...d(),sharedStatePatch:r({reducer:u})});export{u as a,o as b,i as c,c as d,d as e,f};
|
package/dist/cdn/PKUDO2RC.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import b from"./6VJXUIXY.js";import{a as E}from"./5FL5BTTX.js";import{a as I}from"./434TAA3J.js";import{b as L}from"./V6F3HEK7.js";import{a as R}from"./3UEKINYC.js";import"./RLEHNAIA.js";import a from"./AT4XVTJR.js";import"./7M6VKBTK.js";import{g as S,h as c,k as P,l as C,n as d,t as y,u as v,v as A,x as _,z as T}from"./X3COUAXY.js";import"./R74ZHFA6.js";import"./7VAQUCBU.js";import"./VOKXKU7M.js";import"./EWLXNGKH.js";import"./AI6DYOKR.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([z,{whenOnce:B,watch:q,when:V},j,,F,,,N,{property:m,subclass:H},,{b:D}])=>{var W=S`:host{display:block;width:var(--arcgis-internal-panel-width, 100%);height:var(--arcgis-internal-expand-max-height, 100%);--calcite-panel-content-bottom-space: 0}.footer-container{display:flex;flex-direction:column;flex:1 1 0;gap:var(--calcite-spacing-md)}.content-container{display:flex;flex-direction:column;flex:1 1 0;min-height:0;position:relative;overflow:auto}.suggested-prompts-container{display:flex;justify-content:center;width:100%;background:var(--calcite-panel-background-color, var(--calcite-color-background))}.suggested-prompts{display:block;padding:var(--calcite-spacing-md);max-width:100%;box-sizing:border-box}.error-notice{padding:var(--calcite-spacing-sm)}.interrupt-waiting-message{font-style:italic;color:var(--calcite-color-text-2)}`;function $(o){return o.trim()?E.lexer(o).filter(t=>t.type!=="space").map(t=>E.parser([t])):[]}var f=class{constructor(){this._stableParts=[],this._stableText="",this._rawText=""}push(t){return this._rawText+=t,this._advanceStableBoundary(),this.getParts()}finalize(){let t=this._rawText.slice(this._stableText.length);return t.trim()&&(this._stableParts.push(...$(t)),this._stableText=this._rawText),this._stableParts}getParts(){let t=this._trimIncompleteTail(this._rawText.slice(this._stableText.length)),s=t.trim()?$(t):[];return[...this._stableParts,...s]}reset(){this._stableParts=[],this._stableText="",this._rawText=""}_advanceStableBoundary(){let t=this._rawText.slice(this._stableText.length),s=this._lastSafeBoundary(t);if(s<=0)return;let i=t.slice(0,s);this._stableParts.push(...$(i)),this._stableText+=i}_lastSafeBoundary(t){let s=t.split(`
|
|
3
|
-
`),i=!1,e=0,n=0;for(let r of s)/^\s*(```|~~~)/u.test(r)&&(i=!i),n+=r.length+1,r.trim()===""&&!i&&(e=n);return e<t.length?e:0}_trimIncompleteTail(t){let s=t.lastIndexOf("<");if(s!==-1&&!t.includes(">",s))return t.slice(0,s);let i=this._earliestUnclosedTag(t);if(i!==-1)return t.slice(0,i);let e=t.lastIndexOf("[");if(e!==-1){let n=t.slice(e);if(!/\[[^\]]*\]\([^)]*\)/u.test(n))return t.slice(0,e)}return t}_earliestUnclosedTag(t){let s=new Set(["br","img","hr","input","meta","link","area","base","col","embed","source","track","wbr"]),i=/<(\/?)([a-zA-Z][\w-]*)\b[^>]*?(\/?)>/gu,e=[];for(let n=i.exec(t);n;n=i.exec(t)){let[,r,a,l]=n,h=a.toLowerCase();if(!(s.has(h)||l==="/"))if(r==="/"){for(let g=e.length-1;g>=0;g--)if(e[g].name===h){e.splice(g);break}}else e.push({name:h,index:n.index})}return e.length?e[0].index:-1}};function G(o){let t=new f;return t.push(o),t.finalize()}var Z=async o=>await new Promise(t=>setTimeout(t,o));async function*J(o,{chunkSize:t=15,delay:s=50}={}){let i=new f;for(let e=0;e<o.length;e+=t)yield i.push(o.slice(e,e+t)),await Z(s);yield i.finalize()}var K=Object.defineProperty,Q=Object.getOwnPropertyDescriptor,u=(o,t,s,i)=>{for(var e=i>1?void 0:i?Q(t,s):t,n=o.length-1,r;n>=0;n--)(r=o[n])&&(e=(i?r(t,s,e):r(e))||e);return i&&e&&K(t,s,e),e},M=o=>!o||typeof o!="object"?!1:o.name==="AbortError";async function*O(o,t,s,i,e=!1){if(e){if(i?.aborted){yield{type:"cancelled",log:s,runId:t};return}yield{type:"block-data",blockType:"text",data:{parts:G(o)},runId:t};return}for await(let n of J(o)){if(i?.aborted){yield{type:"cancelled",log:s,runId:t};return}yield{type:"block-data",blockType:"text",data:{parts:n},runId:t}}}var p=class extends N{constructor(o){super(o),this.view=null,this.streamingDisabled=!1,this.runtimeEventsEnabled=!1,this.loading=!1,this.processing=!1,this.processingStep=""}async load(){this._set("loading",!0);try{await this._initialize()}finally{this._set("loading",!1)}}destroy(){this.orchestrator?.dispose(),super.destroy()}async _initialize(){this.removeHandles(),await Promise.all([this.portal.load(),this.view?.when()]),this.view&&await B(()=>!this.view.updating),this._set("orchestrator",await D.init({agents:[...this.agents],runtimeEventsEnabled:this.runtimeEventsEnabled,view:this.view??void 0})),this.addHandles([q(()=>[this.view,this.agents],()=>{this._initialize()})])}clearChatHistory(){this.orchestrator?.newConversation()}async*ask(o,t){if(!this.orchestrator)throw new Error("Orchestrator not initialized yet.");this._set("processing",!0),this._set("processingStep","");let s=[],i,e="pending";try{let n=this.orchestrator.ask(o);for await(let r of n)switch(e=r.runId,r.type){case"runtime":{yield{type:"runtime",event:r,runId:e};break}case"trace":{this._set("processingStep",r.data.text),s.push(r.data.text);break}case"completed":{this._set("processing",!1),this._set("processingStep","");let a=r.result,l=!!a.content.length,h=!!i?.length;if(!l&&!h){yield{type:"completed",error:"No response received.",log:s,runId:e};return}let g=a.content;if(yield{type:"block-start",blockType:"text",runId:e},yield*O(g,e,s,t,this.streamingDisabled),yield{type:"block-end",blockType:"text",runId:e},h)for(let k of i){if(t?.aborted){yield{type:"cancelled",log:s,runId:e};return}let{type:b,data:w}=k;if(yield{type:"block-start",blockType:b,runId:e},b==="text"){let U=typeof w?.content=="string"?w.content:"";yield*O(U,e,s,t,this.streamingDisabled)}else yield{type:"block-data",blockType:b,data:w,runId:e};yield{type:"block-end",blockType:b,runId:e}}yield{type:"completed",response:g,blocks:i,log:s,runId:e};return}case"ux-suggestion":{let a=r.suggestion;i=i?[...i,a]:[a];break}case"interrupt":{let{kind:a,message:l,metadata:h}=r.interrupt,g=Array.isArray(h)?h.filter(b=>typeof b=="string"):[],k=(()=>{switch(a){case"booleanChoice":return{type:"boolean-choice",message:l,options:g};case"singleSelection":return{type:"single-select",message:l,options:g};case"multipleSelection":return{type:"multi-select",message:l,options:g};case"textInput":return{type:"text-input",message:l};default:return{type:a,message:l,options:g}}})();this._set("processingStep","Waiting for user input..."),yield{type:"interrupt",payload:k,runId:e};break}case"cancelled":{yield{type:"cancelled",log:s,runId:e};return}case"error":{if(t?.aborted||M(r.error)){yield{type:"cancelled",log:s,runId:e};return}yield{type:"completed",error:r.error.message,log:s,runId:e};return}default:{console.warn("Unknown event type:",r);break}}}catch(n){if(t?.aborted||M(n)){yield{type:"cancelled",log:s,runId:e};return}console.warn("Error during message processing:",n),yield{type:"completed",error:"An error occurred during message processing.",log:s,runId:"error"};return}finally{this._set("processing",!1)}}cancel(){this.orchestrator?.cancel()}};u([m({readOnly:!0})],p.prototype,"orchestrator",2);u([m()],p.prototype,"agents",2);u([m()],p.prototype,"portal",2);u([m()],p.prototype,"view",2);u([m()],p.prototype,"streamingDisabled",2);u([m()],p.prototype,"runtimeEventsEnabled",2);u([m({readOnly:!0})],p.prototype,"loading",2);u([m({readOnly:!0})],p.prototype,"processing",2);u([m({readOnly:!0})],p.prototype,"processingStep",2);p=u([H("OrchestratorController")],p);var X="Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.",Y="Embeddings not found for this web map.",tt="https://developers.arcgis.com/javascript/latest/agentic-apps/ai-webmap-setup/#embeddings",x=class extends A{constructor(){super(...arguments),this._messages=L({blocking:!0}),this.#t=y(),this.#l=y(),this.#s=y(),this.#e=null,this.#r=new Map,this.#i=j.getDefault(),this.#a=t=>{t.stopPropagation(),this.cancelInterrupt()},this.#n=t=>{t.stopPropagation();let s=t.detail;this.submitInterrupt(s)},this.#c=t=>{t.stopPropagation(),this.keepSuggestedPrompts||(this.suggestedPrompts=[]);let s=t.detail;this._inputValue="",this.arcgisSubmit.emit(s),this.submitMessage(s)},this.#h=t=>{if(this._canceling=!0,t.stopPropagation(),this.arcgisCancel.emit(),this._interrupt){this.orchestrator?.cancelInterrupt(),this._interrupt=null;return}this._orchestratorController?.cancel(),this.#e?.abort(),this.#e=null},this.#g=t=>{t.stopPropagation();let s=t.detail;this.arcgisFeedback.emit(s)},this.#d=t=>{t.stopPropagation();let s=t.detail;this._inputValue=s.prompt,this.arcgisPromptSelect.emit(s)},this.#p=t=>{this.arcgisSlottableRequest.emit(t.detail)},this._orchestratorController=null,this._interrupt=null,this._interruptDetails=[],this._error=null,this._inputValue="",this._isAnswering=!1,this._canceling=!1,this.messages=new z([]),this.referenceElement=null,this.suggestedPrompts=[],this.feedbackEnabled=!1,this.keepSuggestedPrompts=!1,this.streamingDisabled=!1,this.runtimeEventsEnabled=!1,this.logEnabled=!1,this.copyEnabled=!1,this.voiceInputEnabled=!1,this.readAloudEnabled=!1,this.assistantAvatarEnabled=!1,this.userAvatarEnabled=!1,this.arcgisCancel=d(),this.arcgisError=d(),this.arcgisFeedback=d(),this.arcgisInterrupt=d(),this.arcgisInterruptCancel=d(),this.arcgisInterruptSubmit=d(),this.arcgisPromptSelect=d(),this.arcgisReady=d(),this.arcgisResponse=d(),this.arcgisRuntime=d({bubbles:!1,composed:!1}),this.arcgisSlottableRequest=d({bubbles:!1,composed:!1}),this.arcgisSubmit=d()}static{this.properties={_orchestratorController:16,_interrupt:16,_interruptDetails:16,_error:16,_inputValue:16,_isAnswering:16,_signedInUserId:16,_canceling:16,_isSignedIn:16,_user:16,awaitingResponse:32,awaitingResponseStep:32,interrupt:32,messages:0,orchestrator:32,entryMessage:1,heading:1,description:1,referenceElement:1,suggestedPrompts:0,feedbackEnabled:5,keepSuggestedPrompts:5,streamingDisabled:5,runtimeEventsEnabled:5,logEnabled:5,copyEnabled:5,voiceInputEnabled:5,readAloudEnabled:5,assistantAvatarEnabled:5,userAvatarEnabled:5}}static{this.styles=W}#t;#l;#s;#e;#r;#i;#a;#n;#c;#h;#g;#d;#p;get _isSignedIn(){return!!this.#i?.user||!!this._signedInUserId}get _user(){return this.#i?.user?.fullName||this.#i?.user?.username}get awaitingResponse(){return this._orchestratorController?.processing??!1}get awaitingResponseStep(){return this._orchestratorController?.processingStep??""}get interrupt(){return this._interrupt}get orchestrator(){return this._orchestratorController?.orchestrator}cancelInterrupt(){this.arcgisInterruptCancel.emit(),this.orchestrator?.cancelInterrupt(),this._interrupt=null}async clearChatHistory(){this._reset(),this._orchestratorController?.clearChatHistory()}register(t){this.#r.set(t.agent.id,t),this._orchestratorController&&this.#o()}submitInterrupt(t){this.arcgisInterruptSubmit.emit(t),this._interrupt&&(this._interruptDetails=[...this._interruptDetails,{interrupt:this._interrupt,response:t}]),this.orchestrator?.resumeInterrupt(t),this._interrupt=null}async submitMessage(t){let s=t.trim();if(!s||(this.messages.push({id:Date.now().toString(),role:"user",content:s}),!this._orchestratorController))return;this.#e=new AbortController,this._orchestratorController.streamingDisabled=this.streamingDisabled;let i=this._orchestratorController.ask(s,this.#e?.signal);for await(let e of i){let n=e.runId,r=this.messages.at(-1);switch(e.type){case"runtime":this.arcgisRuntime.emit(e.event);break;case"block-start":{this._isAnswering=!0;let a={type:e.blockType,isPending:!0};if(r?.role==="assistant"&&r.id===n){let l=[...r.blocks??[],a];this.messages.splice(-1,1,{...r,blocks:l})}else this.messages.push({role:"assistant",blocks:[a],id:n,isStreaming:!0,interrupts:this._interruptDetails}),this._interruptDetails=[];break}case"block-data":{if(r?.role!=="assistant"||r?.id!==n)break;let a=[...r.blocks??[]],l=a[a.length-1],{blockType:h,data:g}=e;if(l?.type!==h||!l.isPending)break;h==="text"?a[a.length-1]={...l,data:{...l.data,parts:g?.parts}}:a[a.length-1]={...l,data:{...l.data,...g??{}}},this.messages.splice(-1,1,{...r,blocks:a});break}case"block-end":{if(r?.role!=="assistant"||r?.id!==n)break;let a=[...r.blocks??[]],l=a[a.length-1];if(l?.type!==e.blockType||!l.isPending)break;let h=l;a[a.length-1]={...h,data:{...h.data},isPending:!1},this.messages.splice(-1,1,{...r,blocks:a});break}case"completed":e.error?(this.messages.push({role:"assistant",log:e.log,error:e.error,id:n,interrupts:this._interruptDetails}),this._interruptDetails=[]):r?.role==="assistant"&&r.id===n&&this.messages.splice(-1,1,{...r,content:e.response,blocks:r.blocks?.map(a=>({...a,data:{...a.data},isPending:!1}))??[],isStreaming:!1,log:e.log}),this._isAnswering=!1,this.#e=null,this._canceling=!1;break;case"interrupt":this._interrupt={...e.payload,id:n},this.arcgisInterrupt.emit(this._interrupt);break;case"cancelled":r?.role==="assistant"&&r.id===n?this.messages.splice(-1,1,{...r,blocks:r.blocks?.filter(a=>a.type==="text"||!a.isPending)??[],isStreaming:!1,log:e.log,error:`(${this._messages.stoppedByUserLabel})`}):(this.messages.push({role:"assistant",log:e.log,error:`(${this._messages.stoppedByUserLabel})`,id:n,interrupts:this._interruptDetails}),this._interruptDetails=[]),this._isAnswering=!1,this.#e=null,this._canceling=!1;break}}}unregister(t){this.#r.delete(t),this._orchestratorController&&this.#o()}load(){this.manager.onLifecycle(this._reset.bind(this))}loaded(){this.manager.onLifecycle(()=>{this.#t.value?.addEventListener("arcgisPromptSelect",this.#d),this.#t.value?.addEventListener("arcgisSubmit",this.#c),this.#t.value?.addEventListener("arcgisCancel",this.#h),this.#t.value?.addEventListener("arcgisFeedback",this.#g);let t=V(()=>!!this._interrupt&&!!this.#s.value,()=>{let i=this.#s.value;i.removeEventListener("arcgisSubmit",this.#n),i.removeEventListener("arcgisCancel",this.#a),i.addEventListener("arcgisSubmit",this.#n,{once:!0}),i.addEventListener("arcgisCancel",this.#a,{once:!0})}),s=this.messages.on("after-add",i=>{let e=i.item;e.role==="assistant"&&(e.error||e.content)&&this.arcgisResponse.emit(e)});return queueMicrotask(()=>{this.#o().then(i=>{i?this.arcgisReady.emit():this._error&&this.arcgisError.emit(new Error(this._error))})}),()=>{t.remove(),s.remove(),this.#t.value?.removeEventListener("arcgisPromptSelect",this.#d),this.#s.value?.removeEventListener("arcgisSubmit",this.#n),this.#s.value?.removeEventListener("arcgisCancel",this.#a),this.#t.value?.removeEventListener("arcgisSubmit",this.#c),this.#t.value?.removeEventListener("arcgisCancel",this.#h),this.#t.value?.removeEventListener("arcgisFeedback",this.#g),this._orchestratorController?.destroy(),this._orchestratorController=null}})}async#o(){try{let t=R(this.el,this.referenceElement);await t?.componentOnReady();let s=[...this.#r.values()];return s.length?(this._orchestratorController?.destroy(),this._orchestratorController=new p({agents:s,portal:this.#i,runtimeEventsEnabled:this.runtimeEventsEnabled,streamingDisabled:this.streamingDisabled,view:t?.view}),await this._orchestratorController.load(),this.requestUpdate(),!0):(this._error=this._messages.noAgentsFoundMessage,!1)}catch(t){return this._error=t?.message??this._messages.orchestratorInitializationErrorMessage,C(this)(t),!1}}_reset(){this._orchestratorController?.cancel(),this.#e?.abort(),this._interrupt=null,this.messages.removeAll(),this._error=null,this._inputValue="",this._signedInUserId=void 0}_renderEntryMessage(){return this._isSignedIn?this._error?this._renderErrorNotice():this.entryMessage?this.messages.length>0?null:c`<calcite-notice open kind=brand closable icon width=full><div slot=message>${this.entryMessage}</div></calcite-notice>`:c`<slot name=entry-message></slot>`:this._renderSignInNotice()}_renderSignInNotice(){let t=this.#i;return c`<calcite-notice slot=entry-message open kind=brand icon width=full><div slot=message>${this._messages.signInRequiredMessage}</div>${t?c`<calcite-link slot=link @click=${async()=>{try{let s=await F.getCredential(`${t.url}/sharing`);this._signedInUserId=s.userId,this._error=null,this.requestUpdate(),await this.#o()?this.arcgisReady.emit():this._error&&this.arcgisError.emit(new Error(this._error))}catch(s){this._error=s?.message??this._messages.signInErrorMessage,this.arcgisError.emit(new Error(this._error)),P("error",this,"Error signing in:",{detail:{error:s}})}}} target=_blank title=${this._messages.signInToArcGISOnlineLabel??_}>${this._messages.signInLabel}</calcite-link>`:c`<div slot=link>${this._messages.noPortalInformationMessage}</div>`}</calcite-notice>`}_renderErrorNotice(){return this._error?c`<calcite-notice slot=entry-message open kind=brand icon width=full>${this._error===X?c`<div slot=message>${Y}</div><calcite-link slot=link .href=${tt} target=_blank title=${this._messages.learnAboutWebMapEmbeddingsLabel??_}>${this._messages.readMoreLabel}</calcite-link>`:c`<div slot=message>${this._error}</div>`}</calcite-notice>`:null}render(){return c`<calcite-panel .loading=${!this._orchestratorController&&!this._error||this._orchestratorController?.loading} .heading=${this.heading??this._messages.assistantLabel} .description=${this.description} ${v(this.#t)}><slot name=header-actions-start slot=header-actions-start></slot><slot name=header-actions-end slot=header-actions-end></slot><div class="content-container"><arcgis-assistant-chat .loading=${this.awaitingResponse} .messages=${this.messages} .interrupt=${this._interrupt}><slot name=message-starter slot=message-starter></slot><slot name=messages slot=messages>${this.messages.map(t=>t.role==="assistant"?c`<arcgis-assistant-message .message=${t} .feedbackEnabled=${this.feedbackEnabled} .logEnabled=${this.logEnabled} .copyEnabled=${this.copyEnabled} .readAloudEnabled=${this.readAloudEnabled} @arcgisSlottableRequest=${this.#p} .assistantAvatarEnabled=${this.assistantAvatarEnabled}>${t.blocks?.map((s,i)=>c`<slot name=${I(t.id,i)??_} slot=${I(t.id,i)??_}><arcgis-assistant-message-block .block=${s}></arcgis-assistant-message-block></slot>`)}</arcgis-assistant-message>`:c`<arcgis-assistant-user-message .message=${t} .user=${this._user} .userAvatarEnabled=${this.userAvatarEnabled}></arcgis-assistant-user-message>`)}</slot>${this._interrupt?c`<div slot=message-loading><div class="interrupt-waiting-message">${this._messages.waitingForUserInputMessage}</div></div>`:c`<slot name=message-loading slot=message-loading><arcgis-assistant-message-loading .loading=${this.awaitingResponse} .loadingMessage=${this.awaitingResponseStep} .assistantAvatarEnabled=${this.assistantAvatarEnabled} .interrupts=${this._interruptDetails}></arcgis-assistant-message-loading></slot>`}</arcgis-assistant-chat></div>${this._interrupt?c`<slot name=interrupt><arcgis-assistant-interrupt slot=content-bottom .type=${this._interrupt.type} .message=${this._interrupt.message} .options=${this._interrupt.options} ${v(this.#s)}></arcgis-assistant-interrupt></slot>`:this.suggestedPrompts?.length?c`<div class="suggested-prompts-container" slot=content-bottom><arcgis-assistant-suggested-prompts class="suggested-prompts" .prompts=${this.suggestedPrompts}></arcgis-assistant-suggested-prompts></div>`:null}<div class="footer-container" slot=footer>${this._renderEntryMessage()}<slot name=chat-entry><arcgis-assistant-chat-entry .awaitingResponse=${this.awaitingResponse||this._isAnswering} .inputValue=${this._inputValue} .messages=${this.messages} .voiceInputEnabled=${this.voiceInputEnabled} .disabled=${this._canceling||!this._isSignedIn||!!this._interrupt} ${v(this.#l)}><slot name=entry-actions-start slot=entry-actions-start></slot><slot name=entry-actions-end slot=entry-actions-end><calcite-button .iconStart=${this.awaitingResponse||this._isAnswering?"circle-stop":"send"} @click=${()=>{this.#l.value?.submitMessage()}} round>${this.awaitingResponse||this._isAnswering?this._messages.stopButtonLabel:this._messages.askButtonLabel}</calcite-button></slot></arcgis-assistant-chat-entry></slot><slot name=footer-content></slot></div></calcite-panel>`}};T("arcgis-assistant",x);return x},"core/Collection","core/reactiveUtils","portal/Portal","request","identity/IdentityManager","config","layers/FeatureLayer","core/Accessor","core/accessorSupport/decorators",a,b)
|