openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
16 lines • 4.63 kB
JavaScript
import{n as e}from"./rolldown-runtime-8BhlS34s.js";import{Ic as t,Lc as n,Nu as r,Pu as i,ju as a,kl as o,zl as s,zu as c}from"./control-ui-core-CBJ5efDh.js";import{or as l,p as u,sr as d}from"./control-ui-core-DtLivg_r.js";import{G as f,J as p,W as m,Z as h,at as g,rt as _}from"./lit-runtime-IOnANfcZ.js";import{ga as v,ha as y}from"./control-ui-boot-shared-UG5ko-VG.js";import{Mt as b,Zr as x,ao as S,io as C,jt as w}from"./ui-CmSP4d14.js";import{Gf as T,I as E,Ui as D,Wf as O,Wi as k,z as A}from"./control-ui-boot-shared-dOnP4mAA.js";import{J as j,Y as M,at as N,it as P,zt as F}from"./control-ui-boot-chat-B-b-JQel.js";import{a as I,o as L}from"./control-ui-boot-new-CkyIHJ_L.js";var R;function z(){return(z=e((()=>{m(),h(),C(),l(),i(),y(),o(),b(),r(),n(),I(),k(),j(),E(),P(),T(),v(),R=class extends a{constructor(...e){super(...e),this.sessionKey=``,this.narrow=!1,this.mergedChrome=!1,this.navDrawerOpen=!1,this.composerId=`pending-create-${w()}`,this.image=null,this.subscriptions=new t(this).watch(()=>this.context?.gateway,(e,t)=>e.subscribe(this.closeImageBefore(t))).watch(()=>this.context?.chatSubmissions,(e,t)=>e.subscribeCreate(this.closeImageBefore(t))).watchStore(()=>this.context?.placementStartup),this.closeImage=()=>{this.image?.release?.(),this.image=null}}closeImageBefore(e){return()=>{this.closeImage(),e()}}disconnectedCallback(){this.closeImage(),this.subscriptions.clear(),F(this.composerId),super.disconnectedCallback()}render(){let e=this.context.gateway.snapshot,t=e.selfUser?.identity,n=u(this.context,this.sessionKey),r=n?.phase===`failed`,i=n?.phase===`cancelled`,a=n?.action===`check-delivery`,o=!r&&!i,l=n?.initialTurn,m=r&&n?n.discardAndReload?{label:c(`newSession.discardUnsavedAndReload`),onClick:n.discardAndReload}:n.retryable?{label:c(a?`chat.queue.checkDelivery`:`common.retry`),onClick:()=>this.context.placementStartup.retry(n.sessionKey)}:void 0:void 0,h=l?O({text:l.text,mentions:l.mentions,attachments:l.attachments,createdAt:l.createdAt},`available`):this.context.chatSubmissions.readCreateMessage(this.sessionKey),g=s(this.sessionKey)?.agentId??``,_=this.context.agents.state.agentsList?.agents.find(e=>e.id===g),v=()=>{};return p`<div class="sidebar-region" ${d({workbench:!0})}>
<div class="sidebar-region__header">
${N({paneId:this.composerId,narrow:this.narrow,mergedChrome:this.mergedChrome,navDrawerOpen:this.navDrawerOpen,title:c(`newSession.title`),session:void 0,incognito:S(this.sessionKey),catalog:!1,editing:!1,renameValue:``,workspaceRoot:null,workspaceLabel:null,workspaceIcon:null,parentSession:null,branch:null,branches:[],branchSwitchDisabledReason:null,platform:null,canReveal:!1,copiedAction:null,panelActions:f,panelLayoutActions:f,sessionMenuAction:f,onBeginRename:v,onRenameInput:v,onCommitRename:v,onCancelRename:v,onMenuOpenChange:v,onMenuAction:v,onOpenParentSession:v,onBranchSelect:v})}
</div>
<section class="chat" data-region="main" aria-busy=${String(o)}>
<div class="chat-main__conversation-frame">
<div class="chat-main__conversation">
${L({inChat:!0,error:r?n.error??c(a?`chat.queue.checkDeliveryHelp`:`newSession.createFailed`):null,errorAction:m?{...m,disabled:e.phase!==`connected`||!e.client?.recoveryScopeReady}:void 0,pendingMessage:h,userId:t?.type===`profile`?t.id:null,submitting:o,statusLabel:e.phase===`connected`?D(null,n):c(`connection.reconnecting`),completion:i?{label:n.error??c(`newSession.placementCancelled`)}:r?{label:c(a?`chat.queue.deliveryUnconfirmed`:`chat.queue.notSent`)}:void 0,renderDraft:()=>p`<div role="status">${c(`connection.reconnecting`)}</div>`,onOpenImage:e=>{this.closeImage(),this.image=e}})}
<div class="chat-footer">
${M({paneId:this.composerId,sessionKey:this.sessionKey,currentAgentId:g,assistantName:_?.identity?.name??_?.name??g,connected:e.phase===`connected`,canSend:!1,sessionAdmitted:!1,disabledReason:null,sending:o,messages:[],stream:null,queue:[],draft:``,modelCatalog:[],modelSwitching:!1,sessions:null,onDraftChange:v,onSend:v,onQueueRemove:v})}
</div>
</div>
</div>
</section>
</div>
${A(this.image,this.closeImage)}`}},x([g({attribute:!1})],R.prototype,`context`,void 0),x([g()],R.prototype,`sessionKey`,void 0),x([g({type:Boolean})],R.prototype,`narrow`,void 0),x([g({type:Boolean})],R.prototype,`mergedChrome`,void 0),x([g({type:Boolean})],R.prototype,`navDrawerOpen`,void 0),x([_()],R.prototype,`image`,void 0),customElements.get(`openclaw-pending-session-create`)||customElements.define(`openclaw-pending-session-create`,R)})))()}z();