botmux 2.105.0 → 2.106.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/cli/read-isolation.d.ts +2 -1
- package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
- package/dist/adapters/cli/read-isolation.js +51 -4
- package/dist/adapters/cli/read-isolation.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +19 -0
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +2 -1
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/passthrough-commands.d.ts.map +1 -1
- package/dist/core/passthrough-commands.js +1 -1
- package/dist/core/passthrough-commands.js.map +1 -1
- package/dist/core/session-manager.d.ts +1 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +22 -3
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/types.d.ts +3 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/worker-pool.d.ts +4 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +27 -9
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts +31 -8
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +750 -67
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/settings-write-applier.d.ts +5 -0
- package/dist/dashboard/settings-write-applier.d.ts.map +1 -1
- package/dist/dashboard/settings-write-applier.js +2 -2
- package/dist/dashboard/settings-write-applier.js.map +1 -1
- package/dist/dashboard/web/settings-page.d.ts.map +1 -1
- package/dist/dashboard/web/settings-page.js +13 -4
- package/dist/dashboard/web/settings-page.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/settings-page-R23I3IZG.js +2 -0
- package/dist/dashboard-web/style.css +11 -0
- package/dist/dashboard.js +239 -62
- package/dist/dashboard.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +1 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +1 -0
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +11 -0
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/message-parser.d.ts +6 -0
- package/dist/im/lark/message-parser.d.ts.map +1 -1
- package/dist/im/lark/message-parser.js +14 -0
- package/dist/im/lark/message-parser.js.map +1 -1
- package/dist/services/vc-meeting-runtime-store.d.ts +4 -0
- package/dist/services/vc-meeting-runtime-store.d.ts.map +1 -1
- package/dist/services/vc-meeting-runtime-store.js +26 -0
- package/dist/services/vc-meeting-runtime-store.js.map +1 -1
- package/dist/setup/open-platform-automation.d.ts +20 -0
- package/dist/setup/open-platform-automation.d.ts.map +1 -1
- package/dist/setup/open-platform-automation.js +78 -1
- package/dist/setup/open-platform-automation.js.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/vc-agent/cards.d.ts +2 -0
- package/dist/vc-agent/cards.d.ts.map +1 -1
- package/dist/vc-agent/cards.js +18 -2
- package/dist/vc-agent/cards.js.map +1 -1
- package/dist/vc-agent/normalizer.d.ts.map +1 -1
- package/dist/vc-agent/normalizer.js +59 -0
- package/dist/vc-agent/normalizer.js.map +1 -1
- package/dist/vc-agent/polling-source.d.ts +28 -0
- package/dist/vc-agent/polling-source.d.ts.map +1 -1
- package/dist/vc-agent/polling-source.js +57 -5
- package/dist/vc-agent/polling-source.js.map +1 -1
- package/dist/vc-agent/types.d.ts +1 -0
- package/dist/vc-agent/types.d.ts.map +1 -1
- package/dist/worker.js +48 -8
- package/dist/worker.js.map +1 -1
- package/dist/workflows/definition.d.ts +14 -14
- package/dist/workflows/events/payloads.d.ts +8 -8
- package/dist/workflows/events/schema.d.ts +452 -452
- package/package.json +1 -1
- package/dist/dashboard-web/chunks/settings-page-CRDIHRNE.js +0 -2
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b as k}from"./chunk-VFCACTRF.js";import{a as z}from"./chunk-LXIK7OUJ.js";import"./chunk-BNEXMNQD.js";import{a as ue,b as J,c as G}from"./chunk-JTSE5VP6.js";import{c as Z}from"./chunk-7SZRL6FY.js";var o=Z(ue(),1);var e=Z(G(),1),ge=["Asia/Shanghai","Asia/Hong_Kong","Asia/Tokyo","Asia/Singapore","Asia/Kolkata","UTC","Europe/London","Europe/Paris","Europe/Moscow","America/Los_Angeles","America/New_York","America/Sao_Paulo","Australia/Sydney"];function Y(t){return{publicReadOnly:t?.publicReadOnly===!0,openTerminalInFeishu:t?.openTerminalInFeishu===!0,chatBotDiscovery:t?.chatBotDiscovery!==!1,vcMeetingAgent:{enabled:t?.vcMeetingAgent?.enabled!==!1,listenerBotAppId:typeof t?.vcMeetingAgent?.listenerBotAppId=="string"?t.vcMeetingAgent.listenerBotAppId:null,listenerBotOptions:Array.isArray(t?.vcMeetingAgent?.listenerBotOptions)?t.vcMeetingAgent.listenerBotOptions:[]},repoPickerMode:t?.repoPickerMode==="repos"?"repos":"all",maintenance:t?.maintenance&&typeof t.maintenance=="object"?t.maintenance:{},localDevInstall:t?.localDevInstall===!0,whiteboard:{enabled:t?.whiteboard?.enabled===!0},remoteAccess:t?.remoteAccess===!0,scheduleTimeZone:typeof t?.scheduleTimeZone=="string"?t.scheduleTimeZone:"",hostTimeZone:typeof t?.hostTimeZone=="string"&&t.hostTimeZone?t.hostTimeZone:"UTC",effectiveScheduleTimeZone:typeof t?.effectiveScheduleTimeZone=="string"&&t.effectiveScheduleTimeZone?t.effectiveScheduleTimeZone:typeof t?.scheduleTimeZone=="string"&&t.scheduleTimeZone?t.scheduleTimeZone:typeof t?.hostTimeZone=="string"&&t.hostTimeZone?t.hostTimeZone:"UTC"}}function he(t,n){let a=t?.[n]??{};return{enabled:a.enabled===!0,time:typeof a.time=="string"?a.time:"04:00"}}function Q(t,n){return n(t==="npm-global"?"update.kindNpm":t==="source-checkout"?"update.kindSource":"update.kindUnknown")}function pe(){let t=k(),n=(0,o.useRef)(!1),a=(0,o.useRef)(new Set),[l,p]=(0,o.useState)(null),[c,u]=(0,o.useState)(!1),[w,M]=(0,o.useState)(null),[T,C]=(0,o.useState)(!0),[i,r]=(0,o.useState)(!1),[g,A]=(0,o.useState)(null),[N,U]=(0,o.useState)(null),[H,I]=(0,o.useState)(null),[X,P]=(0,o.useState)(null),[$,R]=(0,o.useState)(null),[F,B]=(0,o.useState)(!1),[ee,D]=(0,o.useState)(!0),[te,V]=(0,o.useState)(!1),[ne,ae]=(0,o.useState)(""),[ie,b]=(0,o.useState)(!1),[se,v]=(0,o.useState)(null),W=(0,o.useCallback)(()=>{for(let s of a.current)window.clearTimeout(s);a.current.clear()},[]),O=(0,o.useCallback)((s,d)=>{let h=window.setTimeout(()=>{a.current.delete(h),s()},d);return a.current.add(h),h},[]),x=(0,o.useCallback)(async()=>{try{let s=await fetch("/api/update/status"),d=await s.json().catch(()=>({}));if(!n.current)return;if(!s.ok){I(null),P(d?.error??`HTTP ${s.status}`);return}I(d),P(null)}catch(s){if(!n.current)return;I(null),P(s instanceof Error?s.message:String(s))}},[]),j=(0,o.useCallback)(async()=>{try{let s=await fetch("/api/settings"),d=await s.json().catch(()=>({}));if(!n.current)return;if(!s.ok){p(null),M(d?.error??`HTTP ${s.status}`),u(!0);return}p(Y(d.settings)),C(d.authed===!0),r(d.bound===!0),M(null),u(!0)}catch(s){if(!n.current)return;p(null),M(s instanceof Error?s.message:String(s)),u(!0)}},[]);(0,o.useEffect)(()=>(n.current=!0,j(),()=>{n.current=!1,W()}),[W,j]),(0,o.useEffect)(()=>{c&&(b(!1),v(null),B(!1),T&&x())},[T,x,c]);async function oe(s,d,h){if(!l)return;let m=l;p(h(l)),A(s),U({text:t("settings.saving")});try{let f=await fetch("/api/settings",{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(d)}),L=await f.json().catch(()=>({}));if(!n.current)return;if(!f.ok||L.ok===!1)throw new Error(L?.error??`HTTP ${f.status}`);let K=Y(L.settings);p(K),z.setScheduleTimeZone(K.effectiveScheduleTimeZone),U({text:t("settings.saved"),cls:"hint-ok"}),O(()=>U(q=>q?.cls==="hint-ok"?null:q),2400)}catch(f){if(!n.current)return;p(m),U({text:`${t("settings.saveFailed")}: ${f instanceof Error?f.message:String(f)}`,cls:"hint-warn-inline"})}finally{n.current&&A(null)}}async function le(){R(null),D(!0),V(!1);try{let s=await fetch("/api/update/changelog"),d=await s.json().catch(()=>({}));if(!n.current)return;ae(typeof d?.releasesUrl=="string"?d.releasesUrl:""),s.ok?(R(Array.isArray(d.releases)?d.releases:[]),D(d.ok!==!1),V(d.rateLimited===!0)):(R([]),D(!1))}catch{if(!n.current)return;R([]),D(!1)}}function re(){let s=Date.now(),d=async()=>{if(n.current){if(Date.now()-s>9e4){b(!1),v({text:t("update.restartSlow"),cls:"hint-warn-inline"});return}try{let h=await fetch("/__health",{cache:"no-store"});if(!n.current)return;if(h.ok){location.reload();return}}catch{}n.current&&O(()=>{d()},2e3)}};O(()=>{d()},3e3)}async function _(s){b(!0),v({text:t("update.restarting")});try{if(await fetch("/api/update/restart",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(s?{update:s}:{})}),!n.current)return}catch(d){if(!n.current)return;b(!1),v({text:t("update.restartFailed",{detail:d instanceof Error?d.message:String(d)}),cls:"hint-warn-inline"});return}re()}async function ce(){let s=H;if(!s)return;if(!s.node.ok){window.alert(t("update.nodeTooOldAlert",{version:s.node.version,required:s.node.required}));return}if(s.installs.multiple){let h=s.installs.entries.map(m=>`\u2022 ${m.binPath} (${Q(m.kind,t)})`).join(`
|
|
2
|
-
`);if(!window.confirm(t("update.confirmMultiInstall",{paths:h})))return}let d=s.latest?t("update.confirmUpdate",{version:`v${s.latest}`}):t("update.confirmUpdateNoVer");if(window.confirm(d)){b(!0),v({text:t("update.updating")});try{let h=await fetch("/api/update/run",{method:"POST"}),m=await h.json().catch(()=>({}));if(!n.current)return;if(!h.ok||m.ok===!1){let f=m?.detail??m?.error??`HTTP ${h.status}`;b(!1),v({text:t("update.updateFailed",{detail:f}),cls:"hint-warn-inline"});return}m.changed?(b(!1),v({text:t("update.updatedChanged",{old:`v${m.oldVersion}`,new:`v${m.newVersion}`}),cls:"hint-ok"}),window.confirm(t("update.confirmRestart"))?await _({oldVersion:m.oldVersion,newVersion:m.newVersion}):n.current&&v({text:t("update.noRestartHint"),cls:"hint-ok"})):(b(!1),v({text:t("update.alreadyLatestRun",{version:`v${m.newVersion}`}),cls:"hint-ok"}),await x())}catch(h){if(!n.current)return;b(!1),v({text:t("update.updateFailed",{detail:h instanceof Error?h.message:String(h)}),cls:"hint-warn-inline"})}}}let de=l?(0,e.jsx)(ve,{settings:l,canWrite:T,bound:i,savingKey:g,onSave:oe}):w?(0,e.jsxs)("p",{className:"hint-warn st-banner",children:[t("settings.loadFailed"),": ",w]}):(0,e.jsx)("p",{className:"empty st-banner",children:t("settings.loading")});return(0,e.jsxs)("section",{className:"page",children:[(0,e.jsx)("div",{className:"page-heading",children:(0,e.jsxs)("div",{children:[(0,e.jsx)("p",{className:"eyebrow",children:t("nav.settings")}),(0,e.jsx)("h1",{children:t("settings.title")}),(0,e.jsx)("p",{children:t("settings.subtitle")})]})}),(0,e.jsxs)("div",{className:"settings-grid",children:[de,(0,e.jsx)(fe,{canWrite:T,status:H,statusError:X,changelog:$,changelogOpen:F,changelogOk:ee,changelogRateLimited:te,releasesUrl:ne,busy:ie,message:se,onCheck:()=>{I(null),R(null),B(!1),v(null),P(null),x()},onToggleChangelog:()=>{let s=!F;B(s),s&&$===null&&le()},onUpdate:()=>{ce()},onRestart:()=>{window.confirm(t("update.confirmPlainRestart"))&&_(null)}})]}),N?(0,e.jsx)("div",{className:`st-status ${N.cls??""}`,"data-settings-status":!0,role:"status",children:N.text}):null]})}function me(t){return(0,e.jsx)("svg",{viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:{access:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("path",{d:"M8 1.7l5 1.9v4.1c0 3.2-2.1 5.6-5 6.6-2.9-1-5-3.4-5-6.6V3.6z"}),(0,e.jsx)("path",{d:"M5.9 8l1.5 1.5 2.7-2.8"})]}),cards:(0,e.jsx)("path",{d:"M2.2 3.2h11.6v7.4H8.3L5.1 13.2v-2.6H2.2z"}),experimental:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("path",{d:"M6.1 1.8h3.8M7 1.8v4L3.1 12.4a1.35 1.35 0 001.2 2h7.4a1.35 1.35 0 001.2-2L9 5.8v-4"}),(0,e.jsx)("path",{d:"M4.7 10.6h6.6"})]}),meeting:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("rect",{x:"1.6",y:"4.1",width:"8.9",height:"7.8",rx:"1.4"}),(0,e.jsx)("path",{d:"M10.5 7.4l3.9-2.3v5.8l-3.9-2.3"})]}),whiteboard:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("rect",{x:"1.9",y:"2.4",width:"12.2",height:"8.4",rx:"1.2"}),(0,e.jsx)("path",{d:"M4.7 8.2c1-.9 1.8-2.5 2.5-1.8.7.7-.5 2 .3 2.3.7.3 1.8-1.6 3.8-1.9"}),(0,e.jsx)("path",{d:"M5.3 13.9h5.4M8 10.8v3.1"})]}),repo:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("circle",{cx:"4.3",cy:"3.6",r:"1.7"}),(0,e.jsx)("circle",{cx:"4.3",cy:"12.4",r:"1.7"}),(0,e.jsx)("circle",{cx:"11.9",cy:"5.3",r:"1.7"}),(0,e.jsx)("path",{d:"M4.3 5.3v5.4M11.9 7c0 2.7-3.6 2.9-5.7 3.6"})]}),maintenance:(0,e.jsx)(e.Fragment,{children:(0,e.jsx)("path",{d:"M13.9 4.7a3.7 3.7 0 01-4.9 4.5l-4.4 4.4a1.6 1.6 0 01-2.2-2.2L6.8 7a3.7 3.7 0 014.5-4.9L8.9 4.5l2.6 2.6z"})}),update:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("path",{d:"M13.5 6.2A5.8 5.8 0 103 10.9"}),(0,e.jsx)("path",{d:"M13.7 2.5v3.9H9.8"}),(0,e.jsx)("path",{d:"M8 5.6v4.6M6 8.3l2 1.9 2-1.9"})]})}[t.name]})}function y(t){return(0,e.jsxs)("article",{className:"bd-card st-card","data-saving":t.saving?"":void 0,children:[(0,e.jsxs)("header",{className:"st-card-head",children:[(0,e.jsx)("span",{className:"st-chip","aria-hidden":"true",children:(0,e.jsx)(me,{name:t.icon})}),(0,e.jsx)("h3",{children:t.title})]}),t.children]})}function E(t){let[n,a]=(0,o.useState)(!1);return(0,e.jsx)("small",{className:n?"open":void 0,onClick:l=>{l.preventDefault(),l.stopPropagation(),a(p=>!p)},children:t.text})}function ve(t){let n=k(),{settings:a,canWrite:l,bound:p,savingKey:c}=t,u=!l,w=he(a.maintenance,"autoUpdate"),M=!l||a.localDevInstall,T=!l||a.maintenance.autoUpdate?.enabled!==!0,C=(i,r)=>{t.onSave(i,{[i]:r},g=>({...g,[i]:r}))};return(0,e.jsxs)(e.Fragment,{children:[l?null:(0,e.jsx)("p",{className:"hint-warn st-banner",children:n("settings.readOnlyVisitor")}),(0,e.jsxs)(y,{icon:"access",title:n("settings.sectionAccess"),saving:c==="publicReadOnly"||c==="remoteAccess",children:[(0,e.jsx)(S,{title:n("settings.publicReadOnly"),help:n("settings.publicReadOnlyHelp"),checked:a.publicReadOnly,disabled:u||c==="publicReadOnly",onChange:i=>C("publicReadOnly",i)}),p?(0,e.jsx)(S,{title:n("settings.remoteAccess"),help:n("settings.remoteAccessHelp"),checked:a.remoteAccess,disabled:u||c==="remoteAccess",onChange:i=>C("remoteAccess",i)}):null]}),(0,e.jsxs)(y,{icon:"meeting",title:n("settings.sectionVcMeetingAgent"),saving:c==="vcMeetingAgent",children:[(0,e.jsx)(S,{title:n("settings.vcMeetingAgent"),help:n("settings.vcMeetingAgentHelp"),checked:a.vcMeetingAgent.enabled,disabled:u||c==="vcMeetingAgent",onChange:i=>{t.onSave("vcMeetingAgent",{vcMeetingAgent:{enabled:i}},r=>({...r,vcMeetingAgent:{...r.vcMeetingAgent,enabled:i}}))}}),(0,e.jsxs)("label",{className:"st-field",children:[(0,e.jsx)("span",{children:n("settings.vcMeetingListenerBot")}),(0,e.jsxs)("select",{value:a.vcMeetingAgent.listenerBotAppId??"",disabled:u||c==="vcMeetingAgent",onChange:i=>{let r=i.currentTarget.value||null;t.onSave("vcMeetingAgent",{vcMeetingAgent:{listenerBotAppId:r}},g=>({...g,vcMeetingAgent:{...g.vcMeetingAgent,listenerBotAppId:r}}))},children:[(0,e.jsx)("option",{value:"",children:n("settings.vcMeetingListenerBotAuto")}),a.vcMeetingAgent.listenerBotOptions.map(i=>{let r=i.botName||i.larkAppId,g=i.cliId?` \xB7 ${i.cliId}`:"",A=[i.vcMeetingAgentEnabled===!0?void 0:n("settings.vcMeetingListenerBotDisabled"),i.hasLarkCliProfile===!0?void 0:n("settings.vcMeetingListenerBotNoProfile")].filter(Boolean),N=A.length>0?` \xB7 ${A.join(" \xB7 ")}`:"";return(0,e.jsxs)("option",{value:i.larkAppId,children:[r,g,N]},i.larkAppId)})]}),(0,e.jsx)(E,{text:n("settings.vcMeetingListenerBotHelp")})]})]}),(0,e.jsx)(y,{icon:"cards",title:n("settings.sectionCards"),saving:c==="openTerminalInFeishu",children:(0,e.jsx)(S,{title:n("settings.openTerminalInFeishu"),help:n("settings.openTerminalInFeishuHelp"),checked:a.openTerminalInFeishu,disabled:u||c==="openTerminalInFeishu",onChange:i=>C("openTerminalInFeishu",i)})}),(0,e.jsx)(y,{icon:"experimental",title:n("settings.sectionExperimental"),saving:c==="chatBotDiscovery",children:(0,e.jsx)(S,{title:n("settings.chatBotDiscovery"),help:n("settings.chatBotDiscoveryHelp"),checked:a.chatBotDiscovery,disabled:u||c==="chatBotDiscovery",onChange:i=>C("chatBotDiscovery",i)})}),(0,e.jsx)(y,{icon:"whiteboard",title:n("settings.sectionWhiteboard"),saving:c==="whiteboard",children:(0,e.jsx)(S,{title:n("settings.whiteboardEnable"),help:n("settings.whiteboardEnableHelp"),checked:a.whiteboard.enabled,disabled:u||c==="whiteboard",onChange:i=>{t.onSave("whiteboard",{whiteboard:{enabled:i}},r=>({...r,whiteboard:{enabled:i}}))}})}),(0,e.jsx)(y,{icon:"repo",title:n("settings.sectionRepoPicker"),saving:c==="repoPickerMode",children:(0,e.jsxs)("label",{className:"st-field",children:[(0,e.jsx)("span",{children:n("settings.repoPickerMode")}),(0,e.jsxs)("select",{value:a.repoPickerMode,disabled:u||c==="repoPickerMode",onChange:i=>{let r=i.currentTarget.value==="repos"?"repos":"all";t.onSave("repoPickerMode",{repoPickerMode:r},g=>({...g,repoPickerMode:r}))},children:[(0,e.jsx)("option",{value:"all",children:n("settings.repoPickerModeAll")}),(0,e.jsx)("option",{value:"repos",children:n("settings.repoPickerModeRepos")})]}),(0,e.jsx)(E,{text:n("settings.repoPickerModeHelp")})]})}),(0,e.jsx)(y,{icon:"maintenance",title:n("settings.sectionSchedule"),saving:c==="scheduleTimeZone",children:(0,e.jsx)(be,{value:a.scheduleTimeZone,host:a.hostTimeZone,effective:a.effectiveScheduleTimeZone,disabled:u||c==="scheduleTimeZone",onSave:i=>{t.onSave("scheduleTimeZone",{scheduleTimeZone:i},r=>({...r,scheduleTimeZone:i??""}))}})}),(0,e.jsxs)(y,{icon:"maintenance",title:n("settings.sectionMaintenance"),saving:c==="autoUpdate"||c==="autoRestart",children:[(0,e.jsx)(S,{title:n("settings.autoUpdate"),help:n("settings.autoUpdateHelp"),checked:w.enabled,disabled:M||c==="autoUpdate",onChange:i=>{let r={enabled:i,time:w.time};t.onSave("autoUpdate",{maintenance:{autoUpdate:r}},g=>({...g,maintenance:{...g.maintenance,autoUpdate:r}}))}}),(0,e.jsx)("div",{className:"st-subrow",children:(0,e.jsxs)("label",{className:"st-field",children:[(0,e.jsx)("span",{children:n("settings.maintenanceTime")}),(0,e.jsx)("input",{type:"time",value:w.time,disabled:M||c==="autoUpdate",onChange:i=>{let r={enabled:w.enabled,time:i.currentTarget.value||"04:00"};t.onSave("autoUpdate",{maintenance:{autoUpdate:r}},g=>({...g,maintenance:{...g.maintenance,autoUpdate:r}}))}})]})}),a.localDevInstall?(0,e.jsx)("p",{className:"hint-warn",children:n("settings.autoUpdateLocalDev")}):null,(0,e.jsx)(S,{title:n("settings.autoRestart"),help:n("settings.autoRestartHelp"),checked:a.maintenance.autoRestart?.enabled===!0,disabled:T||c==="autoRestart",onChange:i=>{let r={enabled:i};t.onSave("autoRestart",{maintenance:{autoRestart:r}},g=>({...g,maintenance:{...g.maintenance,autoRestart:r}}))}})]})]})}function be(t){let n=k(),[a,l]=(0,o.useState)(t.value);(0,o.useEffect)(()=>{l(t.value)},[t.value]);let p=()=>{let u=a.trim();u!==t.value.trim()&&t.onSave(u===""?null:u)},c=t.effective||t.value.trim()||t.host;return(0,e.jsxs)("label",{className:"form-row",children:[(0,e.jsx)("span",{children:n("settings.scheduleTimeZone")}),(0,e.jsx)("input",{type:"text",list:"tz-common",value:a,placeholder:t.host,disabled:t.disabled,onChange:u=>l(u.currentTarget.value),onBlur:p,onKeyDown:u=>{u.key==="Enter"&&(u.preventDefault(),u.currentTarget.blur())}}),(0,e.jsx)("datalist",{id:"tz-common",children:ge.map(u=>(0,e.jsx)("option",{value:u},u))}),(0,e.jsx)("small",{children:n("settings.scheduleTimeZoneHelp",{host:t.host,effective:c})})]})}function S(t){return(0,e.jsxs)("label",{className:"toggle-row",children:[(0,e.jsx)("input",{type:"checkbox",checked:t.checked,disabled:t.disabled,onChange:n=>t.onChange(n.currentTarget.checked)}),(0,e.jsx)("span",{className:"switch","aria-hidden":"true"}),(0,e.jsxs)("span",{className:"toggle-tx",children:[(0,e.jsx)("strong",{children:t.title}),(0,e.jsx)(E,{text:t.help})]})]})}function fe(t){let n=k(),a;if(!t.canWrite)a=(0,e.jsx)("p",{className:"hint-warn",children:n("update.loginRequired")});else if(t.statusError)a=(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("p",{className:"hint-warn",children:[n("update.checkFailed"),": ",t.statusError]}),(0,e.jsx)("div",{className:"update-actions",children:(0,e.jsx)("button",{type:"button","data-up":"check",onClick:t.onCheck,children:n("update.btnCheck")})})]});else if(!t.status)a=(0,e.jsx)("p",{className:"empty",children:n("update.loading")});else{let l=t.status,p=l.localDevInstall||t.busy;a=(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("p",{className:"update-version",children:[(0,e.jsx)("span",{className:"st-update-label",children:n("update.current")}),(0,e.jsxs)("strong",{className:"st-update-ver",children:["v",l.current]}),(0,e.jsx)(ye,{status:l})]}),l.node.ok?null:(0,e.jsx)("p",{className:"hint-warn",children:n("update.nodeWarn",{version:l.node.version,required:l.node.required})}),l.localDevInstall?(0,e.jsx)("p",{className:"hint-warn",children:n("update.localDev")}):null,l.installs.multiple?(0,e.jsx)(ke,{entries:l.installs.entries}):null,(0,e.jsxs)("div",{className:"update-actions",children:[(0,e.jsx)("button",{type:"button","data-up":"check",disabled:t.busy,onClick:t.onCheck,children:n("update.btnCheck")}),(0,e.jsx)("button",{type:"button","data-up":"changelog",disabled:t.busy,onClick:t.onToggleChangelog,children:t.changelogOpen?n("update.btnChangelogHide"):n("update.btnChangelog")}),(0,e.jsx)("button",{type:"button",className:"primary","data-up":"update",disabled:p,onClick:t.onUpdate,children:n("update.btnUpdate")}),(0,e.jsx)("button",{type:"button","data-up":"restart",disabled:t.busy,onClick:t.onRestart,children:n("update.btnRestart")})]}),t.changelogOpen?(0,e.jsx)(Se,{changelog:t.changelog,ok:t.changelogOk,rateLimited:t.changelogRateLimited,releasesUrl:t.releasesUrl}):null,t.message?(0,e.jsx)("p",{className:`oncall-status ${t.message.cls??""}`,children:t.message.text}):null]})}return(0,e.jsx)(y,{icon:"update",title:n("update.section"),children:a})}function ye(t){let n=k(),a=t.status;return a.latest?a.behind?(0,e.jsx)("span",{className:"update-badge update-badge-new",children:n("update.newAvailable",{version:`v${a.latest}`})}):(0,e.jsx)("span",{className:"update-badge update-badge-ok",children:n("update.upToDate")}):(0,e.jsx)("span",{className:"hint-warn-inline",children:n("update.checkUnavailable")})}function ke(t){let n=k();return(0,e.jsxs)("div",{className:"hint-warn",children:[(0,e.jsx)("p",{children:n("update.multiInstallWarn")}),(0,e.jsx)("ul",{className:"update-install-list",children:t.entries.map(a=>(0,e.jsxs)("li",{children:[(0,e.jsx)("code",{children:a.binPath})," \u2192 ",Q(a.kind,n)," ",(0,e.jsx)("small",{children:a.root})]},`${a.binPath}:${a.root}`))})]})}function Se(t){let n=k();if(t.changelog===null)return(0,e.jsx)("p",{className:"empty",children:n("update.changelogLoading")});if(!t.ok){let a=t.rateLimited?n("update.changelogRateLimited"):n("update.changelogFailed");return(0,e.jsxs)("p",{className:"hint-warn-inline",children:[a,t.releasesUrl?(0,e.jsxs)(e.Fragment,{children:[" ",(0,e.jsx)("a",{href:t.releasesUrl,target:"_blank",rel:"noopener",children:n("update.changelogViewOnGitHub")})]}):null]})}return t.changelog.length===0?(0,e.jsx)("p",{className:"empty",children:n("update.changelogEmpty")}):(0,e.jsx)("div",{className:"update-changelog",children:t.changelog.map(a=>{let l=a.name&&a.name!==`v${a.version}`?a.name:"",p=a.publishedAt?new Date(a.publishedAt).toLocaleDateString():"";return(0,e.jsxs)("details",{className:"update-release",open:!0,children:[(0,e.jsxs)("summary",{children:[(0,e.jsxs)("strong",{children:["v",a.version]})," ",l," ",(0,e.jsx)("small",{children:p})," ",(0,e.jsx)("a",{href:a.url,target:"_blank",rel:"noopener",children:"\u2197"})]}),(0,e.jsx)("pre",{className:"update-release-body",children:a.body||""})]},a.version)})})}function Ae(t){return J(t,(0,e.jsx)(pe,{}))}export{be as TimeZoneRow,Ae as renderSettingsPage};
|