UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

1 lines • 4.75 kB
import{n as e}from"./rolldown-runtime-8BhlS34s.js";import{et as t}from"./control-ui-foundation-ZY_Flbbd.js";import{Qr as n,Zc as r,cr as i,nl as a,ri as o,sl as s}from"./control-ui-core-3P365fbR.js";import{$n as c,er as l}from"./control-ui-core-CFW9Qtjn.js";import{j as u}from"./control-ui-boot-shared-Rs4iS2kF.js";import{Ds as d,Lc as f,Ts as p,fl as m,hl as h,pl as g,zc as _}from"./control-ui-boot-shared-DoKu-5Ju.js";import{Bt as v,Dn as y,En as b,F as x,Gt as S,Ht as C,It as w,Kt as T,Lt as E,On as D,P as O,Vt as k,_n as A,g as j,h as M,vn as N,wn as P,yn as F,zt as I}from"./control-ui-boot-shared-73R4ErOy.js";import{Hn as L,Vn as R}from"./control-ui-boot-shared-CcmBeh0v.js";import{An as z,Fn as B}from"./control-ui-boot-shared-CApmg5ot.js";function V(e,t){return h(e,t)===`pending`&&e.pendingInputs?.items.some(e=>e.runId===t.sendRunId&&e.state===`interrupted`)===!0}function H(e,t,n,r,i){let a=r.sessionInfo?.sessionId??r.sessionId;if(n.sessionId&&n.sessionId!==a){if(n.sendState!==`unconfirmed`||n.sendError!==`Reconnected before delivery was confirmed. Check the conversation — retry only if your message didn't arrive.`){let r=b(e,n.id,e=>({...e,sendState:`unconfirmed`,sendError:E}));C(e,t.sessionKey,t.agentId,r?E:w)}return`blocked`}let s=h(r,n);if(s===`pending`||s===`cancelled`){let c=r.pendingInputs?.items.find(e=>e.runId===n.sendRunId),l=s===`cancelled`||c?.state===`cancelled`,u=!(l||!a||n.sessionId&&n.sendState!==`unconfirmed`);return u&&!N(e,n,a)?`blocked`:(o(e,t.sessionKey,t.agentId)&&a===e.currentSessionId&&i===void 0&&S(e,r.pendingInputs,{receipts:r.inputReceipts}),l?P(e,n.sendRunId,t)!==null||!d(e,t)?.queue.some(e=>e.id===n.id)?`continue`:`blocked`:u?`continue`:c?.state===`interrupted`&&n.sendState!==`sending`&&r.sessionInfo&&(n.queueMode===`steer`||n.queueMode===`interrupt`||r.sessionInfo.hasActiveRun!==!0&&r.sessionInfo.status!==`running`&&r.sessionInfo.status!==`queued`)?r:`blocked`)}}function U(e,t){return!(!t.sendRunId||!e?.activeRunIds?.includes(t.sendRunId)&&e?.lastRunId!==t.sendRunId)}async function W(e,i,a,l,u,f){let p=e.chatRunId,g=e.chatRunLifecycleGeneration,S=e.currentSessionId,T=e.sessions,D=()=>{if(i.agentId||s(i.sessionKey))return i.agentId;let t=S?e.sessionsResult?.sessions.find(e=>e.sessionId===S&&r(e.key,i.sessionKey)):void 0;return n(e,{sessionKey:i.sessionKey,agentId:t?.agentId??(t?e.sessionsResultAgentId??void 0:void 0)}).agentId},O=D(),M=p&&S&&O&&o(e,i.sessionKey,i.agentId)?T.observeRow({key:i.sessionKey,agentId:O},()=>{}):void 0,N=M?.captureReconcile(),P=()=>e.client===l&&e.connectionEpoch===u&&e.connected,F=()=>P()&&e.sessions===T&&e.currentSessionId===S&&D()===O&&o(e,i.sessionKey,i.agentId);try{let n,r,u={sessionKey:i.sessionKey,...s(i.sessionKey)&&i.agentId?{agentId:i.agentId}:{},...a.sendRunId&&a.sendRunId.length<=256?{inputRunIds:[a.sendRunId]}:{}};try{for(n=await l.request(`chat.history`,{...u,limit:1e3});h(n,a)===`pending`&&!n.pendingInputs?.items.some(e=>e.runId===a.sendRunId)&&n.pendingInputs?.nextBefore!==void 0&&(r===void 0||n.pendingInputs.nextBefore<r);){if(!P())return`blocked`;r=n.pendingInputs.nextBefore,n=await l.request(`chat.history`,{...u,limit:20,pendingBefore:r})}}catch(t){let n=j(t);if(n!==null)return P()&&f(n),`blocked`;if(!P()||!(t instanceof c))return`blocked`;let r=d(e,i)?.queue.find(e=>e.id===a.id);if(!r||!_(r,a))return`blocked`;let o=(a.sendAttempts??0)>0||a.sendRequestStartedAtMs!==void 0||a.sendState===`unconfirmed`,s=o?E:R(t),l=o?`unconfirmed`:`failed`;if(a.sendState===l&&a.sendError===s)return`blocked`;let u=b(e,a.id,e=>({...e,sendError:s,sendState:l}));return C(e,i.sessionKey,i.agentId,u?s:w,{inline:!!(u&&o&&!a.localCommandName)}),u&&!o?`continue`:`blocked`}let T=d(e,i),D=T?.queue.find(e=>e.id===a.id);if(!P())return`blocked`;if(!T||!D||!_(D,a))return`continue`;y(e).syncHost(e);let O=H(e,i,a,n,r);if(O!==void 0)return O;let M=h(n,a);if(M||m(n.messages,a.sendRunId,v(a))||!v(a)&&U(n.sessionInfo,a))return await k(e,a.sendRunId,i,{inputConsumed:v(a)})!==`retired`||!P()?`blocked`:(o(e,i.sessionKey,i.agentId)&&x(e,{supersedeInFlight:!!M}),`continue`);if(!n.sessionInfo||n.sessionInfo.hasActiveRun===!0||t(n.sessionInfo))return`blocked`;if(N&&p&&e.chatRunId===p&&e.chatRunLifecycleGeneration===g&&n.sessionInfo.lastRunId===p&&S&&n.sessionInfo.sessionId===S&&F()){let r=N(n.sessionInfo);if(!F()||r.status!==`current`||!r.row||r.row.sessionId!==S||r.row.lastRunId!==p||r.row.hasActiveRun===!0||t(r.row)||e.chatRunId===p&&e.chatRunLifecycleGeneration===g&&!B(e,r.row,{publishRunStatus:!1})||!F())return`blocked`;A(e,p)}return n}finally{M?.dispose()}}function G(){return(G=e((()=>{u(),l(),g(),f(),p(),i(),a(),O(),D(),M(),T(),F(),I(),L(),z()})))()}G();export{V as isInterruptedChatInput,W as readCurrentStoredChatHistory};