@arcgis/ai-components 5.1.0-next.128 → 5.1.0-next.129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/cdn/{TD74CJBJ.js → 32S235WW.js} +1 -1
  2. package/dist/cdn/{EXWMN5DL.js → 3352JWU3.js} +1 -1
  3. package/dist/cdn/{77BGZ52R.js → 43BXVTTX.js} +1 -1
  4. package/dist/cdn/{7J26XD64.js → 45WQFXC6.js} +1 -1
  5. package/dist/cdn/5BWAWCMA.js +2 -0
  6. package/dist/cdn/{PYVVZRRJ.js → 6HIZCLMG.js} +1 -1
  7. package/dist/cdn/6MS2XN27.js +2 -0
  8. package/dist/cdn/{J2F4YIQI.js → COFOUGFJ.js} +2 -2
  9. package/dist/cdn/CY2AOS7J.js +2 -0
  10. package/dist/cdn/DPCBYJAM.js +2 -0
  11. package/dist/cdn/{M2TPM3PB.js → DQIMHH5V.js} +1 -1
  12. package/dist/cdn/DXWRFET6.js +2 -0
  13. package/dist/cdn/{6VQVN4YZ.js → E4TOTVRI.js} +1 -1
  14. package/dist/cdn/{ZQEBDNNS.js → EX6NWXUF.js} +1 -1
  15. package/dist/cdn/F2QU4HAK.js +2 -0
  16. package/dist/cdn/H4ENPGSI.js +2 -0
  17. package/dist/cdn/{6QA7CIBO.js → HFQQORS4.js} +1 -1
  18. package/dist/cdn/HWSIV5DK.js +2 -0
  19. package/dist/cdn/{XLFCW5OF.js → IFB2ASIW.js} +1 -1
  20. package/dist/cdn/{KLIA4JYQ.js → LYJY5QUA.js} +1 -1
  21. package/dist/cdn/M7C6Y752.js +2 -0
  22. package/dist/cdn/{OLAGTBRO.js → MEM7FGVU.js} +1 -1
  23. package/dist/cdn/{MLQKBQSG.js → P5M2HNJ7.js} +1 -1
  24. package/dist/cdn/{QEYLJYK7.js → P7EGIU6K.js} +1 -1
  25. package/dist/cdn/{BWIVB2DN.js → PW4XPFSA.js} +1 -1
  26. package/dist/cdn/{M56MGI7M.js → SOCUKQVO.js} +1 -1
  27. package/dist/cdn/TOYQ22PR.js +2 -0
  28. package/dist/cdn/VVG5FDCY.js +2 -0
  29. package/dist/cdn/{4SZDSAFW.js → ZR5WU3UB.js} +1 -1
  30. package/dist/cdn/ZSLJX22Z.js +3 -0
  31. package/dist/cdn/index.js +1 -1
  32. package/dist/chunks/slottableRequestUtils.js +3 -7
  33. package/dist/components/arcgis-assistant/customElement.d.ts +15 -0
  34. package/dist/components/arcgis-assistant/customElement.js +227 -127
  35. package/dist/components/arcgis-assistant/index.js +2 -3
  36. package/dist/components/arcgis-assistant/types.d.ts +14 -1
  37. package/dist/components/arcgis-assistant-chat/customElement.d.ts +2 -1
  38. package/dist/components/arcgis-assistant-chat/customElement.js +7 -7
  39. package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +2 -0
  40. package/dist/components/arcgis-assistant-chat-entry/customElement.js +25 -18
  41. package/dist/components/arcgis-assistant-interrupt/customElement.js +13 -9
  42. package/dist/components/arcgis-assistant-interrupt-preview/customElement.js +20 -0
  43. package/dist/components/arcgis-assistant-interrupt-preview/index.js +2 -0
  44. package/dist/components/arcgis-assistant-message/customElement.d.ts +2 -0
  45. package/dist/components/arcgis-assistant-message/customElement.js +28 -26
  46. package/dist/components/arcgis-assistant-message/index.js +2 -0
  47. package/dist/components/arcgis-assistant-message-block/customElement.js +18 -11
  48. package/dist/components/arcgis-assistant-message-block/index.js +1 -0
  49. package/dist/components/arcgis-assistant-message-loading/customElement.d.ts +4 -0
  50. package/dist/components/arcgis-assistant-message-loading/customElement.js +8 -8
  51. package/dist/components/arcgis-assistant-message-loading/index.js +1 -0
  52. package/dist/components/arcgis-assistant-suggested-prompts/customElement.js +8 -8
  53. package/dist/components/arcgis-assistant-user-message/customElement.js +1 -1
  54. package/dist/docs/api.json +1 -1
  55. package/dist/docs/docs.json +1 -1
  56. package/dist/docs/vscode.html-custom-data.json +1 -1
  57. package/dist/docs/web-types.json +1 -1
  58. package/dist/loader.js +6 -5
  59. package/dist/types/lumina.d.ts +6 -5
  60. package/dist/types/preact.d.ts +6 -5
  61. package/dist/types/react.d.ts +6 -5
  62. package/dist/types/stencil.d.ts +6 -5
  63. package/package.json +4 -4
  64. package/dist/cdn/2TKDD7IY.js +0 -2
  65. package/dist/cdn/7Z6WK75Y.js +0 -3
  66. package/dist/cdn/ASFDOICU.js +0 -2
  67. package/dist/cdn/EUNEQNYC.js +0 -2
  68. package/dist/cdn/GHPDN2L7.js +0 -2
  69. package/dist/cdn/KDUG6AWZ.js +0 -2
  70. package/dist/cdn/MM4TFFXX.js +0 -2
  71. package/dist/cdn/RBLFCUDD.js +0 -2
  72. package/dist/cdn/SRNPZKME.js +0 -2
  73. package/dist/cdn/YGW7TUNX.js +0 -2
  74. package/dist/cdn/ZTRICLZY.js +0 -2
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import b from"./7UAGCI6W.js";import a from"./ZP3SG5OG.js";import{Fb as C,a as N,b as T}from"./V7BWJN43.js";import{a as L,c as R}from"./KLIA4JYQ.js";import"./MLQKBQSG.js";import"./YGW7TUNX.js";import{v as E,y as $}from"./J2F4YIQI.js";import"./CFDTXKJ6.js";export default $arcgis.t(([,,,,,,,,,,,,,,,{a:f,f:d,m:b,n:F},{a:_,b:v,c:x,d:I,e:A,f:M,g:Z,h:q,i:j,j:V,k:O,l:z,m:S,n:G,o:h,p:B}])=>{var w=[I,A,M,Z,q,j,V,O,z];async function H(e,t){let a=await S("navigation_tool_prompt"),{mapView:r}=x(t),l=r.map.bookmarks?.map(p=>p.name).filter(Boolean)??[],i=e.vectorSearchLayerResults?.length>0?e.vectorSearchLayerResults.map((p,W)=>`${W+1}. layerId=${p.id} | title=${p.title??""} | name=${p.name??""} | score=${p.score.toFixed(2)}`).join(`
2
+ import b from"./7UAGCI6W.js";import a from"./ZP3SG5OG.js";import{Fb as C,a as N,b as T}from"./V7BWJN43.js";import{a as L,c as R}from"./LYJY5QUA.js";import"./P5M2HNJ7.js";import"./TOYQ22PR.js";import{v as E,z as $}from"./COFOUGFJ.js";import"./CFDTXKJ6.js";export default $arcgis.t(([,,,,,,,,,,,,,,,{a:f,f:d,m:b,n:F},{a:_,b:v,c:x,d:I,e:A,f:M,g:Z,h:q,i:j,j:V,k:O,l:z,m:S,n:G,o:h,p:B}])=>{var w=[I,A,M,Z,q,j,V,O,z];async function H(e,t){let a=await S("navigation_tool_prompt"),{mapView:r}=x(t),l=r.map.bookmarks?.map(p=>p.name).filter(Boolean)??[],i=e.vectorSearchLayerResults?.length>0?e.vectorSearchLayerResults.map((p,W)=>`${W+1}. layerId=${p.id} | title=${p.title??""} | name=${p.name??""} | score=${p.score.toFixed(2)}`).join(`
3
3
  `):"",c=e.vectorSearchFieldResults?.length>0?JSON.stringify(e.vectorSearchFieldResults,null,2):"",n=e.intent==="goToBookmark"&&l.length?`Available bookmarks:
4
4
  ${l.map(p=>`- ${p}`).join(`
5
5
  `)}`:"",o=(e.intent==="goToLayer"||e.intent==="goToFeatures")&&e.vectorSearchLayerResults?.length?`Candidate layers:
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{b as r}from"./YGW7TUNX.js";function s(e,n){return n?typeof n=="string"?l(e,n)??null:n:r(e,"arcgis-map")??null}function c(e,n){return n?typeof n=="string"?l(e,n)??null:n:r(e,"arcgis-link-chart")??r(e,"arcgis-map")??null}function l(e,n){let i=n.includes("#")||n.includes(".")||n.includes("["),t=e.getRootNode();return(i?void 0:t.querySelector(`#${n}`))??t.querySelector(n)??void 0}export{s as a,c as b};
2
+ import{c as r}from"./TOYQ22PR.js";function s(e,n){return n?typeof n=="string"?l(e,n)??null:n:r(e,"arcgis-map")??null}function c(e,n){return n?typeof n=="string"?l(e,n)??null:n:r(e,"arcgis-link-chart")??r(e,"arcgis-map")??null}function l(e,n){let i=n.includes("#")||n.includes(".")||n.includes("["),t=e.getRootNode();return(i?void 0:t.querySelector(`#${n}`))??t.querySelector(n)??void 0}export{s as a,c as b};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as l}from"./XLFCW5OF.js";import"./M56MGI7M.js";import"./YGW7TUNX.js";import{g as a,h as e,k as o,t as i,u as n,v as r,y as c}from"./J2F4YIQI.js";import"./CFDTXKJ6.js";export default $arcgis.t(([{watch:d}])=>{var g=a`.container{display:flex;align-items:center;width:100%;justify-content:space-between;gap:var(--calcite-spacing-xs)}.start,.end{display:flex;align-items:center;gap:var(--calcite-spacing-xs)}`,t=class extends r{constructor(){super(...arguments),this._messages=l({blocking:!0}),this._endRef=i(),this._showLog=!1,this.feedbackEnabled=!1,this.logEnabled=!1,this.copyEnabled=!1,this.readAloudEnabled=!1}static{this.properties={_showLog:16,feedbackEnabled:5,logEnabled:5,copyEnabled:5,readAloudEnabled:5,message:0}}static{this.styles=g}loaded(){this.manager.onLifecycle(()=>[d(()=>this._showLog,()=>this._scrollToEnd())])}_scrollToEnd(){requestAnimationFrame(()=>{this._endRef.value?.scrollIntoView({behavior:"smooth",block:"end"})})}_renderCopyButton(){return!this.message?.error&&this.copyEnabled?e`<calcite-action id=action-copy icon=copy-to-clipboard scale=s @click=${async()=>{try{let s=this.message?.content?.trim();s&&await navigator.clipboard.writeText(s)}catch(s){o("warn","assistant-message-footer","Failed to copy text to clipboard",{once:!0,detail:{error:s}})}}} text></calcite-action><calcite-tooltip reference-element=action-copy overlay-positioning=fixed placement=bottom><span>${this._messages.copyButtonLabel}</span></calcite-tooltip>`:null}_renderLogButton(){return this.message?.log?.length&&this.logEnabled?e`<calcite-action id=action-log icon=access-string-results scale=s @click=${()=>this._showLog=!this._showLog} .text=${this._messages.logButtonLabel} .active=${this._showLog}></calcite-action><calcite-tooltip reference-element=action-log overlay-positioning=fixed placement=bottom><span>${this._messages.logButtonLabel}</span></calcite-tooltip>`:null}_renderReadAloudButton(){return e`<arcgis-assistant-message-read-aloud .message=${this.message} .readAloudEnabled=${this.readAloudEnabled}></arcgis-assistant-message-read-aloud>`}_renderLog(){return e`<arcgis-assistant-message-log .log=${this.message?.log} .showLog=${this._showLog} .logEnabled=${this.logEnabled}></arcgis-assistant-message-log>`}_renderFeedback(){return e`<arcgis-assistant-message-feedback .message=${this.message} .feedbackEnabled=${this.feedbackEnabled}></arcgis-assistant-message-feedback>`}render(){return e`${this._renderLog()}<div class="container"><div class="start">${this._renderCopyButton()}${this._renderLogButton()}${this._renderReadAloudButton()}<slot name=footer-actions-start></slot></div><div class="end"><slot name=footer-actions-end></slot>${this._renderFeedback()}</div></div><div ${n(this._endRef)}></div>`}};c("arcgis-assistant-message-footer",t);return t},"core/reactiveUtils")
2
+ import{a as l}from"./IFB2ASIW.js";import"./SOCUKQVO.js";import"./TOYQ22PR.js";import{g as a,h as e,k as o,t as i,u as n,v as r,z as c}from"./COFOUGFJ.js";import"./CFDTXKJ6.js";export default $arcgis.t(([{watch:d}])=>{var g=a`.container{display:flex;align-items:center;width:100%;justify-content:space-between;gap:var(--calcite-spacing-xs)}.start,.end{display:flex;align-items:center;gap:var(--calcite-spacing-xs)}`,t=class extends r{constructor(){super(...arguments),this._messages=l({blocking:!0}),this._endRef=i(),this._showLog=!1,this.feedbackEnabled=!1,this.logEnabled=!1,this.copyEnabled=!1,this.readAloudEnabled=!1}static{this.properties={_showLog:16,feedbackEnabled:5,logEnabled:5,copyEnabled:5,readAloudEnabled:5,message:0}}static{this.styles=g}loaded(){this.manager.onLifecycle(()=>[d(()=>this._showLog,()=>this._scrollToEnd())])}_scrollToEnd(){requestAnimationFrame(()=>{this._endRef.value?.scrollIntoView({behavior:"smooth",block:"end"})})}_renderCopyButton(){return!this.message?.error&&this.copyEnabled?e`<calcite-action id=action-copy icon=copy-to-clipboard scale=s @click=${async()=>{try{let s=this.message?.content?.trim();s&&await navigator.clipboard.writeText(s)}catch(s){o("warn","assistant-message-footer","Failed to copy text to clipboard",{once:!0,detail:{error:s}})}}} text></calcite-action><calcite-tooltip reference-element=action-copy overlay-positioning=fixed placement=bottom><span>${this._messages.copyButtonLabel}</span></calcite-tooltip>`:null}_renderLogButton(){return this.message?.log?.length&&this.logEnabled?e`<calcite-action id=action-log icon=access-string-results scale=s @click=${()=>this._showLog=!this._showLog} .text=${this._messages.logButtonLabel} .active=${this._showLog}></calcite-action><calcite-tooltip reference-element=action-log overlay-positioning=fixed placement=bottom><span>${this._messages.logButtonLabel}</span></calcite-tooltip>`:null}_renderReadAloudButton(){return e`<arcgis-assistant-message-read-aloud .message=${this.message} .readAloudEnabled=${this.readAloudEnabled}></arcgis-assistant-message-read-aloud>`}_renderLog(){return e`<arcgis-assistant-message-log .log=${this.message?.log} .showLog=${this._showLog} .logEnabled=${this.logEnabled}></arcgis-assistant-message-log>`}_renderFeedback(){return e`<arcgis-assistant-message-feedback .message=${this.message} .feedbackEnabled=${this.feedbackEnabled}></arcgis-assistant-message-feedback>`}render(){return e`${this._renderLog()}<div class="container"><div class="start">${this._renderCopyButton()}${this._renderLogButton()}${this._renderReadAloudButton()}<slot name=footer-actions-start></slot></div><div class="end"><slot name=footer-actions-end></slot>${this._renderFeedback()}</div></div><div ${n(this._endRef)}></div>`}};c("arcgis-assistant-message-footer",t);return t},"core/reactiveUtils")
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import b from"./7UAGCI6W.js";import a from"./ZP3SG5OG.js";import{Fb as f,a as h,b as l}from"./V7BWJN43.js";import{a as y,c as E}from"./KLIA4JYQ.js";import"./MLQKBQSG.js";import"./YGW7TUNX.js";import{v as u,y as d}from"./J2F4YIQI.js";import"./CFDTXKJ6.js";export default $arcgis.t(([,,,,,,,,,,,,,,,{f:p,n:x},{I:c,J:H,a:S,m:_,n:w,o:m,p:v}])=>{var C=[H],b=e=>{if(!e||e.size===0)return"No layers available in this map.";let t=Array.from(e.values()).map(({layerItem:o,fieldRegistry:a},s)=>{let r=Array.from(a.values()).map(n=>n.name).slice(0,10).join(", "),i=a.size>10?` (and ${a.size-10} more)`:"";return`${s+1}. "${o.title}". Description: ${o.description}
2
+ import b from"./7UAGCI6W.js";import a from"./ZP3SG5OG.js";import{Fb as f,a as h,b as l}from"./V7BWJN43.js";import{a as y,c as E}from"./LYJY5QUA.js";import"./P5M2HNJ7.js";import"./TOYQ22PR.js";import{v as u,z as d}from"./COFOUGFJ.js";import"./CFDTXKJ6.js";export default $arcgis.t(([,,,,,,,,,,,,,,,{f:p,n:x},{I:c,J:H,a:S,m:_,n:w,o:m,p:v}])=>{var C=[H],b=e=>{if(!e||e.size===0)return"No layers available in this map.";let t=Array.from(e.values()).map(({layerItem:o,fieldRegistry:a},s)=>{let r=Array.from(a.values()).map(n=>n.name).slice(0,10).join(", "),i=a.size>10?` (and ${a.size-10} more)`:"";return`${s+1}. "${o.title}". Description: ${o.description}
3
3
  Fields: ${r}${i}`}).join(`
4
4
 
5
5
  `);return`This map contains ${e.size} layer(s):
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as N,c as $}from"./YGW7TUNX.js";import{a as C,b as P,c as f,d as m,e as L,f as O,k as g,m as v,n as w,o as A}from"./J2F4YIQI.js";var _=t=>(...s)=>{let e=m(),r=new t(...s),o=r.exports;f(e.at(-1));let n=r.component.manager;n.W(r,o),r.watchExports(n.W.bind(n,r)),L(r);let a=[r.component,...e].reverse();return v(a,i=>i===void 0?void 0:S(r,i,o),o)},S=(t,{host:s,key:e,isReactive:r},o)=>{let n=s,a=n[e]!==t.exports,i=n[e]!==o,l=o!==t.exports;if(a&&!i&&l&&(n[e]=t.exports),s===t.component){if(r){let p=t.component.manager;i&&p.W(t,n[e]),t.onUpdate(u=>{if(u.has(e)){let x=n[e];x!==t.exports&&p.W(t,x)}})}t.O=r?void 0:e}let c=t.component.constructor.elementProperties.get(e)?.readOnly;t.watchExports(()=>{n[e]!==t.exports&&(c?O(()=>{n[e]=t.exports}):n[e]=t.exports)})};var U="ar,bg,bs,ca,cs,da,de,el,en,es,et,fi,fr,he,hr,hu,id,it,ja,ko,lt,lv,nl,nb,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sr,sv,th,tr,uk,vi,zh-CN,zh-HK,zh-TW".split(","),F=new Set(U),h="en",W={pt:"pt-BR",nb:"no",nn:"no",zh:"zh-CN"},K=async(t,s,e="")=>{let r=`${s}/${e}`,o=`${r}${t}.json`;return b[o]??(b[o]=j(t,r)),await b[o]},b={},j=async(t,s)=>{let e=`${s}${t}.json`;try{let r=await fetch(e);if(r.ok)return await r.json()}catch(r){return g("error","intl",`An unknown error occurred while fetching localization strings at ${e}`,{detail:{error:r}}),{}}return t===h?{}:await j(h,s)},E=t=>{let s=$(t,"lang",globalThis.navigator?.language||h);return{lang:s,t9nLocale:k(s)}},k=t=>{let[s,e]=t.split("-"),r=s.toLowerCase(),o=r;return e&&(o=`${r}-${e.toUpperCase()}`),o=W[o]??o,F.has(o)?o:e?k(r):h},D=(t,s,e,r)=>{let o,n=()=>R(t,s(),r).then(a=>{(o?.lang!==a.lang||o.t9nLocale!==a.t9nLocale||o.t9nStrings!==a.t9nStrings)&&e(a),o=a}).catch(a=>{g("error","intl","Error updating component locale state",{detail:{error:a}})});return queueMicrotask(n),N(t,["lang"],n)},R=async(t,s,e=t.localName.split("-").slice(1).join("-"))=>{let{lang:r,t9nLocale:o}=E(t),n=`${s}/${e}/t9n`,i=e===null?{}:await K(o,n,"messages.");return{lang:r,t9nLocale:o,t9nStrings:i}};var T=t=>q(void 0,t);var y=class extends A{constructor(s,e){super(s);let r=this.exports;try{P(this.component);let o=e(this.component,this),n=this.exports!==r;if(C(o)){n||this.setProvisionalExports(o);let a=o.then(i=>{this.exports=i,super.catchUpLifecycle()}).catch(i=>{this.P.reject(i)});this.onLoad(async()=>await a)}else(!n||o!==void 0)&&(this.exports=o),queueMicrotask(()=>super.catchUpLifecycle())}catch(o){this.P.reject(o)}}catchUpLifecycle(){}},q=_(y);var at=(t,s,e)=>T((r,o)=>{let n=s,a=w({bubbles:!1,composed:!1});return o.onUpdated(i=>{if(!n.some(c=>i.has(c)))return;let l=e(V(t,n,i)),d=e(V(t,n));l.forEach((c,p)=>{d.has(p)||a.emit({...c,data:void 0})}),d.forEach((c,p)=>{let u=l.get(p);(!u||!z(u,c))&&a.emit(c)})}),a});function V(t,s,e){let r={};return s.forEach(o=>{r[o]=e?.has(o)?e.get(o):t[o]}),r}function z(t,s){if(t===s)return!0;if(!t||!s||typeof t!="object"||typeof s!="object"||Array.isArray(t)||Array.isArray(s))return!1;let e=Object.entries(t),r=Object.entries(s);return e.length!==r.length?!1:e.every(([o,n])=>z(n,s[o]))}var it=t=>(s={})=>T((e,r)=>{let o=E(e.el),n={_lang:o.lang,_t9nLocale:o.t9nLocale,_loading:!0},a=e;r.onLifecycle(()=>D(e.el,()=>t("./assets"),({t9nLocale:l,t9nStrings:d,lang:c})=>{let p={...d,_lang:c,_t9nLocale:l,_loading:!1};r.exports=p;let u=d.componentLabel;typeof u=="string"&&"label"in e&&e.label==null&&(e.label??=u),i(a.messageOverrides)},s.name));let i=l=>{let d=r.exports,c=d._original??d,p=M(c,l);l&&(p._original=c),r.exports=p};return"messageOverrides"in a&&r.onUpdate(l=>{l.has("messageOverrides")&&i(a.messageOverrides)}),s.blocking?(r.setProvisionalExports(n,!1),r.ready):n}),M=(t,s)=>{if(!s)return t;let e={...t};return Object.entries(s).forEach(([r,o])=>{t[r]!==void 0&&(typeof o=="object"?e[r]=M(t[r],o):e[r]=o??t[r])}),e};export{at as a,it as b};
2
+ import{b as N,d as $}from"./TOYQ22PR.js";import{a as C,b as P,c as f,d as m,e as L,f as O,k as g,m as v,n as w,o as A}from"./COFOUGFJ.js";var _=t=>(...s)=>{let e=m(),r=new t(...s),o=r.exports;f(e.at(-1));let n=r.component.manager;n.W(r,o),r.watchExports(n.W.bind(n,r)),L(r);let a=[r.component,...e].reverse();return v(a,i=>i===void 0?void 0:S(r,i,o),o)},S=(t,{host:s,key:e,isReactive:r},o)=>{let n=s,a=n[e]!==t.exports,i=n[e]!==o,l=o!==t.exports;if(a&&!i&&l&&(n[e]=t.exports),s===t.component){if(r){let p=t.component.manager;i&&p.W(t,n[e]),t.onUpdate(u=>{if(u.has(e)){let x=n[e];x!==t.exports&&p.W(t,x)}})}t.O=r?void 0:e}let c=t.component.constructor.elementProperties.get(e)?.readOnly;t.watchExports(()=>{n[e]!==t.exports&&(c?O(()=>{n[e]=t.exports}):n[e]=t.exports)})};var U="ar,bg,bs,ca,cs,da,de,el,en,es,et,fi,fr,he,hr,hu,id,it,ja,ko,lt,lv,nl,nb,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sr,sv,th,tr,uk,vi,zh-CN,zh-HK,zh-TW".split(","),F=new Set(U),h="en",W={pt:"pt-BR",nb:"no",nn:"no",zh:"zh-CN"},K=async(t,s,e="")=>{let r=`${s}/${e}`,o=`${r}${t}.json`;return b[o]??(b[o]=j(t,r)),await b[o]},b={},j=async(t,s)=>{let e=`${s}${t}.json`;try{let r=await fetch(e);if(r.ok)return await r.json()}catch(r){return g("error","intl",`An unknown error occurred while fetching localization strings at ${e}`,{detail:{error:r}}),{}}return t===h?{}:await j(h,s)},E=t=>{let s=$(t,"lang",globalThis.navigator?.language||h);return{lang:s,t9nLocale:k(s)}},k=t=>{let[s,e]=t.split("-"),r=s.toLowerCase(),o=r;return e&&(o=`${r}-${e.toUpperCase()}`),o=W[o]??o,F.has(o)?o:e?k(r):h},D=(t,s,e,r)=>{let o,n=()=>R(t,s(),r).then(a=>{(o?.lang!==a.lang||o.t9nLocale!==a.t9nLocale||o.t9nStrings!==a.t9nStrings)&&e(a),o=a}).catch(a=>{g("error","intl","Error updating component locale state",{detail:{error:a}})});return queueMicrotask(n),N(t,["lang"],n)},R=async(t,s,e=t.localName.split("-").slice(1).join("-"))=>{let{lang:r,t9nLocale:o}=E(t),n=`${s}/${e}/t9n`,i=e===null?{}:await K(o,n,"messages.");return{lang:r,t9nLocale:o,t9nStrings:i}};var T=t=>q(void 0,t);var y=class extends A{constructor(s,e){super(s);let r=this.exports;try{P(this.component);let o=e(this.component,this),n=this.exports!==r;if(C(o)){n||this.setProvisionalExports(o);let a=o.then(i=>{this.exports=i,super.catchUpLifecycle()}).catch(i=>{this.P.reject(i)});this.onLoad(async()=>await a)}else(!n||o!==void 0)&&(this.exports=o),queueMicrotask(()=>super.catchUpLifecycle())}catch(o){this.P.reject(o)}}catchUpLifecycle(){}},q=_(y);var at=(t,s,e)=>T((r,o)=>{let n=s,a=w({bubbles:!1,composed:!1});return o.onUpdated(i=>{if(!n.some(c=>i.has(c)))return;let l=e(V(t,n,i)),d=e(V(t,n));l.forEach((c,p)=>{d.has(p)||a.emit({...c,data:void 0})}),d.forEach((c,p)=>{let u=l.get(p);(!u||!z(u,c))&&a.emit(c)})}),a});function V(t,s,e){let r={};return s.forEach(o=>{r[o]=e?.has(o)?e.get(o):t[o]}),r}function z(t,s){if(t===s)return!0;if(!t||!s||typeof t!="object"||typeof s!="object"||Array.isArray(t)||Array.isArray(s))return!1;let e=Object.entries(t),r=Object.entries(s);return e.length!==r.length?!1:e.every(([o,n])=>z(n,s[o]))}var it=t=>(s={})=>T((e,r)=>{let o=E(e.el),n={_lang:o.lang,_t9nLocale:o.t9nLocale,_loading:!0},a=e;r.onLifecycle(()=>D(e.el,()=>t("./assets"),({t9nLocale:l,t9nStrings:d,lang:c})=>{let p={...d,_lang:c,_t9nLocale:l,_loading:!1};r.exports=p;let u=d.componentLabel;typeof u=="string"&&"label"in e&&e.label==null&&(e.label??=u),i(a.messageOverrides)},s.name));let i=l=>{let d=r.exports,c=d._original??d,p=M(c,l);l&&(p._original=c),r.exports=p};return"messageOverrides"in a&&r.onUpdate(l=>{l.has("messageOverrides")&&i(a.messageOverrides)}),s.blocking?(r.setProvisionalExports(n,!1),r.ready):n}),M=(t,s)=>{if(!s)return t;let e={...t};return Object.entries(s).forEach(([r,o])=>{t[r]!==void 0&&(typeof o=="object"?e[r]=M(t[r],o):e[r]=o??t[r])}),e};export{at as a,it as b};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ var f=(...o)=>{let t=[];for(let s=0;s<o.length;++s){let n=o[s];if(typeof n=="string")t.push(n);else if(Array.isArray(n))t.push.apply(t,n);else if(typeof n=="object")for(let r in n)n[r]&&t.push(r)}let e=t.join(" ");return t.length=0,e},l=(o,t)=>{let e=o;for(;e;){if(e===t)return!0;if(!e.parentNode)return!1;e.parentNode instanceof ShadowRoot?e=e.parentNode.host:e=e.parentNode}return!1},m=(o,t,e)=>{let s=u(t).subscribe;return s(n=>{n.some(i=>l(o,i.target))&&e()})},c={},u=o=>{let t=o.join(","),e=c[t];if(e!==void 0)return e;let s=new Set,n=new MutationObserver(i=>s.forEach(a=>a(i)));globalThis.document&&n.observe(document.documentElement,{attributes:!0,attributeFilter:o,subtree:!0});let r={subscribe:i=>(s.add(i),()=>{s.delete(i),s.size===0&&(n.disconnect(),c[t]=void 0)})};return c[t]=r,r},d=(o,t)=>{let e=o;for(;e;){let s=e.closest?.(t);if(s)return s;let n=e.getRootNode?.();if(n===globalThis.document)return;e=n?.host}};var h=(o,t,e)=>d(o,`[${t}]`)?.getAttribute(t)??e;export{f as a,m as b,d as c,h as d};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{a as y}from"./IFB2ASIW.js";import"./SOCUKQVO.js";import{a as v}from"./TOYQ22PR.js";import{g as p,h as r,n as o,t as n,u as c,v as g,w as m,z as f}from"./COFOUGFJ.js";import"./CFDTXKJ6.js";export default $arcgis.t(([b])=>{var w=p`:host{--calcite-text-area-border-color: var(--calcite-color-border-1);--calcite-text-area-divider-color: var(--calcite-color-border-1);--calcite-text-area-corner-radius: var(--calcite-border-radius)}.input-container{display:flex;flex-direction:column}.footer-start{display:flex;gap:var(--calcite-spacing-md);flex-wrap:wrap;align-items:center}.footer-end{display:flex;gap:var(--calcite-spacing-md);align-items:center}.status-indicator{width:9px;height:9px;border-radius:100%;background-color:var(--calcite-color-status-success)}.status-indicator[data-status=working]{background-color:var(--calcite-color-status-warning)}.status-indicator[data-status=error]{background-color:var(--calcite-color-status-danger)}.status-text{text-transform:capitalize}.focused{--calcite-text-area-shadow: var(--calcite-shadow-sm)}`,l=class extends g{constructor(){super(...arguments),this.#s=n(),this.#a=n(),this.#t=-1,this.#e="",this.#i=t=>{t.stopPropagation();let s=t.detail;this._setDraftValue(s.value),s.focusInput&&this.#s.value&&this.#s.value.setFocus()},this.#r=t=>{let s=t.target.value??"";this.inputValue=s,this.#e=s},this._messages=y({blocking:!0}),this._inFocus=!1,this.keyboardShortcutsDisabled=!1,this.awaitingResponse=!1,this.inputValue="",this.voiceInputEnabled=!1,this.messages=new b([]),this.disabled=!1,this.arcgisCancel=o(),this.arcgisSubmit=o()}static{this.properties={_inFocus:16,_userMessages:16,keyboardShortcutsDisabled:5,entryPlaceholder:1,awaitingResponse:5,inputValue:1,status:1,voiceInputEnabled:5,messages:0,disabled:5}}static{this.styles=w}#s;#a;#t;#e;#i;#r;get _userMessages(){return this.messages.toArray().filter(t=>t.role==="user").map(({content:t})=>t)}async submitMessage(){if(this.awaitingResponse){this.arcgisCancel.emit();return}let t=this.inputValue.trim();t&&(this.arcgisSubmit.emit(t),this.inputValue="",this.#t=-1,this.#e="",this.#a.value?.clearDraftSession(),this.#s.value&&await this.#s.value.setFocus())}loaded(){this.manager.onLifecycle(()=>(this.el.addEventListener("arcgisVoiceInputDraftChange",this.#i),{remove:()=>{this.el.removeEventListener("arcgisVoiceInputDraftChange",this.#i)}}))}async _navigateHistory(t,s){let i=this.#s.value;if(!i)return;let e=this._userMessages;if(e.length===0)return;let u=i.value??"",h=i.shadowRoot?.querySelector("textarea"),a=h?.selectionStart,d=h?.selectionEnd;if(!(a==null||d==null)&&!(a!==d||t==="up"&&a!==0||t==="down"&&a!==u.length)){if(t==="up"){this.#t===-1?(this.#e=u,this.#t=e.length-1):this.#t=Math.max(0,this.#t-1),this.inputValue=e[this.#t]??"",s.preventDefault();return}this.#t!==-1&&(this.#t<e.length-1?(this.#t+=1,this.inputValue=e[this.#t]??""):(this.#t=-1,this.inputValue=this.#e),s.preventDefault())}}_setDraftValue(t){this.inputValue=t,this.#t=-1,this.#e=t}_onFocusIn(){this._inFocus=!0}_onFocusOut(){this._inFocus=!1}render(){return r`<div class="input-container"><calcite-text-area class=${m(v({focused:this._inFocus}))} .value=${this.inputValue} .placeholder=${this.entryPlaceholder??this._messages.entryPlaceholder} resize=vertical @calciteTextAreaInput=${this.#r} .disabled=${this.disabled} @keydown=${async t=>{t.altKey||t.ctrlKey||t.metaKey||t.shiftKey||this.keyboardShortcutsDisabled||(t.key==="Enter"?(t.preventDefault(),await this.submitMessage()):t.key==="ArrowUp"?await this._navigateHistory("up",t):t.key==="ArrowDown"&&await this._navigateHistory("down",t))}} @focusin=${this._onFocusIn} @focusout=${this._onFocusOut} ${c(this.#s)}><div slot=footer-start class="footer-start"><slot name=entry-actions-start></slot></div><div slot=footer-end class="footer-end">${this.voiceInputEnabled?r`<arcgis-assistant-speech-input .awaitingResponse=${this.awaitingResponse} .inputValue=${this.inputValue} ${c(this.#a)}></arcgis-assistant-speech-input>`:null}<slot name=entry-actions-end></slot></div></calcite-text-area></div>`}};f("arcgis-assistant-chat-entry",l);return l},"core/Collection")
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as g}from"./XLFCW5OF.js";import"./M56MGI7M.js";import"./YGW7TUNX.js";import{h as u,v as c,y as h}from"./J2F4YIQI.js";import"./CFDTXKJ6.js";export default $arcgis.t(([{watch:_},y,{property:m,subclass:f}])=>{var A=Object.defineProperty,S=Object.getOwnPropertyDescriptor,p=(e,s,i,a)=>{for(var r=a>1?void 0:a?S(s,i):s,t=e.length-1,n;t>=0;t--)(n=e[t])&&(r=(a?n(s,i,r):n(r))||r);return a&&r&&A(s,i,r),r};function l(){return typeof window>"u"?null:window}var o=class extends y{constructor(){super(...arguments),this._utterance=null,this.state="idle",this.supported=o.isSupported()}destroy(){this.stop(),super.destroy()}start(e){let s=e.trim(),i=l(),a=i?.SpeechSynthesisUtterance,r=i?.speechSynthesis;if(this._set("supported",o.isSupported(i)),!s||!a||!r)return;this.stop();let t=new a(s);t.rate=.9,t.pitch=1.1,t.volume=1,t.onend=()=>{this._utterance===t&&this._reset()},t.onerror=()=>{this._utterance===t&&this._reset()};try{r.speak(t),this._utterance=t,this._set("state","playing")}catch{t.onend=null,t.onerror=null,this._reset()}}stop(){let e=l(),s=e?.speechSynthesis;if(this._set("supported",o.isSupported(e)),s)try{(s.speaking||s.pending)&&s.cancel()}catch{}this._reset()}toggle(e){if(this.state==="playing"){this.stop();return}this.start(e)}static isSupported(e=l()){return!!e?.speechSynthesis&&typeof e.SpeechSynthesisUtterance=="function"}_reset(){this._utterance&&(this._utterance.onend=null,this._utterance.onerror=null),this._utterance=null,this._set("state","idle")}};p([m({readOnly:!0})],o.prototype,"state",2);p([m({readOnly:!0})],o.prototype,"supported",2);o=p([f("ReadAloudController")],o);var d=class extends c{constructor(){super(...arguments),this._messages=g({blocking:!0}),this._readAloudController=new o,this.readAloudEnabled=!1}static{this.properties={readAloudEnabled:5,message:0}}loaded(){this.manager.onLifecycle(()=>[_(()=>this._readAloudController.state,()=>this.requestUpdate(),{initial:!0}),{remove:()=>{this._readAloudController.stop()}}])}_toggleReadAloud(){this._readAloudController.toggle(this.message?.content??"")}render(){return this.readAloudEnabled&&!this.message?.error&&this.message?.content?.trim()&&this._readAloudController.supported?u`<calcite-action id=action-read-aloud .icon=${this._readAloudController.state==="playing"?"sound-off":"sound"} scale=s .active=${this._readAloudController.state==="playing"} @click=${()=>this._toggleReadAloud()} text></calcite-action><calcite-tooltip reference-element=action-read-aloud overlay-positioning=fixed placement=bottom><span>${this._readAloudController.state==="playing"?this._messages.stopReadingButtonLabel:this._messages.readAloudButtonLabel}</span></calcite-tooltip>`:null}};h("arcgis-assistant-message-read-aloud",d);return d},"core/reactiveUtils","core/Accessor","core/accessorSupport/decorators")
2
+ import{a as g}from"./IFB2ASIW.js";import"./SOCUKQVO.js";import"./TOYQ22PR.js";import{h as u,v as c,z as h}from"./COFOUGFJ.js";import"./CFDTXKJ6.js";export default $arcgis.t(([{watch:_},y,{property:m,subclass:f}])=>{var A=Object.defineProperty,S=Object.getOwnPropertyDescriptor,p=(e,s,i,a)=>{for(var r=a>1?void 0:a?S(s,i):s,t=e.length-1,n;t>=0;t--)(n=e[t])&&(r=(a?n(s,i,r):n(r))||r);return a&&r&&A(s,i,r),r};function l(){return typeof window>"u"?null:window}var o=class extends y{constructor(){super(...arguments),this._utterance=null,this.state="idle",this.supported=o.isSupported()}destroy(){this.stop(),super.destroy()}start(e){let s=e.trim(),i=l(),a=i?.SpeechSynthesisUtterance,r=i?.speechSynthesis;if(this._set("supported",o.isSupported(i)),!s||!a||!r)return;this.stop();let t=new a(s);t.rate=.9,t.pitch=1.1,t.volume=1,t.onend=()=>{this._utterance===t&&this._reset()},t.onerror=()=>{this._utterance===t&&this._reset()};try{r.speak(t),this._utterance=t,this._set("state","playing")}catch{t.onend=null,t.onerror=null,this._reset()}}stop(){let e=l(),s=e?.speechSynthesis;if(this._set("supported",o.isSupported(e)),s)try{(s.speaking||s.pending)&&s.cancel()}catch{}this._reset()}toggle(e){if(this.state==="playing"){this.stop();return}this.start(e)}static isSupported(e=l()){return!!e?.speechSynthesis&&typeof e.SpeechSynthesisUtterance=="function"}_reset(){this._utterance&&(this._utterance.onend=null,this._utterance.onerror=null),this._utterance=null,this._set("state","idle")}};p([m({readOnly:!0})],o.prototype,"state",2);p([m({readOnly:!0})],o.prototype,"supported",2);o=p([f("ReadAloudController")],o);var d=class extends c{constructor(){super(...arguments),this._messages=g({blocking:!0}),this._readAloudController=new o,this.readAloudEnabled=!1}static{this.properties={readAloudEnabled:5,message:0}}loaded(){this.manager.onLifecycle(()=>[_(()=>this._readAloudController.state,()=>this.requestUpdate(),{initial:!0}),{remove:()=>{this._readAloudController.stop()}}])}_toggleReadAloud(){this._readAloudController.toggle(this.message?.content??"")}render(){return this.readAloudEnabled&&!this.message?.error&&this.message?.content?.trim()&&this._readAloudController.supported?u`<calcite-action id=action-read-aloud .icon=${this._readAloudController.state==="playing"?"sound-off":"sound"} scale=s .active=${this._readAloudController.state==="playing"} @click=${()=>this._toggleReadAloud()} text></calcite-action><calcite-tooltip reference-element=action-read-aloud overlay-positioning=fixed placement=bottom><span>${this._readAloudController.state==="playing"?this._messages.stopReadingButtonLabel:this._messages.readAloudButtonLabel}</span></calcite-tooltip>`:null}};h("arcgis-assistant-message-read-aloud",d);return d},"core/reactiveUtils","core/Accessor","core/accessorSupport/decorators")
@@ -0,0 +1,3 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{a as I}from"./M7C6Y752.js";import{a as M}from"./IFB2ASIW.js";import"./SOCUKQVO.js";import a from"./ZP3SG5OG.js";import{Fb as T,Q as q,W as j,a as O,b as F,eb as H,u as W}from"./V7BWJN43.js";import{a as B}from"./P5M2HNJ7.js";import"./TOYQ22PR.js";import{g as A,h as g,l as L,n as p,t as v,u as E,v as P,x as S,z as D}from"./COFOUGFJ.js";import"./CFDTXKJ6.js";export default $arcgis.t(([xe,{whenOnce:Ie,watch:Ce,when:Re},$e,ee,te,X,se,re,Ae,,Le,{property:b,subclass:Pe},{b:N,e:z,f:y,h:x,i:U,j:V,k:G}])=>{var ie=async r=>{let e=await ne(),t=await N("default"),i=te.getDefault(),s=(await ee.getCredential(`${i.url}/sharing`)).token,a={type:"generateEmbeddings",webmapEmbeddings:r,auth:{apiUrl:t,token:s}};return e.postMessage(a),await new Promise((n,o)=>{let c=d=>{d.data==="completed"&&(e.removeEventListener("message",c),n())},l=d=>{e.removeEventListener("message",c),o(d instanceof Error?d:new Error("Embeddings worker error"))};e.addEventListener("message",c),e.addEventListener("error",l,{once:!0})}),e},ne=async()=>{{let r=(await import("./URYKQKFE.js")).default;return new r}},ae=r=>{r.currentIntent="none"},oe=async(r,e)=>{let t=x(e);if(r.agentExecutionContext.userRequest){let s=new j(r.agentExecutionContext.userRequest.trim());r.agentExecutionContext.messages=[...r.agentExecutionContext.messages,s],ae(r)}let i=t?.services.agentRegistry.list().map(s=>s.agent.id)??[];return await y({text:`Available agents: ${[...i].join(", ")}`},e),await y({text:"Analyzing user input"},e),r},ce=async(r,e)=>(await y({text:"Exiting..."},e),r),Q=r=>typeof r=="object"&&r!==null&&!Array.isArray(r),le=(r,e)=>{if(!Q(r)){r!==void 0&&console.warn(`Agent "${e}" returned invalid sharedStatePatch. Ignoring it.`);return}let t={};for(let[i,s]of Object.entries(r)){if(!Q(s)||!("value"in s)){console.warn(`Agent "${e}" returned invalid sharedStatePatch entry for key "${i}". Ignoring that entry.`);continue}t[i]={value:s.value}}return t},de=r=>{let{previousSharedState:e,patch:t,agentId:i}=r;if(!t)return e;let s=Date.now(),a={...e};for(let[n,o]of Object.entries(t))o?.value!==void 0&&(a[n]={value:o.value,meta:{updatedByAgentId:i,updatedAt:s}});return a},J=r=>typeof r!="string"?void 0:r.trim()||void 0,ge=r=>{switch(r){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."}},he=(r,e)=>{let t=J(e?.outputMessage),i=J(e?.summary),s=e?.status,a=s==="success"||s==="failed"?s:"unknown";a==="unknown"&&console.warn(`Agent "${r}" returned missing/invalid status. Defaulting to "unknown".`);let n=le(e?.sharedStatePatch,r);return{outputMessage:t,summary:i??t??ge(a),status:a,sharedStatePatch:n}},K=4e3,ue=async(r,e)=>{let t=x(e);if(t?.abortSignal?.aborted)return await y({text:"Run cancelled; skipping agent execution"},e),{...r,currentIntent:"none",requiresFollowUp:!1};let{agentRegistry:i}=t?.services??{},s=i?.get(r.currentIntent);if(!s)return console.warn(`No agent found for intent: ${r.currentIntent}`),r;await y({text:`Executing registered agent: ${s.agent.name}`},e);let a={...e??{},configurable:{...t??{},agentId:s.agent.id,context:s.getContext?await s.getContext():void 0}},n;try{let l=await s.agent.createGraph().compile().invoke({agentExecutionContext:{...r.agentExecutionContext,messages:[...r.agentExecutionContext.messages],priorSteps:structuredClone(r.agentExecutionContext.priorSteps??[]),sharedState:structuredClone(r.agentExecutionContext.sharedState??{})}},a);n=he(s.agent.name,l),await y({text:`Finished executing registered agent: ${s.agent.name}`},e)}catch(l){if(W(l))throw l;let d=l instanceof Error?l.message:String(l);console.error(`Agent "${s.agent.name}" failed:`,l),await y({text:`Registered agent failed: ${s.agent.name}. ${d}`},e),n={status:"failed",outputMessage:`Agent execution failed: ${d}`,summary:`Agent execution failed: ${d}`}}let o=n.outputMessage,c=[...r.agentExecutionContext.messages];if(o){let l=o.length>K?`${o.slice(0,K-14)}
3
+ [truncated]`:o;c.push(new q(l))}return{...r,stepCount:r.stepCount+1,lastExecutedAgent:s.agent.id,requiresFollowUp:n.status==="failed"?!0:r.requiresFollowUp,finalOutputMessage:o??"",agentExecutionContext:{...r.agentExecutionContext,messages:c,priorSteps:[...r.agentExecutionContext.priorSteps??[],{agentId:s.agent.id,assignedTask:r.agentExecutionContext.assignedTask,summary:n?.summary||"No summary provided.",status:n?.status||"unknown"}],sharedState:de({previousSharedState:r.agentExecutionContext.sharedState,patch:n.sharedStatePatch,agentId:s.agent.id})}}},pe=3,me=()=>new T(z).addNode("ingestInput",oe).addNode("intentLLM",V).addNode("executeRegisteredAgent",ue).addNode("exit",ce).addEdge(O,"ingestInput").addEdge("ingestInput","intentLLM").addConditionalEdges("intentLLM",r=>r.currentIntent==="none"||r.currentIntent===r.lastExecutedAgent?"exit":"executeRegisteredAgent").addConditionalEdges("executeRegisteredAgent",r=>r.stepCount>=pe||!r.requiresFollowUp?"exit":"intentLLM").addEdge("exit",F),C=class{constructor(){this.agentRegistry=new Map}register(e){let{agent:t}=e;if(this.agentRegistry.has(t.id))throw new Error(`Duplicate agent id: ${t.id}`);this.agentRegistry.set(t.id,e)}get(e){return this.agentRegistry.get(e)}list(){return[...this.agentRegistry.values()]}},R=class{constructor(e,t){this.graph=e,this.config={...t}}async waitForUser(){return await new Promise((e,t)=>{this.resolveWait=e,this.rejectWait=t})}handle(e,t){try{let i={agentId:e.agentId,id:e.id,payload:t},s=this.graph.streamEvents(null,{...this.config,configurable:{...this.config.configurable,hitlResponse:i},subgraphs:!0,version:"v2"});this.resolveWait?.(s)}catch(i){this.rejectWait?.(i)}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)}},ye=async r=>{try{return await(await U()).embedDocuments(r)}catch(e){throw console.error("Failed to generate embeddings:",e),e}},Y=async(r,e)=>{let t=e.get(r);if(t)return t;let i=await ye([r]);return e.set(r,i[0]),i[0]};async function we(r,e,t,i){let s=`req-${Date.now()}`,a={type:"layerSearch",precomputedEmbedding:i?await Y(r,i):void 0,requestId:s,minScore:t};return await new Promise(n=>{let o=c=>{c.data.requestId===s&&n(c.data.results)};e.addEventListener("message",o,{once:!0}),e.postMessage(a)})}function be(r){let{worker:e}=r;return{async searchLayers({text:t,minScore:i,embeddingCache:s}){return await we(t,e,i,s)}}}var fe=async({combinedQuery:r,layerIds:e,embeddingsWorker:t,minScore:i,topResults:s,embeddingCache:a})=>{let n=`req-${Date.now()}`,o=a?await Y(r,a):void 0,c={type:"fieldSearch",layerIdForFieldsSearch:e,precomputedEmbedding:o,requestId:n,minScore:i,topResults:s};return await new Promise(l=>{let d=h=>{if(h.data.requestId!==n)return;let u=h.data.results.map(({layerId:f,results:_})=>({layerId:f,results:_}));l(u)};t.addEventListener("message",d,{once:!0}),t.postMessage(c)})};function ve(r){let{worker:e}=r;return{async searchFields({text:t,layerIds:i,minScore:s,topResults:a,embeddingCache:n}){return await fe({combinedQuery:t,layerIds:i,embeddingsWorker:e,minScore:s,topResults:a,embeddingCache:n})}}}var Ee=r=>{let e=G.safeParse(r);if(!e.success)throw new Error("Embeddings response validation failed. Regenerate embeddings.");return e.data},ke=(r,e)=>{let t=new Map,i=new Map;if(e.allLayers.forEach(s=>{s instanceof se&&i.set(s.id,s)}),r.length!==i.size)throw new Error("Layer count mismatch during registry restoration. Regenerate embeddings.");for(let s of r){let a=i.get(s.id);if(!a)throw new Error(`Layer with ID ${s.id} not found in the original map during registry restoration. Regenerate embeddings.`);if(s.fields.length!==a.fields.length)throw new Error(`Field count mismatch for layer ID ${s.id} during registry restoration. Regenerate embeddings.`);let n={name:s.name,title:s.title,description:s.description},o=new Map;for(let c of s.fields){let l=a.fieldsIndex.get(c.name);if(!l)throw new Error(`Field with name ${c.name} not found in the original layer ${s.id} during registry restoration. Regenerate embeddings.`);o.set(c.name,{name:c.name,alias:a.getFieldAlias(c.name)??c.alias,description:c.description,type:l.type||"unknown",valueType:l.valueType||"unknown",domain:a.getFieldDomain(c.name)??void 0})}t.set(s.id,{layerItem:n,fieldRegistry:o})}return t},_e=async r=>{try{return(await re(r,{responseType:"json"})).data}catch(e){throw new Error(`Failed to fetch data from ${r}: ${String(e)}`)}},Se=async r=>{let e=r.map;if(!e?.portalItem)throw new Error("WebMap portal item is missing.");let{resources:t}=await e.portalItem.fetchResources(),i=t.find(a=>a.resource.path==="embeddings-v01.json");if(!i?.resource.url)throw new Error("Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.");let s=await _e(i.resource.url);return Ee(s)},k=class r{constructor(){this.orchestratorReady=!1,this.chatHistory=[],this.priorSteps=[],this.sharedState={},this.agentRegistry=new C,this.activeRunId="",this.cancelledRunIds=new Set,this.streamEpoch=0}static async init(e){let t=new r;try{if(e.view?.map){await X.whenOnce(()=>e.view.ready);let i=await Se(e.view),s=ke(i.layers,e.view.map);t.layersAndFieldsRegistry=s,t.embeddingsWorker=await ie(i)}return e.agents?.forEach(i=>{t.agentRegistry.register(i)}),t.orchestratorReady=!0,t}catch(i){throw console.error("Orchestrator initialization failed:",i),i}}async*ask(e){if(!this.orchestratorReady)throw new Error("Orchestrator is not ready yet.");if(!this.agentRegistry.list().length)throw new Error("Orchestrator has no registered agents.");if(++this.streamEpoch,!e.trim())return;let t=String(Date.now());this.activeRunId=t,this.activeAbortController=new AbortController,this.graph||(this.graph=me().compile({checkpointer:new H}));let i=this.embeddingsWorker?be({worker:this.embeddingsWorker}):void 0,s=this.embeddingsWorker?ve({worker:this.embeddingsWorker}):void 0,a=new Map,n={version:"v2",streamMode:"custom",configurable:{thread_id:t,abortSignal:this.activeAbortController.signal,hitlResponse:null,services:{layerSearch:i,fieldSearch:s,layersAndFieldsRegistry:this.layersAndFieldsRegistry,agentRegistry:this.agentRegistry,embeddingCache:a}},subgraphs:!0},o=this.graph?.streamEvents({agentExecutionContext:{userRequest:e,messages:this.chatHistory,priorSteps:this.priorSteps,sharedState:this.sharedState}},n),c=++this.streamEpoch;if(yield*this.pipeStream(o,c,t),this.isRunCancelled(t)){yield{runId:t,timestamp:Date.now(),type:"cancelled",reason:"user"};return}for(;;){if(this.isRunCancelled(t)){yield{runId:t,timestamp:Date.now(),type:"cancelled",reason:"user"};return}let d=(await this.graph.getState(n,{subgraphs:!0})).tasks.find(h=>h.interrupts.length>0)?.interrupts[0]?.value;if(!d)break;this.currentInterrupt=d,this.interruptHandler=new R(this.graph,n),yield{runId:t,timestamp:Date.now(),type:"interrupt",interrupt:d};try{let h=await this.interruptHandler.waitForUser(),u=++this.streamEpoch;yield*this.pipeStream(h,u,t)}catch(h){if(this.isRunCancelled(t)){yield{runId:t,timestamp:Date.now(),type:"cancelled",reason:"user"};return}if(h){yield{runId:t,timestamp:Date.now(),type:"error",error:{message:h?.message}};return}}}if(this.isRunCancelled(t)){yield{runId:t,timestamp:Date.now(),type:"cancelled",reason:"user"};return}let l=(await this.graph.getState(n,{subgraphs:!0})).values;if(this.isRunCancelled(t)){yield{runId:t,timestamp:Date.now(),type:"cancelled",reason:"user"};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:t,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,t,i){for await(let s of e){if(this.isRunCancelled(i)||t!==this.streamEpoch)break;s.event==="on_custom_event"&&s.name==="trace_message"?yield{runId:i,timestamp:Date.now(),type:"trace",data:s.data}:s.name==="graph_ux_suggestion"&&(yield{runId:i,timestamp:Date.now(),type:"ux-suggestion",suggestion:s.data})}}isRunCancelled(e){return this.cancelledRunIds.has(e)}dispose(){this.embeddingsWorker&&(this.embeddingsWorker.terminate(),this.embeddingsWorker=void 0),this.orchestratorReady=!1}};var De=A`: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)}`,Me=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor,w=(r,e,t,i)=>{for(var s=i>1?void 0:i?Oe(e,t):e,a=r.length-1,n;a>=0;a--)(n=r[a])&&(s=(i?n(e,t,s):n(s))||s);return i&&s&&Me(e,t,s),s},Fe=async r=>await new Promise(e=>setTimeout(e,r));async function*We(r,{chunkSize:e=5,delay:t=20}={}){let i=0;for(;i<r.length;)yield r.slice(i,i+e),i+=e,await Fe(t)}async function*Z(r,e,t,i){for await(let s of We(r)){if(i?.aborted){yield{type:"cancelled",log:t,runId:e};return}yield{type:"block-data",blockType:"text",data:{content:s},runId:e}}}var m=class extends Le{constructor(r){super(r),this.view=null,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 Ie(()=>!this.view.updating),this._set("orchestrator",await k.init({agents:[...this.agents],view:this.view??void 0})),this.addHandles([Ce(()=>[this.view,this.agents],()=>{this._initialize()})])}clearChatHistory(){this.orchestrator?.newConversation()}async*ask(r,e){if(!this.orchestrator)throw new Error("Orchestrator not initialized yet.");this._set("processing",!0),this._set("processingStep","");let t=[],i;try{let s=this.orchestrator.ask(r);for await(let a of s){let n=a.runId;switch(a.type){case"trace":{this._set("processingStep",a.data.text),t.push(a.data.text);break}case"completed":{this._set("processing",!1),this._set("processingStep","");let o=a.result,c=!!o.content.length,l=!!i?.length;if(!c&&!l){yield{type:"completed",error:"No response received.",log:t,runId:n};return}let d=o.content;if(yield{type:"block-start",blockType:"text",runId:n},yield*Z(d,n,t,e),yield{type:"block-end",blockType:"text",runId:n},l)for(let h of i){if(e?.aborted){yield{type:"cancelled",log:t,runId:n};return}let{type:u,data:f}=h;if(yield{type:"block-start",blockType:u,runId:n},u==="text"){let _=typeof f?.content=="string"?f.content:"";yield*Z(_,n,t,e)}else yield{type:"block-data",blockType:u,data:f,runId:n};yield{type:"block-end",blockType:u,runId:n}}yield{type:"completed",response:d,blocks:i,log:t,runId:n};return}case"ux-suggestion":{let o=a.suggestion;i=i?[...i,o]:[o];break}case"interrupt":{let{kind:o,message:c,metadata:l}=a.interrupt,d=Array.isArray(l)?l.filter(u=>typeof u=="string"):[],h=(()=>{switch(o){case"booleanChoice":return{type:"boolean-choice",message:c,options:d};case"singleSelection":return{type:"single-select",message:c,options:d};case"multipleSelection":return{type:"multi-select",message:c,options:d};case"textInput":return{type:"text-input",message:c};default:return{type:o,message:c,options:d}}})();this._set("processingStep","Waiting for user input..."),yield{type:"interrupt",payload:h,runId:n};break}case"cancelled":{yield{type:"cancelled",log:t,runId:n};return}case"error":{yield{type:"completed",error:a.error.message,log:t,runId:n};return}default:{console.warn("Unknown event type:",a);break}}}}catch(s){console.warn("Error during message processing:",s),yield{type:"completed",error:"An error occurred during message processing.",log:t,runId:"error"};return}finally{this._set("processing",!1)}}cancel(){this.orchestrator?.cancel()}};w([b({readOnly:!0})],m.prototype,"orchestrator",2);w([b()],m.prototype,"agents",2);w([b()],m.prototype,"portal",2);w([b()],m.prototype,"view",2);w([b({readOnly:!0})],m.prototype,"loading",2);w([b({readOnly:!0})],m.prototype,"processing",2);w([b({readOnly:!0})],m.prototype,"processingStep",2);m=w([Pe("OrchestratorController")],m);var qe="Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.",je="Embeddings not found for this web map.",He="https://developers.arcgis.com/javascript/latest/agentic-apps/ai-webmap-setup/#embeddings",$=class extends P{constructor(){super(...arguments),this._messages=M({blocking:!0}),this.#e=v(),this.#a=v(),this.#s=v(),this.#t=null,this.#o=new Map,this.#r=$e.getDefault(),this.#i=e=>{e.stopPropagation(),this.cancelInterrupt()},this.#n=e=>{e.stopPropagation();let t=e.detail;this.submitInterrupt(t)},this.#c=e=>{e.stopPropagation(),this.keepSuggestedPrompts||(this.suggestedPrompts=[]);let t=e.detail;this._inputValue="",this.arcgisSubmit.emit(t),this.submitMessage(t)},this.#l=e=>{if(this._canceling=!0,e.stopPropagation(),this.arcgisCancel.emit(),this._interrupt){this.orchestrator?.cancelInterrupt(),this._interrupt=null;return}this._orchestratorController?.cancel(),this.#t?.abort(),this.#t=null},this.#d=e=>{e.stopPropagation();let t=e.detail;this.arcgisFeedback.emit(t)},this.#g=e=>{e.stopPropagation();let t=e.detail;this._inputValue=t.prompt,this.arcgisPromptSelect.emit(t)},this.#h=e=>{this.arcgisSlottableRequest.emit(e.detail)},this._orchestratorController=null,this._interrupt=null,this._interruptDetails=[],this._error=null,this._inputValue="",this._isAnswering=!1,this._canceling=!1,this.messages=new xe([]),this.referenceElement=null,this.suggestedPrompts=[],this.feedbackEnabled=!1,this.keepSuggestedPrompts=!1,this.logEnabled=!1,this.copyEnabled=!1,this.voiceInputEnabled=!1,this.readAloudEnabled=!1,this.assistantAvatarEnabled=!1,this.arcgisCancel=p(),this.arcgisError=p(),this.arcgisFeedback=p(),this.arcgisInterrupt=p(),this.arcgisInterruptCancel=p(),this.arcgisInterruptSubmit=p(),this.arcgisPromptSelect=p(),this.arcgisReady=p(),this.arcgisSubmit=p(),this.arcgisSlottableRequest=p({bubbles:!1,composed:!1}),this.arcgisResponse=p()}static{this.properties={_orchestratorController:16,_interrupt:16,_interruptDetails:16,_error:16,_inputValue:16,_isAnswering:16,_canceling: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,logEnabled:5,copyEnabled:5,voiceInputEnabled:5,readAloudEnabled:5,assistantAvatarEnabled:5}}static{this.styles=De}#e;#a;#s;#t;#o;#r;#i;#n;#c;#l;#d;#g;#h;async#u(){try{let e=B(this.el,this.referenceElement);await e?.componentOnReady();let t=[...this.#o.values()];return t.length?(this._orchestratorController=new m({agents:t,portal:this.#r,view:e?.view}),await this._orchestratorController.load(),!0):(this._error="No agents found.",!1)}catch(e){return this._error=e?.message??"Error initializing orchestrator.",L(this)(e),!1}}get _user(){return this.#r?.user?.fullName||this.#r?.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}async clearChatHistory(){this._reset(),this._orchestratorController?.clearChatHistory()}cancelInterrupt(){this.arcgisInterruptCancel.emit(),this.orchestrator?.cancelInterrupt(),this._interrupt=null}register(e){this.#o.set(e.agent.id,e)}async submitMessage(e){let t=e.trim();if(!t||(this.messages.push({id:Date.now().toString(),role:"user",content:t}),!this._orchestratorController))return;this.#t=new AbortController;let i=this._orchestratorController.ask(t,this.#t?.signal);for await(let s of i){let a=s.runId,n=this.messages.at(-1);switch(s.type){case"block-start":{this._isAnswering=!0;let o={type:s.blockType,isPending:!0};if(n?.role==="assistant"&&n.id===a){let c=[...n.blocks??[],o];this.messages.splice(-1,1,{...n,blocks:c})}else this.messages.push({role:"assistant",blocks:[o],id:a,isStreaming:!0,interrupts:this._interruptDetails}),this._interruptDetails=[];break}case"block-data":{if(n?.role!=="assistant"||n?.id!==a)break;let o=[...n.blocks??[]],c=o[o.length-1],{blockType:l,data:d}=s;if(c?.type!==l||!c.isPending)break;if(l==="text"){let h=typeof c.data?.content=="string"?c.data.content:"",u=typeof d?.content=="string"?d.content:"";o[o.length-1]={...c,data:{...c.data,content:h+u}}}else o[o.length-1]={...c,data:{...c.data,...d??{}}};this.messages.splice(-1,1,{...n,blocks:o});break}case"block-end":{if(n?.role!=="assistant"||n?.id!==a)break;let o=[...n.blocks??[]],c=o[o.length-1];if(c?.type!==s.blockType||!c.isPending)break;let l=c;o[o.length-1]={...l,data:{...l.data},isPending:!1},this.messages.splice(-1,1,{...n,blocks:o});break}case"completed":s.error?(this.messages.push({role:"assistant",log:s.log,error:s.error,id:a,interrupts:this._interruptDetails}),this._interruptDetails=[]):n?.role==="assistant"&&n.id===a&&this.messages.splice(-1,1,{...n,content:s.response,blocks:n.blocks?.map(o=>({...o,isPending:!1}))??[],isStreaming:!1,log:s.log}),this._isAnswering=!1,this.#t=null,this._canceling=!1;break;case"interrupt":this._interrupt={...s.payload,id:a},this.arcgisInterrupt.emit(this._interrupt);break;case"cancelled":n?.role==="assistant"&&n.id===a?this.messages.splice(-1,1,{...n,blocks:n.blocks?.filter(o=>o.type==="text"||!o.isPending)??[],isStreaming:!1,log:s.log,error:"(Stopped by user)"}):(this.messages.push({role:"assistant",log:s.log,error:"(Stopped by user)",id:a,interrupts:this._interruptDetails}),this._interruptDetails=[]),this._isAnswering=!1,this.#t=null,this._canceling=!1;break}}}submitInterrupt(e){this.arcgisInterruptSubmit.emit(e),this._interrupt&&(this._interruptDetails=[...this._interruptDetails,{interrupt:this._interrupt,response:e}]),this.orchestrator?.resumeInterrupt(e),this._interrupt=null}load(){this.manager.onLifecycle(this._reset.bind(this))}loaded(){this.manager.onLifecycle(()=>{this.#e.value?.addEventListener("arcgisPromptSelect",this.#g),this.#e.value?.addEventListener("arcgisSubmit",this.#c),this.#e.value?.addEventListener("arcgisCancel",this.#l),this.#e.value?.addEventListener("arcgisFeedback",this.#d);let e=Re(()=>!!this._interrupt&&!!this.#s.value,()=>{let i=this.#s.value;i.removeEventListener("arcgisSubmit",this.#n),i.removeEventListener("arcgisCancel",this.#i),i.addEventListener("arcgisSubmit",this.#n,{once:!0}),i.addEventListener("arcgisCancel",this.#i,{once:!0})}),t=this.messages.on("after-add",i=>{let s=i.item;s.role==="assistant"&&(s.error||s.content)&&this.arcgisResponse.emit(s)});return queueMicrotask(()=>{this.#u().then(i=>{i?this.arcgisReady.emit():this._error&&this.arcgisError.emit(new Error(this._error))})}),()=>{e.remove(),t.remove(),this.#e.value?.removeEventListener("arcgisPromptSelect",this.#g),this.#s.value?.removeEventListener("arcgisSubmit",this.#n),this.#s.value?.removeEventListener("arcgisCancel",this.#i),this.#e.value?.removeEventListener("arcgisSubmit",this.#c),this.#e.value?.removeEventListener("arcgisCancel",this.#l),this.#e.value?.removeEventListener("arcgisFeedback",this.#d),this._orchestratorController?.destroy(),this._orchestratorController=null}})}_reset(){this._orchestratorController?.cancel(),this.#t?.abort(),this._interrupt=null,this.messages.removeAll(),this._error=null,this._inputValue=""}_renderEntryMessage(){return this._user?this._error?this._renderErrorNotice():this.entryMessage?this.messages.length>0?null:g`<calcite-notice open kind=brand closable icon width=full><div slot=message>${this.entryMessage}</div></calcite-notice>`:g`<slot name=entry-message></slot>`:this._renderSignInNotice()}_renderSignInNotice(){let e=this.#r;return g`<calcite-notice slot=entry-message open kind=brand icon width=full><div slot=message>You need to sign in to use the assistant chat.</div>${e?g`<calcite-link slot=link @click=${async()=>{try{await Ae.getCredential(e.url),this._error=null,await this.#u(),this.arcgisReady.emit()}catch(t){console.error("Error signing in:",t)}}} target=_blank title="Sign in to ArcGIS Online">Sign in</calcite-link>`:g`<div slot=link>No portal information available</div>`}</calcite-notice>`}_renderErrorNotice(){return this._error?g`<calcite-notice slot=entry-message open kind=brand icon width=full>${this._error===qe?g`<div slot=message>${je}</div><calcite-link slot=link .href=${He} target=_blank title="Learn about web map embeddings">Read more</calcite-link>`:g`<div slot=message>${this._error}</div>`}</calcite-notice>`:null}render(){return g`<calcite-panel .loading=${!this._orchestratorController&&!this._error||this._orchestratorController?.loading} .heading=${this.heading??this._messages.assistantLabel} .description=${this.description} ${E(this.#e)}><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(e=>e.role==="assistant"?g`<arcgis-assistant-message .message=${e} .feedbackEnabled=${this.feedbackEnabled} .logEnabled=${this.logEnabled} .copyEnabled=${this.copyEnabled} .readAloudEnabled=${this.readAloudEnabled} @arcgisSlottableRequest=${this.#h} .assistantAvatarEnabled=${this.assistantAvatarEnabled}>${e.blocks?.map((t,i)=>g`<slot name=${I(e.id,i)??S} slot=${I(e.id,i)??S}><arcgis-assistant-message-block .block=${t}></arcgis-assistant-message-block></slot>`)}</arcgis-assistant-message>`:g`<arcgis-assistant-user-message .message=${e} .user=${this._user}></arcgis-assistant-user-message>`)}</slot>${this._interrupt?g`<div slot=message-loading><div class="interrupt-waiting-message">waiting for user input...</div> // TODO: use t9n strings</div>`:g`<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?g`<arcgis-assistant-interrupt slot=content-bottom .type=${this._interrupt.type} .message=${this._interrupt.message} .options=${this._interrupt.options} ${E(this.#s)}></arcgis-assistant-interrupt>`:this.suggestedPrompts?.length?g`<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._user||!!this._interrupt} ${E(this.#a)}><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.#a.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>`}};D("arcgis-assistant",$);return $},"core/Collection","core/reactiveUtils","portal/Portal","identity/IdentityManager","portal/Portal","core/reactiveUtils","layers/FeatureLayer","request","identity/IdentityManager","layers/FeatureLayer","core/Accessor","core/accessorSupport/decorators",a)
package/dist/cdn/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{p as s,x as e}from"./J2F4YIQI.js";import"./CFDTXKJ6.js";var a=s(e,{"arcgis-assistant":[()=>import("./7Z6WK75Y.js"),"_messages:,awaitingResponse:,awaitingResponseStep:,copyEnabled,description,entryMessage,feedbackEnabled,heading,interrupt:,keepSuggestedPrompts,logEnabled,messages:,orchestrator:,readAloudEnabled,referenceElement,suggestedPrompts:,voiceInputEnabled;clearChatHistory,submitMessage;cancelInterrupt,register,submitInterrupt"],"arcgis-assistant-agent":[()=>import("./7J26XD64.js"),"agent:,context:;getContext"],"arcgis-assistant-data-exploration-agent":[()=>import("./TD74CJBJ.js"),"referenceElement;;getContext"],"arcgis-assistant-help-agent":[()=>import("./BWIVB2DN.js"),"referenceElement;;getContext"],"arcgis-assistant-knowledge-agent":[()=>import("./6VQVN4YZ.js"),"context:,referenceElement,serviceUrl;getContext"],"arcgis-assistant-layer-styling-agent":[()=>import("./ZQEBDNNS.js"),"referenceElement;;getContext"],"arcgis-assistant-navigation-agent":[()=>import("./OLAGTBRO.js"),"referenceElement;;getContext"],"arcgis-assistant-chat":[()=>import("./2TKDD7IY.js"),"loading,messages:"],"arcgis-assistant-chat-entry":[()=>import("./KDUG6AWZ.js"),"_messages:,awaitingResponse,entryPlaceholder,inputValue,keyboardShortcutsDisabled,messages:,status,voiceInputEnabled;submitMessage"],"arcgis-assistant-interrupt":[()=>import("./GHPDN2L7.js"),"_messages:,message,options:,type"],"arcgis-assistant-message":[()=>import("./MM4TFFXX.js"),"copyEnabled,feedbackEnabled,footerDisabled,logEnabled,message:,readAloudEnabled"],"arcgis-assistant-message-block":[()=>import("./ASFDOICU.js"),"block:"],"arcgis-assistant-message-feedback":[()=>import("./6QA7CIBO.js"),"_messages:,feedbackEnabled,message:"],"arcgis-assistant-message-footer":[()=>import("./QEYLJYK7.js"),"_messages:,copyEnabled,feedbackEnabled,logEnabled,message:,readAloudEnabled"],"arcgis-assistant-message-loading":[()=>import("./PYVVZRRJ.js"),"loading,loadingMessage"],"arcgis-assistant-message-log":[()=>import("./77BGZ52R.js"),"log:,logEnabled,showLog"],"arcgis-assistant-message-read-aloud":[()=>import("./4SZDSAFW.js"),"_messages:,message:,readAloudEnabled"],"arcgis-assistant-message-text":[()=>import("./M2TPM3PB.js"),"content"],"arcgis-assistant-speech-input":[()=>import("./RBLFCUDD.js"),"awaitingResponse,inputValue,language,mode;;clearDraftSession"],"arcgis-assistant-suggested-prompts":[()=>import("./ZTRICLZY.js"),"_messages:,label,prompts:"],"arcgis-assistant-user-message":[()=>import("./SRNPZKME.js"),"content,message:,user"]});a({resourcesUrl:import.meta.url});var t=new CSSStyleSheet;t.replaceSync("@layer{:not([hydrated]):is(arcgis-assistant,arcgis-assistant-agent,arcgis-assistant-data-exploration-agent,arcgis-assistant-help-agent,arcgis-assistant-knowledge-agent,arcgis-assistant-layer-styling-agent,arcgis-assistant-navigation-agent,arcgis-assistant-chat,arcgis-assistant-chat-entry,arcgis-assistant-interrupt,arcgis-assistant-message,arcgis-assistant-message-block,arcgis-assistant-message-feedback,arcgis-assistant-message-footer,arcgis-assistant-message-loading,arcgis-assistant-message-log,arcgis-assistant-message-read-aloud,arcgis-assistant-message-text,arcgis-assistant-speech-input,arcgis-assistant-suggested-prompts,arcgis-assistant-user-message){visibility:hidden}}");document.adoptedStyleSheets=[...document.adoptedStyleSheets,t];window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),((a,r)=>{a.t=(c,...x)=>Promise.all(x.map(x=>x.then?x:(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x))).then(c);r.p=a.t(([m])=>{r.t=m.trackAccess;r.o=m.createObservable;r.c=m.createTrackingTarget;r.r=m.runTracked},"applications/Components/reactiveUtils")})($arcgis,e)
2
+ import{p as s,y as e}from"./COFOUGFJ.js";import"./CFDTXKJ6.js";var a=s(e,{"arcgis-assistant":[()=>import("./ZSLJX22Z.js"),"_messages:,assistantAvatarEnabled,awaitingResponse:,awaitingResponseStep:,copyEnabled,description,entryMessage,feedbackEnabled,heading,interrupt:,keepSuggestedPrompts,logEnabled,messages:,orchestrator:,readAloudEnabled,referenceElement,suggestedPrompts:,voiceInputEnabled;clearChatHistory,submitMessage;cancelInterrupt,register,submitInterrupt"],"arcgis-assistant-agent":[()=>import("./45WQFXC6.js"),"agent:,context:;getContext"],"arcgis-assistant-data-exploration-agent":[()=>import("./32S235WW.js"),"referenceElement;;getContext"],"arcgis-assistant-help-agent":[()=>import("./PW4XPFSA.js"),"referenceElement;;getContext"],"arcgis-assistant-knowledge-agent":[()=>import("./E4TOTVRI.js"),"context:,referenceElement,serviceUrl;getContext"],"arcgis-assistant-layer-styling-agent":[()=>import("./EX6NWXUF.js"),"referenceElement;;getContext"],"arcgis-assistant-navigation-agent":[()=>import("./MEM7FGVU.js"),"referenceElement;;getContext"],"arcgis-assistant-chat":[()=>import("./H4ENPGSI.js"),"interrupt:,loading,messages:"],"arcgis-assistant-chat-entry":[()=>import("./VVG5FDCY.js"),"_messages:,awaitingResponse,disabled,entryPlaceholder,inputValue,keyboardShortcutsDisabled,messages:,status,voiceInputEnabled;submitMessage"],"arcgis-assistant-interrupt":[()=>import("./DXWRFET6.js"),"_messages:,message,options:,type"],"arcgis-assistant-interrupt-preview":[()=>import("./6MS2XN27.js"),"interrupts:"],"arcgis-assistant-message":[()=>import("./HWSIV5DK.js"),"assistantAvatarEnabled,copyEnabled,feedbackEnabled,footerDisabled,logEnabled,message:,readAloudEnabled"],"arcgis-assistant-message-block":[()=>import("./CY2AOS7J.js"),"block:"],"arcgis-assistant-message-feedback":[()=>import("./HFQQORS4.js"),"_messages:,feedbackEnabled,message:"],"arcgis-assistant-message-footer":[()=>import("./P7EGIU6K.js"),"_messages:,copyEnabled,feedbackEnabled,logEnabled,message:,readAloudEnabled"],"arcgis-assistant-message-loading":[()=>import("./6HIZCLMG.js"),"assistantAvatarEnabled,interrupts:,loading,loadingMessage"],"arcgis-assistant-message-log":[()=>import("./43BXVTTX.js"),"log:,logEnabled,showLog"],"arcgis-assistant-message-read-aloud":[()=>import("./ZR5WU3UB.js"),"_messages:,message:,readAloudEnabled"],"arcgis-assistant-message-text":[()=>import("./DQIMHH5V.js"),"content"],"arcgis-assistant-speech-input":[()=>import("./DPCBYJAM.js"),"awaitingResponse,inputValue,language,mode;;clearDraftSession"],"arcgis-assistant-suggested-prompts":[()=>import("./F2QU4HAK.js"),"_messages:,label,prompts:"],"arcgis-assistant-user-message":[()=>import("./5BWAWCMA.js"),"content,message:,user"]});a({resourcesUrl:import.meta.url});var t=new CSSStyleSheet;t.replaceSync("@layer{:not([hydrated]):is(arcgis-assistant,arcgis-assistant-agent,arcgis-assistant-data-exploration-agent,arcgis-assistant-help-agent,arcgis-assistant-knowledge-agent,arcgis-assistant-layer-styling-agent,arcgis-assistant-navigation-agent,arcgis-assistant-chat,arcgis-assistant-chat-entry,arcgis-assistant-interrupt,arcgis-assistant-message,arcgis-assistant-message-block,arcgis-assistant-message-feedback,arcgis-assistant-message-footer,arcgis-assistant-message-loading,arcgis-assistant-message-log,arcgis-assistant-message-read-aloud,arcgis-assistant-message-text,arcgis-assistant-speech-input,arcgis-assistant-suggested-prompts,arcgis-assistant-user-message){visibility:hidden}}");document.adoptedStyleSheets=[...document.adoptedStyleSheets,t];window.$arcgis||Object.defineProperty(window,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),((a,r)=>{a.t=(c,...x)=>Promise.all(x.map(x=>x.then?x:(!a?.forceESM&&a?.import||(x=>import(x+".js").then(m=>m.default??m)))("@arcgis/core/"+x))).then(c);r.p=a.t(([m])=>{r.t=m.trackAccess;r.o=m.createObservable;r.c=m.createTrackingTarget;r.r=m.runTracked},"applications/Components/reactiveUtils")})($arcgis,e)
@@ -1,11 +1,7 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- function a(e) {
3
- return `message-${e}`;
4
- }
5
- function o(e, t) {
6
- return `block-${e}-${t}`;
2
+ function e(o, t) {
3
+ return `block-${o}-${t}`;
7
4
  }
8
5
  export {
9
- o as a,
10
- a as g
6
+ e as g
11
7
  };
@@ -89,6 +89,13 @@ export abstract class ArcgisAssistant extends LitElement {
89
89
  stopButtonLabel: string;
90
90
  askButtonLabel: string;
91
91
  }>;
92
+ /**
93
+ * When `true`, disables the assistant avatar in the chat interface.
94
+ *
95
+ * @default false
96
+ * @since 5.1
97
+ */
98
+ accessor assistantAvatarEnabled: boolean;
92
99
  /**
93
100
  * Indicates whether the assistant is currently processing a user message.
94
101
  * This value is `true` while the assistant is generating a response and `false` when idle.
@@ -454,6 +461,13 @@ export abstract class ArcgisAssistant extends LitElement {
454
461
  * ```
455
462
  */
456
463
  readonly arcgisReady: import("@arcgis/lumina").TargetedEvent<this, void>;
464
+ /**
465
+ * Emitted when the assistant generates a response to a user message. The event detail includes an AssistantMessage object that contains the assistant's response,
466
+ * along with any relevant logs or errors. This allows app developers to capture the assistant's responses.
467
+ *
468
+ * @since 5.1
469
+ */
470
+ readonly arcgisResponse: import("@arcgis/lumina").TargetedEvent<this, AssistantMessage>;
457
471
  /**
458
472
  * Emitted when the assistant requests custom slotted content for an assistant message.
459
473
  *
@@ -508,6 +522,7 @@ export abstract class ArcgisAssistant extends LitElement {
508
522
  arcgisInterruptSubmit: ArcgisAssistant["arcgisInterruptSubmit"]["detail"];
509
523
  arcgisPromptSelect: ArcgisAssistant["arcgisPromptSelect"]["detail"];
510
524
  arcgisReady: ArcgisAssistant["arcgisReady"]["detail"];
525
+ arcgisResponse: ArcgisAssistant["arcgisResponse"]["detail"];
511
526
  arcgisSlottableRequest: ArcgisAssistant["arcgisSlottableRequest"]["detail"];
512
527
  arcgisSubmit: ArcgisAssistant["arcgisSubmit"]["detail"];
513
528
  };