openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
1 lines • 4.71 kB
JavaScript
import{n as e}from"./rolldown-runtime-8BhlS34s.js";import{Dl as t,Sl as n,Wo as r,Yo as i,_l as a,xr as o}from"./control-ui-core-BncvAZjR.js";import{Xn as s,Zn as c}from"./control-ui-core-9qYjK5B2.js";import{Qt as l}from"./control-ui-boot-shared-umGE-sEP.js";import{Ao as u,Do as d,Eo as f,Fi as p,Ja as m,Mi as h,Za as g}from"./control-ui-boot-shared-DJkUdZmL.js";import{$t as _,Jt as v,Xt as y,_t as b,en as x}from"./ui-DuRgK6kL.js";import{Dl as S,El as C,Jd as w,Oa as T,Sl as E,Tl as D,Xd as O,Xr as k,Yr as A,_a as j,_l as M,cr as N,cu as P,ef as F,fa as I,fu as L,gl as R,if as z,ka as B,lr as V,of as H,qd as U,rf as W}from"./control-ui-boot-shared-D3oo_6Fq.js";function G(e,t){return u(e,t)===`pending`&&e.pendingInputs?.items.some(e=>e.runId===t.sendRunId&&e.state===`interrupted`)===!0}function K(e,t,n,r,a){let o=r.sessionInfo?.sessionId??r.sessionId;if(n.sessionId&&n.sessionId!==o){if(n.sendState!==`unconfirmed`||n.sendError!==`Delivery has not been confirmed. Check the conversation — retry only if your message didn't arrive.`){let r=W(e,n.id,e=>({...e,sendState:`unconfirmed`,sendError:M}));S(e,t.sessionKey,t.agentId,r?M:R)}return`blocked`}let s=u(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||!o||n.sessionId&&n.sendState!==`unconfirmed`);return u&&!w(e,n,o)?`blocked`:(i(e,t.sessionKey,t.agentId)&&o===e.currentSessionId&&a===void 0&&P(e,r.pendingInputs,{receipts:r.inputReceipts}),l?F(e,n.sendRunId,t)!==null||!p(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 q(e,t){return!(!t.sendRunId||!e?.activeRunIds?.includes(t.sendRunId)&&e?.lastRunId!==t.sendRunId)}async function J(e,n,o,c,l,d){let m=e.chatRunId,h=e.chatRunLifecycleGeneration,y=e.currentSessionId,x=e.sessions,w=()=>{if(n.agentId||t(n.sessionKey))return n.agentId;let i=y?e.sessionsResult?.sessions.find(e=>e.sessionId===y&&a(e.key,n.sessionKey)):void 0;return r(e,{sessionKey:n.sessionKey,agentId:i?.agentId??(i?e.sessionsResultAgentId??void 0:void 0)}).agentId},E=w(),O=m&&y&&E&&i(e,n.sessionKey,n.agentId)?x.observeRow({key:n.sessionKey,agentId:E},()=>{}):void 0,A=O?.captureReconcile(),N=()=>e.client===c&&e.connectionEpoch===l&&e.connected,P=()=>N()&&e.sessions===x&&e.currentSessionId===y&&w()===E&&i(e,n.sessionKey,n.agentId);try{let r,a,l={sessionKey:n.sessionKey,...t(n.sessionKey)&&n.agentId?{agentId:n.agentId}:{},...o.sendRunId&&o.sendRunId.length<=256?{inputRunIds:[o.sendRunId]}:{}};try{for(r=await c.request(`chat.history`,{...l,limit:1e3},{timeoutMs:v});u(r,o)===`pending`&&!r.pendingInputs?.items.some(e=>e.runId===o.sendRunId)&&r.pendingInputs?.nextBefore!==void 0&&(a===void 0||r.pendingInputs.nextBefore<a);){if(!N())return`blocked`;a=r.pendingInputs.nextBefore,r=await c.request(`chat.history`,{...l,limit:20,pendingBefore:a},{timeoutMs:v})}}catch(t){let r=t instanceof _?500:V(t);if(r!==null)return N()&&d(r),`blocked`;if(!N()||!(t instanceof s))return`blocked`;let i=p(e,n)?.queue.find(e=>e.id===o.id);if(!i||!g(i,o))return`blocked`;let a=(o.sendAttempts??0)>0||o.sendRequestStartedAtMs!==void 0||o.sendState===`unconfirmed`,c=a?M:T(t),l=a?`unconfirmed`:`failed`;if(o.sendState===l&&o.sendError===c)return`blocked`;let u=W(e,o.id,e=>({...e,sendError:c,sendState:l}));return S(e,n.sessionKey,n.agentId,u?c:R,{inline:!!(u&&a&&!o.localCommandName)}),u&&!a?`continue`:`blocked`}let x=p(e,n),w=x?.queue.find(e=>e.id===o.id);if(!N())return`blocked`;if(!x||!w||!g(w,o))return`continue`;z(e).syncHost(e);let E=K(e,n,o,r,a);if(E!==void 0)return E;let O=u(r,o);if(O||f(r.messages,o.sendRunId,D(o))||!D(o)&&q(r.sessionInfo,o))return await C(e,o.sendRunId,n,{inputConsumed:D(o)})!==`retired`||!N()?`blocked`:(i(e,n.sessionKey,n.agentId)&&k(e,{supersedeInFlight:!!O}),`continue`);if(!r.sessionInfo||r.sessionInfo.hasActiveRun===!0||b(r.sessionInfo))return`blocked`;if(A&&m&&e.chatRunId===m&&e.chatRunLifecycleGeneration===h&&r.sessionInfo.lastRunId===m&&y&&r.sessionInfo.sessionId===y&&P()){let t=A(r.sessionInfo);if(!P()||t.status!==`current`||!t.row||t.row.sessionId!==y||t.row.lastRunId!==m||t.row.hasActiveRun===!0||b(t.row)||e.chatRunId===m&&e.chatRunLifecycleGeneration===h&&!j(e,t.row,{publishRunStatus:!1})||!P())return`blocked`;U(e,m)}return r}finally{O?.dispose()}}function Y(){return(Y=e((()=>{y(),x(),l(),c(),d(),m(),h(),o(),n(),A(),H(),N(),L(),O(),E(),B(),I()})))()}Y();export{G as isInterruptedChatInput,J as readCurrentStoredChatHistory};