UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

57 lines 4.4 kB
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{Cn as t,R as n,wr as r,z as i}from"./control-ui-foundation-Cydpkyqa.js";import{Sc as a,bc as o}from"./control-ui-core-Rwzhj6nO.js";import{$ as s,K as c,X as l,_ as u,at as d,q as f,st as p,v as m}from"./lit-runtime-CV_MH99K.js";import{_ as h,g}from"./control-ui-core-YphAl4aM.js";import{Gt as _,Wt as v,Yt as y,en as b}from"./control-ui-core-vvcQQV2m.js";import"./control-ui-boot-shared-CXVvK2AW.js";import{b as x,r as S,x as C}from"./control-ui-boot-chat-Bia0O-uD.js";import{n as w}from"./control-ui-boot-chat-BhPddYSI.js";var T;function E(){return(E=e((()=>{i(),c(),s(),u(),h(),y(),a(),C(),S(),w(),_(),T=class extends o{constructor(...e){super(...e),this.sessionKey=``,this.agentId=``,this.workContext={page:`chat`},this.includeContext=!0,this.selection=``,this.selectionAvailable=!1,this.selectionScope=``,this.updateSelectionAvailability=()=>{let e=window.getSelection();this.selectionAvailable=!!(e&&!e.isCollapsed&&e.anchorNode&&!this.contains(e.anchorNode))},this.attachSelection=e=>{e.preventDefault();let n=window.getSelection();!n||n.isCollapsed||n.anchorNode&&this.contains(n.anchorNode)||(this.selection=t(n.toString(),640),this.includeContext=!0)}}connectedCallback(){super.connectedCallback(),document.addEventListener(`selectionchange`,this.updateSelectionAvailability),this.updateSelectionAvailability()}disconnectedCallback(){document.removeEventListener(`selectionchange`,this.updateSelectionAvailability),super.disconnectedCallback()}willUpdate(){let e=this.workContext,t=JSON.stringify([this.context.gateway.connection.gatewayUrl,e.page,e.sessionKey,e.sessionId,e.agentId,e.file]);this.selectionScope&&this.selectionScope!==t&&(this.selection=``),this.selectionScope=t}render(){let e={...this.workContext,selection:this.selection||void 0},t=x(e),n=JSON.stringify([this.context.gateway.connection.gatewayUrl,this.agentId,this.sessionKey]);return l` <div class="assistant-panel-context"> ${this.includeContext?l` <details> <summary> ${b(`assistantPanel.context`,{context:e.title||e.page})} </summary> <pre>${t}</pre> </details> <button type="button" class="rail-header__action" aria-label=${b(`assistantPanel.removeContext`)} @click=${()=>{this.includeContext=!1}} > ${v.x} </button> `:l`<button type="button" class="btn btn--sm" @click=${()=>{this.includeContext=!0}} > ${b(`assistantPanel.includeContext`)} </button>`} <button type="button" class="rail-header__action" aria-label=${b(`assistantPanel.attachSelection`)} ?disabled=${!this.selectionAvailable} title=${b(`assistantPanel.attachSelection`)} @mousedown=${this.attachSelection} @click=${e=>{e.detail===0&&this.attachSelection(e)}} > ${v.messageSquare} </button> ${this.selection?l`<button type="button" class="btn btn--sm" aria-label=${b(`assistantPanel.removeSelection`)} @click=${()=>{this.selection=``}} > ${b(`assistantPanel.selection`)} ${v.x} </button>`:f} </div> ${m(n,l`<openclaw-chat-pane .paneId=${`home-dock:${n}`} .presentationId=${`home-dock:${n}`} .sessionKey=${this.sessionKey} .agentId=${this.agentId} .inputRegion=${`dock`} .active=${!0} .compact=${!0} .narrow=${!0} .workContext=${this.includeContext?t:void 0} ></openclaw-chat-pane>`)} `}},r([n({context:g,subscribe:!0})],T.prototype,`context`,void 0),r([p({attribute:!1})],T.prototype,`sessionKey`,void 0),r([p({attribute:!1})],T.prototype,`agentId`,void 0),r([p({attribute:!1})],T.prototype,`workContext`,void 0),r([d()],T.prototype,`includeContext`,void 0),r([d()],T.prototype,`selection`,void 0),r([d()],T.prototype,`selectionAvailable`,void 0),customElements.define(`openclaw-home-session`,T)})))()}E();export{T as OpenClawHomeSession}; //# sourceMappingURL=home-session.runtime-DbtjHZUv.js.map