openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
2 lines • 2.33 kB
JavaScript
import{n as e}from"./rolldown-runtime-8BhlS34s.js";import{Eu as t,Hr as n,Ur as r,du as i,ju as a,pu as o}from"./control-ui-core-BncvAZjR.js";import{It as s,Rt as c,Tn as l,fa as u,zt as d}from"./ui-DuRgK6kL.js";import{Bi as f,zi as p}from"./control-ui-boot-shared-xfDhIVun.js";import{lt as m,ut as h}from"./control-ui-boot-chat-C8hdsB2M.js";function g(e){let t=u(e),n=u(t?.details),r=u(n?.source);return t?.code!==s.UNAVAILABLE||n?.code!==c.SESSION_WORKSPACE_RECOVERY_REQUIRED||n.cause!==`device_offline`||n.recoveryAction!==`continue_on_gateway`||!l(n.sessionId)||typeof r?.generation!=`number`||!Number.isSafeInteger(r.generation)||r.generation<0||!l(r.environmentId)||typeof r.ownerEpoch!=`number`||!Number.isSafeInteger(r.ownerEpoch)||r.ownerEpoch<1?null:{code:n.code,cause:n.cause,recoveryAction:n.recoveryAction,sessionId:n.sessionId,source:{generation:r.generation,environmentId:r.environmentId,ownerEpoch:r.ownerEpoch}}}function _(){return(_=e((()=>{d()})))()}function v(e){let t=e.map(e=>`${e.branch} — ${a(`sessionsView.deletePreservedReasons.${e.reason}`)}`).join(`
`);return`${a(`worktrees.title`)}:\n${t}`}function y(e){let t=a(`sessionsView.deletePreservedReasons.${e.reason}`);return`${a(`sessionsView.attentionRequired`)}: ${e.branch} — ${t}. ${a(`common.remove`)}?`}function b(){return(b=e((()=>{t()})))()}function x(e){let t=i(e);return g(e)?`${t} ${a(`sessionsView.workspaceRecoveryBatchHint`)}`:t}async function S(e){let t=!1;for(;e.isCurrent();)try{return await e.request()}catch(n){if(!e.isCurrent())return;let i=g(n);if(t||!i||i.sessionId!==e.session.sessionId)throw n;let o={key:e.session.key,...e.session.agentId?{agentId:e.session.agentId}:{},expected:i.source,target:{kind:`gateway`},abandonSource:!0},s=()=>{let t=r(e.scope.gateway.snapshot,{method:`sessions.move`,params:o,requiredScope:`operator.write`});if(!t.allowed)throw Error(t.reason,{cause:n})};s();let c=e.action===`delete`?`Delete`:`Archive`,l=await f({message:a(`sessionsView.discardWorkspace${c}Confirm`,{session:e.session.label}),confirmLabel:a(`sessionsView.discardWorkspace${c}Action`),danger:!0,signal:e.scope.signal});if(!e.isCurrent())return;if(!l)throw n;s(),await e.scope.client.request(`sessions.move`,o),t=!0}}function C(){return(C=e((()=>{_(),t(),m(),o(),n(),p(),h()})))()}export{v as a,y as i,C as n,b as o,S as r,x as t};