@arcgis/ai-components 5.2.0-next.117 → 5.2.0-next.119
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/agentic-workflow/jsonTypes.d.ts +9 -15
- package/dist/agentic-workflow/nodes/HumanInTheLoopNode.d.ts +1 -1
- package/dist/agents/runtime/skill/createSkillAgent.d.ts +1 -3
- package/dist/agents/runtime/skill/createSkillAgent.js +71 -76
- package/dist/cdn/4PZ5RHFL.js +3 -0
- package/dist/cdn/{HAHL6K4X.js → ALCJFKAR.js} +41 -43
- package/dist/cdn/CWE6OD3H.js +2 -0
- package/dist/cdn/{CESQ3SFP.js → DWSVGHL4.js} +1 -1
- package/dist/cdn/{CZIAU7PC.js → DXRFD4N3.js} +1 -1
- package/dist/cdn/DYZEQYTP.js +2 -0
- package/dist/cdn/{H4N7VNL5.js → IZ56DC4L.js} +1 -1
- package/dist/cdn/{PGVLC374.js → LEV5ORDL.js} +1 -1
- package/dist/cdn/{6KSMVYBS.js → MCLO6ZVA.js} +1 -1
- package/dist/cdn/{CVAVY7R2.js → MNEK6V2R.js} +1 -1
- package/dist/cdn/{BJNYJCS5.js → NE4NTGQN.js} +1 -1
- package/dist/cdn/OTOQL3QM.js +3 -0
- package/dist/cdn/OU4HN5HN.js +2 -0
- package/dist/cdn/{LFQLCCJJ.js → RGVC76RW.js} +1 -1
- package/dist/cdn/{VBEZDXBV.js → TVCMA2R2.js} +1 -1
- package/dist/cdn/{DEPD7PJL.js → WB6PGHFS.js} +1 -1
- package/dist/cdn/{23CPLCYW.js → X5AOLYY5.js} +1 -1
- package/dist/cdn/agent-utils/index.js +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.en.json +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/dataExplorationAgent.js +1 -3
- package/dist/chunks/helpAgent.js +6 -8
- package/dist/chunks/navigationAgent.js +6 -8
- package/dist/components/arcgis-assistant/customElement.js +1 -1
- package/dist/components/arcgis-assistant-agent/customElement.js +105 -105
- package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +4 -2
- package/dist/components/arcgis-assistant-interrupt/customElement.js +49 -15
- package/dist/components/arcgis-assistant-interrupt/index.js +1 -1
- package/dist/components/arcgis-assistant-message-log/customElement.js +4 -4
- package/dist/components/arcgis-assistant-message-text/customElement.js +1 -1
- 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 +4 -4
- package/package.json +5 -5
- package/dist/cdn/6YRLY5TX.js +0 -2
- package/dist/cdn/BKAXFQIS.js +0 -2
- package/dist/cdn/CSTXLFCP.js +0 -2
- package/dist/cdn/F3CSORDI.js +0 -3
- package/dist/cdn/VJRJ2HAM.js +0 -3
package/dist/cdn/VJRJ2HAM.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{a as I}from"./5BBXNT75.js";import b from"./UZ6OAU3F.js";import{a as $}from"./434TAA3J.js";import{b as D}from"./5QXGQW2N.js";import{a as M}from"./JTKVVKZK.js";import"./NWJQ7KTC.js";import a from"./2NODROJN.js";import"./QZL4SAYR.js";import{g as P,h,k as A,l as C,n as u,t as w,u as E,v as T,x as v,z as L}from"./COH3QXWG.js";import"./R74ZHFA6.js";import"./V7Y22FRP.js";import"./AXTQU5YL.js";import"./LOQ2PKV5.js";import"./IYLFJCJ2.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([q,{whenOnce:B,watch:F,when:j},V,,O,,,H,{property:y,subclass:W},,{b:R}])=>{var G=P`: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 S(l){return l.trim()?I.lexer(l).filter(t=>t.type!=="space").map(t=>I.parser([t])):[]}var k=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(...S(t)),this._stableText=this._rawText),this._stableParts}getParts(){let t=this._trimIncompleteTail(this._rawText.slice(this._stableText.length)),e=t.trim()?S(t):[];return[...this._stableParts,...e]}reset(){this._stableParts=[],this._stableText="",this._rawText=""}_advanceStableBoundary(){let t=this._rawText.slice(this._stableText.length),e=this._lastSafeBoundary(t);if(e<=0)return;let s=t.slice(0,e);this._stableParts.push(...S(s)),this._stableText+=s}_lastSafeBoundary(t){let e=t.split(`
|
|
3
|
-
`),s=!1,i=0,r=0;for(let d of e)/^\s*(```|~~~)/u.test(d)&&(s=!s),r+=d.length+1,d.trim()===""&&!s&&(i=r);return i<t.length?i:0}_trimIncompleteTail(t){let e=t.lastIndexOf("<");if(e!==-1&&!t.includes(">",e))return t.slice(0,e);let s=this._earliestUnclosedTag(t);if(s!==-1)return t.slice(0,s);let i=t.lastIndexOf("[");if(i!==-1){let r=t.slice(i);if(!/\[[^\]]*\]\([^)]*\)/u.test(r))return t.slice(0,i)}return t}_earliestUnclosedTag(t){let e=new Set(["br","img","hr","input","meta","link","area","base","col","embed","source","track","wbr"]),s=/<(\/?)([a-zA-Z][\w-]*)\b[^>]*?(\/?)>/gu,i=[];for(let r=s.exec(t);r;r=s.exec(t)){let[,d,p,o]=r,c=p.toLowerCase();if(!(e.has(c)||o==="/"))if(d==="/"){for(let a=i.length-1;a>=0;a--)if(i[a].name===c){i.splice(a);break}}else i.push({name:c,index:r.index})}return i.length?i[0].index:-1}};function Z(l){let t=new k;return t.push(l),t.finalize()}var J=async l=>await new Promise(t=>setTimeout(t,l));async function*K(l,{chunkSize:t=15,delay:e=50}={}){let s=new k;for(let i=0;i<l.length;i+=t)yield s.push(l.slice(i,i+t)),await J(e);yield s.finalize()}var Q=Object.defineProperty,X=Object.getOwnPropertyDescriptor,_=(l,t,e,s)=>{for(var i=s>1?void 0:s?X(t,e):t,r=l.length-1,d;r>=0;r--)(d=l[r])&&(i=(s?d(t,e,i):d(i))||i);return s&&i&&Q(t,e,i),i},U=l=>!l||typeof l!="object"?!1:l.name==="AbortError";async function*z(l,t,e,s,i=!1){if(i){if(s?.aborted){yield{type:"cancelled",log:e,runId:t};return}yield{type:"block-data",blockType:"text",data:{parts:Z(l)},runId:t};return}for await(let r of K(l)){if(s?.aborted){yield{type:"cancelled",log:e,runId:t};return}yield{type:"block-data",blockType:"text",data:{parts:r},runId:t}}}var b=class extends H{constructor(l){super(l),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 R.init({agents:[...this.agents],runtimeEventsEnabled:this.runtimeEventsEnabled,view:this.view??void 0})),this.addHandles([F(()=>[this.view,this.agents],()=>{this._initialize()})])}clearChatHistory(){this.orchestrator?.newConversation()}async*ask(l,t,e){if(!this.orchestrator)throw new Error("Orchestrator not initialized yet.");this._set("processing",!0),this._set("processingStep","");let s=[],i,r="pending";try{let d=this.orchestrator.ask(l,t);for await(let p of d)switch(r=p.runId,p.type){case"runtime":{yield{type:"runtime",event:p,runId:r};break}case"trace":{this._set("processingStep",p.data.text),s.push(p.data.text);break}case"completed":{this._set("processing",!1),this._set("processingStep","");let o=p.result,c=!!o.content.length,a=!!i?.length;if(!c&&!a){yield{type:"completed",error:"No response received.",log:s,runId:r};return}let n=o.content;if(yield{type:"block-start",blockType:"text",runId:r},yield*z(n,r,s,e,this.streamingDisabled),yield{type:"block-end",blockType:"text",runId:r},a)for(let g of i){if(e?.aborted){yield{type:"cancelled",log:s,runId:r};return}let{type:m,data:f}=g;if(yield{type:"block-start",blockType:m,runId:r},m==="text"){let N=typeof f?.content=="string"?f.content:"";yield*z(N,r,s,e,this.streamingDisabled)}else yield{type:"block-data",blockType:m,data:f,runId:r};yield{type:"block-end",blockType:m,runId:r}}yield{type:"completed",response:n,blocks:i,log:s,runId:r};return}case"ux-suggestion":{let o=p.suggestion;i=i?[...i,o]:[o];break}case"interrupt":{let{kind:o,message:c,metadata:a}=p.interrupt,n=Array.isArray(a)?a.filter(m=>typeof m=="string"):[],g=(()=>{switch(o){case"booleanChoice":return{type:"boolean-choice",message:c,options:n};case"singleSelection":return{type:"single-select",message:c,options:n};case"multipleSelection":return{type:"multi-select",message:c,options:n};case"textInput":return{type:"text-input",message:c};default:return{type:o,message:c,options:n}}})();this._set("processingStep","Waiting for user input..."),yield{type:"interrupt",payload:g,runId:r};break}case"cancelled":{yield{type:"cancelled",log:s,runId:r};return}case"error":{if(e?.aborted||U(p.error)){yield{type:"cancelled",log:s,runId:r};return}yield{type:"completed",error:p.error.message,log:s,runId:r};return}default:{console.warn("Unknown event type:",p);break}}}catch(d){if(e?.aborted||U(d)){yield{type:"cancelled",log:s,runId:r};return}console.warn("Error during message processing:",d),yield{type:"completed",error:"An error occurred during message processing.",log:s,runId:"error"};return}finally{this._set("processing",!1)}}cancel(){this.orchestrator?.cancel()}};_([y({readOnly:!0})],b.prototype,"orchestrator",2);_([y()],b.prototype,"agents",2);_([y()],b.prototype,"portal",2);_([y()],b.prototype,"view",2);_([y()],b.prototype,"streamingDisabled",2);_([y()],b.prototype,"runtimeEventsEnabled",2);_([y({readOnly:!0})],b.prototype,"loading",2);_([y({readOnly:!0})],b.prototype,"processing",2);_([y({readOnly:!0})],b.prototype,"processingStep",2);b=_([W("OrchestratorController")],b);var Y="Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.",tt="Embeddings not found for this web map.",et="https://developers.arcgis.com/javascript/latest/agentic-apps/ai-webmap-setup/#embeddings",x=class extends T{constructor(){super(...arguments),this._messages=D({blocking:!0}),this.#t=w(),this.#o=w(),this.#i=w(),this.#e=null,this.#r=new Map,this.#s=V.getDefault(),this.#a=t=>{t.stopPropagation(),this.cancelInterrupt()},this.#n=t=>{t.stopPropagation();let e=t.detail;this.submitInterrupt(e)},this.#l=t=>{if(t.stopPropagation(),t.defaultPrevented)return;let e=t.detail,s=typeof e=="string"?e:e.prompt,i=typeof e=="string"?void 0:{displayText:e.displayText,parts:e.parts};if(!this.#b(s,i?.parts??[])){t.preventDefault();return}if(this.arcgisSubmit.emit(e).defaultPrevented){t.preventDefault();return}this.keepSuggestedPrompts||(this.suggestedPrompts=[]),this._inputValue="",this.submitMessage(s,i)},this.#c=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.#h=t=>{t.stopPropagation();let e=t.detail;this.arcgisFeedback.emit(e)},this.#d=t=>{t.stopPropagation();let e=t.detail;this._inputValue=e.prompt,this.arcgisPromptSelect.emit(e)},this.#u=t=>{this.arcgisSlottableRequest.emit(t.detail)},this._orchestratorController=null,this._interrupt=null,this._interruptDetails=[],this._error=null,this._submissionError=null,this._inputValue="",this._isAnswering=!1,this._canceling=!1,this.messages=new q([]),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=u(),this.arcgisError=u(),this.arcgisFeedback=u(),this.arcgisInterrupt=u(),this.arcgisInterruptCancel=u(),this.arcgisInterruptSubmit=u(),this.arcgisPromptSelect=u(),this.arcgisReady=u(),this.arcgisResponse=u(),this.arcgisRuntime=u({bubbles:!1,composed:!1}),this.arcgisSlottableRequest=u({bubbles:!1,composed:!1}),this.arcgisSubmit=u({cancelable:!0})}static{this.properties={_orchestratorController:16,_interrupt:16,_interruptDetails:16,_error:16,_submissionError: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,alwaysUseAgentId:1,allowedAgentIds:0,commandProvider:0,entityProviders:0,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=G}#t;#o;#i;#e;#r;#s;#a;#n;#l;#c;#h;#d;#u;get _isSignedIn(){return!!this.#s?.user||!!this._signedInUserId}get _user(){return this.#s?.user?.fullName||this.#s?.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.#g()}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,e){let s=t.trim(),i=e?.parts??[];if(!s&&!i.length||!this.#b(s,i)||(this.messages.push({id:Date.now().toString(),role:"user",content:e?.displayText?.trim()||s||i.map(o=>this.#_(o)).join(" "),parts:i}),!this._orchestratorController))return;this.#e=new AbortController,this._orchestratorController.streamingDisabled=this.streamingDisabled;let r=this.#m(i),d={...e?.parts?{inputParts:e.parts}:{},...r?{routing:"direct",agentId:r}:{routing:"auto",agentIds:this.allowedAgentIds}},p=this._orchestratorController.ask(s,d,this.#e?.signal);for await(let o of p){let c=o.runId,a=this.messages.at(-1);switch(o.type){case"runtime":this.arcgisRuntime.emit(o.event);break;case"block-start":{this._isAnswering=!0;let n={type:o.blockType,isPending:!0};if(a?.role==="assistant"&&a.id===c){let g=[...a.blocks??[],n];this.messages.splice(-1,1,{...a,blocks:g})}else this.messages.push({role:"assistant",blocks:[n],id:c,isStreaming:!0,interrupts:this._interruptDetails}),this._interruptDetails=[];break}case"block-data":{if(a?.role!=="assistant"||a?.id!==c)break;let n=[...a.blocks??[]],g=n[n.length-1],{blockType:m,data:f}=o;if(g?.type!==m||!g.isPending)break;m==="text"?n[n.length-1]={...g,data:{...g.data,parts:f?.parts}}:n[n.length-1]={...g,data:{...g.data,...f??{}}},this.messages.splice(-1,1,{...a,blocks:n});break}case"block-end":{if(a?.role!=="assistant"||a?.id!==c)break;let n=[...a.blocks??[]],g=n[n.length-1];if(g?.type!==o.blockType||!g.isPending)break;let m=g;n[n.length-1]={...m,data:{...m.data},isPending:!1},this.messages.splice(-1,1,{...a,blocks:n});break}case"completed":o.error?(this.messages.push({role:"assistant",log:o.log,error:o.error,id:c,interrupts:this._interruptDetails}),this._interruptDetails=[]):a?.role==="assistant"&&a.id===c&&this.messages.splice(-1,1,{...a,content:o.response,blocks:a.blocks?.map(n=>({...n,data:{...n.data},isPending:!1}))??[],isStreaming:!1,log:o.log}),this._isAnswering=!1,this.#e=null,this._canceling=!1;break;case"interrupt":this._interrupt={...o.payload,id:c},this.arcgisInterrupt.emit(this._interrupt);break;case"cancelled":a?.role==="assistant"&&a.id===c?this.messages.splice(-1,1,{...a,blocks:a.blocks?.filter(n=>n.type==="text"||!n.isPending)??[],isStreaming:!1,log:o.log,error:`(${this._messages.stoppedByUserLabel})`}):(this.messages.push({role:"assistant",log:o.log,error:`(${this._messages.stoppedByUserLabel})`,id:c,interrupts:this._interruptDetails}),this._interruptDetails=[]),this._isAnswering=!1,this.#e=null,this._canceling=!1;break}}}unregister(t){this.#r.delete(t),this._orchestratorController&&this.#g()}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.#l),this.#t.value?.addEventListener("arcgisCancel",this.#c),this.#t.value?.addEventListener("arcgisFeedback",this.#h);let t=j(()=>!!this._interrupt&&!!this.#i.value,()=>{let s=this.#i.value;s.removeEventListener("arcgisSubmit",this.#n),s.removeEventListener("arcgisCancel",this.#a),s.addEventListener("arcgisSubmit",this.#n,{once:!0}),s.addEventListener("arcgisCancel",this.#a,{once:!0})}),e=this.messages.on("after-add",s=>{let i=s.item;i.role==="assistant"&&(i.error||i.content)&&this.arcgisResponse.emit(i)});return queueMicrotask(()=>{this.#p()}),()=>{t.remove(),e.remove(),this.#t.value?.removeEventListener("arcgisPromptSelect",this.#d),this.#i.value?.removeEventListener("arcgisSubmit",this.#n),this.#i.value?.removeEventListener("arcgisCancel",this.#a),this.#t.value?.removeEventListener("arcgisSubmit",this.#l),this.#t.value?.removeEventListener("arcgisCancel",this.#c),this.#t.value?.removeEventListener("arcgisFeedback",this.#h),this._orchestratorController?.destroy(),this._orchestratorController=null}})}willUpdate(t){this.hasUpdated&&t.has("runtimeEventsEnabled")&&this._orchestratorController&&(this._orchestratorController.destroy(),this._orchestratorController=null,this.#p())}#_(t){return t.kind==="command"?`/${t.id}`:`${t.trigger}${t.id}`}#m(t){for(let e of t)if(e.kind==="command"&&e.agentId)return e.agentId;return this.alwaysUseAgentId}#b(t,e){let s=e.filter(i=>i.kind==="command").length>1;return this._submissionError=s?this._messages.multipleCommands:!t.trim()&&e.length>0&&!this.#m(e)?this._messages.partsOnlyRequiresAgent:null,this._submissionError?(this.arcgisError.emit(new Error(this._submissionError)),!1):!0}async#y(){await O.checkSignInStatus(this.#s.url);let t=await this.#s.load();if(!t.helperServices?.aiAssistantServices?.url)throw new Error(this._messages.serviceUrlNotAvailableMessage);let e=!1,s=await t.fetchSettings();if(s.aiConfig?e=s.aiConfig.aiForOrg?.enabled===!0&&s.aiConfig.aiForOrg?.aiCapabilities?.aiAgents?.enabled===!0:e=s.aiAssistantsEnabled===!0,!e)throw new Error(this._messages.aiAssistantsNotEnabledMessage);if(!t.isPortal&&t?.user?.privileges?.includes("portal:user:useAIAssistants")!==!0)throw new Error(this._messages.userPrivilegesNotSufficientMessage)}async#g(){try{this._error=null;let t=M(this.el,this.referenceElement);await t?.componentOnReady();let e=[...this.#r.values()];return e.length?(await this.#y(),this._orchestratorController?.destroy(),this._orchestratorController=new b({agents:e,portal:this.#s,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}}async#p(){await this.#g()?this.arcgisReady.emit():this._error&&this.arcgisError.emit(new Error(this._error))}_reset(){this._orchestratorController?.cancel(),this.#e?.abort(),this._interrupt=null,this.messages.removeAll(),this._error=null,this._submissionError=null,this._inputValue="",this._signedInUserId=void 0}_renderEntryMessage(){return this._isSignedIn?this._error?this._renderErrorNotice():this.entryMessage?this.messages.length>0?null:h`<calcite-notice open kind=brand closable icon width=full><div slot=message>${this.entryMessage}</div></calcite-notice>`:h`<slot name=entry-message></slot>`:this._renderSignInNotice()}_renderSignInNotice(){let t=this.#s;return h`<calcite-notice slot=entry-message open kind=brand icon width=full><div slot=message>${this._messages.signInRequiredMessage}</div>${t?h`<calcite-link slot=link @click=${async()=>{try{let e=await O.getCredential(`${t.url}/sharing`);this._signedInUserId=e.userId,this._error=null,this.requestUpdate(),await this.#p()}catch(e){this._error=e?.message??this._messages.signInErrorMessage,this.arcgisError.emit(new Error(this._error)),A("error",this,"Error signing in:",{detail:{error:e}})}}} target=_blank title=${this._messages.signInToArcGISOnlineLabel??v}>${this._messages.signInLabel}</calcite-link>`:h`<div slot=link>${this._messages.noPortalInformationMessage}</div>`}</calcite-notice>`}_renderErrorNotice(){return this._error?h`<calcite-notice slot=entry-message open kind=brand icon width=full>${this._error===Y?h`<div slot=message>${tt}</div><calcite-link slot=link .href=${et} target=_blank title=${this._messages.learnAboutWebMapEmbeddingsLabel??v}>${this._messages.readMoreLabel}</calcite-link>`:h`<div slot=message>${this._error}</div>`}</calcite-notice>`:null}render(){return h`<calcite-panel .loading=${!this._orchestratorController&&!this._error||this._orchestratorController?.loading} .heading=${this.heading??this._messages.assistantLabel} .description=${this.description} ${E(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"?h`<arcgis-assistant-message .message=${t} .feedbackEnabled=${this.feedbackEnabled} .logEnabled=${this.logEnabled} .copyEnabled=${this.copyEnabled} .readAloudEnabled=${this.readAloudEnabled} @arcgisSlottableRequest=${this.#u} .assistantAvatarEnabled=${this.assistantAvatarEnabled}>${t.blocks?.map((e,s)=>h`<slot name=${$(t.id,s)??v} slot=${$(t.id,s)??v}><arcgis-assistant-message-block .block=${e}></arcgis-assistant-message-block></slot>`)}</arcgis-assistant-message>`:h`<arcgis-assistant-user-message .message=${t} .user=${this._user} .userAvatarEnabled=${this.userAvatarEnabled}></arcgis-assistant-user-message>`)}</slot>${this._interrupt?h`<div slot=message-loading><div class="interrupt-waiting-message">${this._messages.waitingForUserInputMessage}</div></div>`:h`<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?h`<slot name=interrupt><arcgis-assistant-interrupt slot=content-bottom .type=${this._interrupt.type} .message=${this._interrupt.message} .options=${this._interrupt.options} ${E(this.#i)}></arcgis-assistant-interrupt></slot>`:this.suggestedPrompts?.length?h`<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()}${this._submissionError?h`<div role=alert>${this._submissionError}</div>`:null}<slot name=chat-entry><arcgis-assistant-chat-entry .awaitingResponse=${this.awaitingResponse||this._isAnswering} .commandProvider=${this.commandProvider} .entityProviders=${this.entityProviders} .inputValue=${this._inputValue} .messages=${this.messages} .voiceInputEnabled=${this.voiceInputEnabled} .disabled=${this._canceling||!this._isSignedIn||!!this._interrupt||!!this._error} ${E(this.#o)}><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.#o.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>`}};L("arcgis-assistant",x);return x},"core/Collection","core/reactiveUtils","portal/Portal","request","identity/IdentityManager","config","layers/FeatureLayer","core/Accessor","core/accessorSupport/decorators",a,b)
|