@arcgis/portal-components 5.2.0-next.60 → 5.2.0-next.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cdn/2YI5PHJ6.js +2 -0
- package/dist/cdn/{25BWGJFT.js → 332KSPIN.js} +1 -1
- package/dist/cdn/5KADGOPQ.js +2 -0
- package/dist/cdn/6RLJVPF6.js +2 -0
- package/dist/cdn/CG4WYBHN.js +2 -0
- package/dist/cdn/{NMAP3FYP.js → DML7662F.js} +1 -1
- package/dist/cdn/{UL2NWFFH.js → EEELQMTE.js} +1 -1
- package/dist/cdn/{IXATTQKO.js → G2KWSRCG.js} +1 -1
- package/dist/cdn/JZTBGLFH.js +2 -0
- package/dist/cdn/{R2CAXYXG.js → KZVNGOD4.js} +99 -83
- package/dist/cdn/{5DE3XVTY.js → L2BME3WC.js} +1 -1
- package/dist/cdn/{UDTQ7U6L.js → LUT4IGPP.js} +1 -1
- package/dist/cdn/{IZOGASBD.js → PGCNY5GO.js} +1 -1
- package/dist/cdn/QCJQXOSH.js +2 -0
- package/dist/cdn/SOJU4OFZ.js +2 -0
- package/dist/cdn/{6LMJGR6F.js → WEJQVIN4.js} +1 -1
- package/dist/cdn/XW42SAEJ.js +2 -0
- package/dist/cdn/{THRK2DGY.js → ZK2VXTNX.js} +1 -1
- package/dist/cdn/{5VMPZXL3.js → ZXIRKL4X.js} +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/portal-navigation/apps/notebook.avif +0 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.en.json +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/portal-browser.js +0 -3
- package/dist/components/arcgis-portal-account-switcher/customElement.d.ts +3 -2
- package/dist/components/arcgis-portal-account-switcher/customElement.js +98 -92
- package/dist/components/arcgis-portal-ai-assistant/agents/types.d.ts +52 -16
- package/dist/components/arcgis-portal-ai-assistant/customElement.d.ts +28 -2
- package/dist/components/arcgis-portal-ai-assistant/customElement.js +1206 -673
- package/dist/components/arcgis-portal-browser/customElement.js +2 -5
- package/dist/components/arcgis-portal-browser/utils/store.d.ts +7 -3
- package/dist/components/arcgis-portal-classification-config/customElement.js +6 -6
- package/dist/components/arcgis-portal-group-browser/customElement.d.ts +174 -0
- package/dist/components/arcgis-portal-group-browser/customElement.js +66 -68
- package/dist/components/arcgis-portal-group-browser/types.d.ts +3 -3
- package/dist/components/arcgis-portal-navigation/customElement.d.ts +7 -0
- package/dist/components/arcgis-portal-navigation/customElement.js +422 -417
- package/dist/components/arcgis-portal-navigation/index.js +0 -2
- package/dist/components/portal-browser/components/portal-browser-filter/customElement.js +14 -0
- package/dist/components/{arcgis-portal-browser-filter → portal-browser/components/portal-browser-filter}/index.js +0 -1
- package/dist/components/portal-browser/components/portal-browser-filter-date/customElement.js +59 -0
- package/dist/components/{arcgis-portal-browser-filter-date → portal-browser/components/portal-browser-filter-date}/index.js +1 -2
- package/dist/components/portal-browser/components/portal-browser-filter-date/portal-browser-filter-date.d.ts +122 -0
- package/dist/components/portal-browser/components/portal-browser-filters/customElement.js +11 -0
- package/dist/components/portal-group-browser-filters/customElement.js +113 -86
- package/dist/components/portal-group-browser-filters/index.js +0 -3
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.css-custom-data.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +0 -24
- package/dist/loader.js +3 -6
- package/dist/types/lumina.d.ts +3 -19
- package/dist/types/preact.d.ts +3 -22
- package/dist/types/react.d.ts +3 -25
- package/dist/types/stencil.d.ts +3 -19
- package/package.json +4 -4
- package/dist/cdn/2YEGKG66.js +0 -2
- package/dist/cdn/3527GI5O.js +0 -2
- package/dist/cdn/3Y33UPZ6.js +0 -2
- package/dist/cdn/744FUP4K.js +0 -2
- package/dist/cdn/FGJNEKPQ.js +0 -2
- package/dist/cdn/HEA66RTI.js +0 -2
- package/dist/cdn/IQFYKVRG.js +0 -2
- package/dist/cdn/JPHGWARN.js +0 -2
- package/dist/cdn/JUNNQTQU.js +0 -2
- package/dist/cdn/MNU537SB.js +0 -2
- package/dist/cdn/XMUR4HRH.js +0 -2
- package/dist/cdn/XX4U6IRN.js +0 -2
- package/dist/cdn/Y3RUZTB3.js +0 -2
- package/dist/cdn/YIU7GBUN.js +0 -2
- package/dist/cdn/ZOEF7HBV.js +0 -2
- package/dist/components/arcgis-portal-browser-filter/customElement.d.ts +0 -226
- package/dist/components/arcgis-portal-browser-filter/customElement.js +0 -32
- package/dist/components/arcgis-portal-browser-filter/index.d.ts +0 -1
- package/dist/components/arcgis-portal-browser-filter-date/customElement.d.ts +0 -233
- package/dist/components/arcgis-portal-browser-filter-date/customElement.js +0 -118
- package/dist/components/arcgis-portal-browser-filter-date/index.d.ts +0 -1
- package/dist/components/arcgis-portal-browser-filters/customElement.d.ts +0 -7
- package/dist/components/arcgis-portal-browser-filters/customElement.js +0 -29
- package/dist/components/arcgis-portal-browser-filters/index.d.ts +0 -1
- /package/dist/cdn/{F3PB42AG.js → 4E65YWCP.js} +0 -0
- /package/dist/components/{arcgis-portal-browser-filters → portal-browser/components/portal-browser-filters}/index.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{$a as
|
|
2
|
+
import{$a as _,A as z,Ab as ya,B as A,Bb as za,C as B,Cb as Aa,D as C,E as D,F as E,Fb as Ba,G as F,Gb as Ca,H as G,Hb as Da,I as H,Ib as Ea,Jb as Fa,Ka as J,Kb as Ga,La as K,Lb as Ha,Ma as L,Mb as Ia,Na as M,Nb as Ja,Oa as N,Ob as Ka,Pa as O,Pb as La,Qa as P,Ra as Q,Sa as R,Ta as S,Ua as T,Va as U,Wa as V,Xa as W,Ya as X,Za as Y,_a as Z,a,ab as $,b,bb as aa,c,cb as ba,d,db as ca,e,eb as da,f,fb as ea,gb as fa,h as g,hb as ga,i as h,ib as ha,j as i,jb as ia,k as j,kb as ja,l as k,lb as ka,m as l,n as m,nb as la,o as n,ob as ma,p as o,pb as na,q as p,qb as oa,r as q,rb as pa,s as r,sb as qa,t as s,tb as ra,u as t,ub as sa,v as u,vb as ta,w as v,wb as ua,x as w,xb as va,y as x,yb as wa,z as y,za as I,zb as xa}from"./PGCNY5GO.js";import"./UZLQALHY.js";export{S as Annotation,O as AsyncBatchedStore,Q as BaseChannel,L as BaseCheckpointSaver,k as BaseLangGraphError,N as BaseStore,R as BinaryOperatorAggregate,d as COMMAND_SYMBOL,I as ChatModelStreamImpl,i as Command,e as CommandInstance,Ca as CompiledStateGraph,qa as DeltaChannel,ua as DeltaValue,b as END,B as EmptyChannelError,A as EmptyInputError,$ as EventLog,la as Graph,l as GraphBubbleUp,o as GraphDrained,q as GraphInterrupt,m as GraphRecursionError,ha as GraphRunStream,n as GraphValueError,c as INTERRUPT,P as InMemoryStore,C as InvalidUpdateError,M as MemorySaver,Da as MessageGraph,Ia as MessagesAnnotation,Aa as MessagesDeltaValue,za as MessagesValue,Ja as MessagesZodMeta,Ka as MessagesZodState,D as MultipleSubgraphsError,s as NodeError,r as NodeInterrupt,y as NodeTimeoutError,g as Overwrite,u as ParentCommand,wa as REMOVE_ALL_MESSAGES,sa as ReducedValue,F as RemoteException,X as RunControl,a as START,Y as STREAM_EVENTS_V3_MODES,f as Send,Ba as StateGraph,G as StateGraphInputError,va as StateSchema,$ as StreamChannel,ia as SubgraphRunStream,E as UnreachableNodeError,ta as UntrackedValue,ra as UntrackedValueChannel,xa as addMessages,_ as convertToProtocolEvent,K as copyCheckpoint,ja as createGraphRunStream,ba as createLifecycleTransformer,ca as createMessagesTransformer,ea as createSubgraphDiscoveryTransformer,fa as createValuesTransformer,J as emptyCheckpoint,Ga as entrypoint,aa as filterLifecycleEntries,da as filterSubgraphHandles,V as getConfig,W as getCurrentTaskInput,oa as getJsonSchemaFromSchema,Ha as getPreviousState,pa as getSchemaDefaultGetter,T as getStore,H as getSubgraphsSeenSet,U as getWriter,ka as interrupt,Z as isCheckpointEnvelope,j as isCommand,w as isGraphBubbleUp,p as isGraphDrained,x as isGraphInterrupt,h as isInterrupted,ga as isNativeTransformer,t as isNodeError,z as isNodeTimeoutError,v as isParentCommand,na as isSerializableSchema,ma as isStandardSchema,ya as messagesDeltaReducer,xa as messagesStateReducer,Ea as pushMessage,Fa as task,La as writer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import b from"./
|
|
2
|
+
import b from"./G2KWSRCG.js";import a from"./DALGPO36.js";import{a as e}from"./VMQIDO4Z.js";export default $arcgis.t(([i,{e:t},{a:n,b:o}])=>{async function y(s){let r=`${s.restUrl}/portals/${s.id}/approvedApps`;return await t(r,{query:{returnAllApps:!1}})}async function m(s){let r=`${s.restUrl}/portals/self/subscriptionInfo`,{result:a}=await t(r);return a?.orgCapabilities||[]}async function d(s){let r=`${s.restUrl}/portals/self/settings`,{result:a}=await t(r);return a}async function w(s){let r=`${s.restUrl}/portals/self/servers`;return(await t(r))?.result?.servers||[]}async function u(s){let r=`${s.restUrl}/portals/self/signinSettings`;return(await t(r)).result||{}}async function g(s){return s?.user?(await u(s))?.blockedApps||[]:[]}async function $(s){return(await n({requester:async()=>await i(`${e(s)}portals/self/userDefaultSettings`,{query:{f:"json"}}),key:"memberDefaults",id:s.id})).data}async function b(s){try{return{result:await n({requester:async()=>await o({url:`${e(s)}portals/self/resources/home.page.json`,portal:s}),key:"homePageConfig",id:s.id})}}catch{return{result:void 0}}}return{a:y,b:m,c:d,d:w,e:u,f:g,g:$,h:b}},"request",a,b)
|
|
@@ -448,4 +448,4 @@ data: ${JSON.stringify({message:String(n)})}
|
|
|
448
448
|
|
|
449
449
|
`))}finally{r.close()}}})}var UM=class{static subscribeTo(e,t){let{key:r,tags:n}={key:void 0,tags:void 0,...t??{}};if(Array.isArray(e)&&r!==void 0)throw new Error("Can't specify a key when subscribing to multiple channels");let i;return typeof e=="string"?r?i={[r]:e}:i=[e]:i=Object.fromEntries(e.map(a=>[a,a])),new $n({channels:i,triggers:Array.isArray(e)?e:[e],tags:n})}static writeTo(e,t){let r=[];for(let n of e)r.push({channel:n,value:Ir,skipNone:!1});for(let[n,i]of Object.entries(t??{}))se.isRunnable(i)||typeof i=="function"?r.push({channel:n,value:Ir,skipNone:!0,mapper:at(i)}):r.push({channel:n,value:i,skipNone:!1});return new ut(r)}},Q9=class extends se{lc_namespace=["langgraph","pregel"];invoke(e,t){throw new Error("Not implemented")}withConfig(e){return super.withConfig(e)}stream(e,t){return super.stream(e,t)}},Dh=class extends Q9{static lc_name(){return"LangGraph"}lc_namespace=["langgraph","pregel"];lg_is_pregel=!0;nodes;channels;inputChannels;outputChannels;autoValidate=!0;streamMode=["values"];streamChannels;interruptAfter;interruptBefore;stepTimeout;debug=!1;checkpointer;retryPolicy;config;store;cache;userInterrupt;streamTransformers;triggerToNodes={};constructor(e){super(e);let{streamMode:t}=e;if(t!=null&&!Array.isArray(t)&&(t=[t]),this.nodes=e.nodes,this.channels=e.channels,"__pregel_tasks"in this.channels&&"lc_graph_name"in this.channels.__pregel_tasks&&this.channels.__pregel_tasks.lc_graph_name!=="Topic")throw new Error(`Channel '${Rn}' is reserved and cannot be used in the graph.`);this.channels[Rn]=new AS({accumulate:!1}),this.autoValidate=e.autoValidate??this.autoValidate,this.streamMode=t??this.streamMode,this.inputChannels=e.inputChannels,this.outputChannels=e.outputChannels,this.streamChannels=e.streamChannels??this.streamChannels,this.interruptAfter=e.interruptAfter,this.interruptBefore=e.interruptBefore,this.stepTimeout=e.stepTimeout??this.stepTimeout,this.debug=e.debug??this.debug,this.checkpointer=e.checkpointer,this.retryPolicy=e.retryPolicy,this.config=e.config,this.store=e.store,this.cache=e.cache,this.name=e.name,this.triggerToNodes=e.triggerToNodes??this.triggerToNodes,this.userInterrupt=e.userInterrupt,this.streamTransformers=e.streamTransformers??[],this.autoValidate&&this.validate()}withConfig(e){let{streamTransformers:t,...r}=e,n=$t(this.config,r),i=[...this.streamTransformers,...t??[]];return new this.constructor({...this,config:n,streamTransformers:i})}validate(){DM({nodes:this.nodes,channels:this.channels,outputChannels:this.outputChannels,inputChannels:this.inputChannels,streamChannels:this.streamChannels,interruptAfterNodes:this.interruptAfter,interruptBeforeNodes:this.interruptBefore});for(let[e,t]of Object.entries(this.nodes))for(let r of t.triggers)this.triggerToNodes[r]??=[],this.triggerToNodes[r].push(e);return this}get streamChannelsList(){return Array.isArray(this.streamChannels)?this.streamChannels:this.streamChannels?[this.streamChannels]:Object.keys(this.channels)}get streamChannelsAsIs(){return this.streamChannels?this.streamChannels:Object.keys(this.channels)}async getGraphAsync(e){return this.getGraph(e)}*getSubgraphs(e,t){for(let[r,n]of Object.entries(this.nodes)){if(e!==void 0&&!e.startsWith(r))continue;let i=n.subgraphs?.length?n.subgraphs:[n.bound];for(let a of i){let o=Eh(a);if(o!==void 0){if(r===e){yield[r,o];return}if(e===void 0&&(yield[r,o]),t){let s=e;e!==void 0&&(s=e.slice(r.length+1));for(let[c,l]of o.getSubgraphs(s,t))yield[`${r}|${c}`,l]}}}}}async*getSubgraphsAsync(e,t){yield*this.getSubgraphs(e,t)}async _prepareStateSnapshot({config:e,saved:t,subgraphCheckpointer:r,applyPendingWrites:n=!1}){if(t===void 0)return{values:{},next:[],config:e,tasks:[]};let i=await $c(this.channels,t.checkpoint,{saver:typeof this.checkpointer=="object"?this.checkpointer:void 0,config:t.config??e});if(t.pendingWrites?.length){let d=t.pendingWrites.filter(([f,p])=>f===ir).map(([f,p,m])=>[String(p),m]);d.length>0&&hr(t.checkpoint,i,[{name:Pn,writes:d,triggers:[]}],void 0,this.triggerToNodes)}let a=Object.values(Ma(t.checkpoint,t.pendingWrites,this.nodes,i,t.config,!0,{step:(t.metadata?.step??-1)+1,store:this.store})),o=await kn(this.getSubgraphsAsync()),s=t.config.configurable?.checkpoint_ns??"",c={};for(let d of a){let f=o.find(([m])=>m===d.name);if(!f)continue;let p=`${String(d.name)}:${d.id}`;if(s&&(p=`${s}|${p}`),r===void 0){let m={configurable:{thread_id:t.config.configurable?.thread_id,checkpoint_ns:p}};c[d.id]=m}else{let m={configurable:{[Vr]:r,thread_id:t.config.configurable?.thread_id,checkpoint_ns:p}},h=f[1];c[d.id]=await h.getState(m,{subgraphs:!0})}}if(n&&t.pendingWrites?.length){let d=Object.fromEntries(a.map(p=>[p.id,p]));for(let[p,m,h]of t.pendingWrites)["__error__","__interrupt__",Ja].includes(m)||p in d&&d[p].writes.push([String(m),h]);let f=a.filter(p=>p.writes.length>0);f.length>0&&hr(t.checkpoint,i,f,void 0,this.triggerToNodes)}let l=t?.metadata;l&&t?.config?.configurable?.thread_id&&(l={...l,thread_id:t.config.configurable.thread_id});let u=a.filter(d=>d.writes.length===0).map(d=>d.name);return{values:En(i,this.streamChannelsAsIs),next:u,tasks:xS(a,t?.pendingWrites??[],c,this.streamChannelsAsIs),metadata:l,config:Na(t.config,t.metadata),createdAt:t.checkpoint.ts,parentConfig:t.parentConfig}}async getState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new Ga("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_read===void 0&&e.configurable?.__pregel_checkpointer===void 0){let o=mh(n);for await(let[s,c]of this.getSubgraphsAsync(o,!0))if(s===o)return await c.getState(Jo(e,{[Vr]:r}),{subgraphs:t?.subgraphs})}let i=$t(this.config,e),a=await r.getTuple(e);return await this._prepareStateSnapshot({config:i,saved:a,subgraphCheckpointer:t?.subgraphs?r:void 0,applyPendingWrites:!e.configurable?.checkpoint_id})}async*getStateHistory(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new Ga("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_checkpointer===void 0){let a=mh(n);for await(let[o,s]of this.getSubgraphsAsync(a,!0))if(o===a){yield*s.getStateHistory(Jo(e,{[Vr]:r}),t);return}}let i=$t(this.config,e,{configurable:{checkpoint_ns:n}});for await(let a of r.list(i,t))yield this._prepareStateSnapshot({config:a.config,saved:a})}async bulkUpdateState(e,t){let r=e.configurable?.__pregel_checkpointer??this.checkpointer;if(!r)throw new Ga("No checkpointer set",{lc_error_code:"MISSING_CHECKPOINTER"});if(t.length===0)throw new Error("No supersteps provided");if(t.some(o=>o.updates.length===0))throw new Error("No updates provided");let n=e.configurable?.checkpoint_ns??"";if(n!==""&&e.configurable?.__pregel_checkpointer===void 0){let o=mh(n);for await(let[,s]of this.getSubgraphsAsync(o,!0))return await s.bulkUpdateState(Jo(e,{[Vr]:r}),t);throw new Error(`Subgraph "${o}" not found`)}let i=async(o,s)=>{let c=this.config?$t(this.config,o):o,l=await r.getTuple(c),u=l!==void 0?wn(l.checkpoint):Go(),d={...l?.checkpoint.channel_versions},f=l?.metadata?.step??-1,p=Jo(c,{checkpoint_ns:c.configurable?.checkpoint_ns??""}),m=c.metadata??{};l?.config.configurable&&(p=Jo(c,l.config.configurable),m={...l.metadata,...m});let{values:h,asNode:_}=s[0];if(h==null&&_===void 0){if(s.length>1)throw new ve("Cannot create empty checkpoint with multiple updates");return Na(await r.put(p,xn(u,void 0,f),{source:"update",step:f+1,parents:l?.metadata?.parents??{}},{}),l?l.metadata:void 0)}let y=await $c(this.channels,u,{saver:r,config:l?.config??p});if(h===null&&_==="__end__"){if(s.length>1)throw new ve("Cannot apply multiple updates when clearing state");if(l){let C=Ma(u,l.pendingWrites||[],this.nodes,y,l.config,!0,{step:(l.metadata?.step??-1)+1,checkpointer:r,store:this.store}),b=(l.pendingWrites||[]).filter(B=>B[0]===ir).map(B=>B.slice(1));b.length>0&&hr(u,y,[{name:Pn,writes:b,triggers:[]}],r.getNextVersion.bind(r),this.triggerToNodes);for(let[B,L,q]of l.pendingWrites||[])["__error__","__interrupt__",Ja].includes(L)||B in C&&C[B].writes.push([L,q]);hr(u,y,Object.values(C),r.getNextVersion.bind(r),this.triggerToNodes)}return Na(await r.put(p,xn(u,y,f),{...m,source:"update",step:f+1,parents:l?.metadata?.parents??{}},Pc(d,u.channel_versions)),l?l.metadata:void 0)}if(_==="__copy__"){if(s.length>1)throw new ve("Cannot copy checkpoint with multiple updates");if(l==null)throw new ve("Cannot copy a non-existent checkpoint");let C=L=>!Array.isArray(L)||L.length===0?!1:L.every(q=>Array.isArray(q)&&q.length===2),b=xn(u,void 0,f),B=await r.put(l.parentConfig??Jo(l.config,{checkpoint_id:void 0}),b,{source:"fork",step:f+1,parents:l.metadata?.parents??{}},{});if(C(h)){let L=Ma(b,l.pendingWrites,this.nodes,y,B,!1,{step:f+2}),q=Object.values(L).reduce((Se,{name:Oe,id:mt})=>(Se[Oe]??=[],Se[Oe].push({id:mt}),Se),{}),ae=h.reduce((Se,Oe)=>{let[mt,ye]=Oe;Se[ye]??=[];let V=Se[ye].length,Y=q[ye]?.[V]?.id;return Se[ye].push({values:mt,asNode:ye,taskId:Y}),Se},{});return i(Na(B,l.metadata),Object.values(ae).flat())}return Na(B,l.metadata)}if(_==="__input__"){if(s.length>1)throw new ve("Cannot apply multiple updates when updating as input");let C=await kn(Ih(this.inputChannels,h));if(C.length===0)throw new ve(`Received no input writes for ${JSON.stringify(this.inputChannels,null,2)}`);hr(u,y,[{name:Pn,writes:C,triggers:[]}],r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let b=l?.metadata?.step!=null?l.metadata.step+1:-1,B=await r.put(p,xn(u,y,b),{source:"input",step:b,parents:l?.metadata?.parents??{}},Pc(d,u.channel_versions));return await r.putWrites(B,C,Mn(Pn,u.id)),Na(B,l?l.metadata:void 0)}if(c.configurable?.checkpoint_id===void 0&&l?.pendingWrites!==void 0&&l.pendingWrites.length>0){let C=Ma(u,l.pendingWrites,this.nodes,y,l.config,!0,{store:this.store,checkpointer:this.checkpointer,step:(l.metadata?.step??-1)+1}),b=(l.pendingWrites??[]).filter(L=>L[0]===ir).map(L=>L.slice(1));b.length>0&&hr(l.checkpoint,y,[{name:Pn,writes:b,triggers:[]}],void 0,this.triggerToNodes);for(let[L,q,ae]of l.pendingWrites)["__error__","__interrupt__",Ja].includes(q)||C[L]===void 0||C[L].writes.push([q,ae]);let B=Object.values(C).filter(L=>L.writes.length>0);B.length>0&&hr(u,y,B,void 0,this.triggerToNodes)}let w=Object.values(u.versions_seen).map(C=>Object.values(C)).flat().find(C=>!!C),x=[];if(s.length===1){let{values:C,asNode:b,taskId:B}=s[0];if(b===void 0&&Object.keys(this.nodes).length===1)[b]=Object.keys(this.nodes);else if(b===void 0&&w===void 0)typeof this.inputChannels=="string"&&this.nodes[this.inputChannels]!==void 0&&(b=this.inputChannels);else if(b===void 0){let L=Object.entries(u.versions_seen).map(([q,ae])=>Object.values(ae).map(Se=>[Se,q])).flat().filter(([q,ae])=>ae!==Le).sort(([q],[ae])=>ah(q,ae));L&&(L.length===1?b=L[0][1]:L[L.length-1][0]!==L[L.length-2][0]&&(b=L[L.length-1][1]))}if(b===void 0)throw new ve('Ambiguous update, specify "asNode"');x.push({values:C,asNode:b,taskId:B})}else for(let{asNode:C,values:b,taskId:B}of s){if(C==null)throw new ve('"asNode" is required when applying multiple updates');x.push({values:b,asNode:C,taskId:B})}let S=[];for(let{asNode:C,values:b,taskId:B}of x){if(this.nodes[C]===void 0)throw new ve(`Node "${C.toString()}" does not exist`);let L=this.nodes[C].getWriters();if(!L.length)throw new ve(`No writers found for node "${C.toString()}"`);S.push({name:C,input:b,proc:L.length>1?Lr.from(L,{omitSequenceTags:!0}):L[0],writes:[],triggers:[Le],id:B??Mn("__interrupt__",u.id),writers:[]})}for(let C of S)await C.proc.invoke(C.input,Ee({...c,store:c?.store??this.store},{runName:c.runName??`${this.getName()}UpdateState`,configurable:{[Ft]:b=>C.writes.push(...b),[er]:(b,B=!1)=>Nc(u,y,C,b,B)}}));for(let C of S){let b=C.writes.filter(B=>B[0]!==nr);l!==void 0&&b.length>0&&await r.putWrites(p,b,C.id)}hr(u,y,S,r.getNextVersion.bind(this.checkpointer),this.triggerToNodes);let $=Pc(d,u.channel_versions),P=await r.put(p,xn(u,y,f+1),{source:"update",step:f+1,parents:l?.metadata?.parents??{}},$);for(let C of S){let b=C.writes.filter(B=>B[0]===nr);b.length>0&&await r.putWrites(P,b,C.id)}return Na(P,l?l.metadata:void 0)},a=e;for(let{updates:o}of t)a=await i(a,o);return a}async updateState(e,t,r){return this.bulkUpdateState(e,[{updates:[{values:t,asNode:r}]}])}_defaults(e){let{debug:t,streamMode:r,inputKeys:n,outputKeys:i,interruptAfter:a,interruptBefore:o,...s}=e,c=!0,l=t!==void 0?t:this.debug,u=i;u===void 0?u=this.streamChannelsAsIs:CS(u,this.channels);let d=n;d===void 0?d=this.inputChannels:CS(d,this.channels);let f=o??this.interruptBefore??[],p=a??this.interruptAfter??[],m;r!==void 0?(m=Array.isArray(r)?r:[r],c=typeof r=="string"):(e.configurable?.__pregel_task_id!==void 0?m=["values"]:m=this.streamMode,c=!0);let h;if(this.checkpointer===!1)h=void 0;else if(e!==void 0&&e.configurable?.__pregel_checkpointer!==void 0)h=e.configurable[Vr];else{if(this.checkpointer===!0)throw new Error("checkpointer: true cannot be used for root graphs.");h=this.checkpointer}let _=e.store??this.store,y=e.cache??this.cache;if(e.durability!=null&&e.checkpointDuring!=null)throw new Error("Cannot use both `durability` and `checkpointDuring` at the same time.");let w=(()=>{if(e.checkpointDuring!=null)return e.checkpointDuring===!1?"exit":"async"})(),x=e.durability??w??e?.configurable?.__pregel_durability??"async";return[l,m,d,u,s,f,p,h,_,c,y,x]}async stream(e,t){let r=new AbortController,n=ph()?.configurable;n?.__pregel_read!==void 0&&t?.configurable?.__pregel_read===void 0&&(t={...t,configurable:{...n,...t?.configurable}});let i={recursionLimit:this.config?.recursionLimit,...t,signal:Ra(t?.signal,r.signal).signal},a=await super.stream(e,i);return new Rh(t?.encoding==="text/event-stream"?SM(a):a,r)}async#e(e,t){let{version:r,encoding:n,transformers:i,...a}=t,o={recursionLimit:this.config?.recursionLimit,...a,configurable:{...this.config?.configurable,...a?.configurable},version:r,streamMode:tS,subgraphs:!0,encoding:void 0},s=this.stream(e,o),c=fS({[Symbol.asyncIterator]:async function*(){let l=await s;for await(let u of l)yield u}},[...this.streamTransformers??[],...i??[]]);if(n==="text/event-stream"){let l=new AbortController;return l.signal.addEventListener("abort",()=>c.abort(l.signal.reason),{once:!0}),new Rh(Y9(c),l)}return c}streamEvents(e,t,r){if(t.version==="v3")return this.#e(e,t);let n=new AbortController,i={recursionLimit:this.config?.recursionLimit,...t,signal:Ra(t?.signal,n.signal).signal};return new Rh(super.streamEvents(e,i,r),n)}async _validateInput(e){return e}async _validateContext(e){return e}async*_streamIterator(e,t){let r="version"in(t??{})?void 0:t?.encoding??void 0,n=t?.subgraphs,i=t?.version==="v3",a=Ec(this.config,t);if(a.recursionLimit===void 0||a.recursionLimit<1)throw new Error('Passed "recursionLimit" must be at least 1.');if(this.checkpointer!==void 0&&this.checkpointer!==!1&&a.configurable===void 0)throw new Error('Checkpointer requires one or more of the following "configurable" keys: "thread_id", "checkpoint_ns", "checkpoint_id"');let o=await this._validateInput(e),{runId:s,...c}=a,[l,u,,d,f,p,m,h,_,y,w,x]=this._defaults(c);f.metadata={ls_integration:"langgraph",...f.metadata},typeof f.context<"u"?f.context=await this._validateContext(f.context):f.configurable=await this._validateContext(f.configurable);let S=new kS({modes:new Set(u)});if(this.checkpointer===!0){f.configurable??={};let ae=f.configurable.checkpoint_ns??"";f.configurable[Cr]=ae.split("|").map(Se=>Se.split(":")[0]).join("|")}if(u.includes("messages")){let ae=i?new RM(Oe=>S.push(Oe)):new OM(Oe=>S.push(Oe)),{callbacks:Se}=f;if(Se===void 0)f.callbacks=[ae];else if(Array.isArray(Se))f.callbacks=Se.concat(ae);else{let Oe=Se.copy();Oe.addHandler(ae,!0),f.callbacks=Oe}}if(u.includes("tools")){let ae=new xM(Oe=>S.push(Oe)),{callbacks:Se}=f;if(Se===void 0)f.callbacks=[ae];else if(Array.isArray(Se))f.callbacks=Se.concat(ae);else{let Oe=Se.copy();Oe.addHandler(ae,!0),f.callbacks=Oe}}f.writer??=ae=>{if(!u.includes("custom"))return;let Se=ph()?.configurable?.[Cr]?.split("|").slice(0,-1);S.push([Se??[],"custom",ae])},f.interrupt??=this.userInterrupt??gS,f.serverInfo==null&&(f.serverInfo=eZ(f)),f.control??=new eS;let $={tracerInheritableMetadata:nZ(f)},P=await(await Xe._configureSync(f?.callbacks,void 0,f?.tags,void 0,f?.metadata,void 0,$))?.handleChainStart(this.toJSON(),oM(e,"input"),s,void 0,void 0,void 0,f?.runName??this.getName()),C=kc(this.channels),b,B,q=(async()=>{try{b=await TM.initialize({input:o,config:f,checkpointer:h,nodes:this.nodes,channelSpecs:C,outputKeys:d,streamKeys:this.streamChannelsAsIs,store:_,cache:w,stream:S,interruptAfter:m,interruptBefore:p,manager:P,debug:this.debug,triggerToNodes:this.triggerToNodes,durability:x});let ae=new jM({loop:b,nodeFinished:f.configurable?.[WS]});t?.subgraphs&&(b.config.configurable={...b.config.configurable,[Dc]:b.stream}),await this._runLoop({loop:b,runner:ae,debug:l,config:f}),x==="sync"&&await Promise.all(b?.checkpointerPromises??[])}catch(ae){B=ae}finally{try{b&&(await b.store?.stop(),await b.cache?.stop()),await Promise.all(b?.checkpointerPromises??[])}catch(ae){B=B??ae}B?(await new Promise(ae=>{queueMicrotask(ae)}),S.error(B)):S.close()}})();try{for await(let ae of S){if(ae===void 0)throw new Error("Data structure error.");let[Se,Oe,mt]=ae,ye="version"in(t??{});if(u.includes(Oe)||Oe==="checkpoints"&&Ic(mt)&&(i||ye&&n&&u.includes("values"))){if(r==="text/event-stream"){n?yield[Se,Oe,mt]:yield[null,Oe,mt];continue}n&&!y?yield[Se,Oe,mt]:y?n?yield[Se,mt]:yield mt:yield[Oe,mt]}}}catch(ae){throw await P?.handleChainError(B),ae}finally{await q}await P?.handleChainEnd(b?.output??{},s,void 0,void 0,void 0)}async invoke(e,t){let r=t?.streamMode??"values",n={...t,outputKeys:t?.outputKeys??this.outputChannels,streamMode:r,encoding:void 0},i=[],a=await this.stream(e,n),o=[],s;for await(let c of a)r==="values"?Ha(c)?o.push(c[Le]):s=c:i.push(c);if(r==="values"){if(o.length>0){let c=o.flat(1);if(s==null)return{[Le]:c};if(typeof s=="object")return{...s,[Le]:c}}return s}return i}async _runLoop(e){let{loop:t,runner:r,debug:n,config:i}=e,a;try{for(;await t.tick({inputKeys:this.inputChannels});){for(let{task:o}of await t._matchCachedWrites())t._outputWrites(o.id,o.writes,!0);n&&yM(t.checkpointMetadata.step,t.channels,this.streamChannelsList),n&&Lu(t.step,Object.values(t.tasks)),await r.tick({timeout:this.stepTimeout,retryPolicy:this.retryPolicy,onStepWrite:(o,s)=>{n&&vM(o,s,this.streamChannelsList)},maxConcurrency:i.maxConcurrency,signal:i.signal})}if(t.status==="draining")throw t.control==null?new Error("Draining status requires run control"):new Ku(t.control.drainReason??"shutdown");if(t.status==="out_of_steps")throw new Vh([`Recursion limit of ${i.recursionLimit} reached`,"without hitting a stop condition. You can increase the",'limit by setting the "recursionLimit" config key.'].join(" "),{lc_error_code:"GRAPH_RECURSION_LIMIT"})}catch(o){if(a=o,!await t.finishAndHandleError(a))throw o}finally{a===void 0&&await t.finishAndHandleError()}}async clearCache(){await this.cache?.clear([])}};function eZ(e){let t=e.metadata??{},r=e.configurable??{},n=r.assistant_id??t.assistant_id,i=r.graph_id??t.graph_id,a=r.langgraph_auth_user,o;if(a!=null&&typeof a=="object"&&"identity"in a&&(o=a),n!=null||i!=null||o!=null)return{assistantId:n!=null?String(n):"",graphId:i!=null?String(i):"",user:o}}var tZ=new Set(["key","token","secret","password","auth"]);function rZ(e,t){let r=e.toLowerCase(),n=!1;for(let i of tZ)if(r.includes(i)){n=!0;break}return e.startsWith("__")||!(typeof t=="string"||typeof t=="number"||typeof t=="boolean")||n}function nZ(e){let t=e.configurable;if(!t)return;let r={};for(let[n,i]of Object.entries(t))rZ(n,i)||(r[n]=i);return Object.keys(r).length>0?r:void 0}var In=class LM extends yt{lc_graph_name="EphemeralValue";guard;value=[];constructor(t=!0){super(),this.guard=t}fromCheckpoint(t){let r=new LM(this.guard);return typeof t<"u"&&(r.value=[t]),r}update(t){if(t.length===0){let r=this.value.length>0;return this.value=[],r}if(t.length!==1&&this.guard)throw new ve("EphemeralValue can only receive one value per step.");return this.value=[t[t.length-1]],!0}get(){if(this.value.length===0)throw new je;return this.value[0]}checkpoint(){if(this.value.length===0)throw new je;return this.value[0]}isAvailable(){return this.value.length!==0}};var OS=class{path;ends;constructor(e){se.isRunnable(e.path)?this.path=e.path:this.path=at(e.path),this.ends=Array.isArray(e.pathMap)?e.pathMap.reduce((t,r)=>(t[r]=r,t),{}):e.pathMap}run(e,t){return ut.registerWriter(new Rt({name:"<branch_run>",trace:!1,func:async(r,n)=>{try{return await this._route(r,n,e,t)}catch(i){throw i.name===Xu.unminifiable_name&&console.warn(`[WARN]: 'NodeInterrupt' thrown in conditional edge. This is likely a bug in your graph implementation.
|
|
450
450
|
NodeInterrupt should only be thrown inside a node, not in edge conditions.`),i}}}))}async _route(e,t,r,n){let i=await this.path.invoke(n?n(t):e,t);Array.isArray(i)||(i=[i]);let a;if(this.ends?a=i.map(o=>wt(o)?o:this.ends[o]):a=i,a.some(o=>!o))throw new Error("Branch condition returned unknown or null destination");if(a.filter(wt).some(o=>o.node==="__end__"))throw new ve("Cannot send a packet to the END node");return await r(a,t)??e}},PS=class{nodes;edges;branches;entryPoint;compiled=!1;constructor(){this.nodes={},this.edges=new Set,this.branches={}}warnIfCompiled(e){this.compiled&&console.warn(e)}get allEdges(){return this.edges}addNode(...e){function t(n){return n.length>=1&&typeof n[0]!="string"}let r=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]):[[e[0],e[1],e[2]]];if(r.length===0)throw new Error("No nodes provided in `addNode`");for(let[n,i,a]of r){for(let s of["|",":"])if(n.includes(s))throw new Error(`"${s}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),n in this.nodes)throw new Error(`Node \`${n}\` already present.`);if(n==="__end__")throw new Error(`Node \`${n}\` is reserved.`);let o=at(i);this.nodes[n]={runnable:o,metadata:a?.metadata,subgraphs:ju(o)?[o]:a?.subgraphs,ends:a?.ends}}return this}addEdge(e,t){if(this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),e==="__end__")throw new Error("END cannot be a start node");if(t==="__start__")throw new Error("START cannot be an end node");if(Array.from(this.edges).some(([r])=>r===e)&&!("channels"in this))throw new Error(`Already found path for ${e}. For multiple edges, use StateGraph.`);return this.edges.add([e,t]),this}addConditionalEdges(e,t,r){let n=typeof e=="object"?e:{source:e,path:t,pathMap:r};this.warnIfCompiled("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph."),se.isRunnable(n.path)||(n.path=at(n.path));let i=n.path.getName()==="RunnableLambda"?"condition":n.path.getName();if(this.branches[n.source]&&this.branches[n.source][i])throw new Error(`Condition \`${i}\` already present for node \`${e}\``);return this.branches[n.source]??={},this.branches[n.source][i]=new OS(n),this}setEntryPoint(e){return this.warnIfCompiled("Setting the entry point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(Je,e)}setFinishPoint(e){return this.warnIfCompiled("Setting a finish point of a graph that has already been compiled. This will not be reflected in the compiled graph."),this.addEdge(e,Qe)}compile({checkpointer:e,interruptBefore:t,interruptAfter:r,name:n,transformers:i}={}){this.validate([...Array.isArray(t)?t:[],...Array.isArray(r)?r:[]]);let a=new NS({builder:this,checkpointer:e,interruptAfter:r,interruptBefore:t,autoValidate:!1,nodes:{},channels:{[Je]:new In,[Qe]:new In},inputChannels:Je,outputChannels:Qe,streamChannels:[],streamMode:"values",name:n,streamTransformers:i});for(let[o,s]of Object.entries(this.nodes))a.attachNode(o,s);for(let[o,s]of this.edges)a.attachEdge(o,s);for(let[o,s]of Object.entries(this.branches))for(let[c,l]of Object.entries(s))a.attachBranch(o,c,l);return a.validate()}validate(e){let t=new Set([...this.allEdges].map(([n,i])=>n));for(let[n]of Object.entries(this.branches))t.add(n);for(let n of t)if(n!=="__start__"&&!(n in this.nodes))throw new Error(`Found edge starting at unknown node \`${n}\``);let r=new Set([...this.allEdges].map(([n,i])=>i));for(let[n,i]of Object.entries(this.branches))for(let a of Object.values(i))if(a.ends!=null)for(let o of Object.values(a.ends))r.add(o);else{r.add(Qe);for(let o of Object.keys(this.nodes))o!==n&&r.add(o)}for(let n of Object.values(this.nodes))for(let i of n.ends??[])r.add(i);if(Object.values(this.nodes).some(n=>n.isErrorHandler))for(let n of Object.keys(this.nodes))r.add(n);for(let n of Object.keys(this.nodes))if(!this.nodes[n].isErrorHandler&&!r.has(n))throw new Hh([`Node \`${n}\` is not reachable.`,"","If you are returning Command objects from your node,",'make sure you are passing names of potential destination nodes as an "ends" array','into ".addNode(..., { ends: ["node1", "node2"] })".'].join(`
|
|
451
|
-
`),{lc_error_code:"UNREACHABLE_NODE"});for(let n of r)if(n!=="__end__"&&!(n in this.nodes))throw new Error(`Found edge ending at unknown node \`${n}\``);if(e){for(let n of e)if(!(n in this.nodes))throw new Error(`Interrupt node \`${n}\` is not present`)}this.compiled=!0}},NS=class extends Dh{builder;constructor({builder:e,...t}){super(t),this.builder=e}withConfig(e){return super.withConfig(e)}attachNode(e,t){this.channels[e]=new In,this.nodes[e]=new $n({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new ut([{channel:e,value:Ir}],[ht])),this.streamChannels.push(e)}attachEdge(e,t){if(t==="__end__"){if(e==="__start__")throw new Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new ut([{channel:Qe,value:Ir}],[ht]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,r){e==="__start__"&&!this.nodes.__start__&&(this.nodes[Je]=UM.subscribeTo(Je,{tags:[ht]})),this.nodes[e].pipe(r.run(i=>new ut(i.map(a=>wt(a)?a:{channel:a==="__end__"?Qe:`branch:${e}:${t}:${a}`,value:Ir}),[ht])));let n=r.ends?Object.values(r.ends):Object.keys(this.nodes);for(let i of n)if(i!=="__end__"){let a=`branch:${e}:${t}:${i}`;this.channels[a]=new In,this.nodes[i].triggers.push(a),this.nodes[i].channels.push(a)}}async getGraphAsync(e){let t=e?.xray,r=new Lo,n={[Je]:r.addNode({schema:rn.any()},Je)},i={},a={};t&&(a=Object.fromEntries((await kn(this.getSubgraphsAsync())).filter(l=>FM(l[1]))));let o=[];function s(l,u,d,f=!1){if(u==="__end__"&&i.__end__===void 0&&(i[Qe]=r.addNode({schema:rn.any()},Qe)),n[l]!==void 0){if(i[u]===void 0)throw new Error(`End node ${u} not found!`);return o.push({src:l,dest:u,conditional:f}),r.addEdge(n[l],i[u],d!==u?d:void 0,f)}}for(let[l,u]of Object.entries(this.builder.nodes)){let d=Tt(l),f=u.runnable,p=u.metadata??{};if(this.interruptBefore?.includes(l)&&this.interruptAfter?.includes(l)?p.__interrupt="before,after":this.interruptBefore?.includes(l)?p.__interrupt="before":this.interruptAfter?.includes(l)&&(p.__interrupt="after"),t){let m=typeof t=="number"?t-1:t,h=a[l]!==void 0?await a[l].getGraphAsync({...e,xray:m}):f.getGraph(e);if(h.trimFirstNode(),h.trimLastNode(),Object.keys(h.nodes).length>1){let w=function(S){return S?S.lc_runnable:!1},x=function(S,$){if(S!==void 0&&!di(S))return S;if(w($))try{let P=$.getName();return P=P.startsWith("Runnable")?P.slice(8):P,P}catch{return $.getName()}else return $.name??"UnknownSchema"},[_,y]=r.extend(h,d);if(_===void 0)throw new Error(`Could not extend subgraph "${l}" due to missing entrypoint.`);y!==void 0&&(n[d]={name:x(y.id,y.data),...y}),i[d]={name:x(_.id,_.data),..._}}else{let _=r.addNode(f,d,p);n[d]=_,i[d]=_}}else{let m=r.addNode(f,d,p);n[d]=m,i[d]=m}}let c=[...this.builder.allEdges].sort(([l],[u])=>l<u?-1:u>l?1:0);for(let[l,u]of c)s(Tt(l),Tt(u));for(let[l,u]of Object.entries(this.builder.branches)){let d={...Object.fromEntries(Object.keys(this.builder.nodes).filter(f=>f!==l).map(f=>[Tt(f),Tt(f)])),[Qe]:Qe};for(let f of Object.values(u)){let p;f.ends!==void 0?p=f.ends:p=d;for(let[m,h]of Object.entries(p))s(Tt(l),Tt(h),m,!0)}}for(let[l,u]of Object.entries(this.builder.nodes))if(u.ends!==void 0)for(let d of u.ends)s(Tt(l),Tt(d),void 0,!0);return BM(this.builder.nodes,o,s),r}getGraph(e){let t=e?.xray,r=new Lo,n={[Je]:r.addNode({schema:rn.any()},Je)},i={},a={};t&&(a=Object.fromEntries(Pa(this.getSubgraphs()).filter(l=>FM(l[1]))));let o=[];function s(l,u,d,f=!1){if(u==="__end__"&&i.__end__===void 0&&(i[Qe]=r.addNode({schema:rn.any()},Qe)),n[l]!==void 0){if(i[u]===void 0)throw new Error(`End node ${u} not found!`);return o.push({src:l,dest:u,conditional:f}),r.addEdge(n[l],i[u],d!==u?d:void 0,f)}}for(let[l,u]of Object.entries(this.builder.nodes)){let d=Tt(l),f=u.runnable,p=u.metadata??{};if(this.interruptBefore?.includes(l)&&this.interruptAfter?.includes(l)?p.__interrupt="before,after":this.interruptBefore?.includes(l)?p.__interrupt="before":this.interruptAfter?.includes(l)&&(p.__interrupt="after"),t){let m=typeof t=="number"?t-1:t,h=a[l]!==void 0?a[l].getGraph({...e,xray:m}):f.getGraph(e);if(h.trimFirstNode(),h.trimLastNode(),Object.keys(h.nodes).length>1){let w=function(S){return S?S.lc_runnable:!1},x=function(S,$){if(S!==void 0&&!di(S))return S;if(w($))try{let P=$.getName();return P=P.startsWith("Runnable")?P.slice(8):P,P}catch{return $.getName()}else return $.name??"UnknownSchema"},[_,y]=r.extend(h,d);if(_===void 0)throw new Error(`Could not extend subgraph "${l}" due to missing entrypoint.`);y!==void 0&&(n[d]={name:x(y.id,y.data),...y}),i[d]={name:x(_.id,_.data),..._}}else{let _=r.addNode(f,d,p);n[d]=_,i[d]=_}}else{let m=r.addNode(f,d,p);n[d]=m,i[d]=m}}let c=[...this.builder.allEdges].sort(([l],[u])=>l<u?-1:u>l?1:0);for(let[l,u]of c)s(Tt(l),Tt(u));for(let[l,u]of Object.entries(this.builder.branches)){let d={...Object.fromEntries(Object.keys(this.builder.nodes).filter(f=>f!==l).map(f=>[Tt(f),Tt(f)])),[Qe]:Qe};for(let f of Object.values(u)){let p;f.ends!==void 0?p=f.ends:p=d;for(let[m,h]of Object.entries(p))s(Tt(l),Tt(h),m,!0)}}for(let[l,u]of Object.entries(this.builder.nodes))if(u.ends!==void 0)for(let d of u.ends)s(Tt(l),Tt(d),void 0,!0);return BM(this.builder.nodes,o,s),r}};function FM(e){return typeof e.attachNode=="function"&&typeof e.attachEdge=="function"}function Tt(e){return e==="subgraph"?`"${e}"`:e}function BM(e,t,r){let n=new Set(t.map(a=>a.src)),i=[...new Set(t.filter(a=>!a.conditional&&a.dest!=="__end__").map(a=>a.dest))].sort();for(let a of i){if(n.has(a))continue;let o=Object.keys(e).find(s=>Tt(s)===a);o!==void 0&&e[o]?.isErrorHandler||r(a,Qe)}}function Mi(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function RS(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function iZ(e){return Mi(e)&&RS(e)}function ja(e){if(RS(e))try{return e["~standard"].jsonSchema.input({target:"draft-07"})}catch{return}}function ji(e){if(e!=null&&Mi(e))try{let t=e["~standard"].validate(void 0);if(t&&typeof t=="object"&&!("then"in t&&typeof t.then=="function")){let r=t;if(!r.issues){let n=r.value;return()=>n}}}catch{}}var aZ=e=>e!=null&&e.lc_graph_name==="DeltaChannel",zh=class VM extends yt{lc_graph_name="DeltaChannel";value;reducer;snapshotFrequency;initialValueFactory;constructor(t,r){super();let n=r?.snapshotFrequency??1e3;if(!Number.isInteger(n)||n<=0)throw new Error(`snapshotFrequency must be a positive integer, got ${n}`);this.reducer=t,this.snapshotFrequency=n,this.initialValueFactory=r?.initialValueFactory??(()=>[]),this.value=void 0}fromCheckpoint(t){let r=new VM(this.reducer,{snapshotFrequency:this.snapshotFrequency,initialValueFactory:this.initialValueFactory});return t===void 0?r.value=this.initialValueFactory():Qh(t)?r.value=t.value:r.value=t,r}replayWrites(t){let r=t.map(o=>o[2]);if(r.length===0)return;let n=this.value,i=0;for(let o=0;o<r.length;o+=1){let[s,c]=sn(r[o]);s&&(n=c??this.initialValueFactory(),i=o+1)}let a=r.slice(i);this.value=a.length>0?this.reducer(n,a):n}update(t){if(t.length===0)return!1;let r,n=!1;for(let a of t)if(Za(a)){if(n)throw new ve("Can receive only one Overwrite value per step.");n=!0,[,r]=sn(a)}if(n)return this.value=r??this.initialValueFactory(),!0;let i=this.value===void 0?this.initialValueFactory():this.value;return this.value=this.reducer(i,t),!0}get(){if(this.value===void 0)throw new je;return this.value}checkpoint(){}isAvailable(){return this.value!==void 0}equals(t){return this===t?!0:!aZ(t)||this.snapshotFrequency!==t.snapshotFrequency?!1:this.reducer===t.reducer}};var MS=Symbol.for("langgraph.channel.missing"),Uh=class ZM extends yt{lc_graph_name="UntrackedValue";guard;_value=MS;initialValueFactory;constructor(t){super(),this.guard=t?.guard??!0,this.initialValueFactory=t?.initialValueFactory,this.initialValueFactory&&(this._value=this.initialValueFactory())}fromCheckpoint(t){return new ZM({guard:this.guard,initialValueFactory:this.initialValueFactory})}update(t){if(t.length===0)return!1;if(t.length!==1&&this.guard)throw new ve("UntrackedValue(guard=true) can receive only one value per step. Use guard=false if you want to store any one of multiple values.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this._value=t[t.length-1],!0}get(){if(this._value===MS)throw new je;return this._value}checkpoint(){}isAvailable(){return this._value!==MS}};var Da=(e,t)=>e.size===t.size&&[...e].every(r=>t.has(r)),jS=class HM extends yt{lc_graph_name="NamedBarrierValue";names;seen;constructor(t){super(),this.names=t,this.seen=new Set}fromCheckpoint(t){let r=new HM(this.names);return typeof t<"u"&&(r.seen=new Set(t)),r}update(t){let r=!1;for(let n of t)if(this.names.has(n))this.seen.has(n)||(this.seen.add(n),r=!0);else throw new ve(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return r}get(){if(!Da(this.names,this.seen))throw new je}checkpoint(){return[...this.seen]}consume(){return this.seen&&this.names&&Da(this.seen,this.names)?(this.seen=new Set,!0):!1}isAvailable(){return!!this.names&&Da(this.names,this.seen)}},DS=class GM extends yt{lc_graph_name="NamedBarrierValueAfterFinish";names;seen;finished;constructor(t){super(),this.names=t,this.seen=new Set,this.finished=!1}fromCheckpoint(t){let r=new GM(this.names);if(typeof t<"u"){let[n,i]=t;r.seen=new Set(n),r.finished=i}return r}update(t){let r=!1;for(let n of t)if(this.names.has(n)&&!this.seen.has(n))this.seen.add(n),r=!0;else if(!this.names.has(n))throw new ve(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return r}get(){if(!this.finished||!Da(this.names,this.seen))throw new je}checkpoint(){return[[...this.seen],this.finished]}consume(){return this.finished&&this.seen&&this.names&&Da(this.seen,this.names)?(this.seen=new Set,this.finished=!1,!0):!1}finish(){return!this.finished&&this.names&&Da(this.names,this.seen)?(this.finished=!0,!0):!1}isAvailable(){return this.finished&&!!this.names&&Da(this.names,this.seen)}};var zS=Symbol.for("langgraph.state.reduced_value"),Di=class{[zS]=!0;valueSchema;inputSchema;reducer;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.jsonSchemaExtra=t.jsonSchemaExtra,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&zS in e&&e[zS]===!0}};var WM=Symbol.for("langgraph.state.untracked_value"),qo=class{[WM]=!0;schema;guard;constructor(e,t){this.schema=e,this.guard=t?.guard??!0}static isInstance(e){return typeof e=="object"&&e!==null&&WM in e}};var US=Symbol.for("langgraph.state.delta_value"),zi=class{[US]=!0;valueSchema;inputSchema;reducer;snapshotFrequency;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.snapshotFrequency=t.snapshotFrequency,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&US in e&&e[US]===!0}};var LS=Symbol.for("langgraph.state.state_schema"),Tn=class{[LS]=!0;constructor(e){this.fields=e}getChannels(){let e={};for(let[t,r]of Object.entries(this.fields))if(zi.isInstance(r)){let n=ji(r.valueSchema);e[t]=new zh(r.reducer,{snapshotFrequency:r.snapshotFrequency,initialValueFactory:n})}else if(Di.isInstance(r)){let n=ji(r.valueSchema);e[t]=new Pi(r.reducer,n)}else if(qo.isInstance(r)){let n=r.schema?ji(r.schema):void 0;e[t]=new Uh({guard:r.guard,initialValueFactory:n})}else if(Mi(r))e[t]=new Sn(ji(r));else throw new Error(`Invalid state field "${t}": must be a schema, ReducedValue, DeltaValue, UntrackedValue, or ManagedValue`);return e}getJsonSchema(){let e={},t=[];for(let[r,n]of Object.entries(this.fields)){let i;if(zi.isInstance(n)||Di.isInstance(n)?(i=ja(n.valueSchema),n.jsonSchemaExtra&&(i={...i??{},...n.jsonSchemaExtra})):qo.isInstance(n)?i=n.schema?ja(n.schema):void 0:Mi(n)&&(i=ja(n)),i){e[r]=i;let a=!1;zi.isInstance(n)||Di.isInstance(n)?a=ji(n.valueSchema)!==void 0:qo.isInstance(n)?a=n.schema?ji(n.schema)!==void 0:!1:a=ji(n)!==void 0,a||t.push(r)}}return{type:"object",properties:e,required:t.length>0?t:void 0}}getInputJsonSchema(){let e={};for(let[t,r]of Object.entries(this.fields)){let n;zi.isInstance(r)||Di.isInstance(r)?(n=ja(r.inputSchema),r.jsonSchemaExtra&&(n={...n??{},...r.jsonSchemaExtra})):qo.isInstance(r)?n=r.schema?ja(r.schema):void 0:Mi(r)&&(n=ja(r)),n&&(e[t]=n)}return{type:"object",properties:e}}getChannelKeys(){return Object.entries(this.fields).map(([e])=>e)}getAllKeys(){return Object.keys(this.fields)}async validateInput(e){if(e==null||typeof e!="object")return e;let t={};for(let[r,n]of Object.entries(e)){let i=this.fields[r];if(i===void 0){t[r]=n;continue}let a;if(zi.isInstance(i)||Di.isInstance(i)){let[o,s]=sn(n);if(o){a=i.valueSchema;let c=await a["~standard"].validate(s);if(c.issues)throw new Error(`Validation failed for field "${r}": ${JSON.stringify(c.issues)}`);t[r]={[On]:c.value};continue}a=i.inputSchema}else qo.isInstance(i)?a=i.schema:Mi(i)&&(a=i);if(a){let o=await a["~standard"].validate(n);if(o.issues)throw new Error(`Validation failed for field "${r}": ${JSON.stringify(o.issues)}`);t[r]=o.value}else t[r]=n}return t}static isInstance(e){return typeof e=="object"&&e!==null&&LS in e&&e[LS]===!0}};var oZ="__remove_all__";function za(e,t){let r=Array.isArray(e)?e:[e],n=Array.isArray(t)?t:[t],i=r.map(kt),a=n.map(kt);for(let u of i)(u.id===null||u.id===void 0)&&(u.id=Xi(),u.lc_kwargs.id=u.id);let o;for(let u=0;u<a.length;u+=1){let d=a[u];(d.id===null||d.id===void 0)&&(d.id=Xi(),d.lc_kwargs.id=d.id),Nr.isInstance(d)&&d.id==="__remove_all__"&&(o=u)}if(o!=null)return a.slice(o+1);let s=[...i],c=new Map(s.map((u,d)=>[u.id,d])),l=new Set;for(let u of a){let d=c.get(u.id);if(d!==void 0)Nr.isInstance(u)?l.add(u.id):(l.delete(u.id),s[d]=u);else{if(Nr.isInstance(u))throw new Error(`Attempting to delete a message with an ID that doesn't exist ('${u.id}')`);c.set(u.id,s.length),s.push(u)}}return s.filter(u=>!l.has(u.id))}function FS(e,t){let r=[];for(let s of t)Array.isArray(s)?r.push(...s):r.push(s);let n=e.length>0&&Pe.isInstance(e[0])?e:e.map(kt),i=r.map(kt),a=new Map;for(let s=0;s<n.length;s+=1){let c=n[s].id;c!=null&&a.set(c,s)}let o=[...n];for(let s of i){let c=s.id;Nr.isInstance(s)&&c==="__remove_all__"?(o.length=0,a.clear()):c==null?o.push(s):Nr.isInstance(s)?a.has(c)&&(o[a.get(c)]=null,a.delete(c)):a.has(c)?o[a.get(c)]=s:(a.set(c,o.length),o.push(s))}return o.filter(s=>s!==null)}var JM=rn.custom().default(()=>[]),KM=rn.custom(),sZ=new Di(JM,{inputSchema:KM,reducer:za,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}}),cZ=new zi(JM,{inputSchema:KM,reducer:FS,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}});var lZ=class{_map=new Map;_extensionCache=new Map;get(e){return this._map.get(e)}extend(e,t){let r=this.get(e);this._map.set(e,t(r))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={},r=xi(e);for(let[n,i]of Object.entries(r)){let a=this.get(i);a?.reducer?t[n]=new Pi(a.reducer.fn,a.default):t[n]=new Sn(a?.default)}return t}getExtendedChannelSchemas(e,t){if(Object.keys(t).length===0)return e;let r=Object.entries(t).filter(([,a])=>a===!0).sort(([a],[o])=>a.localeCompare(o)).map(([a,o])=>`${a}:${o}`).join("|"),n=this._extensionCache.get(r)??new Map;if(n.has(e))return n.get(e);let i=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let a=Object.entries(xi(e)).map(([o,s])=>{let c=this.get(s),l=t.withReducerSchema?c?.reducer?.schema??s:s;if(t.withJsonSchemaExtrasAsDescription&&c?.jsonSchemaExtra){let u=Si(l)??Si(s),d=JSON.stringify({...c.jsonSchemaExtra,description:u});l=l.describe(`lg:${d}`)}return[o,l]});i=xp(e,Object.fromEntries(a)),lt(i)&&(i._def.unknownKeys="strip")}return t.asPartial&&(i=Sa(i)),n.set(e,i),this._extensionCache.set(r,n),i}},Fu=new lZ;function qM(e,t){if(t.reducer&&!t.default){let r=Sp(e);r!=null&&(t.default=r)}if(t.reducer){let r=Object.assign(e,{lg_reducer_schema:t.reducer?.schema??e});return Fu.extend(r,()=>t),r}else return Fu.extend(e,()=>t),e}function Xo(e){return e==null?!1:!!(Tn.isInstance(e)||Jt(e)||typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"||typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0&&Object.values(e).every(t=>typeof t=="function"||X0(t)))}function XM(e){if(typeof e!="object"||e==null)return!1;let t=e,r="state"in t&&Xo(t.state),n="stateSchema"in t&&Xo(t.stateSchema),i="input"in t&&Xo(t.input);return!(!r&&!n&&!i||"input"in t&&t.input!=null&&!Xo(t.input)||"output"in t&&t.output!=null&&!Xo(t.output))}var Ui="__root__",Rc="__default_error_handler__",Lh=Symbol.for("langgraph.state.partial"),BS=class extends PS{channels={};waitingEdges=new Set;_schemaDefinition;_schemaRuntimeDefinition;_inputDefinition;_inputRuntimeDefinition;_outputDefinition;_outputRuntimeDefinition;_schemaDefinitions=new Map;_metaRegistry=Fu;_configSchema;_configRuntimeSchema;_interrupt;_writer;_nodeDefaults={};constructor(e,t){super();let r=this._normalizeToStateGraphInit(e,t),n=r.state??r.stateSchema??r.input;if(!n)throw new Lc;let i=this._getChannelsFromSchema(n);this._schemaDefinition=i,Tn.isInstance(n)?this._schemaRuntimeDefinition=n:Jt(n)&&(this._schemaRuntimeDefinition=n),r.input?Tn.isInstance(r.input)?this._inputRuntimeDefinition=r.input:Jt(r.input)?this._inputRuntimeDefinition=r.input:this._inputRuntimeDefinition=Lh:this._inputRuntimeDefinition=Lh,r.output?Tn.isInstance(r.output)?this._outputRuntimeDefinition=r.output:Jt(r.output)?this._outputRuntimeDefinition=r.output:this._outputRuntimeDefinition=this._schemaRuntimeDefinition:this._outputRuntimeDefinition=this._schemaRuntimeDefinition;let a=r.input?this._getChannelsFromSchema(r.input):i,o=r.output?this._getChannelsFromSchema(r.output):i;this._inputDefinition=a,this._outputDefinition=o,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),r.context&&Jt(r.context)&&(this._configRuntimeSchema=r.context),this._interrupt=r.interrupt,this._writer=r.writer}setNodeDefaults(e){return e.retryPolicy!==void 0&&(this._nodeDefaults.retryPolicy=e.retryPolicy),e.cachePolicy!==void 0&&(this._nodeDefaults.cachePolicy=typeof e.cachePolicy=="boolean"?e.cachePolicy?{}:void 0:e.cachePolicy),e.timeout!==void 0&&(this._nodeDefaults.timeout=Bi(e.timeout)),e.errorHandler!==void 0&&(this._nodeDefaults.errorHandler=e.errorHandler),this}_createDefaultErrorHandlerSpec(){let e=this._nodeDefaults.errorHandler;if(e!==void 0)return{runnable:new Rt({func:(t,r)=>{let n=r?.configurable?.[zc];return e(t,n,r)},name:Rc,trace:!1}),metadata:void 0,input:this._schemaDefinition,retryPolicy:void 0,cachePolicy:void 0,isErrorHandler:!0}}_normalizeToStateGraphInit(e,t){if(XM(e)){if(Jt(t)||dh.isInstance(t))return{...e,context:t};let r=t;return{...e,input:e.input??r?.input,output:e.output??r?.output,context:e.context??r?.context,interrupt:e.interrupt??r?.interrupt,writer:e.writer??r?.writer,nodes:e.nodes??r?.nodes}}if(Xo(e)){if(Jt(t)||dh.isInstance(t))return{state:e,context:t};let r=t;return{state:e,input:r?.input,output:r?.output,context:r?.context,interrupt:r?.interrupt,writer:r?.writer,nodes:r?.nodes}}if(dZ(e))return{state:uZ(e.channels)};throw new Lc}_getChannelsFromSchema(e){if(Tn.isInstance(e))return e.getChannels();if(Jt(e))return this._metaRegistry.getChannelsForSchema(e);if(typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot")return e.spec;if(typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return e;throw new Lc("Invalid schema type. Expected StateSchema, Zod object, AnnotationRoot, or StateDefinition.")}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(r=>[r,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e)){this._schemaDefinitions.set(e,e);for(let[t,r]of Object.entries(e)){let n;if(typeof r=="function"?n=r():n=r,this.channels[t]!==void 0){if(!this.channels[t].equals(n)&&n.lc_graph_name!=="LastValue")throw new Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=n}}}addNode(...e){function t(n){return n.length>=1&&typeof n[0]!="string"}let r=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([n,i])=>[n,i]):[[e[0],e[1],e[2]]];if(r.length===0)throw new Error("No nodes provided in `addNode`");for(let[n,i,a]of r){if(n in this.channels)throw new Error(`${n} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let f of["|",":"])if(n.includes(f))throw new Error(`"${f}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),n in this.nodes)throw new Error(`Node \`${n}\` already present.`);if(n==="__end__"||n==="__start__")throw new Error(`Node \`${n}\` is reserved.`);let o=this._schemaDefinition;a?.input!==void 0&&(o=this._getChannelsFromSchema(a.input)),this._addSchema(o);let s;se.isRunnable(i)?s=i:typeof i=="function"?s=new Rt({func:i,name:n,trace:!1}):s=at(i);let c=a?.cachePolicy,l;c!==void 0&&(l=typeof c=="boolean"?c?{}:!1:c);let u;if(a?.errorHandler!==void 0){if(u=`__error_handler__${n}`,u in this.nodes)throw new Error(`Cannot add error handler to node \`${n}\`: the reserved name \`${u}\` is already in use. StateGraph registers \`__error_handler__<nodeName>\` when you pass \`errorHandler\` in addNode options. Remove or rename the existing node with that name (for example, you may have added it manually).`);let f=a.errorHandler,p={runnable:new Rt({func:(m,h)=>{let _=h?.configurable?.[zc];return f(m,_,h)},name:u,trace:!1}),metadata:void 0,input:o??this._schemaDefinition,retryPolicy:void 0,cachePolicy:void 0,isErrorHandler:!0};this.nodes[u]=p}let d={runnable:s,retryPolicy:a?.retryPolicy,cachePolicy:l,timeout:Bi(a?.timeout),metadata:a?.metadata,input:o??this._schemaDefinition,subgraphs:ju(s)?[s]:a?.subgraphs,ends:a?.ends,defer:a?.defer,errorHandlerNode:u};this.nodes[n]=d}return this}addEdge(e,t){if(typeof e=="string")return super.addEdge(e,t);this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph.");for(let r of e){if(r==="__end__")throw new Error("END cannot be a start node");if(!Object.keys(this.nodes).some(n=>n===r))throw new Error(`Need to add a node named "${r}" first`)}if(t==="__end__")throw new Error("END cannot be an end node");if(!Object.keys(this.nodes).some(r=>r===t))throw new Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t=Array.isArray(e)?e:Object.entries(e);if(t.length===0)throw new Error("Sequence requires at least one node.");let r;for(let[n,i,a]of t){if(n in this.nodes)throw new Error(`Node names must be unique: node with the name "${n}" already exists.`);let o=n;this.addNode(n,i,a),r!=null&&this.addEdge(r,o),r=o}return this}compile({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:a,description:o,transformers:s}={}){let c=this._createDefaultErrorHandlerSpec();if(c!==void 0){if(Rc in this.nodes)throw new Error(`Cannot apply a default error handler: the reserved node name \`${Rc}\` is already in use. setNodeDefaults({ errorHandler }) registers a node with that name; rename the conflicting node.`);this.nodes[Rc]=c}try{return this._compileResolved({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:a,description:o,transformers:s,defaultErrorHandlerNode:c!==void 0?Rc:void 0})}finally{c!==void 0&&delete this.nodes[Rc]}}_compileResolved({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:a,description:o,transformers:s,defaultErrorHandlerNode:c}){this.validate([...Array.isArray(n)?n:[],...Array.isArray(i)?i:[]]);let l=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),u=l.length===1&&l[0]===Ui?Ui:l,d=Object.keys(this.channels),f=d.length===1&&d[0]===Ui?Ui:d,p=this._interrupt,m=new QM({builder:this,checkpointer:e,interruptAfter:i,interruptBefore:n,autoValidate:!1,nodes:{},channels:{...this.channels,[Je]:new In},inputChannels:Je,outputChannels:u,streamChannels:f,streamMode:"updates",store:t,cache:r,name:a,description:o,userInterrupt:p,streamTransformers:s});m.attachNode(Je);let h=this._nodeDefaults,_=h.retryPolicy!==void 0||h.cachePolicy!==void 0||h.timeout!==void 0||c!==void 0;for(let[y,w]of Object.entries(this.nodes)){let x=w.isErrorHandler===!0,S=_?{...w,retryPolicy:w.retryPolicy??h.retryPolicy,cachePolicy:x||w.cachePolicy===!1?void 0:w.cachePolicy??h.cachePolicy,timeout:w.timeout??h.timeout,errorHandlerNode:!x&&c!==void 0&&w.errorHandlerNode===void 0?c:w.errorHandlerNode}:w;m.attachNode(y,S)}m.attachBranch(Je,Bh,YM(),{withReader:!1});for(let[y]of Object.entries(this.nodes))m.attachBranch(y,Bh,YM(),{withReader:!1});for(let[y,w]of this.edges)m.attachEdge(y,w);for(let[y,w]of this.waitingEdges)m.attachEdge(y,w);for(let[y,w]of Object.entries(this.branches))for(let[x,S]of Object.entries(w))m.attachBranch(y,x,S);return m.validate()}};function uZ(e){let t={};for(let[r,n]of Object.entries(e))r===Ui?t[r]=fh(n):t[r]=fh(n);return t}var QM=class extends NS{description;_metaRegistry=Fu;constructor({description:e,...t}){super(t),this.description=e}attachNode(e,t){let r;e==="__start__"?r=Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([c])=>c):r=Object.keys(this.builder.channels);function n(c){if(Ct(c))return c.graph===_r.PARENT?null:c._updateAsTuples();if(Array.isArray(c)&&c.length>0&&c.some(l=>Ct(l))){let l=[];for(let u of c)if(Ct(u)){if(u.graph===_r.PARENT)continue;l.push(...u._updateAsTuples())}else l.push([Ui,u]);return l}else if(c!=null)return[[Ui,c]];return null}let i=e,a=async c=>{if(c==null||c.length===0)return c;let l=this.builder._schemaRuntimeDefinition;if(Tn.isInstance(l)){let u=new Set(l.getChannelKeys());return Promise.all(c.map(async([d,f])=>{if(!u.has(d))return[d,f];let p=await l.validateInput({[d]:f});return[d,Object.prototype.hasOwnProperty.call(p,d)?p[d]:f]}))}if(Jt(l)){let u=new Set(Object.keys(xi(l)));if(c.filter(([p])=>u.has(p)).length===0)return c;let d=Sa(this._metaRegistry.getExtendedChannelSchemas(l,{withReducerSchema:!0})),f=Sa(l);return c.map(([p,m])=>{if(!u.has(p))return[p,m];let[h,_]=sn(m);if(h){let w=xa(f,{[p]:_});return[p,Object.prototype.hasOwnProperty.call(w,p)?{[On]:w[p]}:m]}let y=xa(d,{[p]:m});return[p,Object.prototype.hasOwnProperty.call(y,p)?y[p]:m]})}return c};async function o(c){if(c){if(Ct(c))return c.graph===_r.PARENT?null:a(c._updateAsTuples().filter(([l])=>r.includes(l)));if(Array.isArray(c)&&c.length>0&&c.some(Ct)){let l=[];for(let u of c)if(Ct(u)){if(u.graph===_r.PARENT)continue;l.push(...u._updateAsTuples().filter(([d])=>r.includes(d)))}else{let d=await o(u);d&&l.push(...d??[])}return a(l)}else{if(typeof c=="object"&&!Array.isArray(c))return a(Object.entries(c).filter(([l])=>r.includes(l)));{let l=Array.isArray(c)?"array":typeof c;throw new ve(`Expected node "${i.toString()}" to return an object or an array containing at least one Command object, received ${l}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}}else return null}let s=[{value:Ir,mapper:new Rt({func:r.length&&r[0]===Ui?n:o,trace:!1,recurse:!1})}];if(e==="__start__")this.nodes[e]=new $n({tags:[ht],triggers:[Je],channels:[Je],writers:[new ut(s,[ht])]});else{let c=t?.input??this.builder._schemaDefinition,l=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(c)).map(m=>[m,m])),u=Object.keys(l).length===1&&Ui in l,d=`branch:to:${e}`;this.channels[d]=t?.defer?new Q0:new In(!1);let f=t?.cachePolicy,p=f===!1?void 0:f;this.nodes[e]=new $n({triggers:[d],channels:u?Object.keys(l):l,writers:[new ut(s,[ht])],mapper:u?void 0:m=>Object.fromEntries(Object.entries(m).filter(([h])=>h in l)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:p,timeout:t?.timeout,subgraphs:t?.subgraphs,ends:t?.ends,isErrorHandler:t?.isErrorHandler,errorHandlerNode:t?.errorHandlerNode})}}attachEdge(e,t){if(t!=="__end__"){if(typeof e=="string")this.nodes[e].writers.push(new ut([{channel:`branch:to:${t}`,value:null}],[ht]));else if(Array.isArray(e)){let r=`join:${e.join("+")}:${t}`;this.channels[r]=this.builder.nodes[t].defer?new DS(new Set(e)):new jS(new Set(e)),this.nodes[t].triggers.push(r);for(let n of e)this.nodes[n].writers.push(new ut([{channel:r,value:n}],[ht]))}}}attachBranch(e,t,r,n={withReader:!0}){let i=async(a,o)=>{let s=a.filter(l=>l!==Qe);if(!s.length)return;let c=s.map(l=>wt(l)?l:{channel:l==="__end__"?l:`branch:to:${l}`,value:e});await ut.doWrite({...o,tags:(o.tags??[]).concat([ht])},c)};this.nodes[e].writers.push(r.run(i,n.withReader?a=>rM.doRead(a,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){if(e==null)return e;let t=this.builder._inputRuntimeDefinition,r=this.builder._schemaRuntimeDefinition;if(Tn.isInstance(t)){if(Ct(e)){let i=e;return e.update&&(i.update=await t.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),i}return await t.validateInput(e)}if(t===Lh&&Tn.isInstance(r)){if(Ct(e)){let i=e;return e.update&&(i.update=await r.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),i}return await r.validateInput(e)}let n=(()=>{let i=a=>{if(a!=null)return this._metaRegistry.getExtendedChannelSchemas(a,{withReducerSchema:!0})};if(Jt(t))return i(t);if(t===Lh)return Jt(r)?Sa(i(r)):void 0})();if(Ct(e)){let i=e;if(e.update&&n!=null){let a=Array.isArray(e.update)?Object.fromEntries(e.update):e.update,o=xa(n,a);i.update=Object.fromEntries(Object.keys(a).map(s=>[s,o[s]]))}return i}return n!=null?xa(n,e):e}isInterrupted(e){return Ha(e)}async _validateContext(e){let t=this.builder._configRuntimeSchema;return Jt(t)&&xa(t,e),e}};function dZ(e){return typeof e=="object"&&e!==null&&e.channels!==void 0}function fZ(e){if(wt(e))return[e];let t=[];Ct(e)?t.push(e):Array.isArray(e)&&t.push(...e.filter(Ct));let r=[];for(let n of t){if(n.graph===_r.PARENT)throw new Qu(n);wt(n.goto)||typeof n.goto=="string"?r.push(n.goto):Array.isArray(n.goto)&&r.push(...n.goto)}return r}function YM(){return new OS({path:new Rt({func:fZ,tags:[ht],trace:!1,recurse:!1,name:"<control_branch>"})})}var pZ=class extends BS{constructor(){super({channels:{__root__:{reducer:za,default:()=>[]}}})}};function mZ(e,t){let{stateKey:r,...n}=t??{},i=Ec(n),a=r??"messages";r===null&&(a=void 0);let o=kt(e);if(!o.id)throw new Error("Message ID is required.");let s=(Array.isArray(i.callbacks)?i.callbacks:typeof i.callbacks<"u"?i.callbacks.handlers:[]).find(c=>"name"in c&&c.name==="StreamMessagesHandler");if(s){let c=i.metadata??{},l=(c.langgraph_checkpoint_ns??"").split("|");s._emit([l,c],o,void 0,!1)}return a&&i.configurable?.__pregel_send?.([[a,o]]),o}function hZ(e,t){let r=typeof e=="string"?{name:e,retry:void 0,cachePolicy:void 0,timeout:void 0}:e,{name:n,retry:i}=r,a=Bi(r.timeout);if(_S(t)||yS(t))throw new Error("Generators are disallowed as tasks. For streaming responses, use config.write.");let o=r.cachePolicy??("cache"in r?r.cache:void 0),s;return typeof o=="boolean"?s=o?{}:void 0:s=o,(...c)=>dM({func:t,name:n,retry:i,cache:s,timeout:a},...c)}var ej=function(t,r){let{name:n,checkpointer:i,store:a,cache:o}=typeof t=="string"?{name:t,checkpointer:void 0,store:void 0}:t,s=Bi(typeof t=="string"?void 0:t.timeout);if(_S(r)||yS(r))throw new Error("Generators are disallowed as entrypoints. For streaming responses, use config.write.");let c="updates",l=uM(n,r);function u(m){return typeof m=="object"&&m!==null&&"__lg_type"in m&&m.__lg_type==="__pregel_final"}let d=new Rt({name:"pluckReturnValue",func:m=>u(m)?m.value:m}),f=new Rt({name:"pluckSaveValue",func:m=>u(m)?m.save:m}),p=new $n({bound:l,triggers:[Je],channels:[Je],timeout:s,writers:[new ut([{channel:Qe,value:Ir,mapper:d},{channel:Wi,value:Ir,mapper:f}],[ht])]});return new Dh({name:n,checkpointer:i,nodes:{[n]:p},channels:{[Je]:new In,[Qe]:new Sn,[Wi]:new Sn},inputChannels:Je,outputChannels:Qe,streamChannels:Qe,streamMode:c,store:a,cache:o})};ej.final=function({value:t,save:r}){return{value:t,save:r,__lg_type:"__pregel_final"}};function gZ(){return Re.getRunnableConfig().configurable?.[Zi]}var _Z=Pu.Root({messages:Pu({reducer:za,default:()=>[]})}),tj={reducer:{fn:za},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]},yZ=Nt.object({messages:qM(Nt.custom(),tj)});function vZ(e){let t=Re.getRunnableConfig();if(!t)throw new Error("Called interrupt() outside the context of a graph.");let r=t.configurable;if(!r)throw new Error("No configurable found in config");return r.writer?.(e)}export{Je as a,Qe as b,Le as c,Fh as d,qS as e,Fa as f,wt as g,ij as h,Ha as i,_r as j,Ct as k,Zr as l,Ju as m,Vh as n,Ga as o,Ku as p,qu as q,li as r,Xu as s,Yu as t,oj as u,Qu as v,Zh as w,Ji as x,ui as y,ed as z,sj as A,td as B,je as C,ve as D,cj as E,Hh as F,lj as G,Lc as H,uj as I,Tk as J,ar as K,Dj as L,jn as M,zk as N,Hc as O,Uk as P,tt as Q,St as R,ss as S,Ne as T,us as U,it as V,un as W,qa as X,Ya as Y,Qa as Z,mi as _,P$ as $,Wt as aa,la as ba,fo as ca,ha as da,Vf as ea,xo as fa,Ge as ga,lt as ha,xr as ia,Si as ja,Sp as ka,z as la,Nt as ma,Et as na,qt as oa,RF as pa,Hl as qa,Xp as ra,Xw as sa,gP as ta,_P as ua,UF as va,LF as wa,Qw as xa,Ca as ya,nm as za,Aa,YF as Ba,hx as Ca,uc as Da,pu as Ea,rn as Fa,eV as Ga,pV as Ha,Go as Ia,wn as Ja,ih as Ka,OR as La,Sc as Ma,sh as Na,RR as Oa,yt as Pa,Pi as Qa,Pu as Ra,JV as Sa,KV as Ta,ph as Ua,qV as Va,eS as Wa,tS as Xa,Ic as Ya,rS as Za,an as _a,gh as $a,oS as ab,Nu as bb,Ru as cb,sS as db,cS as eb,_h as fb,dS as gb,GR as hb,fS as ib,gS as jb,Rt as kb,PS as lb,Mi as mb,iZ as nb,ja as ob,ji as pb,zh as qb,Uh as rb,Di as sb,qo as tb,zi as ub,Tn as vb,oZ as wb,za as xb,FS as yb,sZ as zb,cZ as Ab,Fu as Bb,qM as Cb,BS as Db,QM as Eb,pZ as Fb,mZ as Gb,hZ as Hb,ej as Ib,gZ as Jb,_Z as Kb,tj as Lb,yZ as Mb,vZ as Nb};
|
|
451
|
+
`),{lc_error_code:"UNREACHABLE_NODE"});for(let n of r)if(n!=="__end__"&&!(n in this.nodes))throw new Error(`Found edge ending at unknown node \`${n}\``);if(e){for(let n of e)if(!(n in this.nodes))throw new Error(`Interrupt node \`${n}\` is not present`)}this.compiled=!0}},NS=class extends Dh{builder;constructor({builder:e,...t}){super(t),this.builder=e}withConfig(e){return super.withConfig(e)}attachNode(e,t){this.channels[e]=new In,this.nodes[e]=new $n({channels:[],triggers:[],metadata:t.metadata,subgraphs:t.subgraphs,ends:t.ends}).pipe(t.runnable).pipe(new ut([{channel:e,value:Ir}],[ht])),this.streamChannels.push(e)}attachEdge(e,t){if(t==="__end__"){if(e==="__start__")throw new Error("Cannot have an edge from START to END");this.nodes[e].writers.push(new ut([{channel:Qe,value:Ir}],[ht]))}else this.nodes[t].triggers.push(e),this.nodes[t].channels.push(e)}attachBranch(e,t,r){e==="__start__"&&!this.nodes.__start__&&(this.nodes[Je]=UM.subscribeTo(Je,{tags:[ht]})),this.nodes[e].pipe(r.run(i=>new ut(i.map(a=>wt(a)?a:{channel:a==="__end__"?Qe:`branch:${e}:${t}:${a}`,value:Ir}),[ht])));let n=r.ends?Object.values(r.ends):Object.keys(this.nodes);for(let i of n)if(i!=="__end__"){let a=`branch:${e}:${t}:${i}`;this.channels[a]=new In,this.nodes[i].triggers.push(a),this.nodes[i].channels.push(a)}}async getGraphAsync(e){let t=e?.xray,r=new Lo,n={[Je]:r.addNode({schema:rn.any()},Je)},i={},a={};t&&(a=Object.fromEntries((await kn(this.getSubgraphsAsync())).filter(l=>FM(l[1]))));let o=[];function s(l,u,d,f=!1){if(u==="__end__"&&i.__end__===void 0&&(i[Qe]=r.addNode({schema:rn.any()},Qe)),n[l]!==void 0){if(i[u]===void 0)throw new Error(`End node ${u} not found!`);return o.push({src:l,dest:u,conditional:f}),r.addEdge(n[l],i[u],d!==u?d:void 0,f)}}for(let[l,u]of Object.entries(this.builder.nodes)){let d=Tt(l),f=u.runnable,p=u.metadata??{};if(this.interruptBefore?.includes(l)&&this.interruptAfter?.includes(l)?p.__interrupt="before,after":this.interruptBefore?.includes(l)?p.__interrupt="before":this.interruptAfter?.includes(l)&&(p.__interrupt="after"),t){let m=typeof t=="number"?t-1:t,h=a[l]!==void 0?await a[l].getGraphAsync({...e,xray:m}):f.getGraph(e);if(h.trimFirstNode(),h.trimLastNode(),Object.keys(h.nodes).length>1){let w=function(S){return S?S.lc_runnable:!1},x=function(S,$){if(S!==void 0&&!di(S))return S;if(w($))try{let P=$.getName();return P=P.startsWith("Runnable")?P.slice(8):P,P}catch{return $.getName()}else return $.name??"UnknownSchema"},[_,y]=r.extend(h,d);if(_===void 0)throw new Error(`Could not extend subgraph "${l}" due to missing entrypoint.`);y!==void 0&&(n[d]={name:x(y.id,y.data),...y}),i[d]={name:x(_.id,_.data),..._}}else{let _=r.addNode(f,d,p);n[d]=_,i[d]=_}}else{let m=r.addNode(f,d,p);n[d]=m,i[d]=m}}let c=[...this.builder.allEdges].sort(([l],[u])=>l<u?-1:u>l?1:0);for(let[l,u]of c)s(Tt(l),Tt(u));for(let[l,u]of Object.entries(this.builder.branches)){let d={...Object.fromEntries(Object.keys(this.builder.nodes).filter(f=>f!==l).map(f=>[Tt(f),Tt(f)])),[Qe]:Qe};for(let f of Object.values(u)){let p;f.ends!==void 0?p=f.ends:p=d;for(let[m,h]of Object.entries(p))s(Tt(l),Tt(h),m,!0)}}for(let[l,u]of Object.entries(this.builder.nodes))if(u.ends!==void 0)for(let d of u.ends)s(Tt(l),Tt(d),void 0,!0);return BM(this.builder.nodes,o,s),r}getGraph(e){let t=e?.xray,r=new Lo,n={[Je]:r.addNode({schema:rn.any()},Je)},i={},a={};t&&(a=Object.fromEntries(Pa(this.getSubgraphs()).filter(l=>FM(l[1]))));let o=[];function s(l,u,d,f=!1){if(u==="__end__"&&i.__end__===void 0&&(i[Qe]=r.addNode({schema:rn.any()},Qe)),n[l]!==void 0){if(i[u]===void 0)throw new Error(`End node ${u} not found!`);return o.push({src:l,dest:u,conditional:f}),r.addEdge(n[l],i[u],d!==u?d:void 0,f)}}for(let[l,u]of Object.entries(this.builder.nodes)){let d=Tt(l),f=u.runnable,p=u.metadata??{};if(this.interruptBefore?.includes(l)&&this.interruptAfter?.includes(l)?p.__interrupt="before,after":this.interruptBefore?.includes(l)?p.__interrupt="before":this.interruptAfter?.includes(l)&&(p.__interrupt="after"),t){let m=typeof t=="number"?t-1:t,h=a[l]!==void 0?a[l].getGraph({...e,xray:m}):f.getGraph(e);if(h.trimFirstNode(),h.trimLastNode(),Object.keys(h.nodes).length>1){let w=function(S){return S?S.lc_runnable:!1},x=function(S,$){if(S!==void 0&&!di(S))return S;if(w($))try{let P=$.getName();return P=P.startsWith("Runnable")?P.slice(8):P,P}catch{return $.getName()}else return $.name??"UnknownSchema"},[_,y]=r.extend(h,d);if(_===void 0)throw new Error(`Could not extend subgraph "${l}" due to missing entrypoint.`);y!==void 0&&(n[d]={name:x(y.id,y.data),...y}),i[d]={name:x(_.id,_.data),..._}}else{let _=r.addNode(f,d,p);n[d]=_,i[d]=_}}else{let m=r.addNode(f,d,p);n[d]=m,i[d]=m}}let c=[...this.builder.allEdges].sort(([l],[u])=>l<u?-1:u>l?1:0);for(let[l,u]of c)s(Tt(l),Tt(u));for(let[l,u]of Object.entries(this.builder.branches)){let d={...Object.fromEntries(Object.keys(this.builder.nodes).filter(f=>f!==l).map(f=>[Tt(f),Tt(f)])),[Qe]:Qe};for(let f of Object.values(u)){let p;f.ends!==void 0?p=f.ends:p=d;for(let[m,h]of Object.entries(p))s(Tt(l),Tt(h),m,!0)}}for(let[l,u]of Object.entries(this.builder.nodes))if(u.ends!==void 0)for(let d of u.ends)s(Tt(l),Tt(d),void 0,!0);return BM(this.builder.nodes,o,s),r}};function FM(e){return typeof e.attachNode=="function"&&typeof e.attachEdge=="function"}function Tt(e){return e==="subgraph"?`"${e}"`:e}function BM(e,t,r){let n=new Set(t.map(a=>a.src)),i=[...new Set(t.filter(a=>!a.conditional&&a.dest!=="__end__").map(a=>a.dest))].sort();for(let a of i){if(n.has(a))continue;let o=Object.keys(e).find(s=>Tt(s)===a);o!==void 0&&e[o]?.isErrorHandler||r(a,Qe)}}function Mi(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"validate"in e["~standard"]}function RS(e){return typeof e=="object"&&e!==null&&"~standard"in e&&typeof e["~standard"]=="object"&&e["~standard"]!==null&&"jsonSchema"in e["~standard"]}function iZ(e){return Mi(e)&&RS(e)}function ja(e){if(RS(e))try{return e["~standard"].jsonSchema.input({target:"draft-07"})}catch{return}}function ji(e){if(e!=null&&Mi(e))try{let t=e["~standard"].validate(void 0);if(t&&typeof t=="object"&&!("then"in t&&typeof t.then=="function")){let r=t;if(!r.issues){let n=r.value;return()=>n}}}catch{}}var aZ=e=>e!=null&&e.lc_graph_name==="DeltaChannel",zh=class VM extends yt{lc_graph_name="DeltaChannel";value;reducer;snapshotFrequency;initialValueFactory;constructor(t,r){super();let n=r?.snapshotFrequency??1e3;if(!Number.isInteger(n)||n<=0)throw new Error(`snapshotFrequency must be a positive integer, got ${n}`);this.reducer=t,this.snapshotFrequency=n,this.initialValueFactory=r?.initialValueFactory??(()=>[]),this.value=void 0}fromCheckpoint(t){let r=new VM(this.reducer,{snapshotFrequency:this.snapshotFrequency,initialValueFactory:this.initialValueFactory});return t===void 0?r.value=this.initialValueFactory():Qh(t)?r.value=t.value:r.value=t,r}replayWrites(t){let r=t.map(o=>o[2]);if(r.length===0)return;let n=this.value,i=0;for(let o=0;o<r.length;o+=1){let[s,c]=sn(r[o]);s&&(n=c??this.initialValueFactory(),i=o+1)}let a=r.slice(i);this.value=a.length>0?this.reducer(n,a):n}update(t){if(t.length===0)return!1;let r,n=!1;for(let a of t)if(Za(a)){if(n)throw new ve("Can receive only one Overwrite value per step.");n=!0,[,r]=sn(a)}if(n)return this.value=r??this.initialValueFactory(),!0;let i=this.value===void 0?this.initialValueFactory():this.value;return this.value=this.reducer(i,t),!0}get(){if(this.value===void 0)throw new je;return this.value}checkpoint(){}isAvailable(){return this.value!==void 0}equals(t){return this===t?!0:!aZ(t)||this.snapshotFrequency!==t.snapshotFrequency?!1:this.reducer===t.reducer}};var MS=Symbol.for("langgraph.channel.missing"),Uh=class ZM extends yt{lc_graph_name="UntrackedValue";guard;_value=MS;initialValueFactory;constructor(t){super(),this.guard=t?.guard??!0,this.initialValueFactory=t?.initialValueFactory,this.initialValueFactory&&(this._value=this.initialValueFactory())}fromCheckpoint(t){return new ZM({guard:this.guard,initialValueFactory:this.initialValueFactory})}update(t){if(t.length===0)return!1;if(t.length!==1&&this.guard)throw new ve("UntrackedValue(guard=true) can receive only one value per step. Use guard=false if you want to store any one of multiple values.",{lc_error_code:"INVALID_CONCURRENT_GRAPH_UPDATE"});return this._value=t[t.length-1],!0}get(){if(this._value===MS)throw new je;return this._value}checkpoint(){}isAvailable(){return this._value!==MS}};var Da=(e,t)=>e.size===t.size&&[...e].every(r=>t.has(r)),jS=class HM extends yt{lc_graph_name="NamedBarrierValue";names;seen;constructor(t){super(),this.names=t,this.seen=new Set}fromCheckpoint(t){let r=new HM(this.names);return typeof t<"u"&&(r.seen=new Set(t)),r}update(t){let r=!1;for(let n of t)if(this.names.has(n))this.seen.has(n)||(this.seen.add(n),r=!0);else throw new ve(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return r}get(){if(!Da(this.names,this.seen))throw new je}checkpoint(){return[...this.seen]}consume(){return this.seen&&this.names&&Da(this.seen,this.names)?(this.seen=new Set,!0):!1}isAvailable(){return!!this.names&&Da(this.names,this.seen)}},DS=class GM extends yt{lc_graph_name="NamedBarrierValueAfterFinish";names;seen;finished;constructor(t){super(),this.names=t,this.seen=new Set,this.finished=!1}fromCheckpoint(t){let r=new GM(this.names);if(typeof t<"u"){let[n,i]=t;r.seen=new Set(n),r.finished=i}return r}update(t){let r=!1;for(let n of t)if(this.names.has(n)&&!this.seen.has(n))this.seen.add(n),r=!0;else if(!this.names.has(n))throw new ve(`Value ${JSON.stringify(n)} not in names ${JSON.stringify(this.names)}`);return r}get(){if(!this.finished||!Da(this.names,this.seen))throw new je}checkpoint(){return[[...this.seen],this.finished]}consume(){return this.finished&&this.seen&&this.names&&Da(this.seen,this.names)?(this.seen=new Set,this.finished=!1,!0):!1}finish(){return!this.finished&&this.names&&Da(this.names,this.seen)?(this.finished=!0,!0):!1}isAvailable(){return this.finished&&!!this.names&&Da(this.names,this.seen)}};var zS=Symbol.for("langgraph.state.reduced_value"),Di=class{[zS]=!0;valueSchema;inputSchema;reducer;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.jsonSchemaExtra=t.jsonSchemaExtra,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&zS in e&&e[zS]===!0}};var WM=Symbol.for("langgraph.state.untracked_value"),qo=class{[WM]=!0;schema;guard;constructor(e,t){this.schema=e,this.guard=t?.guard??!0}static isInstance(e){return typeof e=="object"&&e!==null&&WM in e}};var US=Symbol.for("langgraph.state.delta_value"),zi=class{[US]=!0;valueSchema;inputSchema;reducer;snapshotFrequency;jsonSchemaExtra;constructor(e,t){this.reducer=t.reducer,this.valueSchema=e,this.inputSchema="inputSchema"in t?t.inputSchema:e,this.snapshotFrequency=t.snapshotFrequency,this.jsonSchemaExtra=t.jsonSchemaExtra}static isInstance(e){return typeof e=="object"&&e!==null&&US in e&&e[US]===!0}};var LS=Symbol.for("langgraph.state.state_schema"),Tn=class{[LS]=!0;constructor(e){this.fields=e}getChannels(){let e={};for(let[t,r]of Object.entries(this.fields))if(zi.isInstance(r)){let n=ji(r.valueSchema);e[t]=new zh(r.reducer,{snapshotFrequency:r.snapshotFrequency,initialValueFactory:n})}else if(Di.isInstance(r)){let n=ji(r.valueSchema);e[t]=new Pi(r.reducer,n)}else if(qo.isInstance(r)){let n=r.schema?ji(r.schema):void 0;e[t]=new Uh({guard:r.guard,initialValueFactory:n})}else if(Mi(r))e[t]=new Sn(ji(r));else throw new Error(`Invalid state field "${t}": must be a schema, ReducedValue, DeltaValue, UntrackedValue, or ManagedValue`);return e}getJsonSchema(){let e={},t=[];for(let[r,n]of Object.entries(this.fields)){let i;if(zi.isInstance(n)||Di.isInstance(n)?(i=ja(n.valueSchema),n.jsonSchemaExtra&&(i={...i??{},...n.jsonSchemaExtra})):qo.isInstance(n)?i=n.schema?ja(n.schema):void 0:Mi(n)&&(i=ja(n)),i){e[r]=i;let a=!1;zi.isInstance(n)||Di.isInstance(n)?a=ji(n.valueSchema)!==void 0:qo.isInstance(n)?a=n.schema?ji(n.schema)!==void 0:!1:a=ji(n)!==void 0,a||t.push(r)}}return{type:"object",properties:e,required:t.length>0?t:void 0}}getInputJsonSchema(){let e={};for(let[t,r]of Object.entries(this.fields)){let n;zi.isInstance(r)||Di.isInstance(r)?(n=ja(r.inputSchema),r.jsonSchemaExtra&&(n={...n??{},...r.jsonSchemaExtra})):qo.isInstance(r)?n=r.schema?ja(r.schema):void 0:Mi(r)&&(n=ja(r)),n&&(e[t]=n)}return{type:"object",properties:e}}getChannelKeys(){return Object.entries(this.fields).map(([e])=>e)}getAllKeys(){return Object.keys(this.fields)}async validateInput(e){if(e==null||typeof e!="object")return e;let t={};for(let[r,n]of Object.entries(e)){let i=this.fields[r];if(i===void 0){t[r]=n;continue}let a;if(zi.isInstance(i)||Di.isInstance(i)){let[o,s]=sn(n);if(o){a=i.valueSchema;let c=await a["~standard"].validate(s);if(c.issues)throw new Error(`Validation failed for field "${r}": ${JSON.stringify(c.issues)}`);t[r]={[On]:c.value};continue}a=i.inputSchema}else qo.isInstance(i)?a=i.schema:Mi(i)&&(a=i);if(a){let o=await a["~standard"].validate(n);if(o.issues)throw new Error(`Validation failed for field "${r}": ${JSON.stringify(o.issues)}`);t[r]=o.value}else t[r]=n}return t}static isInstance(e){return typeof e=="object"&&e!==null&&LS in e&&e[LS]===!0}};var oZ="__remove_all__";function za(e,t){let r=Array.isArray(e)?e:[e],n=Array.isArray(t)?t:[t],i=r.map(kt),a=n.map(kt);for(let u of i)(u.id===null||u.id===void 0)&&(u.id=Xi(),u.lc_kwargs.id=u.id);let o;for(let u=0;u<a.length;u+=1){let d=a[u];(d.id===null||d.id===void 0)&&(d.id=Xi(),d.lc_kwargs.id=d.id),Nr.isInstance(d)&&d.id==="__remove_all__"&&(o=u)}if(o!=null)return a.slice(o+1);let s=[...i],c=new Map(s.map((u,d)=>[u.id,d])),l=new Set;for(let u of a){let d=c.get(u.id);if(d!==void 0)Nr.isInstance(u)?l.add(u.id):(l.delete(u.id),s[d]=u);else{if(Nr.isInstance(u))throw new Error(`Attempting to delete a message with an ID that doesn't exist ('${u.id}')`);c.set(u.id,s.length),s.push(u)}}return s.filter(u=>!l.has(u.id))}function FS(e,t){let r=[];for(let s of t)Array.isArray(s)?r.push(...s):r.push(s);let n=e.length>0&&Pe.isInstance(e[0])?e:e.map(kt),i=r.map(kt),a=new Map;for(let s=0;s<n.length;s+=1){let c=n[s].id;c!=null&&a.set(c,s)}let o=[...n];for(let s of i){let c=s.id;Nr.isInstance(s)&&c==="__remove_all__"?(o.length=0,a.clear()):c==null?o.push(s):Nr.isInstance(s)?a.has(c)&&(o[a.get(c)]=null,a.delete(c)):a.has(c)?o[a.get(c)]=s:(a.set(c,o.length),o.push(s))}return o.filter(s=>s!==null)}var JM=rn.custom().default(()=>[]),KM=rn.custom(),sZ=new Di(JM,{inputSchema:KM,reducer:za,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}}),cZ=new zi(JM,{inputSchema:KM,reducer:FS,jsonSchemaExtra:{langgraph_type:"messages",description:"A list of chat messages"}});var lZ=class{_map=new Map;_extensionCache=new Map;get(e){return this._map.get(e)}extend(e,t){let r=this.get(e);this._map.set(e,t(r))}remove(e){return this._map.delete(e),this}has(e){return this._map.has(e)}getChannelsForSchema(e){let t={},r=xi(e);for(let[n,i]of Object.entries(r)){let a=this.get(i);a?.reducer?t[n]=new Pi(a.reducer.fn,a.default):t[n]=new Sn(a?.default)}return t}getExtendedChannelSchemas(e,t){if(Object.keys(t).length===0)return e;let r=Object.entries(t).filter(([,a])=>a===!0).sort(([a],[o])=>a.localeCompare(o)).map(([a,o])=>`${a}:${o}`).join("|"),n=this._extensionCache.get(r)??new Map;if(n.has(e))return n.get(e);let i=e;if(t.withReducerSchema||t.withJsonSchemaExtrasAsDescription){let a=Object.entries(xi(e)).map(([o,s])=>{let c=this.get(s),l=t.withReducerSchema?c?.reducer?.schema??s:s;if(t.withJsonSchemaExtrasAsDescription&&c?.jsonSchemaExtra){let u=Si(l)??Si(s),d=JSON.stringify({...c.jsonSchemaExtra,description:u});l=l.describe(`lg:${d}`)}return[o,l]});i=xp(e,Object.fromEntries(a)),lt(i)&&(i._def.unknownKeys="strip")}return t.asPartial&&(i=Sa(i)),n.set(e,i),this._extensionCache.set(r,n),i}},Fu=new lZ;function qM(e,t){if(t.reducer&&!t.default){let r=Sp(e);r!=null&&(t.default=r)}if(t.reducer){let r=Object.assign(e,{lg_reducer_schema:t.reducer?.schema??e});return Fu.extend(r,()=>t),r}else return Fu.extend(e,()=>t),e}function Xo(e){return e==null?!1:!!(Tn.isInstance(e)||Jt(e)||typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot"||typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0&&Object.values(e).every(t=>typeof t=="function"||X0(t)))}function XM(e){if(typeof e!="object"||e==null)return!1;let t=e,r="state"in t&&Xo(t.state),n="stateSchema"in t&&Xo(t.stateSchema),i="input"in t&&Xo(t.input);return!(!r&&!n&&!i||"input"in t&&t.input!=null&&!Xo(t.input)||"output"in t&&t.output!=null&&!Xo(t.output))}var Ui="__root__",Rc="__default_error_handler__",Lh=Symbol.for("langgraph.state.partial"),BS=class extends PS{channels={};waitingEdges=new Set;_schemaDefinition;_schemaRuntimeDefinition;_inputDefinition;_inputRuntimeDefinition;_outputDefinition;_outputRuntimeDefinition;_schemaDefinitions=new Map;_metaRegistry=Fu;_configSchema;_configRuntimeSchema;_interrupt;_writer;_nodeDefaults={};constructor(e,t){super();let r=this._normalizeToStateGraphInit(e,t),n=r.state??r.stateSchema??r.input;if(!n)throw new Lc;let i=this._getChannelsFromSchema(n);this._schemaDefinition=i,Tn.isInstance(n)?this._schemaRuntimeDefinition=n:Jt(n)&&(this._schemaRuntimeDefinition=n),r.input?Tn.isInstance(r.input)?this._inputRuntimeDefinition=r.input:Jt(r.input)?this._inputRuntimeDefinition=r.input:this._inputRuntimeDefinition=Lh:this._inputRuntimeDefinition=Lh,r.output?Tn.isInstance(r.output)?this._outputRuntimeDefinition=r.output:Jt(r.output)?this._outputRuntimeDefinition=r.output:this._outputRuntimeDefinition=this._schemaRuntimeDefinition:this._outputRuntimeDefinition=this._schemaRuntimeDefinition;let a=r.input?this._getChannelsFromSchema(r.input):i,o=r.output?this._getChannelsFromSchema(r.output):i;this._inputDefinition=a,this._outputDefinition=o,this._addSchema(this._schemaDefinition),this._addSchema(this._inputDefinition),this._addSchema(this._outputDefinition),r.context&&Jt(r.context)&&(this._configRuntimeSchema=r.context),this._interrupt=r.interrupt,this._writer=r.writer}setNodeDefaults(e){return e.retryPolicy!==void 0&&(this._nodeDefaults.retryPolicy=e.retryPolicy),e.cachePolicy!==void 0&&(this._nodeDefaults.cachePolicy=typeof e.cachePolicy=="boolean"?e.cachePolicy?{}:void 0:e.cachePolicy),e.timeout!==void 0&&(this._nodeDefaults.timeout=Bi(e.timeout)),e.errorHandler!==void 0&&(this._nodeDefaults.errorHandler=e.errorHandler),this}_createDefaultErrorHandlerSpec(){let e=this._nodeDefaults.errorHandler;if(e!==void 0)return{runnable:new Rt({func:(t,r)=>{let n=r?.configurable?.[zc];return e(t,n,r)},name:Rc,trace:!1}),metadata:void 0,input:this._schemaDefinition,retryPolicy:void 0,cachePolicy:void 0,isErrorHandler:!0}}_normalizeToStateGraphInit(e,t){if(XM(e)){if(Jt(t)||dh.isInstance(t))return{...e,context:t};let r=t;return{...e,input:e.input??r?.input,output:e.output??r?.output,context:e.context??r?.context,interrupt:e.interrupt??r?.interrupt,writer:e.writer??r?.writer,nodes:e.nodes??r?.nodes}}if(Xo(e)){if(Jt(t)||dh.isInstance(t))return{state:e,context:t};let r=t;return{state:e,input:r?.input,output:r?.output,context:r?.context,interrupt:r?.interrupt,writer:r?.writer,nodes:r?.nodes}}if(dZ(e))return{state:uZ(e.channels)};throw new Lc}_getChannelsFromSchema(e){if(Tn.isInstance(e))return e.getChannels();if(Jt(e))return this._metaRegistry.getChannelsForSchema(e);if(typeof e=="object"&&"lc_graph_name"in e&&e.lc_graph_name==="AnnotationRoot")return e.spec;if(typeof e=="object"&&!Array.isArray(e)&&Object.keys(e).length>0)return e;throw new Lc("Invalid schema type. Expected StateSchema, Zod object, AnnotationRoot, or StateDefinition.")}get allEdges(){return new Set([...this.edges,...Array.from(this.waitingEdges).flatMap(([e,t])=>e.map(r=>[r,t]))])}_addSchema(e){if(!this._schemaDefinitions.has(e)){this._schemaDefinitions.set(e,e);for(let[t,r]of Object.entries(e)){let n;if(typeof r=="function"?n=r():n=r,this.channels[t]!==void 0){if(!this.channels[t].equals(n)&&n.lc_graph_name!=="LastValue")throw new Error(`Channel "${t}" already exists with a different type.`)}else this.channels[t]=n}}}addNode(...e){function t(n){return n.length>=1&&typeof n[0]!="string"}let r=t(e)?Array.isArray(e[0])?e[0]:Object.entries(e[0]).map(([n,i])=>[n,i]):[[e[0],e[1],e[2]]];if(r.length===0)throw new Error("No nodes provided in `addNode`");for(let[n,i,a]of r){if(n in this.channels)throw new Error(`${n} is already being used as a state attribute (a.k.a. a channel), cannot also be used as a node name.`);for(let f of["|",":"])if(n.includes(f))throw new Error(`"${f}" is a reserved character and is not allowed in node names.`);if(this.warnIfCompiled("Adding a node to a graph that has already been compiled. This will not be reflected in the compiled graph."),n in this.nodes)throw new Error(`Node \`${n}\` already present.`);if(n==="__end__"||n==="__start__")throw new Error(`Node \`${n}\` is reserved.`);let o=this._schemaDefinition;a?.input!==void 0&&(o=this._getChannelsFromSchema(a.input)),this._addSchema(o);let s;se.isRunnable(i)?s=i:typeof i=="function"?s=new Rt({func:i,name:n,trace:!1}):s=at(i);let c=a?.cachePolicy,l;c!==void 0&&(l=typeof c=="boolean"?c?{}:!1:c);let u;if(a?.errorHandler!==void 0){if(u=`__error_handler__${n}`,u in this.nodes)throw new Error(`Cannot add error handler to node \`${n}\`: the reserved name \`${u}\` is already in use. StateGraph registers \`__error_handler__<nodeName>\` when you pass \`errorHandler\` in addNode options. Remove or rename the existing node with that name (for example, you may have added it manually).`);let f=a.errorHandler,p={runnable:new Rt({func:(m,h)=>{let _=h?.configurable?.[zc];return f(m,_,h)},name:u,trace:!1}),metadata:void 0,input:o??this._schemaDefinition,retryPolicy:void 0,cachePolicy:void 0,isErrorHandler:!0};this.nodes[u]=p}let d={runnable:s,retryPolicy:a?.retryPolicy,cachePolicy:l,timeout:Bi(a?.timeout),metadata:a?.metadata,input:o??this._schemaDefinition,subgraphs:ju(s)?[s]:a?.subgraphs,ends:a?.ends,defer:a?.defer,errorHandlerNode:u};this.nodes[n]=d}return this}addEdge(e,t){if(typeof e=="string")return super.addEdge(e,t);this.compiled&&console.warn("Adding an edge to a graph that has already been compiled. This will not be reflected in the compiled graph.");for(let r of e){if(r==="__end__")throw new Error("END cannot be a start node");if(!Object.keys(this.nodes).some(n=>n===r))throw new Error(`Need to add a node named "${r}" first`)}if(t==="__end__")throw new Error("END cannot be an end node");if(!Object.keys(this.nodes).some(r=>r===t))throw new Error(`Need to add a node named "${t}" first`);return this.waitingEdges.add([e,t]),this}addSequence(e){let t=Array.isArray(e)?e:Object.entries(e);if(t.length===0)throw new Error("Sequence requires at least one node.");let r;for(let[n,i,a]of t){if(n in this.nodes)throw new Error(`Node names must be unique: node with the name "${n}" already exists.`);let o=n;this.addNode(n,i,a),r!=null&&this.addEdge(r,o),r=o}return this}compile({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:a,description:o,transformers:s}={}){let c=this._createDefaultErrorHandlerSpec();if(c!==void 0){if(Rc in this.nodes)throw new Error(`Cannot apply a default error handler: the reserved node name \`${Rc}\` is already in use. setNodeDefaults({ errorHandler }) registers a node with that name; rename the conflicting node.`);this.nodes[Rc]=c}try{return this._compileResolved({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:a,description:o,transformers:s,defaultErrorHandlerNode:c!==void 0?Rc:void 0})}finally{c!==void 0&&delete this.nodes[Rc]}}_compileResolved({checkpointer:e,store:t,cache:r,interruptBefore:n,interruptAfter:i,name:a,description:o,transformers:s,defaultErrorHandlerNode:c}){this.validate([...Array.isArray(n)?n:[],...Array.isArray(i)?i:[]]);let l=Object.keys(this._schemaDefinitions.get(this._outputDefinition)),u=l.length===1&&l[0]===Ui?Ui:l,d=Object.keys(this.channels),f=d.length===1&&d[0]===Ui?Ui:d,p=this._interrupt,m=new QM({builder:this,checkpointer:e,interruptAfter:i,interruptBefore:n,autoValidate:!1,nodes:{},channels:{...this.channels,[Je]:new In},inputChannels:Je,outputChannels:u,streamChannels:f,streamMode:"updates",store:t,cache:r,name:a,description:o,userInterrupt:p,streamTransformers:s});m.attachNode(Je);let h=this._nodeDefaults,_=h.retryPolicy!==void 0||h.cachePolicy!==void 0||h.timeout!==void 0||c!==void 0;for(let[y,w]of Object.entries(this.nodes)){let x=w.isErrorHandler===!0,S=_?{...w,retryPolicy:w.retryPolicy??h.retryPolicy,cachePolicy:x||w.cachePolicy===!1?void 0:w.cachePolicy??h.cachePolicy,timeout:w.timeout??h.timeout,errorHandlerNode:!x&&c!==void 0&&w.errorHandlerNode===void 0?c:w.errorHandlerNode}:w;m.attachNode(y,S)}m.attachBranch(Je,Bh,YM(),{withReader:!1});for(let[y]of Object.entries(this.nodes))m.attachBranch(y,Bh,YM(),{withReader:!1});for(let[y,w]of this.edges)m.attachEdge(y,w);for(let[y,w]of this.waitingEdges)m.attachEdge(y,w);for(let[y,w]of Object.entries(this.branches))for(let[x,S]of Object.entries(w))m.attachBranch(y,x,S);return m.validate()}};function uZ(e){let t={};for(let[r,n]of Object.entries(e))r===Ui?t[r]=fh(n):t[r]=fh(n);return t}var QM=class extends NS{description;_metaRegistry=Fu;constructor({description:e,...t}){super(t),this.description=e}attachNode(e,t){let r;e==="__start__"?r=Object.entries(this.builder._schemaDefinitions.get(this.builder._inputDefinition)).map(([c])=>c):r=Object.keys(this.builder.channels);function n(c){if(Ct(c))return c.graph===_r.PARENT?null:c._updateAsTuples();if(Array.isArray(c)&&c.length>0&&c.some(l=>Ct(l))){let l=[];for(let u of c)if(Ct(u)){if(u.graph===_r.PARENT)continue;l.push(...u._updateAsTuples())}else l.push([Ui,u]);return l}else if(c!=null)return[[Ui,c]];return null}let i=e,a=async c=>{if(c==null||c.length===0)return c;let l=this.builder._schemaRuntimeDefinition;if(Tn.isInstance(l)){let u=new Set(l.getChannelKeys());return Promise.all(c.map(async([d,f])=>{if(!u.has(d))return[d,f];let p=await l.validateInput({[d]:f});return[d,Object.prototype.hasOwnProperty.call(p,d)?p[d]:f]}))}if(Jt(l)){let u=new Set(Object.keys(xi(l)));if(c.filter(([p])=>u.has(p)).length===0)return c;let d=Sa(this._metaRegistry.getExtendedChannelSchemas(l,{withReducerSchema:!0})),f=Sa(l);return c.map(([p,m])=>{if(!u.has(p))return[p,m];let[h,_]=sn(m);if(h){let w=xa(f,{[p]:_});return[p,Object.prototype.hasOwnProperty.call(w,p)?{[On]:w[p]}:m]}let y=xa(d,{[p]:m});return[p,Object.prototype.hasOwnProperty.call(y,p)?y[p]:m]})}return c};async function o(c){if(c){if(Ct(c))return c.graph===_r.PARENT?null:a(c._updateAsTuples().filter(([l])=>r.includes(l)));if(Array.isArray(c)&&c.length>0&&c.some(Ct)){let l=[];for(let u of c)if(Ct(u)){if(u.graph===_r.PARENT)continue;l.push(...u._updateAsTuples().filter(([d])=>r.includes(d)))}else{let d=await o(u);d&&l.push(...d??[])}return a(l)}else{if(typeof c=="object"&&!Array.isArray(c))return a(Object.entries(c).filter(([l])=>r.includes(l)));{let l=Array.isArray(c)?"array":typeof c;throw new ve(`Expected node "${i.toString()}" to return an object or an array containing at least one Command object, received ${l}`,{lc_error_code:"INVALID_GRAPH_NODE_RETURN_VALUE"})}}}else return null}let s=[{value:Ir,mapper:new Rt({func:r.length&&r[0]===Ui?n:o,trace:!1,recurse:!1})}];if(e==="__start__")this.nodes[e]=new $n({tags:[ht],triggers:[Je],channels:[Je],writers:[new ut(s,[ht])]});else{let c=t?.input??this.builder._schemaDefinition,l=Object.fromEntries(Object.keys(this.builder._schemaDefinitions.get(c)).map(m=>[m,m])),u=Object.keys(l).length===1&&Ui in l,d=`branch:to:${e}`;this.channels[d]=t?.defer?new Q0:new In(!1);let f=t?.cachePolicy,p=f===!1?void 0:f;this.nodes[e]=new $n({triggers:[d],channels:u?Object.keys(l):l,writers:[new ut(s,[ht])],mapper:u?void 0:m=>Object.fromEntries(Object.entries(m).filter(([h])=>h in l)),bound:t?.runnable,metadata:t?.metadata,retryPolicy:t?.retryPolicy,cachePolicy:p,timeout:t?.timeout,subgraphs:t?.subgraphs,ends:t?.ends,isErrorHandler:t?.isErrorHandler,errorHandlerNode:t?.errorHandlerNode})}}attachEdge(e,t){if(t!=="__end__"){if(typeof e=="string")this.nodes[e].writers.push(new ut([{channel:`branch:to:${t}`,value:null}],[ht]));else if(Array.isArray(e)){let r=`join:${e.join("+")}:${t}`;this.channels[r]=this.builder.nodes[t].defer?new DS(new Set(e)):new jS(new Set(e)),this.nodes[t].triggers.push(r);for(let n of e)this.nodes[n].writers.push(new ut([{channel:r,value:n}],[ht]))}}}attachBranch(e,t,r,n={withReader:!0}){let i=async(a,o)=>{let s=a.filter(l=>l!==Qe);if(!s.length)return;let c=s.map(l=>wt(l)?l:{channel:l==="__end__"?l:`branch:to:${l}`,value:e});await ut.doWrite({...o,tags:(o.tags??[]).concat([ht])},c)};this.nodes[e].writers.push(r.run(i,n.withReader?a=>rM.doRead(a,this.streamChannels??this.outputChannels,!0):void 0))}async _validateInput(e){if(e==null)return e;let t=this.builder._inputRuntimeDefinition,r=this.builder._schemaRuntimeDefinition;if(Tn.isInstance(t)){if(Ct(e)){let i=e;return e.update&&(i.update=await t.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),i}return await t.validateInput(e)}if(t===Lh&&Tn.isInstance(r)){if(Ct(e)){let i=e;return e.update&&(i.update=await r.validateInput(Array.isArray(e.update)?Object.fromEntries(e.update):e.update)),i}return await r.validateInput(e)}let n=(()=>{let i=a=>{if(a!=null)return this._metaRegistry.getExtendedChannelSchemas(a,{withReducerSchema:!0})};if(Jt(t))return i(t);if(t===Lh)return Jt(r)?Sa(i(r)):void 0})();if(Ct(e)){let i=e;if(e.update&&n!=null){let a=Array.isArray(e.update)?Object.fromEntries(e.update):e.update,o=xa(n,a);i.update=Object.fromEntries(Object.keys(a).map(s=>[s,o[s]]))}return i}return n!=null?xa(n,e):e}isInterrupted(e){return Ha(e)}async _validateContext(e){let t=this.builder._configRuntimeSchema;return Jt(t)&&xa(t,e),e}};function dZ(e){return typeof e=="object"&&e!==null&&e.channels!==void 0}function fZ(e){if(wt(e))return[e];let t=[];Ct(e)?t.push(e):Array.isArray(e)&&t.push(...e.filter(Ct));let r=[];for(let n of t){if(n.graph===_r.PARENT)throw new Qu(n);wt(n.goto)||typeof n.goto=="string"?r.push(n.goto):Array.isArray(n.goto)&&r.push(...n.goto)}return r}function YM(){return new OS({path:new Rt({func:fZ,tags:[ht],trace:!1,recurse:!1,name:"<control_branch>"})})}var pZ=class extends BS{constructor(){super({channels:{__root__:{reducer:za,default:()=>[]}}})}};function mZ(e,t){let{stateKey:r,...n}=t??{},i=Ec(n),a=r??"messages";r===null&&(a=void 0);let o=kt(e);if(!o.id)throw new Error("Message ID is required.");let s=(Array.isArray(i.callbacks)?i.callbacks:typeof i.callbacks<"u"?i.callbacks.handlers:[]).find(c=>"name"in c&&c.name==="StreamMessagesHandler");if(s){let c=i.metadata??{},l=(c.langgraph_checkpoint_ns??"").split("|");s._emit([l,c],o,void 0,!1)}return a&&i.configurable?.__pregel_send?.([[a,o]]),o}function hZ(e,t){let r=typeof e=="string"?{name:e,retry:void 0,cachePolicy:void 0,timeout:void 0}:e,{name:n,retry:i}=r,a=Bi(r.timeout);if(_S(t)||yS(t))throw new Error("Generators are disallowed as tasks. For streaming responses, use config.write.");let o=r.cachePolicy??("cache"in r?r.cache:void 0),s;return typeof o=="boolean"?s=o?{}:void 0:s=o,(...c)=>dM({func:t,name:n,retry:i,cache:s,timeout:a},...c)}var ej=function(t,r){let{name:n,checkpointer:i,store:a,cache:o}=typeof t=="string"?{name:t,checkpointer:void 0,store:void 0}:t,s=Bi(typeof t=="string"?void 0:t.timeout);if(_S(r)||yS(r))throw new Error("Generators are disallowed as entrypoints. For streaming responses, use config.write.");let c="updates",l=uM(n,r);function u(m){return typeof m=="object"&&m!==null&&"__lg_type"in m&&m.__lg_type==="__pregel_final"}let d=new Rt({name:"pluckReturnValue",func:m=>u(m)?m.value:m}),f=new Rt({name:"pluckSaveValue",func:m=>u(m)?m.save:m}),p=new $n({bound:l,triggers:[Je],channels:[Je],timeout:s,writers:[new ut([{channel:Qe,value:Ir,mapper:d},{channel:Wi,value:Ir,mapper:f}],[ht])]});return new Dh({name:n,checkpointer:i,nodes:{[n]:p},channels:{[Je]:new In,[Qe]:new Sn,[Wi]:new Sn},inputChannels:Je,outputChannels:Qe,streamChannels:Qe,streamMode:c,store:a,cache:o})};ej.final=function({value:t,save:r}){return{value:t,save:r,__lg_type:"__pregel_final"}};function gZ(){return Re.getRunnableConfig().configurable?.[Zi]}var _Z=Pu.Root({messages:Pu({reducer:za,default:()=>[]})}),tj={reducer:{fn:za},jsonSchemaExtra:{langgraph_type:"messages"},default:()=>[]},yZ=Nt.object({messages:qM(Nt.custom(),tj)});function vZ(e){let t=Re.getRunnableConfig();if(!t)throw new Error("Called interrupt() outside the context of a graph.");let r=t.configurable;if(!r)throw new Error("No configurable found in config");return r.writer?.(e)}export{Je as a,Qe as b,Le as c,Fh as d,qS as e,Fa as f,wt as g,ij as h,Ha as i,_r as j,Ct as k,Zr as l,Ju as m,Vh as n,Ga as o,Ku as p,qu as q,li as r,Xu as s,Yu as t,oj as u,Qu as v,Zh as w,Ji as x,ui as y,ed as z,sj as A,td as B,je as C,ve as D,cj as E,Hh as F,lj as G,Lc as H,uj as I,Tk as J,ar as K,Dj as L,jn as M,zk as N,Hc as O,Uk as P,tt as Q,St as R,ss as S,Ne as T,us as U,it as V,un as W,qa as X,Ya as Y,Qa as Z,mi as _,P$ as $,Wt as aa,la as ba,fo as ca,ha as da,Vf as ea,xo as fa,Ge as ga,lt as ha,xr as ia,Si as ja,Sp as ka,z as la,Nt as ma,Et as na,qt as oa,Vp as pa,RF as qa,Hl as ra,Xp as sa,Xw as ta,gP as ua,_P as va,UF as wa,LF as xa,Qw as ya,Ca as za,nm as Aa,Aa as Ba,YF as Ca,hx as Da,uc as Ea,pu as Fa,rn as Ga,eV as Ha,aV as Ia,pV as Ja,Go as Ka,wn as La,ih as Ma,OR as Na,Sc as Oa,sh as Pa,RR as Qa,yt as Ra,Pi as Sa,Pu as Ta,JV as Ua,KV as Va,ph as Wa,qV as Xa,eS as Ya,tS as Za,Ic as _a,rS as $a,an as ab,gh as bb,oS as cb,Nu as db,Ru as eb,sS as fb,cS as gb,_h as hb,dS as ib,GR as jb,fS as kb,gS as lb,Rt as mb,PS as nb,Mi as ob,iZ as pb,ja as qb,ji as rb,zh as sb,Uh as tb,Di as ub,qo as vb,zi as wb,Tn as xb,oZ as yb,za as zb,FS as Ab,sZ as Bb,cZ as Cb,Fu as Db,qM as Eb,BS as Fb,QM as Gb,pZ as Hb,mZ as Ib,hZ as Jb,ej as Kb,gZ as Lb,_Z as Mb,tj as Nb,yZ as Ob,vZ as Pb};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{b as Le}from"./4QA4AYHJ.js";import g from"./LUT4IGPP.js";import{b as P,c as oe,d as Oe}from"./CFBSBZSS.js";import f from"./G2NXASJO.js";import{a as ce}from"./XEK22IDA.js";import e from"./ZV4GLQQG.js";import{d as Me,e as Ee}from"./OBBYT2AV.js";import{a as X}from"./U5B2LAPJ.js";import d from"./5KDFY5KE.js";import"./DFTUMKSN.js";import{a as Ne}from"./YVKSTDL6.js";import b from"./G2KWSRCG.js";import a from"./DALGPO36.js";import{a as K,b as H,c as Q,d as ke,j as Se}from"./VMQIDO4Z.js";import{b as J,c as ne}from"./QS3GXAIH.js";import{b as xe}from"./2GBRZSEC.js";import{a as O}from"./SWAVECPM.js";import{a as Ce}from"./7ZXEX3LI.js";import"./SKUPHVNO.js";import"./TNLGQ7HL.js";import{K as z,L as G,M as $e,N as U,O as ae,S as Ae,T as q,h as we,j as c,k as ye,m as C,w as F}from"./TSTTPCWU.js";import"./UZLQALHY.js";export default $arcgis.t(([{formatDate:Rt,substitute:Z,getLocale:Wt},,Ft,{e:L},{c:Ie,f:Te,g:Pe,h:je},{c:re},,{a:se,c:Fe},{a:De,b:ze,c:Ge,d:Re,e:We}])=>{function He({portal:e,productInfo:t}){let{name:i,glyph:a}=t||{};return c`<img alt class="logo__glyph" src=${a??C}><span class="logo__text"><span class="logo__title">${i}</span>${e?.name&&c`<span class="logo__subtitle">${e.name}</span>`||""}</span>`}function Ht({navigate:e,portal:t,product:i,productInfo:a,productHref:n,messages:r,searchActive:o,showNav:s,projectTitleEditing:l}){let u=o&&i==="Online"&&!s||i!=="Online"&&l&&window.innerWidth<960;return!i||!t||!r||u?null:n?c`<a href=${n??C} @click=${m=>{e({event:m,href:n})}} class="logo fade-in logo--link">${He({portal:t,productInfo:a})}</a>`:c`<div class="logo fade-in">${He({portal:t,productInfo:a})}</div>`}var le={},j={Month:2628e3,Week:604800,Day:86400,Hour:3600,Minute:60,Second:1};function Xe(e){if(!e)return null;let t=Math.floor(e/1e3),i=Math.abs(t),a=j.Day*365;switch(!0){case i<j.Minute:return[Math.floor(t/j.Second),"second"];case i<j.Hour:return[Math.floor(t/j.Minute),"minute"];case i<j.Day:return[Math.floor(t/j.Hour),"hour"];case i<j.Week:return[Math.floor(t/j.Day),"day"];case i<j.Month:return[Math.floor(t/j.Week),"week"];case i<a:return[Math.floor(t/j.Month),"month"];default:return[Math.floor(t/a),"year"]}}function Ye(e){return(typeof e=="number"?e:e.getTime?.())-new Date().getTime()}function Ze({locale:e,time:t,t9n:i}){if(!e||!t)return"";let a=Ye(t);le[e]??=new Intl.RelativeTimeFormat(e,{style:"long"});let n=Xe(a);return n?n[1]==="second"?i?.lessThanOneMinute||`< ${le[e].format(n[0]>0?1:-1,"minutes")}`:le[e].format(n[0],n[1]):""}var Vt={month:"long",day:"numeric",year:"numeric"},Bt={month:"long",day:"numeric"};function Ut({locale:e,time:t},i){if(!e||!t)return"";let a=new Date(t);return Rt(a,i?Vt:Bt)}async function qt({portal:e}){if(!e?.user)return{result:[]};let t=`${e.restUrl}/community/users/${e.user.id}/notifications`,{result:i,error:a}=await L(t);return a?{error:a}:{result:i?.notifications}}async function Jt(e,t){if(!e?.user)return{success:!0};let i=t.map(a=>({portal:e,id:a})).map(et);return{success:!((await Promise.allSettled(i))?.filter(a=>a.status==="rejected"||!a.value?.success)).length}}async function et({portal:e,id:t}){let i=`${e.restUrl}/community/users/${e.user?.id}/notifications/${t}/delete`,{result:a}=await L(i,{method:"post"});return a?.success?{success:!0,id:t}:{success:!1,id:t}}var tt="notifications-menu";function Kt(e){try{let t=decodeURIComponent(e);return t!==e?t:e}catch{return e}}function Qt(e){switch(e){case"group_join_admin":return"users";case"group_application_accepted":return"register";case"group_join":return"file-user";case"group_application_declined":return"user-risk";case"user_invitation_declined":return"group-x";case"user_invitation_accepted":return"user-plus";case"user_invite":return"envelope";case"user_added_to_group":return"user-plus";case"collaboration_workspace_added":case"collaboration_deleted":case"collaboration_leaving":case"collaboration_join":case"collaboration_participant_workspace_join":case"collaboration_participant_workspace_unjoin":case"collaboration_participant_removed":case"collaboration_peer_participant_removed":case"collaboration_participant_access_changed":return"collaboration";case"collaboration_participant_join":return"collaboration-user";case"collaboration_content_store_disk_limit_reached":return"gauge";case"user_email_bounced":return"speech-bubble-exclamation";case"feature_layer_copy_over_failed":case"feature_layer_one_way_shared_not_two_way":case"feature_view_copy_over_failed":case"webapp_not_copied":case"webapp_not_copied_portal":case"insights_item_not_copied":return"collaboration";case"scheduled_task_disabled":return"date-time";case"portal_certificate_about_to_expire":case"portal_certificate_expired":return"hourglass-expired";case"notebook_runtime_deprecated":return"notebook-server";case"ingress_certificate_about_to_expire":case"ingress_certificate_expired":return"certificate";default:return"bell"}}function Xt({notification:e,portal:t,locale:i,t9n:a}){if(e?.received&&e.id){let n={date:Ze({locale:i,time:e.received,t9n:a}),id:e.id,text:"",icon:Qt(e.type)};if(e.type==="webapp_not_copied"&&t.isPortal&&(e.type="webapp_not_copied_portal"),e.data?.taskTitle&&(e.data.taskTitle=Kt(e.data.taskTitle)),e.type==="message_received")n.text=e.data.message||"";else if(a.types[e.type]){let r=J({portal:t,usePortalHostname:!!t.user});e.data.baseUrl=`${r}/home/`,n.text=Z(a.types[e.type],e.data)}if(n.text)return n}return null}async function Ve({portal:e,locale:t,t9n:i}){if(!i)return[];let{result:a,error:n}=await qt({portal:e});return n&&console.error(n),a?.length?a.map(r=>Xt({notification:r,portal:e,t9n:i,locale:t})).filter(r=>r):[]}function Yt({notifications:e,messages:t,handleToggleNotifications:i,handleToggleSearch:a,notificationsActive:n}){return t?c`<calcite-action class="action" scale=l .text=${t.label} icon=bell .indicator=${!!e?.length} id=${tt} @click=${()=>i(!n)} @focusin=${()=>a(!1,!0)}></calcite-action>`:null}function Y({icon:e,title:t,description:i}){return!t&&!i?null:c`<div class="empty">${e&&c`<svg xmlns=http://www.w3.org/2000/svg width=64 height=64 viewBox="0 0 64 64" fill=none>${ye`<path d=${Ne[e]??C} fill=var(--calcite-color-border-input) />`}</svg>`||""}${t&&c`<h3 class="notifications__empty__header">${t}</h3>`||""}${i&&c`<p class="notifications__empty__text">${i}</p>`||""}</div>`}function Zt({notifications:e,deleteNotifications:t,messages:i,navigate:a,portal:n,notificationsActive:r,handleToggleNotifications:o,notificationDeleteProgress:s}){return i?c`<calcite-popover .referenceElement=${tt} @calcitePopoverClose=${()=>o(!1)} .label=${i.label} auto-close .open=${r} pointer-disabled flip-disabled trigger-disabled placement=bottom-end scale=l .heading=${i.label}>${e?.length>0?c`<div class="notifications notifications--full">${typeof s=="number"&&c`<calcite-scrim><calcite-loader type=determinate-value .label=${i.deleting} .value=${s}></calcite-loader></calcite-scrim>`||""}<calcite-list .label=${i.label} interaction-mode=static class="notifications__list" scale=l>${O(e,l=>l.id,l=>c`<calcite-list-item closable @calciteListItemClose=${async()=>await t([l.id])} .messageOverrides=${{close:i.dismissLabel}} .iconStart=${l.icon}><div slot=content class="notification"><div class="notification__message" .innerHTML=${l.text??""} @click=${u=>{let m=u.target,b=m.href;if(m.nodeName==="CALCITE-LINK"&&b){let h=`${J({portal:n,usePortalHostname:!!n.user})}/home/`;a({event:u,href:b,relativePath:b.replace(h,"")})}}}></div><div class="notification__date">${l.date}</div></div></calcite-list-item>`)}</calcite-list></div><calcite-button class="notifications__dismiss" scale=l appearance=transparent @click=${async l=>{let u=l.currentTarget?.parentElement;await t(e?.map(({id:m})=>m)),u.open=!1}}>${i.dismissAllLabel}</calcite-button>`:c`<div class="notifications">${Y({title:i.noNotifications,description:i.noNotificationsDescription,icon:"check"})}</div>`}</calcite-popover>`:null}function ei(e){return e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}function ti(e,t,i,a){si(e,JSON.stringify(t),i)}function ii(e){return ri(e,!0)}function ai(e){try{window.localStorage.removeItem(e)}catch{}}function ni(e){try{window.sessionStorage.removeItem(e)}catch{}}function ri(e,t){let i=oi(e);return i&&t?JSON.parse(i):i}function oi(e){let t=document.cookie,i=new RegExp(`(?:^|; )${ei(e)}=([^;]*)`,"u"),a=t.match(i);return a?decodeURIComponent(a[1]):""}function si(e,t,i){i=i||{};let a=i?.expires;if(typeof a=="number"){let r=new Date,o=a*24*60*60*1e3;r.setTime(Date.now()+o),a=r,i.expires=r}typeof a!="string"&&a?.toUTCString&&(i.expires=a.toUTCString());let n=`${e}=${encodeURIComponent(t)}`;for(let r of Object.keys(i)){n+=`; ${r}`;let o=i[r];o!==!0&&(n+=`=${o}`)}document.cookie=n}async function ci(e){let t=`owner:"${e.isPortal?"esri":"esri_config"}" AND title:"AppSwitcher Config" AND type:"Application Configuration"`,i=`${e.restUrl}/search`;return await L(i,{query:{num:1,start:0,sortField:"title",sortOrder:"asc",q:t}})}async function li(e){let t={appSwitcher:{apps:[]}};if(!e?.id||!e.user)return t;let{result:i}=await ci(e),a=i?.results?.[0];if(!a)return t;let n=a.id;return(await re(e,n)).result}async function pi(e,t,i){if(!t||!e?.length)return{result:null};let a=`${i.restUrl}/search`;return await L(a,{query:{num:100,q:`id:(${e.map(n=>`"${n.itemId}"`).join(" OR ")})`}})}async function di(e){let t=`${e.restUrl}/search`,i={num:10,start:0,sortField:"title",sortOrder:"asc",q:'owner:"esri" AND title:"BlockedApps Config" AND type: "Application Configuration"'},{result:a}=await L(t,{query:i}),n=a?.results?.[0]?.id;return n?(await re(e,n))?.result?.blockedApps||[]:[]}function ui(e,t){let i=e?.toLowerCase()||"",a=`${t.title||""} ${t.label||""}`;return!i||a.toLowerCase().includes(i)}function hi(){if(ii("APSW-query")?.expires>new Date().setHours(new Date().getHours()))return!0;let e={expires:new Date().setHours(new Date().getHours()+5)};return ti("APSW-query",e,{path:"/",domain:window.location.hostname,sameSite:"Strict"}),!1}function mi(e,t){let{landingPage:i}=t||{};return{image:"arcgis-online.png",label:"ArcGIS Online",title:"ArcGIS Online",url:`${ne({portal:e})}/${i?.url?i.url:se(e.user)?"organization.html":"index.html"}`}}function Be(e){let t=["api-for-python","appstudio","arcade","arcgis-earth","arcgis-enterprise","arcgis-experience-builder","arcgis-geoanalytics","arcgis-hub","arcgis-online","arcgis-pro","arcgis-urban","blank","business-analyst","city-engine","collector","community-analyst","configurable-apps","dashboards-beta","dashboards-classic","data-pipelines","deeplearningstudio","demographics","drone2map","esri-events","essential-apps","excalibur","explorer","field-apps","fieldmaps-beta","fieldmaps-ea","fieldmaps","generic-app","geobim","geoplanner","grid-view-9","indoor","indoors","insights","instant-apps","ips","knowledge-studio","living-atlas","location-platform","map-maker","map-viewer-beta","map-viewer-classic","map-viewer","maps-adobe-cloud","maps-for-office","maps-for-power-bi","maps-for-sharepoint","marketplace","mission","monitor","navigator","notebook","office-apps","open-data","operations-dashboard","ortho-maker","pro-extension","quick-capture","redistricting","runtime","scene-viewer","sites","solutions","story-maps","streetmap-premium","survey123","track-viewer","user-type-extension-online","user-type-extension","vector-tile-style-editor","velocity","web-app-builder","web-editor","web-mapping","workflow-manager-beta","workflow-manager","workforce"].find(i=>e?.includes(i)&&V(`${i}.png`)===e);return t?V(`${t}.avif`):e}function gi(e,t){let i=e?.blockedApps||[],a=[];return!i.length&&!e.blockBetaApps||!t?.length?[]:(e.blockBetaApps&&t.forEach(n=>{n.isBeta&&!i.includes(n.clientid)&&i.push(n.clientid)}),i.forEach(n=>{let r=t.find(o=>o.clientid===n);r&&a.push(r)}),a)}function S(e,t){return t&&t[e.toLowerCase()]?.valid||!1}function fi(e,t){return e?.portalProperties&&!e.portalProperties?.openData?.enabled?!1:S("HubforArcGIS",t)}function vi(e,t){if(!e)return!1;let i=["portal:publisher:publishFeeds","portal:publisher:publishRealTimeAnalytics","portal:publisher:publishBigDataAnalytics"],a=(e?.privileges||[]).some(r=>i.includes(r)),n=S("velocity",t);return a&&n}function bi(e){return S("HubforArcGIS",e)}function _i(e,t){return!(e.isPortal&&e.portalProperties?.newMapViewerEnabled===!1)&&S("arcgisWebApps",t)}function wi(e){return!!e.helperServices?.rasterAnalytics&&!!e.helperServices.orthoMapping}function yi(e,t,i){let a=i&&(!e.isPortal||!!e.sourceJSON?.supportsHostedNotebooks),n=!!t?.privileges?.length&&t.privileges.some(r=>r==="premium:publisher:createNotebooks");return a&&n}function $i(e,t){return!!e.helperServices?.locationTracking&&t}function Ai(e,t,i,a){let n=e?.user;return{"Open Data":{hasAccess:()=>fi(e,a)},AppStudio:{hasAccess:()=>S("arcgisWebApps",a)},"ArcGIS Velocity":{hasAccess:()=>e.isPortal||vi(n,a)},"ArcGIS Hub":{hasAccess:()=>S("HubforArcGIS",a)},"ArcGIS Enterprise Sites":{hasAccess:()=>bi(a)},"ArcGIS QuickCapture Web Designer":{hasAccess:()=>S("arcgisWebApps",a)},"ArcGIS Dashboards":{hasAccess:()=>S("dashboards",a)},"Map Viewer":{hasAccess:()=>_i(e,a)},"Map Viewer Classic":{hasAccess:()=>S("arcgisWebApps",a)},"Operations Dashboard for ArcGIS":{hasAccess:()=>S("opsdashboard",a)},"ArcGIS Dashboards Classic":{hasAccess:()=>S("opsdashboard",a)},"Ortho Maker":{hasAccess:()=>wi(e)},Notebook:{hasAccess:()=>yi(e,n,t)},"Scene Viewer":{hasAccess:()=>S("arcgisWebApps",a)},"Story Maps":{hasAccess:()=>S("arcgisWebApps",a)},Survey123:{hasAccess:()=>S("survey123",a)},"Track Viewer":{hasAccess:()=>$i(e,i)},"Instant Apps":{hasAccess:()=>S("arcgisWebApps",a)},"ArcGIS Maps for Adobe Creative Cloud":{hasAccess:()=>S("arcgisWebApps",a)&&!e.isPortal}}}function xi(e){let t={opsdashboard:1,arcgisWebApps:1,Workforce:1,geoplanner:1,webappbuilder:1,HubforArcGIS:1,appstudio:1,survey123:1,storymaps:1,mapsForOffice:1,mapsForO365:1,mapsForSharePoint:1,mapsForCreativeCloud:1,indoorsweb:1,indoorskiosk:1,indoorsspaceplanner:1,locationplatformWebApps:1,communityanalyst_2:1};return e.isPortal&&(t={...t,arcgisonline:1,arcgisUrban:1,arcgisinstantapps:1}),t}function de(e){return e.sourceJSON?.subscriptionInfo?.options?.includes("Developer")}function V(e){return q(`assets/portal-navigation/apps/${e||""}`)}function it(e,t,i){return e.icon?`${t.restUrl}/portals/self/resources/${e.icon}?token=${i}`:`${t.restUrl}/content/items/${e.itemId}/resources/${e.image||e.properties?.appSwitcher?.image}?token=${i}`}function R(e,t,i){if(e.image?e.image=V(e.image):e.placeHolderIcon=`${V()}svg-app-icon.svg`,e.url?.startsWith("../")){let a=i.urlKey?`${i.urlKey}.${i.customBaseUrl}`:i.portalHostname;e.url=`${window.location.protocol}//${a}${e.url.substring(2,e.url.length)}`}return delete e.isLicensed,delete e.privileges,e.itemId=t,e}function at(){return`${V()}svg-app-circle.svg`}function ki(e,t,i){let a=e.properties?.appSwitcher?.image||e.icon;return{abbr:e.properties?.appSwitcher?.abbr||e.abbreviation,itemId:e.itemId,canAccess:!0,webMappingApp:!0,image:a?it(e,t,i):void 0,label:e.title||e.label,url:e.url,placeHolderIcon:e.placeHolderIcon||at()}}function Si(e,t,i){return e.appSwitcher?.image||e.icon?e.image=it(e,t,i):e.placeHolderIcon=at(),e.abbr=e.appSwitcher?.abbr||e.abbreviation,delete e.abbreviation,delete e.appSwitcher,delete e.approvedApp,delete e.webMappingApp,e}function Ue(e,t){e.forEach(i=>{i.uid==="Map Viewer Beta"&&(i.uid="Map Viewer"),t.isPortal&&(i.uid==="Operations Dashboard for ArcGIS"?i.uid="ArcGIS Dashboards Classic":i.uid==="Workforce for ArcGIS"&&(i.uid="ArcGIS Workforce"))})}async function Ii({userApps:e,servers:t,portal:i,licenses:a,blockedApps:n,provisionedListings:r,orgCapabilities:o,trackViewerEnabled:s,notebookServerEnabled:l,willQueryForItems:u,approvedApps:m}){let b={},h={},y=Ai(i,l,s,a),x=xi(i),A=[],I=e.length;for(let d=0;d<I;d++){let p=e[d],_=p.itemId||p.title,k=!0,T=!p.serverFunction||t?.some(g=>{let N=(g.serverFunction?.split(",")||[]).includes(p.serverFunction);return N&&p.serverFunction==="Velocity"&&(p.url=g.url),N}),f=n?.some(g=>p.itemId&&p.itemId===g.itemid||p.title&&p.title===g.title);if(b[_]=1,h[_]=p,f||de(i)&&!p.showInLocationPlatform||i.sourceJSON?.portalDeploymentType==="ArcGISEnterpriseOnKubernetes"&&p.supportsKubernetes===!1)continue;let v=p.title;if(y[v]&&!y[v]?.hasAccess())continue;let $=i.sourceJSON?.subscriptionInfo;if(p.subscriptionType){$?.type===p.subscriptionType&&(h[_].canAccess=!0,A.push(R(p,_,i)));continue}if(p.orgCapabilities){o?.length&&o.some(g=>p.orgCapabilities?.includes(g.id))&&(h[_].canAccess=!0,A.push(R(p,_,i)));continue}if(!p.privileges?.length&&!p.isLicensed&&T&&(p.label!=="ArcGIS Location Platform"||de(i))){h[_].canAccess=!0,A.push(R(p,_,i));continue}if(i.user?.sourceJSON?.userLicenseTypeId?.toLowerCase()==="storytellerut"&&p.label?.toLowerCase()==="storymaps"){h[_].canAccess=!0,A.push(R(p,_,i));continue}if(p.privileges?.length&&i.user?.privileges){for(let g=0;g<p.privileges.length;g++)if(!i.user.privileges.includes(p.privileges[g])){k=!1;break}if(!p.isLicensed&&k&&T){h[_].canAccess=!0,A.push(R(p,_,i));continue}}if(p.isLicensed&&k&&T){for(let g=0;g<r.length;g++)if(_===r[g].itemId||_===r[g].title){h[_].canAccess=!0,A.push(R(p,_,i));break}}}let w=await Ie(i);return r.forEach(d=>{if(d.type==="Web Mapping Application"&&!x[d.clientId]&&!b[d.itemId]&&d.url&&d.title&&!b[d.title]&&!d.typeKeywords.includes("hideFromAppSwitcher")){let p=ki(d,i,w);h[d.itemId]=p,A.push(p)}}),{apps:[...m.map(d=>{let p={...d.appProperties,itemId:d.itemId,webMappingApp:!0,approvedApp:!0,canAccess:!u};return h[d.itemId]=p,Si(p,i,w)}),...A],appDictionary:h}}function pe(e,t){return e.filter(i=>!t?.some(a=>i.itemId&&i.itemId===a.itemid||i.title&&i.title===a.title))}function qe({apps:e,app:t,appDictionary:i,newAppDictionary:a,portal:n}){let r=Object.keys(i).map(o=>i[o]).filter(o=>o.itemId===t.uid||o.title===t.uid).shift();return r&&!i[t.uid]&&(t.uid=r.itemId||r.title||""),r?.hasBeenPopulated||(r?((t.hasChanged||r.hasChanged||!r.canAccess&&!r.ignoreNoAccess)&&se(n.user)&&(i[t.uid].hasChanged=!0,i[t.uid].ignoreNoAccess=t.ignoreNoAccess),t.isNew&&(i[t.uid].isNew=!0),delete a[t.uid]):(r=t,r.canAccess=!1,r.itemId=t.uid,i[t.uid]=r),i[t.uid].hasBeenPopulated=!0,e.push(r)),e}async function Ti({portal:e,trackViewerEnabled:t,notebookServerEnabled:i}){if(!e?.id||!e.user)return{apps:[],hiddenApps:{}};let a=hi(),[n,r,o,s,l,u,m]=await Promise.all([li(e),je(e),Te(e),De(e),ze(e),We(e),di(e)]),b=e.isPortal?await Re(e):null,h=o?.result?.properties,y=n?.appSwitcher?.apps||[];e.isPortal||(y=y.filter(f=>f.title!=="Map Viewer Classic"||e.sourceJSON.created<new Date("February 26 2025")),y.unshift(mi(e,h)));let x=s?.result?.approvedApps?.filter(f=>!f.hideForNonPrivilegedMember)||[],A={};r?.forEach(f=>{let v=f.clientId?.toLowerCase();v&&(A[v]={valid:!0,itemId:f.itemId,clientId:f.clientId})}),l?.forEach(f=>{let v=f.id?.toLowerCase();v&&(A[v]={valid:!0,clientId:f.id})});let I=gi(u,m),{apps:w,appDictionary:d}=await Ii({userApps:y,servers:b,portal:e,blockedApps:I,provisionedListings:r,orgCapabilities:l,licenses:A,trackViewerEnabled:t,notebookServerEnabled:i,willQueryForItems:a,approvedApps:x});h?.appLauncher&&(h?.appLauncher.primary&&Ue(h?.appLauncher.primary,e),h?.appLauncher.secondary&&Ue(h?.appLauncher.secondary,e));let p=[],_=[];if(!h?.appLauncher?.primary||!h?.appLauncher.secondary)p=w.slice().sort((f,v)=>(f.label||"")<(v.label||"")?-1:1),p=pe(p,I),_=[];else{let{result:f}=await pi(x,a,e);f?.results?.length&&f.results.forEach($=>{let g=d[$.id];g.canAccess=!0,g.hasChanged=g.url!==$.url?!!$.url:!1});let v={...d};h?.appLauncher?.primary?.forEach($=>{$.label==="Map Viewer"&&($.uid="Map Viewer")}),p=h?.appLauncher.primary.reduce(($,g)=>qe({apps:$,app:g,appDictionary:d,newAppDictionary:v,portal:e}),[])||[],_=h?.appLauncher.secondary.reduce(($,g)=>qe({apps:$,app:g,appDictionary:d,newAppDictionary:v,portal:e}),[])||[],p=pe(p,I),_=pe(_,I),de(e)&&(p=p.filter($=>$.canAccess),_=_.filter($=>$.canAccess));for(let $ of Object.keys(v))v[$].canAccess&&(v[$].isNew=!0,d[$]=v[$],p.push(v[$]))}let k=[...p,..._],T=_.reduce((f,v)=>(v.itemId&&(f[v.itemId]=!0),f),{});return{apps:k,hiddenApps:T,signInSettings:u,licenses:A,userProperties:h}}function Pi(e,t){return!e?.itemId||!t?!1:t[e.itemId]}async function ji({apps:e,hiddenApps:t,userProperties:i,portal:a}){let n=e.reduce((o,s)=>{let l=t[s.itemId];return o[l?"secondary":"primary"].push({label:s.label,uid:s.itemId||s.title}),o},{primary:[],secondary:[]}),r={...i||{},appLauncher:n};return await Pe(r,a)}function nt({app:e}){if(!e)return null;if(!e.canAccess)return c`<span class="list-item__logo list-item__logo-empty"></span>`;let t=!e.image&&e.abbr;return c`${t&&c`<span class="list-item__logo">${e.placeHolderIcon&&c`<img src=${Be(e.placeHolderIcon)??C} class="list-item__logo-bg" alt>`||""}<span style=${ae({fontSize:e.fontSize||"20px"})} class="list-item__abbr">${e.abbr}</span></span>`||""}${e.image&&c`<img src=${Be(e.image)??C} class="list-item__logo" alt>`||""}${e.isNew&&c`<span class=${U({"list-item__indicator":!0})}></span>`||""}`}function Ci({app:e,hiddenApps:t,messages:i,toggleAppVisibility:a}){if(!e||!i)return null;let n=Pi(e,t),{title:r,itemId:o,label:s}=e;return c`<calcite-list-item .label=${r||s} class=${U(n?"app--hidden":"")}><span slot=content-start>${nt({app:e})}</span><calcite-action .text=${n?i.show:i.hide} .icon=${n?"view-hide":"view-visible"} slot=actions-end @click=${()=>o&&a(o,!n)}></calcite-action></calcite-list-item>`}function Ni({app:e,messages:t}){if(!e||!t)return null;let{title:i,itemId:a,label:n,url:r,isNew:o}=e,s=t?.descriptions?.[i]||t?.descriptions?.[n];return c`<li class="list-item" id=${a??C}><a class="list-item__link" href=${r??C} target=_blank>${c`<span class="list-item__container">${nt({app:e})}<span class="list-item__title">${i||n}</span>${o&&c`<calcite-chip scale=s class="list-item__chip" icon=asterisk-small .label=${t.new}>${t.new}</calcite-chip>`||""}</span>`}</a>${s&&c`<calcite-tooltip .referenceElement=${a} placement=trailing>${s}</calcite-tooltip>`||""}</li>`}function Mi({apps:e,appsLoading:t,appsSearchTerm:i,hiddenApps:a,messages:n,handleAppsSearch:r,handleAppReorder:o,handleAppSave:s,handleAppHide:l,handleAppCancel:u,handleAppEdit:m,editingApplications:b,portal:h}){if(!e||!n)return null;let y=i?.length>0,x=(e||[]).filter(w=>w.itemId&&(!a?.[w.itemId]||y)&&ui(i,w)),A=y?n.noAppResults.replace("{term}",i):n.noAppsAvailable,I=y?P(h)?n.noAppsDescriptionPublic:n.noAppResultsDescriptionOrg:n.noAppsAvailable;return b?c`<div class="list__header"><calcite-button appearance=outline width=half @click=${()=>{u()}}>${n.cancel}</calcite-button><calcite-button width=half @click=${()=>{s()}}>${n.applyChanges}</calcite-button></div><calcite-list .label=${n.allMyApplications} drag-enabled @calciteListDragEnd=${w=>{let{newIndex:d,oldIndex:p}=w.detail;o({newIndex:d,oldIndex:p})}} .loading=${t}>${O(e,w=>w.itemId,w=>Ci({app:w,hiddenApps:a,messages:n,toggleAppVisibility:(d,p)=>{l({app:d,hidden:p})}}))}</calcite-list>`:c`<div class="list__header"><calcite-input type=search icon .placeholder=${n.searchMyApps} scale=m class="list__search" @calciteInputInput=${w=>{r(w.currentTarget.value)}}></calcite-input><calcite-button appearance=transparent kind=neutral icon-start=reorder-cards .label=${n.reorder} @click=${()=>m()} id=customize-apps></calcite-button><calcite-tooltip reference-element=customize-apps><span>${n.customizeApps}</span></calcite-tooltip></div>${x?.length>0?c`<ul class="list">${O(x,w=>w.itemId,w=>Ni({app:w,messages:n}))}</ul>`:Y({title:A,description:I,icon:i?"search":"apps"})}`}var Je="portalAppClientId",ge={GeoanalyticsEngine:"geoanalyticsengine",GeoanalyticsFabric:"geoanalyticsfabric",IndoorsOnline:"indoorsonline"};function fe(e){return ge.GeoanalyticsEngine===e}function ve(e){return ge.GeoanalyticsFabric===e}function rt(e){return ge.IndoorsOnline===e}function be(e){return["Location Platform","GeoAnalytics Fabric","GeoAnalytics Engine","Online","Enterprise"].includes(e)}function Ei({portal:e,messages:t,licenses:i,clientId:a,signInSettings:n}){if(!t||!e)return[];let r=e.sourceJSON?.subscriptionInfo,o=zi({messages:t,portal:e});if(!e.user)return o;if(!e||!o||e?.user&&!i&&!P(e))return[];let s=Ri({portal:e,licenses:i,subscriptionInfo:r});return Gi({messages:t,portal:e,clientId:a,signInSettings:n,navLinkDictionary:s})}function Li(e){let{id:t,access:i,isPortal:a}=e;return!t&&!i&&!a}function Oi(e,t){let i=new URL(e),a=t||window.location.pathname;return i.pathname===a}function ot({portal:e,clientId:t,signInSettings:i}){let a=e.user,n=rt(t),r=!!i?.blockedApps?.includes("arcgisnotebooks"),{gallery:o="all",groups:s="all",map:l="all",notebook:u="notebookCreators",scene:m="all"}=e.portalProperties?.topNav||{},b=["home"];if(!a){if(!e.portalProperties?.topNav){let y=["gallery","map","scene","groups"],x=e.isPortal?["help"]:[];return[...b,...y,...x]}return[...b,...o==="all"?["gallery"]:[],...l==="all"?["map"]:[],...m==="all"?["scene"]:[],...s==="all"?["groups"]:[],...e.isPortal?["help"]:[]]}let h=a.orgId===e.id;return!e.portalProperties?.topNav&&P(e)?b=["ArcGIS","overview","pricing","map","scene","groups","myContent"]:b=[...b,...(o==="all"||o==="members"&&h)&&!n?["gallery"]:[],...(l==="all"||l==="members"&&h||l==="mapCreators"&&oe(a))&&!n?["map"]:[],...(m==="all"||m==="members"&&h||m==="sceneCreators"&&oe(a))&&!n?["scene"]:[],...!r&&(!e.isPortal||e.sourceJSON.supportsHostedNotebooks)&&(u==="members"&&h||u==="notebookCreators"&&Oe(a))&&!n?["notebook"]:[],...(s==="all"||s==="members"&&h)&&!n?["groups"]:[],...h&&!n?["myContent","organization"]:[]],b}function M(e){return`${ne({portal:e})}/`}function Di({keys:e,navLinkDictionary:t,messages:i}){let a=[];return e.forEach(n=>{let r=t[n];if(r&&(!("show"in r)||r.show)){let{href:o,newTab:s,icon:l,relativePath:u}=r;a.push({label:i[n],href:o,newTab:s,relativePath:u,icon:l})}}),a}function zi({messages:e,portal:t}){if(!e||!t)return[];let i=M(t),a={overview:{label:e.overview,href:`${i}../features/features.html`,icon:"information"},pricing:{label:e.pricing,href:`${i}../features/plans/pricing.html`,icon:"credit-card"},map:{label:e.map,href:`${i}apps/mapviewer/index.html`,icon:"map"},scene:{label:e.scene,href:`${i}webscene/viewer.html`,icon:"globe"},help:{label:e.help,href:Q(t),newTab:!0,icon:"headset"},home:{label:e.home,href:`${i}index.html`,relativePath:"index.html",icon:"home"},gallery:{label:e.gallery,href:`${i}gallery.html`,relativePath:"gallery.html",icon:"gallery"},groups:{label:e.groups,href:`${i}groups.html`,relativePath:"groups.html",icon:"group"}};return(Li(t)?["overview","pricing","map","scene","help"]:ot({portal:t})).map(n=>a[n])}function Gi({messages:e,portal:t,clientId:i,signInSettings:a,navLinkDictionary:n}){let r=fe(i),o=ot({portal:t,clientId:i,signInSettings:a}),s=`${M(t)}geoanalytics${r?"engine":"fabric"}.html`;return r||ve(i)?[{href:`${s}#subscription`,label:e.subscription},...r?[{href:`${s}#downloads`,label:e.downloads}]:[],{href:`${s}#credentials`,label:e.developerCredentials},{href:`${s}#account`,label:e.account}]:Di({keys:o,messages:e,navLinkDictionary:n})}function Ri({portal:e,licenses:t,subscriptionInfo:i}){let a=e.user,n=M(e),r=i?.options?.includes("Developer"),o=S("arcgiswebapps",t)||r&&S("locationplatformwebapps",t)||P(e);return{pricing:{href:`${n}../features/plans/pricing.html`},overview:{href:`${n}../features/features.html`},ArcGIS:{href:`${n}${P(e)?"index.html":"../features/features.html"}`,show:P(e)||!a},groups:{href:`${n}groups.html`,relativePath:"groups.html",icon:"group"},myContent:{href:`${n}content.html`,relativePath:"content.html",icon:"files"},map:{show:o,href:`${n}apps/mapviewer/index.html`,icon:"map"},help:{href:Q(e),newTab:!0},gallery:{show:!!e.id&&!r,href:`${n}gallery.html`,relativePath:"gallery.html",icon:"gallery"},home:{show:!P(e)&&!r,href:`${n}index.html`,relativePath:"index.html",icon:"home"},scene:{show:o,href:`${n}webscene/viewer.html`,icon:"globe"},notebook:{show:Se(e),href:`${n}notebook/notebookhome.html`,relativePath:"notebook/notebookhome.html",icon:"notebook"},organization:{show:!P(e),href:`${n}organization.html`,relativePath:"organization.html",icon:"organization"},features:{show:P(e)&&!e.isPortal,href:`${n}../features/features.html`,icon:"information"}}}function Wi({portal:e,item:t,messages:i,navigate:a,locale:n}){if(!t||!i||!t.modified)return null;let r=t.modified,o={lessThanOneMinute:i.lessThanOneMinute},s=Xe(Ye(r)),l=s?.[1]==="year"||s?.[1]==="month"?Ut({locale:n,time:r},s?.[1]==="year"):Ze({locale:n,time:r,t9n:o}),u=`item.html?id=${t.id}`,m=`${M(e)}${u}}`;return X(t.id,c`<li class="list-item"><a class="list-item__link" href=${m??C} @click=${b=>{a({event:b,href:m,relativePath:u})}}>${c`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular">${t.title}</span><span class="list-item__subtitle">${Z(i.lastUpdated,{date:l})}</span></span></span>`}</a></li>`)}function Fi({locale:e,navigate:t,portal:i,open:a,apps:n,appsLoading:r,hiddenApps:o,appsSearchTerm:s,handlePlatformClose:l,handleAppsSearch:u,handleAppReorder:m,handleAppSave:b,handleAppHide:h,handleAppCancel:y,handleAppEdit:x,handleItemSearch:A,editingApplications:I,recentContent:w,recentContentLoading:d,recentContentSearchTerm:p,product:_,productInfo:k,links:T,messages:f}){if(!_||!i||!f)return null;let{name:v,icon:$}=k||{};return c`<calcite-sheet class="platform" .label=${f.label} position=inline-start display-mode=overlay id=example-sheet .open=${a} @calciteSheetClose=${l}><calcite-panel class="platform__panel"><div slot=header-content class="platform__header"><img src=${$??C} class="platform__header-image"><div class="platform__header-text"><h2 class="platform__title">${v}</h2><p class="platform__subtitle">${i.name}</p></div><calcite-action icon=x text="Close menu" scale=l @click=${l}></calcite-action></div><div class="platform__container"><div class="platform__tiles">${T.filter(({icon:g})=>g).map(({label:g,href:N,icon:ee,relativePath:B})=>c`<calcite-tile .icon=${ee} .description=${g} .href=${N} alignment=center scale=s @keydown=${E=>{(E.key==="Enter"||E.key===" ")&&t({event:E,href:N,relativePath:B})}} @click=${E=>{t({event:E,href:N,relativePath:B})}}></calcite-tile>`)}</div>${i?.user&&c`<calcite-tabs layout=center class="platform__tabs"><calcite-tab-nav slot=title-group>${!P(i)&&c`<calcite-tab-title selected>${f.myApps}</calcite-tab-title>`||""}<calcite-tab-title>${f.recentContent}</calcite-tab-title></calcite-tab-nav>${!P(i)&&c`<calcite-tab selected class="platform__tab">${r&&c`<calcite-scrim loading></calcite-scrim>`||""}${Mi({apps:n,appsLoading:r,appsSearchTerm:s,hiddenApps:o,messages:f,handleAppsSearch:u,handleAppReorder:m,handleAppSave:b,handleAppHide:h,handleAppCancel:y,handleAppEdit:x,editingApplications:I,portal:i})}</calcite-tab>`||""}<calcite-tab class="platform__tab"><div class="list__header"><calcite-input type=search icon .placeholder=${f.searchRecentContent} scale=m class="list__search" @calciteInputInput=${g=>A(g.target.value)}></calcite-input></div>${d&&!r&&c`<calcite-scrim loading></calcite-scrim>`||""}<div class="list__container">${w?.length>0||d?c`<ul class="list">${O(w,g=>g.id,g=>Wi({portal:i,messages:f,navigate:t,item:g,locale:e}))}</ul>`:p?.length?Y({title:Z(f.noAppResults,{term:p}),description:f.recentContentNoResultsDescription,icon:"search"}):Y({title:f.noContent,description:f.noContentDescription,icon:"clock"})}</div></calcite-tab></calcite-tabs>`||""}</div></calcite-panel></calcite-sheet>`}var ue=["new","open","rename","save","saveCopy","share","copyLink","embed","details"];async function Hi(e){return await Promise.resolve({status:"success"})}function he(e){return ue.includes(e.id)}function Vi(e){return(e||[])?.toSorted((t,i)=>{let a=he(t),n=he(i);return a&&!n?-1:n&&!a?1:n&&a?ue.indexOf(t.id)-ue.indexOf(i.id):-1})}function Bi(e,t){let i={new:[],save:[],share:[],details:[],custom:[]};if(!t||!e?.length)return i;let a={new:{text:t.new,group:"new"},open:{text:t.open,group:"new"},rename:{text:t.rename,group:"save"},save:{text:t.save,group:"save"},saveCopy:{text:t.saveAsCopy,group:"save"},share:{text:t.manageSharing,group:"share"},copyLink:{text:t.copyLink,group:"share"},embed:{text:t.embed,group:"share"},details:{text:t.itemDetails,group:"details",external:!0}},n=Vi(e),r=[];return n.forEach(o=>{if(!he(o)){r.push(o);return}let{text:s,external:l,group:u}=a[o.id];i[u].push({text:s,external:l,...o})}),r.forEach(o=>{let s=o.group||"custom";i[s].push(o)}),i}function Ui({navigate:e,portal:t,menuItem:i,messages:a,portalItem:n,openProjectTitleEdit:r,projectMenuClick:o}){if(!t||!a||!i||i.id==="details"&&!n)return null;let{external:s,id:l,text:u}=i,m=`${M(t)}item.html?id=${n?.id}`;return X(`${l}${u}`,c`<calcite-dropdown-item .iconEnd=${s?"launch":void 0} .href=${l==="details"?m:i.href} .target=${s?"_blank":void 0} @calciteDropdownItemSelect=${b=>{if(l==="rename"){r?.();return}l==="details"&&e({event:b,href:m}),o?.({type:l})}}>${u}${l==="save"&&c`<calcite-icon icon=bullet-point-large class="project__indicator" scale=s></calcite-icon>`||""}</calcite-dropdown-item>`)}function qi({navigate:e,portal:t,projectTitle:i,editedProjectTitle:a,handleProjectTitleSave:n,handleProjectTitleEdit:r,handleProjectTitleCancel:o,openProjectTitleEdit:s,portalItem:l,projectTitleEditing:u,projectTitleSaving:m,projectTitleErrorMessage:b,projectMenuIcon:h,projectMenuSaveIndicator:y,projectMenuClick:x,projectMenuOptions:A,projectTitleInputRef:I,projectButtonRef:w,messages:d}){if(!t||!d||!A?.length&&!i)return null;if(!A?.length)return c`<div class="project__title">${h&&c`<calcite-icon .icon=${h} scale=s></calcite-icon>`||""}<h1 class="project__title__header">${i}</h1>${y&&c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>`||""}</div>`;let p=Bi(A,d),_=!!b;return u?c`<form class="rename" @submit=${async k=>{k.preventDefault(),await n?.(a)}} @keydown=${k=>{k.key==="Escape"&&o?.()}}><calcite-input id=project-title-input type=text scale=l class="rename__input" .label=${d.title} .value=${a} .status=${_?"invalid":"idle"} @calciteInputInput=${k=>r?.(k.target.value)} ${G(I)}></calcite-input>${_&&c`<calcite-popover open .label=${d.error} .referenceElement=${I?.value||"project-title-input"} pointer-disabled placement=bottom-start><calcite-notice kind=danger open><div slot=message>${b}</div></calcite-notice></calcite-popover>`||""}<calcite-action .disabled=${m} icon=check scale=l .text=${d?.saveRename} active class="rename__action" type=submit .loading=${m}></calcite-action><calcite-action .disabled=${m} icon=x scale=l .text=${d?.cancelRename} class="rename__action" @click=${()=>o?.()}></calcite-action></form>`:c`<calcite-dropdown width=m class="fade-in project__dropdown"><button slot=trigger class="project" ${G(w)}>${h&&c`<calcite-icon scale=s .icon=${h} class="project__menu-icon"></calcite-icon>`||""}<span class="project__text">${i}</span>${y&&c`<calcite-icon scale=s icon=bullet-point-large class="project__indicator"></calcite-icon>`||""}<calcite-icon scale=s icon=chevron-down></calcite-icon></button>${O(Object.entries(p).filter(([k,T])=>T.length),([k,T])=>k,([k,T])=>c`<calcite-dropdown-group selection-mode=none>${T.map(f=>Ui({menuItem:f,navigate:e,portal:t,messages:d,portalItem:l,openProjectTitleEdit:s,projectMenuClick:x}))}</calcite-dropdown-group>`)}</calcite-dropdown>`}function Ji(e){return["Location Platform","Online","Enterprise"].includes(e)}function st({portal:e,searchType:t,searchTerm:i}){let a=e?.sourceJSON?.vectorSearchEnabled?`&mode=${t}`:"";return`search.html?q=${i}${a}`}function Ki({portal:e,item:t,messages:i,navigate:a}){if(!t||!i)return null;let n=Z(i.by,{itemType:Fe(t),owner:t.owner}),r=`item.html?id=${t.id}`,o=`${M(e)}${r}`;return X(t.id,c`<li class="list-item"><a class="list-item__link" href=${o??C} @click=${s=>a({event:s,href:o,relativePath:r})}>${c`<span class="list-item__container"><span class="list-item__logo list-item__logo--item-type"><arcgis-portal-item-type .item=${t} .user=${e.user} hide-text></arcgis-portal-item-type></span><span class="list-item__content"><span class="list-item__title list-item__title--regular list-item__title--large">${t.title}</span><span class="list-item__subtitle list-item__subtitle--large">${n}</span></span></span>`}</a></li>`)}function Qi({portal:e,suggestions:t,messages:i,navigate:a,searchType:n,searchTerm:r}){if(!i||!e||!r)return null;if(!t)return c`<div><calcite-loader scale=l .label=${i.loadingResults}></calcite-loader></div>`;let o=st({portal:e,searchType:n,searchTerm:r}),s=`/${o}`,l=`${M(e)}${o}`;return c`<ul class="list">${t.map(u=>Ki({messages:i,portal:e,item:u,navigate:a}))}</ul><div class="suggestions__footer"><calcite-button icon-end=arrow-right scale=l appearance=outline class="suggestions__footer__button" kind=neutral round .href=${l} @click=${u=>{a({href:l,event:u,relativePath:s})}}>${i.viewAll}</calcite-button></div>`}function Xi({portal:e,messages:t,searchType:i,handleSearchTypeChange:a}){if(!t||!e?.sourceJSON?.vectorSearchEnabled)return null;let n=i==="keyword",r=t.searchType;return c`<calcite-chip .label=${r.label} .icon=${n?"text":"effects"} id=search-type-toggle appearance=solid kind=neutral><span>${n?r.keywordTitle:r.semanticTitle}</span><calcite-icon icon=chevron-down scale=s class="suggestions__search-type__icon" aria-hidden=true></calcite-icon></calcite-chip><calcite-popover pointer-disabled .label=${t.searchType.label} reference-element=search-type-toggle placement=bottom-end class="suggestions__search-type"><div class="esri-header-search-type-popover-contents"><calcite-list .label=${t.searchType.label} interaction-mode=interactive display-mode=flat scale=m selection-mode=none><calcite-list-item @calciteListItemSelect=${()=>a("keyword")} icon-start=text value=keyword .label=${r.keywordTitle} .description=${r.keywordDescription}></calcite-list-item><calcite-list-item @calciteListItemSelect=${()=>a("vector")} icon-start=effects value=semantic .label=${r.semanticTitle} .description=${r.semanticDescription}></calcite-list-item></calcite-list></div></calcite-popover>`}function Yi({currentPathname:e,navigate:t,product:i,portal:a,messages:n,searchActive:r,searchType:o,searchTerm:s,suggestions:l,searchInputRef:u,searchActionRef:m,searchPopoverRef:b,handleSearch:h,handleToggleSearch:y,handleSearchTypeChange:x}){if(!Ji(i)||!n||!a||e?.includes("search.html"))return null;let A=st({portal:a,searchType:o,searchTerm:s}),I=`/${A}`,w=`${M(a)}${A}`;return r?c`<div class="search" id=search-reference-element><calcite-input type=search scale=l icon=search class="search__input" .ariaLabel=${n.label} .placeholder=${o==="vector"?n.searchType.semanticPlaceholder:n.searchType.keywordPlaceholder} @calciteInputInput=${d=>h(d.target.value)} @keydown=${d=>{d.key==="Enter"&&(t({href:w,event:d,relativePath:I}),d.defaultPrevented||(window.location.href=w)),d.key==="Escape"&&y(!1)}} ${G(u)}></calcite-input><calcite-action icon=x scale=l .text=${n?.close} active class="search__action" @click=${()=>y(!1)}></calcite-action><calcite-popover .label=${n.suggestions} reference-element=search-reference-element .open=${r&&!!s} pointer-disabled placement=bottom-start trigger-disabled .focusTrapOptions=${{initialFocus:!1}} ${G(b)}><div class="suggestions__header"><h3 class="suggestions__title">${n.topResults}</h3>${Xi({portal:a,messages:n,searchType:o,handleSearchTypeChange:x})}</div><div class="suggestions__results">${Qi({portal:a,suggestions:l,navigate:t,messages:n,searchType:o,searchTerm:s})}</div></calcite-popover></div>`:c`<calcite-action icon=search scale=l text=search class="search__action fade-in" @click=${()=>y(!0)} ${G(m)}></calcite-action>`}function Zi({signIn:e,messages:t}){return c`<calcite-menu slot=user .label=${t?.account||""} class="border-start fade-in"><calcite-menu-item .label=${t?.signIn||""} text-enabled .text=${t?.signIn||""} @calciteMenuItemSelect=${()=>e()}></calcite-menu-item></calcite-menu>`}function ea({navigate:e,portal:t,product:i,links:a,messages:n,currentPathname:r,searchActive:o}){return!i||!t||!n||!be(i)||!a||o?null:c`<calcite-menu slot=content-start .label=${n.label} class="site-nav fade-in">${O(a,({href:s})=>s,({label:s,href:l,relativePath:u})=>c`<calcite-menu-item .text=${s} text-enabled .label=${s} .href=${l} .active=${Oi(l,r)} @click=${m=>e({event:m,href:l,relativePath:u})}></calcite-menu-item>`)}</calcite-menu>`}function ta({userLinks:e,messages:t,navigate:i,openAccountSwitcher:a,portal:n,signOut:r,textDisabled:o}){let s=n?.user;return!s||!e||!t||e?.account?.options.length<1&&e?.resources?.options.length<1?null:c`<div class="user fade-in"><calcite-dropdown width=m class="user__dropdown"><calcite-button class="user__button" slot=trigger appearance=transparent kind=neutral><span class="user__button__contents"><arcgis-portal-user-avatar .user=${s} .portal=${n} scale=l class="user__button__avatar"></arcgis-portal-user-avatar>${!o&&c`<span class="user__button__text"><h2 class="user__button__full user__full">${s.fullName}</h2><p class="user__button__username user__username">${s.username}</p></span>`||""}</span></calcite-button>${o&&c`<div class="user__top"><arcgis-portal-user-avatar .user=${s} .portal=${n} scale=l class="user__avatar"></arcgis-portal-user-avatar><div class="user__top__text"><h2 class="user__top__full user__full">${s.fullName}</h2><p class="user__top__username user__username">${s.username}</p></div></div>`||""}${Object.values(e).filter(l=>l.options.length).map(({title:l,options:u})=>c`<calcite-dropdown-group selection-mode=none .groupTitle=${l}>${u.map(({icon:m,label:b,href:h,relativePath:y})=>c`<calcite-dropdown-item .iconStart=${m} .href=${h} @keydown=${x=>{(x.key==="Enter"||x.key===" ")&&i({event:x,href:h,relativePath:y})}} @click=${x=>{i({event:x,href:h,relativePath:y})}}>${b}</calcite-dropdown-item>`)}</calcite-dropdown-group>`)}<calcite-dropdown-group selection-mode=none>${a&&c`<calcite-dropdown-item icon-start=users @calciteDropdownItemSelect=${l=>{let u=Me(l.target,"calcite-dropdown");u&&(u.open=!1),a()}}>${t.switchAccounts}</calcite-dropdown-item>`||""}<calcite-dropdown-item icon-start=sign-out @calciteDropdownItemSelect=${()=>r()}>${t.signOut}</calcite-dropdown-item></calcite-dropdown-group></calcite-dropdown></div>`}var ct={community:"https://community.esri.com/plugins/common/feature/oauth2sso_v2/sso_login_redirect?referer=https%3A%2F%2Fcommunity.esri.com%2F",myEsri:"https://my.esri.com"};function ia({messages:e,userLinks:t}){let i={account:{title:e.account,options:[]},resources:{title:e.resources,options:[]}};return t.forEach(a=>{i[a.group].options.push(a)}),i}function aa({portal:e,messages:t,clientId:i}){if(!e?.user||!t)return{account:{title:t?.account,options:[]},resources:{title:t?.account,options:[]}};let a=oa(e),n=na({navLinkDictionary:a,messages:t,clientId:i});return ia({userLinks:n,messages:t})}function na({navLinkDictionary:e,messages:t,clientId:i}){let a=["myProfile","mySettings","myEsri","training","trialDownload","communityForums","arcgisBlog","help"];return(fe(i)||ve(i))&&(a=["mySettings","arcgisBlog","help"]),rt(i)&&(a=[]),ra(a,t,e)}function ra(e,t,i){let a=[];return e.forEach(n=>{let r=i[n];if(r&&(!("show"in r)||r.show)){let{href:o,newTab:s,icon:l,group:u,relativePath:m}=r;a.push({label:t[n],group:u,href:o,newTab:s,relativePath:m,icon:l})}}),a}function oa(e){let t=M(e),i=sa(e),a=`user.html${window.location.pathname.includes("home/user.html")?"?nav=1":""}`;return{myProfile:{href:`${t}${a}`,relativePath:a,group:"account",icon:"user"},mySettings:{href:`${t}${a}#settings`,relativePath:`${a}#settings`,group:"account",icon:"gear"},help:{group:"resources",icon:"question",href:Q(e),newTab:!0},communityForums:{show:i,group:"resources",icon:"speech-bubbles",href:ct.community,newTab:!0},myEsri:{show:i,group:"account",icon:"globe",href:la(e),newTab:!0},arcgisBlog:{show:i,group:"resources",icon:"article",href:"https://www.esri.com/arcgis-blog/products/arcgis-online",newTab:!0},training:{show:i,group:"resources",icon:"education",href:ca(e),newTab:!0},trialDownload:{group:"resources",icon:"download-to",show:da(e),href:`${t}/home/user.html${window.location.pathname.includes("home/user.html")?"?nav=1&tab=licenses":"?tab=licenses"}#settings`}}}function sa(e){return!e.isPortal&&e?.user?.sourceJSON?.userType==="both"}function ca(e){return lt(e,`${window.location.protocol}//www.esri.com/training/arcgis-online-training`)}function la(e){return lt(e,ct.myEsri)}function lt(e,t){let i=K(e),a=pa(e),n=`https://accounts${a?a==="dev"?"-dev":"-stg":""}.esri.com/`,r=`&authBaseUrl=${H(i.replace("/sharing/rest/",""),e)}`,o=`${n}LoginHandler/switchuser?`,s=`username=${e?.user?.username??""}&redirect_uri=${t}${r}`;return`${o}${s}`}function pa(e){let t=e.portalHostname;return t?.includes("dev")?"dev":t?.includes("qa")?"qa":""}function da(e){return!e?.isPortal&&["Trial","Trial Press"].includes(e?.sourceJSON.subscriptionInfo?.type)}function ua(e){switch(e){case"360 VR":return{name:"360 VR",fileName:"arcgis-360-vr",icon:"arcgis-360-vr"};case"Business Analyst":return{name:"ArcGIS Business Analyst",fileName:"arcgis-business-analyst",icon:"business-analyst"};case"Dashboards":return{name:"ArcGIS Dashboards",fileName:"arcgis-dashboards",icon:"operations-dashboard"};case"Data Pipelines":return{name:"ArcGIS Data Pipelines",fileName:"arcgis-data-pipelines",icon:"data-pipelines"};case"Deep Learning Studio":return{name:"Deep Learning Studio",fileName:"arcgis-deep-learning-studio",icon:"deeplearningstudio"};case"Enterprise":return{name:"ArcGIS Enterprise",fileName:"arcgis-enterprise",icon:"arcgis-enterprise"};case"Excalibur":return{name:"ArcGIS Excalibur",fileName:"arcgis-excalibur",icon:"excalibur"};case"Experience Builder":return{name:"ArcGIS Experience Builder",fileName:"arcgis-experience-builder",icon:"arcgis-experience-builder"};case"Field Maps":return{name:"Field Maps Designer",fileName:"arcgis-field-maps",icon:"fieldmaps"};case"Field Maps Designer EA":return{name:"Field Maps Designer (EA)",fileName:"arcgis-field-maps-designer-ea",icon:"fieldmaps"};case"GeoAnalytics Engine":case"GeoAnalytics Fabric":return{name:e,fileName:"arcgis-geoanalytics-engine",icon:"arcgis-geoanalytics"};case"GeoBIM":return{name:"ArcGIS GeoBIM",fileName:"arcgis-geobim",icon:"geobim"};case"Hub":return{name:"ArcGIS Hub",fileName:"arcgis-hub",icon:"arcgis-hub"};case"Instant Apps":return{name:"Instant Apps",fileName:"arcgis-instant-apps",icon:"instant-apps"};case"Knowledge":return{name:"ArcGIS Knowledge Studio",fileName:"arcgis-knowledge",icon:"knowledge-studio"};case"Location Platform":return{name:"Location Platform",fileName:"arcgis-location-platform",icon:"location-platform"};case"Map Viewer":return{name:"Map Viewer",fileName:"map-viewer",icon:"map-viewer"};case"Mission":return{name:"ArcGIS Mission Manager",fileName:"arcgis-mission",icon:"mission"};case"Monitor":return{name:"ArcGIS Monitor",fileName:"arcgis-monitor",icon:"monitor"};case"Notebooks":return{name:"ArcGIS Notebooks",fileName:"arcgis-notebooks",icon:"notebook"};case"Online":return{name:"ArcGIS Online",fileName:"arcgis-online",icon:"arcgis-online"};case"Ortho Maker":return{name:"Ortho Maker",fileName:"arcgis-ortho-maker",icon:"ortho-maker"};case"QuickCapture":return{name:"ArcGIS QuickCapture",fileName:"arcgis-quickcapture",icon:"quick-capture"};case"Reality Studio":return{name:"ArcGIS Reality Studio",fileName:"arcgis-reality-studio",icon:"arcgis-reality-studio"};case"Scene Viewer":return{name:"Scene Viewer",fileName:"sceneviewer",icon:"scene-viewer"};case"Solutions":return{name:"ArcGIS Solutions",fileName:"arcgis-solutions",icon:"solutions"};case"StoryMaps":return{name:"ArcGIS StoryMaps",fileName:"arcgis-storymaps",icon:"story-maps"};case"Survey123":return{name:"ArcGIS Survey123",fileName:"arcgis-survey123",icon:"survey123"};case"Tracker":return{name:"Track Viewer",fileName:"arcgis-tracker",icon:"track-viewer"};case"Urban":return{name:"ArcGIS Urban",fileName:"arcgis-urban",icon:"arcgis-urban"};case"Vector Tile Style Editor":return{name:"Vector Tile Style Editor",fileName:"vector-tile-style-editor",icon:"vector-tile-style-editor"};case"Velocity":return{name:"ArcGIS Velocity",fileName:"arcgis-velocity",icon:"velocity"};case"Web Editor":return{name:"Web Editor",fileName:"arcgis-web-editor",icon:"web-editor"};case"Workflow Manager":return{name:"ArcGIS Workflow Manager",fileName:"arcgis-workflow-manager",icon:"workflow-manager"};case"Workforce":return{name:"ArcGIS Workforce",fileName:"arcgis-workforce",icon:"workforce"};default:return{name:"ArcGIS Online",fileName:"arcgis-online",icon:"arcgis-online"}}}function ha({product:e,portal:t,clientId:i}){return e!=="Online"?e:t?.sourceJSON?.subscriptionInfo?.options?.includes("Developer")?"Location Platform":ve(i)?"GeoAnalytics Fabric":fe(i)?"GeoAnalytics Engine":t?.isPortal?"Enterprise":"Online"}function Ke(e){let t=ha(e),{name:i,fileName:a,icon:n}=ua(t);return{name:i,glyph:q(`assets/portal-navigation/product-logos/${a}-glyph-32.svg`),icon:q(`assets/portal-navigation/apps/${n}.avif`)}}function ma(){let e=Wt();["item.html","group.html"].some(t=>window.location.href.includes(t))?window.location.href=`./signin.html?locale=${e}&useLandingPage=false&returnUrl=${encodeURIComponent(window.location.href)}`:window.location.href=`./signin.html?locale=${e}&useLandingPage=true`}function ga({portal:e,clientId:t}){let i=J({portal:e});if(e?.isPortal){let a=e.access==="private"?H("signin.html",e):e.allSSL||window.location.protocol==="https:"?H("./index.html",e):`${i}/index.html`;va(e,a)}else window.location.href=`${i}/pages/Account/manage_accounts.html#client_id=${t}&signout=true`}function fa(){ai(Je),ni(Je)}function va(e,t=window.location.href){let i=window.location.href.startsWith("http://"),a=ke(e);Ft.destroyCredentials(),fa();let n=new URL(H(`${K(e)}oauth2/signout`,e)),{searchParams:r}=n;r.append("client_id","arcgisonline"),r.append("redirect_uri",t),a&&i&&(e.isPortal||e.user?.sourceJSON.provider==="enterprise")&&r.append("token",a),window.location.href=n.href}function D(e,t){if(!e)return 0;let i=Ee({text:e,font:`${t==="s"?".875rem":"1rem"} 'Avenir Next'`});return Math.ceil(i)}function ba({portal:e,product:t,projectTitle:i,links:a,messages:n,productInfo:r}){if(!t||!e)return;let o=e.user,s=be(t)&&a?.length?24+a.reduce((m,b)=>m+16+D(b.label)+16,0):0,l=40+D(i)+32+16+16+12,u=o?Math.max(D(o?.username,"s"),D(o?.fullName)):D(n?.signIn);return{actions:192,project:i?Math.min(l,400):0,product:64+Math.max(D(r?.name),D(e.name,"s"))+16,nav:s,user:64+u+16}}function _a({measurements:e,screenWidth:t}){let{actions:i,nav:a,product:n,project:r,user:o}=e,s=64,l=t-i-s>a,u=t-i-(l?a:0)-r-s>Math.min(n,400),m=t-a-r-i-n<Math.min(o,320);return{nav:l,product:u,user:m?"avatar":"full"}}var pt=' -type:"Code Attachment" -type:"Featured Items" -type:"Symbol Set" -type:"Color Set" -type:"Windows Viewer Add In" -type:"Windows Viewer Configuration" -type:"Map Area" -typekeywords:"MapAreaPackage" -type:"Indoors Map Configuration" -typekeywords:"SMX"';async function Qe({portal:e,searchTerm:t}){if(!e?.user)return[];try{return(await e.queryItems({...t?{query:t}:{},filter:`owner:${e.user.username}${pt}`,num:20,sortField:"modified",sortOrder:"desc"})).results}catch{return[]}}async function wa({portal:e,searchTerm:t}){if(!e)return[];let i=Le((t||"").substring(0,409)),a=`${e?.id?`accountid:"${e.id}"`:""}${pt}`,n=`${K(e)}search/suggest`;return(await L(n,{query:{suggest:i,filters:a,searchFields:"title",f:"json"}}))?.result?.results||[]}var ya=we`:host{display:block;--arcgis-portal-navigation-logo-max-width: 400px;--arcgis-portal-navigation-logo-text-display: flex;--arcgis-portal-navigation-user-max-width: 320px;--arcgis-portal-navigation-user-text-display: block;--arcgis-portal-navigation-project-max-width: 400px}.scrim{z-index:100}.wrapper{background:var(--calcite-color-foreground-1);border-bottom:1px solid var(--calcite-color-border-3);position:relative;z-index:200}.navigation{width:100%;min-width:0;min-height:4rem;display:flex;align-items:stretch;max-width:var(--arcgis-portal-navigation-max-width);margin-inline:auto;overflow:hidden}.navigation--loading .fade-in{opacity:0}.fade-in{opacity:1;transition:opacity ease-in-out .15s}.content-end{margin-inline-start:auto;display:flex;align-items:center}.content-end[hidden]{display:none}.action{height:100%;--calcite-internal-action-spacing: 1.25rem}.border-start{border-inline-start:1px solid var(--calcite-color-border-3)}.platform{--calcite-sheet-scrim-background: var(--calcite-color-transparent-scrim);--calcite-sheet-width: 24rem}.platform__container{display:flex;flex-direction:column;max-height:100%}.platform__header{display:flex;align-items:center}.platform__header-image{width:48px;height:48px;margin-inline-end:1rem}.platform__header-text{flex:1 1 auto;line-height:1.375}.platform__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);font-weight:var(--calcite-font-weight-medium)}.platform__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-2)}.platform__panel{border-inline-end:1px solid var(--calcite-color-border-3);--calcite-panel-background-color: var(--calcite-color-foreground-1)}.platform__tiles{margin:.75rem .75rem 1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:.5rem}.platform__tabs{min-height:0;flex:1 1 auto;--calcite-tab-content-space-y: 0}.platform__tab{position:relative}.list{list-style:none;margin:0;padding:0}.list__container{position:relative}.list__header{display:flex;align-items:center;padding:.5rem .75rem;border-bottom:1px solid var(--calcite-color-border-3);background-color:var(--calcite-color-foreground-1);position:sticky;top:0;z-index:701}.list__search{flex:1 1 auto;--calcite-color-border-input: var(--calcite-color-foreground-1)}.list-item__link{display:block;box-sizing:border-box;width:100%;padding-inline-start:.75rem;background-color:var(--calcite-color-foreground-1);outline-color:transparent;text-decoration:none;outline-offset:0;transition:color var(--calcite-animation-timing) ease-in-out,background-color var(--calcite-animation-timing) ease-in-out,outline-color var(--calcite-internal-animation-timing-fast) ease-in-out,outline-offset var(--calcite-internal-animation-timing-fast) ease-in-out}.list-item__link:hover{background-color:var(--calcite-color-transparent-hover)}.list-item__link:focus{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus);outline-offset:-2px}.list-item__container{box-sizing:border-box;width:100%;padding-block:.5rem;padding-inline-start:0;padding-inline-end:.5rem;border-bottom:1px solid var(--calcite-color-border-3);display:flex;align-items:center;position:relative;pointer-events:none}.list-item__content{display:flex;flex-direction:column;justify-content:center;min-width:0}.list-item__logo{width:48px;height:48px;flex:0 0 auto;box-sizing:border-box;margin-inline-end:.5rem;justify-content:center;align-items:center;position:relative;display:flex}.list-item__logo-bg{position:absolute}.list-item__indicator{position:absolute;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--calcite-color-status-success);border:2px solid var(--calcite-color-foreground-1);z-index:50;top:.25rem;inset-inline-start:-.25rem}.list-item__abbr{color:#fff;font-weight:700;position:relative}.list-item__logo-empty{border:2px dashed var(--calcite-color-border-3);border-radius:8px}.list-item__logo--item-type{background-color:var(--calcite-color-background);display:flex;justify-content:center;align-items:center}.list-item__title{display:block;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1);font-weight:500;word-wrap:break-word}.list-item__title--regular{font-weight:400;padding-top:.25rem}.list-item__title--large{font-size:var(--calcite-font-size-0);line-height:1}.list-item__subtitle{display:block;font-size:var(--calcite-font-size--2);color:var(--calcite-color-text-3);font-weight:500;padding-top:.25rem;padding-bottom:.25rem}.list-item__subtitle--large{font-size:var(--calcite-font-size--1);font-weight:400;padding:0}.list-item__chip{margin-inline-start:auto;--calcite-chip-background-color: var(--calcite-color-foreground-current)}.app--hidden{--calcite-list-background-color: var(--calcite-color-background)}.app--hidden .list-item__logo{opacity:.4}.logo{border-inline-end:1px solid var(--calcite-color-border-3);max-width:var(--arcgis-portal-navigation-logo-max-width);display:flex;align-items:center}.logo--link{text-decoration:none}.logo--link:hover{background-color:var(--calcite-color-transparent-hover)}.logo--link:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.logo__glyph{width:32px;height:32px;padding-inline:1rem}.logo__text{display:var(--arcgis-portal-navigation-logo-text-display);flex-direction:column;overflow:hidden;white-space:nowrap;text-align:start;padding-inline:var(--calcite-internal-navigation-logo-padding-inline);padding-inline-end:1rem}.logo__title{margin:0;padding:0;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);line-height:1.25rem;text-overflow:ellipsis;overflow:hidden}.logo__subtitle{margin:0;padding:0;font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-2);font-size:.875rem;line-height:1rem;text-overflow:ellipsis;overflow:hidden}.site-nav{margin-inline-start:1.5rem}.project{min-width:0;outline:none;border:none;border-inline-end:1px solid var(--calcite-color-border-3);cursor:pointer;background-color:var(--calcite-color-foreground-1);box-sizing:border-box;display:flex;user-select:none;appearance:none;align-items:center;justify-content:center;text-align:center;font-family:inherit;font-weight:var(--calcite-font-weight-normal);text-decoration-line:none;outline-color:transparent;box-shadow:var(--calcite-button-shadow, var(--calcite-shadow-none));color:var(--calcite-color-text-1);transition:all var(--calcite-animation-timing) ease-in-out 0s,outline 0s,outline-offset 0s;inset-inline-end:.25rem;background:transparent;white-space:nowrap;padding:0 1.375rem;flex-grow:2}.project:hover{background-color:var(--calcite-color-transparent-hover)}.project:focus{outline:2px solid var(--calcite-color-brand);outline-offset:-2px}.project__title{display:flex;justify-self:stretch;min-width:0;align-items:center;justify-content:center;padding:0 1.5rem;margin-inline-end:1.5rem;color:var(--calcite-color-text-1);border-inline-end:1px solid var(--calcite-color-border-3)}.project__title__header{padding:0;margin-block:0;margin-inline-start:1rem;font-size:1rem;font-weight:400;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project__dropdown{max-width:var(--arcgis-portal-navigation-project-max-width, 60%);min-width:0;margin-inline-end:1.5rem}.project__indicator{margin-inline-end:.5rem;--calcite-ui-icon-color: var(--calcite-color-status-danger)}.project__menu-icon{margin-inline-end:.75rem}.project__text{font-size:1rem;min-width:0;overflow:hidden;text-overflow:ellipsis;margin-inline-end:.75rem}.rename{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.rename__action{margin-inline-end:.5rem;display:flex;align-items:center}.rename__input{margin-inline-end:.5rem;display:block;width:100%}.search{width:100%;min-width:0;display:flex;flex:1 1 0;align-items:center;margin-inline-start:.5rem}.search__action{margin-inline-end:.5rem;display:flex;align-items:center}.search__input{margin-inline-end:.5rem;display:block;width:100%}.suggestions__header{display:flex;align-items:center;width:var(--calcite-popover-max-size-x);box-sizing:border-box;padding:.75rem 1rem;border-bottom:1px solid var(--calcite-color-border-3)}.suggestions__title{padding:0;margin:0;font-weight:500;color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-1);flex:1 1 0}.suggestions__search-type{--calcite-popover-max-size-x: 320px}.suggestions__search-type__icon{vertical-align:-.2rem}.suggestions__footer{display:flex;align-items:center;justify-content:center;padding:1rem}.notifications{width:min(24rem,80vw)}.notifications--full:after{content:"";display:block;border-top:1px solid var(--calcite-color-border-3);margin-left:1rem}.notifications__list{max-height:min(18rem,80vh);overflow:auto}.notifications--empty{padding:2rem}.empty{padding:1rem;text-align:center;color:var(--calcite-color-text-3);--calcite-icon-color: var(--calcite-color-status-success-hover)}.empty__header{margin:0;padding:.75rem 0 0;color:var(--calcite-color-text-1);font-weight:500;font-size:var(--calcite-font-size-1)}.empty__text{margin:0;padding:0;color:var(--calcite-color-text-3);font-weight:400;font-size:var(--calcite-font-size-0)}.notification{display:flex;flex-direction:column;padding:.5rem}.notification__message{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size-0);--calcite-color-brand-underline: transparent}.notification__date{color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-0)}.notifications__dismiss{margin-inline-start:auto;margin-inline-end:1rem;margin-block:.5rem}.user{display:flex;min-width:66px;max-width:var(--arcgis-portal-navigation-user-max-width);--calcite-dropdown-item-text-color: var(--calcite-color-text-3);--calcite-dropdown-group-title-text-color: var(--calcite-color-text-2)}.user__dropdown{max-width:100%}.user__button{max-width:100%;--calcite-spacing-base: -2px}.user__button__contents{display:flex;text-align:start}.user__button__text{display:var(--arcgis-portal-navigation-user-text-display);flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375;overflow:hidden}.user__button__avatar{flex:0 0 auto}.user__button__full,.user__button__username{max-width:100%;overflow:hidden;text-overflow:ellipsis}.user__top{display:flex;padding:.75rem;border-bottom:1px solid var(--calcite-color-border-3)}.user__top__avatar{flex:0 0 auto}.user__top__text{box-sizing:border-box;word-wrap:break-word;flex:1 1 0;min-width:0;padding-inline-start:1rem;line-height:1.375}.user__full{font-size:1rem;font-weight:medium;color:var(--calcite-colot-text-1);line-height:1.25;padding:0;margin:0}.user__username{font-size:.875rem;line-height:1.25;color:var(--calcite-colot-text-2);padding:0;margin:0}`;function $a({messages:e,portal:t,showNav:i,openPlatformMenu:a,handleToggleSearch:n}){return!e||i&&!t?.user?null:c`<calcite-action .label=${e.applicationMenu} text="app switcher" icon=app-launcher scale=l class="action" @click=${a} @focusin=${()=>n(!1,!0)}></calcite-action>`}var me=class extends $e{constructor(){super(...arguments),this.messages=Ce({blocking:!0}),this.refreshNotifications=async()=>{let{portal:t,messages:i}=this;this.notifications=await Ve({portal:t,locale:i._t9nLocale,t9n:i.notifications})},this.deleteNotifications=async t=>{let{portal:i}=this;if(t?.length<20)await Jt(i,t);else{let a=0;for await(let n of t)await et({id:n,portal:i}),this.notificationDeleteProgress=Math.ceil(a++/t.length*100)}this.notificationDeleteProgress=void 0,this.refreshNotifications()},this.navigate=t=>{this.arcgisNavigate.emit(t),this.platformMenuOpen=!1,this.notificationsActive=!1,this.searchActive=!1},this.openPlatformMenu=()=>{this.platformMenuOpen=!0,this.searchActive=!1},this.projectMenuClick=t=>{this.arcgisNavigationProjectMenuClick.emit(t)},this.openProjectTitleEdit=()=>{this.projectTitleEditing=!0,this.editedProjectTitle=this.projectTitle,requestAnimationFrame(()=>{this.projectTitleInputRef?.value?.setFocus()})},this.closeProjectTitleEdit=()=>{this.projectTitleEditing=!1,this.projectTitleErrorMessage=void 0,requestAnimationFrame(()=>{this.projectButtonRef?.value?.focus()})},this.handleProjectTitleSave=async t=>{this.projectTitleSaving=!0;let i=await(this.projectTitleSave||Hi)(t);if(this.projectTitleSaving=!1,i.status==="success"){this.closeProjectTitleEdit();return}i.message&&(this.projectTitleErrorMessage=i.message)},this.handleProjectTitleEdit=t=>{this.editedProjectTitle=t},this.handleProjectTitleCancel=()=>{this.editedProjectTitle=this.projectTitle,this.closeProjectTitleEdit()},this.signOut=()=>{let{portal:t,clientId:i}=this;ga({portal:t,clientId:i}),this.arcgisNavigationSignOut.emit()},this.signIn=()=>{this.arcgisNavigationSignIn.emit(),ma()},this.openAccountSwitcher=()=>{this.accountSwitcherOpen=!0},this.handlePlatformClose=()=>{this.platformMenuOpen=!1,this.handleAppCancel()},this.handleAppSave=async()=>{let{hiddenApps:t,sortedApps:i,userProperties:a,portal:n}=this;this.apps=[...i],this.editingApplications=!1,this.appsLoading=!0;let{result:r}=await ji({apps:i,hiddenApps:t,userProperties:a,portal:n});r?.success&&(this.previousAppState={apps:i,hiddenApps:t}),await xe(1e3),this.appsLoading=!1},this.handleAppCancel=()=>{this.previousAppState&&(this.apps=this.previousAppState.apps,this.hiddenApps=this.previousAppState.hiddenApps),this.editingApplications=!1},this.handleAppHide=({app:t,hidden:i})=>{!this.hiddenApps||!t||(this.hiddenApps={...this.hiddenApps||{},[t]:i})},this.handleAppReorder=({oldIndex:t,newIndex:i})=>{let a=[...this.sortedApps],n=a[t];a.splice(t,1),a.splice(i,0,n),this.sortedApps=a},this.handleItemSearch=t=>{this.recentContentLoading=!0,this.recentContentSearchTerm=t,this.debouncedItemSearch(t)},this.debouncedItemSearch=ce(async t=>{this.recentContent=await Qe({portal:this.portal,searchTerm:t}),this.recentContentLoading=!1},1e3),this.debouncedSuggest=ce(async t=>{this.suggestions=await wa({portal:this.portal,searchTerm:t})},1e3),this.handleSearch=t=>{this.searchTerm=t,this.suggestions=void 0,this.debouncedSuggest(t)},this.sizeSearchPopover=()=>{let t=this.searchInput?.value,i=this.searchPopover?.value;if(!t||!i)return;let a=t.offsetWidth>480?`${t.offsetWidth}px`:"80vw";i.style?.setProperty?.("--calcite-popover-max-size-x",a)},this.handleToggleNotifications=t=>{this.notificationsActive=t},this.handleToggleSearch=(t,i)=>{this.searchActive=t,this.searchTerm="",this.suggestions=void 0,document.documentElement.style.overflow=t?"hidden":this.initialDocumentOverflowStyle,!i&&requestAnimationFrame(()=>{if(t){this.searchInput?.value?.setFocus(),this.sizeSearchPopover();return}this.searchAction?.value?.setFocus()})},this.handleSearchTypeChange=t=>{this.searchType=t},this.searchInput=z(),this.searchAction=z(),this.searchPopover=z(),this.projectTitleInputRef=z(),this.projectButtonRef=z(),this.initialDocumentOverflowStyle=document.documentElement.style.overflow,this.links=[],this.notifications=[],this.notificationsActive=!1,this.apps=[],this.hiddenApps={},this.sortedApps=[],this.appsSearchTerm="",this.appsLoading=!0,this.editingApplications=!1,this.recentContent=[],this.recentContentSearchTerm="",this.recentContentLoading=!0,this.platformMenuOpen=!1,this.accountSwitcherOpen=!1,this.projectTitleEditing=!1,this.projectTitleSaving=!1,this.screenWidth=window.innerWidth,this.searchActive=!1,this.searchTerm="",this.searchType="keyword",this.projectMenuOptions=[],this.currentPathname=window.location.pathname,this.arcgisNavigate=F(),this.arcgisNavigationProjectMenuClick=F(),this.arcgisNavigationSignIn=F(),this.arcgisNavigationSignOut=F()}static{this.properties={infoBanner:16,links:16,userLinks:16,notifications:16,notificationsActive:16,apps:16,hiddenApps:16,sortedApps:16,previousAppState:16,appsSearchTerm:16,appsLoading:16,editingApplications:16,recentContent:16,recentContentSearchTerm:16,recentContentLoading:16,platformMenuOpen:16,accountSwitcherOpen:16,editedProjectTitle:16,projectTitleEditing:16,projectTitleSaving:16,projectTitleErrorMessage:16,productInfo:16,notificationDeleteProgress:16,measurements:16,screenWidth:16,showProduct:16,showNav:16,showUser:16,searchActive:16,searchTerm:16,suggestions:16,searchType:16,portal:0,portalItem:0,product:1,productHref:1,projectTitle:1,projectTitleSave:0,projectMenuIcon:1,projectMenuSaveIndicator:5,projectMenuOptions:0,disableTrackViewer:5,disableNotebookServer:5,clientId:1,currentPathname:1,maxWidth:9}}static{this.styles=ya}#e;async loaded(){let{portal:t,messages:i,clientId:a,product:n}=this;this.calculateMeasurements(),this.productInfo=Ke({product:n,clientId:a,portal:t}),this.userLinks=aa({portal:t,messages:i.user,clientId:a}),this.notifications=await Ve({portal:t,locale:i._t9nLocale,t9n:i.notifications}),this.recentContent=await Qe({portal:t}),this.recentContentLoading=!1;let{apps:r,hiddenApps:o,signInSettings:s,licenses:l,userProperties:u}=await Ti({portal:t,trackViewerEnabled:!this.disableTrackViewer,notebookServerEnabled:!this.disableNotebookServer}),m=await Ge(t);this.infoBanner=m?.informationalBanner,this.userProperties=u,this.apps=r,this.hiddenApps=o,this.sortedApps=r,this.previousAppState={apps:r,hiddenApps:o},this.appsLoading=!1,this.links=Ei({portal:t,messages:i.links,licenses:l,clientId:a,signInSettings:s}),this.calculateMeasurements()}connectedCallback(){super.connectedCallback(),this.initialDocumentOverflowStyle=document.documentElement.style.overflow,!(typeof ResizeObserver>"u")&&(this.#e=new ResizeObserver(()=>{requestAnimationFrame(()=>{this.screenWidth=window.innerWidth,this.updateBreakpoints(),this.sizeSearchPopover()})}))}firstUpdated(){this.el&&this.#e&&(this.#e.observe(this.el),this.screenWidth=window.innerWidth)}willUpdate(t){(t.has("product")||t.has("clientId"))&&this.hasUpdated&&(this.productInfo=Ke({product:this.product,clientId:this.clientId,portal:this.portal}))}disconnectedCallback(){this.#e?.disconnect(),this.#e=void 0,document.documentElement.style.overflow=this.initialDocumentOverflowStyle,super.disconnectedCallback()}calculateMeasurements(){let{links:t,messages:i,portal:a,product:n,productInfo:r,projectTitle:o}=this;if(a){let s=ba({portal:a,product:n,productInfo:r,links:t,messages:i.user,projectTitle:o});this.measurements=s,this.updateBreakpoints()}}updateBreakpoints(){let{measurements:t,maxWidth:i}=this;if(t){let a=i?Math.min(this.screenWidth,i):this.screenWidth,n=_a({measurements:t,screenWidth:a});this.showProduct=n.product,this.showNav=n.nav,this.showUser=n.user}}render(){let{accountSwitcherOpen:t,apps:i,appsLoading:a,appsSearchTerm:n,currentPathname:r,handleAppCancel:o,handleAppHide:s,handleAppReorder:l,handleAppSave:u,handleItemSearch:m,handlePlatformClose:b,handleSearch:h,handleToggleSearch:y,handleSearchTypeChange:x,hiddenApps:A,infoBanner:I,links:w,messages:d,navigate:p,notifications:_,notificationsActive:k,notificationDeleteProgress:T,openAccountSwitcher:f,portal:v,portalItem:$,product:g,productInfo:N,productHref:ee,projectTitle:B,editedProjectTitle:E,handleProjectTitleSave:dt,handleProjectTitleEdit:ut,handleProjectTitleCancel:ht,handleToggleNotifications:_e,openProjectTitleEdit:mt,openPlatformMenu:gt,platformMenuOpen:ft,projectTitleEditing:te,projectTitleSaving:vt,projectTitleErrorMessage:bt,projectMenuIcon:_t,projectMenuSaveIndicator:wt,projectMenuClick:yt,projectMenuOptions:$t,projectTitleInputRef:At,projectButtonRef:xt,recentContent:kt,recentContentSearchTerm:St,recentContentLoading:It,userLinks:Tt,searchActive:W,searchTerm:Pt,searchType:jt,searchInput:Ct,searchAction:Nt,searchPopover:Mt,showNav:ie,showProduct:Et,showUser:Lt,suggestions:Ot}=this,Dt=v?.user,zt=be(g)&&!w?.length||!this.measurements;return c`${W&&c`<calcite-scrim class="scrim"></calcite-scrim>`||""}<div class="wrapper" style=${ae({"--arcgis-portal-navigation-max-width":this.maxWidth?`${this.maxWidth}px`:"100%"})}><arcgis-portal-info-banner .config=${I}></arcgis-portal-info-banner>${v?.isPortal&&$?.loaded&&c`<arcgis-portal-classification-banner .portalItem=${$}></arcgis-portal-classification-banner>`||""}<header class=${U({navigation:!0,"navigation--loading":zt})}>${$a({messages:d?.platform,portal:v,showNav:ie,openPlatformMenu:gt,handleToggleSearch:y})}${Et&&Ht({navigate:p,portal:v,product:g,productInfo:N,productHref:ee,messages:d?.logo,showNav:ie,searchActive:W,projectTitleEditing:te})||""}${qi({navigate:p,portal:v,portalItem:$,messages:d?.project,projectTitle:B,editedProjectTitle:E,handleProjectTitleSave:dt,handleProjectTitleEdit:ut,openProjectTitleEdit:mt,projectTitleErrorMessage:bt,handleProjectTitleCancel:ht,projectTitleEditing:te,projectTitleSaving:vt,projectMenuIcon:_t,projectMenuSaveIndicator:wt,projectMenuClick:yt,projectMenuOptions:$t,projectTitleInputRef:At,projectButtonRef:xt})}${ie&&ea({searchActive:W,navigate:p,portal:v,product:g,messages:d?.links,links:w,currentPathname:r})||""}<div slot=content-end class="content-end fade-in" .hidden=${te||W}><slot name=content-end></slot></div>${Yi({currentPathname:r,navigate:p,portal:v,product:g,messages:d?.search,searchActive:W,searchType:jt,searchTerm:Pt,suggestions:Ot,handleSearch:h,handleToggleSearch:y,handleSearchTypeChange:x,searchInputRef:Ct,searchActionRef:Nt,searchPopoverRef:Mt})}${Dt?c`<div class="border-start fade-in">${Yt({notifications:_,notificationsActive:k,messages:d?.notifications,handleToggleNotifications:_e,handleToggleSearch:y})}${Zt({notificationsActive:k,notifications:_,navigate:p,portal:v,deleteNotifications:this.deleteNotifications,handleToggleNotifications:_e,messages:d?.notifications,notificationDeleteProgress:T})}</div>${ta({portal:v,userLinks:Tt,openAccountSwitcher:v?.isPortal?void 0:f,signOut:this.signOut,messages:d?.user,textDisabled:Lt==="avatar",navigate:p})}`:Zi({messages:d.user,signIn:this.signIn})}</header>${Fi({locale:d._t9nLocale,navigate:p,portal:v,product:g,productInfo:N,messages:d?.platform,apps:i,appsLoading:a,hiddenApps:A,appsSearchTerm:n,editingApplications:this.editingApplications,open:ft,links:w,recentContent:kt,recentContentSearchTerm:St,recentContentLoading:It,handlePlatformClose:b,handleAppReorder:l,handleAppEdit:()=>this.editingApplications=!0,handleAppsSearch:Gt=>this.appsSearchTerm=Gt,handleAppSave:u,handleAppCancel:o,handleAppHide:s,handleItemSearch:m})}${t&&c`<arcgis-portal-account-switcher .portal=${v} @arcgisClose=${()=>{this.accountSwitcherOpen=!1}}></arcgis-portal-account-switcher>`||""}</div>`}};Ae("arcgis-portal-navigation",me);return me},"intl","portal/Portal","identity/IdentityManager",a,b,d,e,f,g)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{b as a}from"./CG4WYBHN.js";import"./OBBYT2AV.js";import"./U5B2LAPJ.js";import"./DFTUMKSN.js";import"./7ZXEX3LI.js";import"./SKUPHVNO.js";import"./TNLGQ7HL.js";import"./TSTTPCWU.js";import"./UZLQALHY.js";export{a as ArcgisPortalBrowserFilterStatus};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{c as C,d as q}from"./4QA4AYHJ.js";import{a as M}from"./CFBSBZSS.js";import{a as L,b as z}from"./OBBYT2AV.js";import"./DFTUMKSN.js";import b from"./
|
|
2
|
+
import{c as C,d as q}from"./4QA4AYHJ.js";import{a as M}from"./CFBSBZSS.js";import{a as L,b as z}from"./OBBYT2AV.js";import"./DFTUMKSN.js";import b from"./G2KWSRCG.js";import a from"./DALGPO36.js";import{a as O}from"./VMQIDO4Z.js";import"./QS3GXAIH.js";import"./2GBRZSEC.js";import{a as B}from"./7ZXEX3LI.js";import"./SKUPHVNO.js";import"./TNLGQ7HL.js";import{K as y,L as U,M as A,N as I,O as R,S as N,h as P,j as u,w as k}from"./TSTTPCWU.js";import"./UZLQALHY.js";export default $arcgis.t(([,{a:w,b:g,d:_}])=>{var E=P`:host{display:flex}.button{display:flex;align-items:center;max-width:100%;cursor:pointer;white-space:normal;border-style:none;padding:0;font-size:.75rem;color:var(--calcite-color-text-2);outline:2px solid transparent;outline-offset:2px;transition-property:all;outline-color:transparent;background:transparent;font-family:inherit;line-height:1.5;&:focus{outline:2px solid var(--calcite-color-brand);outline-offset:2px}}.button--outline{box-sizing:border-box;width:100%;padding:.5rem .75rem;transition-property:all;border:1px solid var(--calcite-color-border-3);&:hover{box-shadow:inset 0 0 0 1px var(--calcite-color-foreground-3)}}.name{overflow:hidden;white-space:nowrap;margin-inline-start:.5rem;text-overflow:ellipsis}.popover__wrapper{background-color:var(--calcite-color-foreground-1);width:min(32rem,80vw)}.popover__header{padding:1.25rem 1rem}.popover__avatar{max-width:100%}.popover__content{padding:.5rem 1rem 1.25rem}.popover__description{margin:0;overflow:auto;padding:0;padding-bottom:1rem;font-size:.875rem;color:var(--calcite-color-text-2);max-height:21.25rem}.popover__fade{position:relative;z-index:10;margin-bottom:.25rem;display:block;height:1rem;width:100%;background:linear-gradient(to bottom,transparent,var(--calcite-color-foreground-1) 100%);margin-top:-1rem}.popover__buttons{display:grid;grid-auto-flow:column;grid-gap:.5rem}.popover__buttons--no-description{padding-top:1rem}.popover__button{min-width:0px}.popover__loader{--calcite-loader-padding: 0}`;async function F(a,r,o,t,e){let n=a.portal?.portalHostname||t?.portalHostname||t?.restUrl?.replace("/sharing/rest",""),s=e?`https://www.arcgis.com/sharing/rest/portals/${r}`:`https://${n}/sharing/rest/portals/${r}`;if(!n&&!e)return null;let i=e?{disableIdentityLookup:!0,addTokenManually:!1}:{},l=await g({url:s,portal:t,options:i}),{urlKey:p,thumbnail:h,customBaseUrl:c}=l,f=`https://${p}.${c}/`,d=h?`${f}sharing/rest/portals/self/resources/${h}`:null,m="",$="";try{let v=await g({url:`${s}/resources/localizedOrgProperties`,portal:t,params:{start:1,num:100},options:i});if(v){let b=v[o]||v.default;m=b.name,$=b.description}}catch{}return{name:m||l.name,description:z($||l.description),url:`${f}home/`,thumbnail:d}}async function G(a,r,o,t){let e=a.sourceJSON?.orgId??a.portal?.id??o?.id;return await w({requester:async()=>await F(a,e,r,o,t),key:"verified",id:e})}var T=a=>a?.sourceJSON?.contentStatus==="public_authoritative";async function H(a,r,o,t){if(T(a)){let e=a.owner||"",n=await G(a,o,r,t);if(!n)return await _(e,r,t);let{description:s,name:i,thumbnail:l,url:p}=n;return{description:s?L(s):"",fullName:i,username:e,thumbnail:l,id:a.portal.id,url:p}}return await _(a.owner||"",r,t)}async function D(a,r,o){let t=o?"https://www.arcgis.com/sharing/rest/":O(r),e=o?{disableIdentityLookup:!0,addTokenManually:!1}:{};return await w({requester:async()=>await g({url:`${t}community/groups`,portal:r,params:{q:`(owner:"${a}")`,num:100},options:e}),key:"userGroups",id:a})}async function J(a,r,o){let t=o?"https://www.arcgis.com/sharing/rest/":O(r),e=o?{disableIdentityLookup:!0,addTokenManually:!1}:{};return await w({requester:async()=>(await g({url:`${t}search`,portal:r,params:{q:`(owner:"${a}") -typekeywords:"recyclebin"`,num:1},options:e})).total,key:"userItemsTotal",id:a})}function S({baseUrl:a,user:r,type:o}){let t=q(a),e=encodeURIComponent(r.username||"");return e?`${t}/${o}.html?user=${e}`:`${t}/${o}.html`}var x=class extends A{constructor(){super(...arguments),this.messages=B({blocking:!0}),this.buttonRef=y(),this.popoverRef=y(),this.isPopoverOpen=!1,this.scale="m",this.showAvatar=!0,this.showName=!0,this.showUsername=!1,this.appearance="transparent",this.arcgisUserPopupInternalUIAction=k(),this.arcgisUserPopupClose=k()}static{this.properties={itemUserInfo:16,groups:16,total:16,isPopoverOpen:16,user:0,username:1,fullName:1,item:0,scale:3,portal:0,baseUrl:1,underline:5,showAvatar:5,showName:5,showUsername:5,wrap:5,appearance:1,zIndex:9,avatarAriaHidden:5,checkOnline:5}}static{this.styles=E}async setFocus(){this.buttonRef.value?.focus()}async openPopup(){this.buttonRef.value?.click()}connectedCallback(){super.connectedCallback(),this.init()}updated(r){r.has("isPopoverOpen")&&this.isPopoverOpen&&this.setPopoverOpen(!0)}get resolvedBaseUrl(){return this.baseUrl||`${this.portal.url}/home`}async init(){let{item:r,username:o,portal:t,fullName:e,messages:n}=this;if(!(!n._lang||!t)){if(r){this.itemUserInfo=await H(r,t,n._lang,this.checkOnline);return}if(o){let s=await _(o,t,this.checkOnline);!s.fullName&&e&&(s.fullName=e),this.itemUserInfo=s}}}async fetchItemsAndGroups(){let{user:r,itemUserInfo:o,item:t,portal:e,username:n,checkOnline:s}=this,i=n||r?.username||t?.owner||o?.username;if(!(!i||!e)){if(!this.groups){let l=await D(i,e,s);this.groups=l}this.total=await J(i,e,s)}}setPopoverOpen(r){requestAnimationFrame(()=>{this.popoverRef.value&&(this.popoverRef.value.open=r)})}openLink(r,o){r.preventDefault(),window.open(o,"_blank")}renderOrgButtons(r){let{messages:o}=this,t=(r.url||this.resolvedBaseUrl).replace(/\/$/u,"");return u`<calcite-button appearance=outline-fill kind=neutral .href=${t} target=_blank @click=${e=>this.openLink(e,t)}>${o.homepage}</calcite-button><calcite-button appearance=outline-fill kind=neutral .href=${`${t}/gallery.html`} target=_blank @click=${e=>this.openLink(e,`${t}/gallery.html`)}>${o.gallery}</calcite-button>`}renderUserButtons(r){let{total:o,groups:t,messages:e}=this,n=r.username||"";if(typeof o!="number"||!t)return u`<calcite-loader .label=${e.loadingUserInformation} scale=s class="popover__loader"></calcite-loader>`;let s=S({baseUrl:this.resolvedBaseUrl,user:{username:n},type:"groups"}),i=S({baseUrl:this.resolvedBaseUrl,user:{username:n},type:"content"}),l=`${this.resolvedBaseUrl.replace(/\/$/u,"")}/user.html?user=${encodeURIComponent(n)}`;return u`${!!t.total&&u`<calcite-button class="popover__button" appearance=outline-fill kind=neutral .href=${s} target=_blank @click=${p=>{this.openLink(p,s),this.arcgisUserPopupInternalUIAction.emit({category:"profile popup",action:"view all groups"})}}>${e.groups.replace("${number}",new Intl.NumberFormat(e._lang).format(t.total))}</calcite-button>`||""}${!!o&&u`<calcite-button class="popover__button" appearance=outline-fill kind=neutral .href=${i} target=_blank @click=${p=>{this.openLink(p,i),this.arcgisUserPopupInternalUIAction.emit({category:"profile popup",action:"view all content"})}}>${e.items.replace("${number}",new Intl.NumberFormat(e._lang).format(o))}</calcite-button>`||""}<calcite-button class="popover__button" appearance=outline-fill kind=neutral .href=${l} target=_blank @click=${p=>{this.openLink(p,l),this.arcgisUserPopupInternalUIAction.emit({category:"profile popup",action:"view profile"})}}>${e.profile}</calcite-button>`}render(){let{user:r,itemUserInfo:o,portal:t,item:e,appearance:n,scale:s,isPopoverOpen:i,showName:l,showUsername:p,messages:h}=this,c=r||o;if(!h._lang||!c)return u`<arcgis-portal-user-avatar scale=s show-name .checkOnline=${this.checkOnline}></arcgis-portal-user-avatar>`;let f=T(e),d=c.username||"",m=C(c.description||"")||"",$=M(c,h._lang),v=f?h.itemManagedBy.replace("${username}",d):d;return u`<button class=${I({button:!0,"button--outline":n==="outline"})} @click=${()=>{this.isPopoverOpen||(this.isPopoverOpen=!0),this.fetchItemsAndGroups()}} ${U(this.buttonRef)}><slot><arcgis-portal-user-avatar .user=${c} .scale=${s} .portal=${t} .showName=${l} .description=${p?d:""} .hideAvatar=${!this.showAvatar} .underline=${this.underline} .checkOnline=${this.checkOnline} .wrap=${this.wrap}></arcgis-portal-user-avatar></slot></button>${i&&this.buttonRef.value&&c&&u`<calcite-popover class="popover" .label=${$} pointer-disabled .referenceElement=${this.buttonRef.value} placement=auto .id=${`${d}-popover`} auto-close style=${R({"--calcite-popover-z-index":this.zIndex?.toString()||"12"})} @calcitePopoverOpen=${()=>{this.arcgisUserPopupInternalUIAction.emit({category:"profile popup",action:"open profile popup"})}} @calcitePopoverClose=${()=>{this.isPopoverOpen=!1,this.arcgisUserPopupClose.emit()}} @keydown=${b=>{b.key==="Escape"&&setTimeout(()=>{this.buttonRef.value?.focus()},200)}} ${U(this.popoverRef)}><div class="popover__wrapper"><div class="popover__header"><arcgis-portal-user-avatar class="popover__avatar" .user=${c} scale=l .portal=${t} show-name .description=${v} .checkOnline=${this.checkOnline}></arcgis-portal-user-avatar></div><div class="popover__content">${!!m&&u`<p class="popover__description">${m}</p>`||""}${!!m&&u`<div class="popover__fade"></div>`||""}<div class=${I({popover__buttons:!0,"popover__buttons--no-description":!m})}>${f?this.renderOrgButtons(c):this.renderUserButtons(c)}</div></div></div></calcite-popover>`||""}`}};N("arcgis-portal-user-popup",x);return x},a,b)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import c from"./4E65YWCP.js";import"./CG4WYBHN.js";import"./OBBYT2AV.js";import"./U5B2LAPJ.js";import b from"./EB4XGKGD.js";import a from"./NITKS6KJ.js";import"./DFTUMKSN.js";import"./2GBRZSEC.js";import"./7ZXEX3LI.js";import"./SKUPHVNO.js";import"./TNLGQ7HL.js";import"./TSTTPCWU.js";import"./UZLQALHY.js";export default $arcgis.t(([,,,,{c:r}])=>{return r},"core/reactiveUtils","intl",a,b,c)
|