@overlordai/server 1.0.115 → 1.0.117
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/database/migrations/006-task-source.sql +5 -0
- package/dist/adapters/command-parser.utils.d.ts +5 -0
- package/dist/adapters/command-parser.utils.d.ts.map +1 -1
- package/dist/adapters/command-parser.utils.js +15 -0
- package/dist/adapters/command-parser.utils.js.map +1 -1
- package/dist/adapters/help-text.d.ts.map +1 -1
- package/dist/adapters/help-text.js +1 -0
- package/dist/adapters/help-text.js.map +1 -1
- package/dist/adapters/lark/lark-card.builder.d.ts +4 -1
- package/dist/adapters/lark/lark-card.builder.d.ts.map +1 -1
- package/dist/adapters/lark/lark-card.builder.js +4 -1
- package/dist/adapters/lark/lark-card.builder.js.map +1 -1
- package/dist/adapters/lark/lark-message.parser.d.ts.map +1 -1
- package/dist/adapters/lark/lark-message.parser.js +2 -0
- package/dist/adapters/lark/lark-message.parser.js.map +1 -1
- package/dist/adapters/lark/lark.adapter.d.ts +1 -1
- package/dist/adapters/lark/lark.adapter.d.ts.map +1 -1
- package/dist/adapters/lark/lark.adapter.js +3 -20
- package/dist/adapters/lark/lark.adapter.js.map +1 -1
- package/dist/adapters/lark/lark.controller.d.ts.map +1 -1
- package/dist/adapters/lark/lark.controller.js +2 -1
- package/dist/adapters/lark/lark.controller.js.map +1 -1
- package/dist/adapters/slack/slack-block.builder.d.ts +4 -1
- package/dist/adapters/slack/slack-block.builder.d.ts.map +1 -1
- package/dist/adapters/slack/slack-block.builder.js +4 -1
- package/dist/adapters/slack/slack-block.builder.js.map +1 -1
- package/dist/adapters/slack/slack-message.parser.d.ts.map +1 -1
- package/dist/adapters/slack/slack-message.parser.js +2 -0
- package/dist/adapters/slack/slack-message.parser.js.map +1 -1
- package/dist/adapters/slack/slack.controller.d.ts.map +1 -1
- package/dist/adapters/slack/slack.controller.js +4 -2
- package/dist/adapters/slack/slack.controller.js.map +1 -1
- package/dist/common/config.d.ts +3 -1
- package/dist/common/config.d.ts.map +1 -1
- package/dist/common/config.js +3 -1
- package/dist/common/config.js.map +1 -1
- package/dist/common/string-utils.d.ts +1 -1
- package/dist/common/string-utils.d.ts.map +1 -1
- package/dist/common/string-utils.js.map +1 -1
- package/dist/database/repositories/task.repository.d.ts +13 -0
- package/dist/database/repositories/task.repository.d.ts.map +1 -1
- package/dist/database/repositories/task.repository.js +27 -2
- package/dist/database/repositories/task.repository.js.map +1 -1
- package/dist/dispatcher/dispatcher.service.d.ts +18 -0
- package/dist/dispatcher/dispatcher.service.d.ts.map +1 -1
- package/dist/dispatcher/dispatcher.service.js +60 -10
- package/dist/dispatcher/dispatcher.service.js.map +1 -1
- package/dist/dispatcher/scheduler.service.d.ts.map +1 -1
- package/dist/dispatcher/scheduler.service.js +1 -0
- package/dist/dispatcher/scheduler.service.js.map +1 -1
- package/dist/dispatcher/task-creation.service.d.ts +4 -1
- package/dist/dispatcher/task-creation.service.d.ts.map +1 -1
- package/dist/dispatcher/task-creation.service.js +87 -14
- package/dist/dispatcher/task-creation.service.js.map +1 -1
- package/dist/dispatcher/task-lifecycle.service.d.ts +5 -0
- package/dist/dispatcher/task-lifecycle.service.d.ts.map +1 -1
- package/dist/dispatcher/task-lifecycle.service.js +21 -32
- package/dist/dispatcher/task-lifecycle.service.js.map +1 -1
- package/dist/dispatcher/task-name.service.d.ts +7 -1
- package/dist/dispatcher/task-name.service.d.ts.map +1 -1
- package/dist/dispatcher/task-name.service.js +57 -28
- package/dist/dispatcher/task-name.service.js.map +1 -1
- package/dist/notifier/notification-consumer.d.ts.map +1 -1
- package/dist/notifier/notification-consumer.js +5 -0
- package/dist/notifier/notification-consumer.js.map +1 -1
- package/dist/notifier/template.service.d.ts +14 -10
- package/dist/notifier/template.service.d.ts.map +1 -1
- package/dist/notifier/template.service.js +6 -0
- package/dist/notifier/template.service.js.map +1 -1
- package/dist/web/dashboard.controller.d.ts +18 -1
- package/dist/web/dashboard.controller.d.ts.map +1 -1
- package/dist/web/dashboard.controller.js +8 -8
- package/dist/web/dashboard.controller.js.map +1 -1
- package/dist/web/dashboard.service.d.ts +4 -0
- package/dist/web/dashboard.service.d.ts.map +1 -1
- package/dist/web/dashboard.service.js +44 -8
- package/dist/web/dashboard.service.js.map +1 -1
- package/dist/web/frame-handlers/stage-choice.handler.d.ts.map +1 -1
- package/dist/web/frame-handlers/stage-choice.handler.js +2 -15
- package/dist/web/frame-handlers/stage-choice.handler.js.map +1 -1
- package/dist/web/frame-handlers/stage-input.handler.d.ts.map +1 -1
- package/dist/web/frame-handlers/stage-input.handler.js +2 -15
- package/dist/web/frame-handlers/stage-input.handler.js.map +1 -1
- package/dist/web/frame-handlers/stage-request.shared.d.ts +15 -0
- package/dist/web/frame-handlers/stage-request.shared.d.ts.map +1 -0
- package/dist/web/frame-handlers/stage-request.shared.js +23 -0
- package/dist/web/frame-handlers/stage-request.shared.js.map +1 -0
- package/dist/web/task.controller.d.ts +9 -2
- package/dist/web/task.controller.d.ts.map +1 -1
- package/dist/web/task.controller.js +50 -12
- package/dist/web/task.controller.js.map +1 -1
- package/package.json +4 -4
- package/public/assets/{AccessTokensPage-Yp8IfrfF.js → AccessTokensPage-DpvKfLEO.js} +1 -1
- package/public/assets/{AdminPage-CS2HrhOC.js → AdminPage-BM9QiFb5.js} +1 -1
- package/public/assets/ApiReferencePage-BTaNVfsP.js +1 -0
- package/public/assets/{ArchitecturePage-BpA3PUuf.js → ArchitecturePage-DhIMPhqX.js} +1 -1
- package/public/assets/{AuditLogPage-B_Qopq3a.js → AuditLogPage-Cx-14vA4.js} +2 -2
- package/public/assets/{BindPlatformPage-BkV-IfaR.js → BindPlatformPage-DdRIv8zm.js} +1 -1
- package/public/assets/{BotIntegrationPage-DLuRDIam.js → BotIntegrationPage-CHdtc4La.js} +1 -1
- package/public/assets/{BotManage-XKHjrA-7.js → BotManage-CdjnH5-8.js} +1 -1
- package/public/assets/{BotSetupPage-Cn40afR9.js → BotSetupPage-DFysj153.js} +1 -1
- package/public/assets/{ChangelogPage-ChiapPDH.js → ChangelogPage-U_k6xoeH.js} +1 -1
- package/public/assets/CliReferencePage-SvjVHTjw.js +14 -0
- package/public/assets/{DeploymentPage-CvT9Pcow.js → DeploymentPage-C6nmLX7c.js} +1 -1
- package/public/assets/{DevWorkflowPage-BLEIbUu1.js → DevWorkflowPage-Ck2EnEDE.js} +1 -1
- package/public/assets/DeveloperManage-BJFJHZAi.js +16 -0
- package/public/assets/{DeveloperSetupPage-BhE83ouS.js → DeveloperSetupPage-BNQC5o4m.js} +1 -1
- package/public/assets/{DocsIndexPage-BE_tyO2Q.js → DocsIndexPage-GPTDK9-m.js} +1 -1
- package/public/assets/{DocsLayout-D1S4KUeB.js → DocsLayout-unC2wvei.js} +1 -1
- package/public/assets/{DocsPrimitives-BQXfZXxZ.js → DocsPrimitives-SXtvWKEQ.js} +1 -1
- package/public/assets/{EditProjectPage-BjgRi6kG.js → EditProjectPage-DeJRQ3l-.js} +2 -2
- package/public/assets/{EmptyState-Dlt6FhVC.js → EmptyState-BpCme67a.js} +1 -1
- package/public/assets/{EnvVariablesPage-CvcP4GZM.js → EnvVariablesPage-CXcyEjlG.js} +3 -3
- package/public/assets/HomePage-DfXoY-d2.js +1 -0
- package/public/assets/{InfoRow-Db2nisGq.js → InfoRow-DR8zeDt9.js} +1 -1
- package/public/assets/{InstallationPage-kt-du5Rr.js → InstallationPage-DOM3hgNb.js} +1 -1
- package/public/assets/{LandingPage-2irRMduO.js → LandingPage-BmiwIUr7.js} +1 -1
- package/public/assets/{LocalDevelopmentPage-7JvSDwD1.js → LocalDevelopmentPage-DXeX5sW8.js} +1 -1
- package/public/assets/{LoginPage-DDk_X1sv.js → LoginPage-BPAqDDL3.js} +1 -1
- package/public/assets/{MetricBar-BhjbfPOa.js → MetricBar-Br-BtKS6.js} +1 -1
- package/public/assets/{NotFoundPage-ByRykDvA.js → NotFoundPage-CO0Mhnxl.js} +1 -1
- package/public/assets/{OnboardingGuide-CinJRqx5.js → OnboardingGuide-fsXNNeyc.js} +1 -1
- package/public/assets/{PermissionsPage-C5RXlztC.js → PermissionsPage-CQhtzB50.js} +1 -1
- package/public/assets/{PipelineConfigPage-BSkSRngC.js → PipelineConfigPage-k4rmH6tS.js} +1 -1
- package/public/assets/{PipelineEditorPage-BoZ_MVNO.js → PipelineEditorPage-0uqd9nvg.js} +2 -2
- package/public/assets/{ProfilePage-CePUfQDH.js → ProfilePage-W4x8dgJg.js} +1 -1
- package/public/assets/{ProjectDetailPage-_DswTp8-.js → ProjectDetailPage-BRyBlc9x.js} +3 -3
- package/public/assets/{ProjectListPage-fVbDom8_.js → ProjectListPage-BJRW6VTI.js} +1 -1
- package/public/assets/{PtyTerminal-Dpk4L7LN.js → PtyTerminal-STL0fWy1.js} +1 -1
- package/public/assets/{QuickAuth-BAmZCI4O.js → QuickAuth-Dr0S8t84.js} +1 -1
- package/public/assets/{RemoveMemberConfirmDialog-DYi6BAz2.js → RemoveMemberConfirmDialog-DZyOU7_I.js} +2 -2
- package/public/assets/{Select-DnIOEVCT.js → Select-dRGuOO0Z.js} +1 -1
- package/public/assets/{SettingsPage-CwV-t8vo.js → SettingsPage-YkoKOcpP.js} +1 -1
- package/public/assets/{Skeleton--qglldqs.js → Skeleton-BsoB5rXa.js} +1 -1
- package/public/assets/{SkillPage-CsXXruJZ.js → SkillPage-C1-Wu-pY.js} +1 -1
- package/public/assets/TaskDetailPage-I-O8mnki.js +26 -0
- package/public/assets/TaskListPage-CaVaqETS.js +1 -0
- package/public/assets/{TaskStatusBadge-CCh-nmLz.js → TaskStatusBadge-BNAk5uA3.js} +1 -1
- package/public/assets/{TerminalHomePage-DXFg88Q9.js → TerminalHomePage-D4gbvESl.js} +2 -2
- package/public/assets/TokenManage-BBpUFelx.js +1 -0
- package/public/assets/Tooltip-CqnA1UXc.js +1 -0
- package/public/assets/{TotpSetupPage-D5GUedMd.js → TotpSetupPage-DUWr_2xl.js} +1 -1
- package/public/assets/WorkerDetailPage-6QCplfgK.js +1 -0
- package/public/assets/{WorkerListPage-C90v6nLx.js → WorkerListPage-DX5x8krm.js} +2 -2
- package/public/assets/{WorkerOperationsPage-OxH0Ky0Y.js → WorkerOperationsPage-D3YukHAP.js} +1 -1
- package/public/assets/{WorkerSetupGuidePage-DGlgYS82.js → WorkerSetupGuidePage-Cd-tThsa.js} +1 -1
- package/public/assets/{WorkerSetupPage-DJ359PwT.js → WorkerSetupPage-BadJoX_G.js} +1 -1
- package/public/assets/{arrow-left-BPgCxdEG.js → arrow-left-BK1dZF33.js} +1 -1
- package/public/assets/{arrow-right-Z-hFp5rr.js → arrow-right-MUJy2eo5.js} +1 -1
- package/public/assets/{bot-B7Bl9J0r.js → bot-DpUzhQD0.js} +1 -1
- package/public/assets/{chevron-right-D_hyYdgn.js → chevron-right-D2h36HaM.js} +1 -1
- package/public/assets/{copy-SJf3OFPQ.js → copy-DGg1Qnmo.js} +1 -1
- package/public/assets/{download-D7rCJJks.js → download-B9Z1GUkp.js} +1 -1
- package/public/assets/{external-link-BrXLoqUZ.js → external-link-CqAZtiZg.js} +1 -1
- package/public/assets/git-fork-B3d1aXDP.js +6 -0
- package/public/assets/{index-BiItJ2NI.css → index-D4RS0YML.css} +1 -1
- package/public/assets/{index-DPCzKHL-.js → index-DL0taPcR.js} +6 -6
- package/public/assets/{key-CCF8A0TZ.js → key-BRfGo7IX.js} +1 -1
- package/public/assets/{loader-circle-BO0HYeDT.js → loader-circle-Cj_Du6KL.js} +1 -1
- package/public/assets/{pencil-BhxWbYup.js → pencil-CZ3YSD7G.js} +1 -1
- package/public/assets/{plus-BnJSQWb4.js → plus-PIkNjGpa.js} +1 -1
- package/public/assets/{rotate-ccw-CioNXT1z.js → rotate-ccw-BknOT5fw.js} +1 -1
- package/public/assets/{scroll-text-DpFjChL8.js → scroll-text-Cr4CCE2m.js} +1 -1
- package/public/assets/{settings-Bklbsj12.js → settings-Dk7uYjd0.js} +1 -1
- package/public/assets/{status-colors-BkxgT8vX.js → status-colors-WHGEK13k.js} +1 -1
- package/public/assets/task-constants-Cf7mKdBA.js +1 -0
- package/public/assets/{trash-2-_3SD7t1j.js → trash-2-BvQjSTjE.js} +1 -1
- package/public/assets/{useFetch-D8w38eG7.js → useFetch-C5DNPA-p.js} +1 -1
- package/public/assets/{users-BBjD2TJy.js → users-D_cbGgzX.js} +1 -1
- package/public/assets/{wifi-KyET3jRD.js → wifi-D93amIa3.js} +1 -1
- package/public/assets/{workflow-EN1ACj2x.js → workflow-54aMeI49.js} +1 -1
- package/public/index.html +2 -2
- package/public/sw.js +1 -1
- package/public/assets/ApiReferencePage-DTinm3RG.js +0 -1
- package/public/assets/CliReferencePage-3eHb6kRq.js +0 -14
- package/public/assets/DeveloperManage-DAJBvmdv.js +0 -16
- package/public/assets/HomePage-uEE3mJNM.js +0 -1
- package/public/assets/TaskDetailPage-gOUWMfkb.js +0 -21
- package/public/assets/TaskListPage-vF17zpt2.js +0 -1
- package/public/assets/TokenManage-P98_TYIe.js +0 -1
- package/public/assets/Tooltip-DGoJgM_K.js +0 -1
- package/public/assets/WorkerDetailPage-CkI1feoH.js +0 -1
- package/public/assets/task-constants-Ctac6aky.js +0 -1
- package/public/assets/task-display-J_FNKBLK.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as C,r as n,j as e,h as w,f as I,x as M,O as k,K as $,$ as T,o as K}from"./index-DPCzKHL-.js";import{K as E}from"./key-CCF8A0TZ.js";import{C as S}from"./copy-SJf3OFPQ.js";import{E as V}from"./external-link-BrXLoqUZ.js";import{E as P}from"./EmptyState-Dlt6FhVC.js";import{T as W}from"./Skeleton--qglldqs.js";import{u as B}from"./useFetch-D8w38eG7.js";import{e as R}from"./status-colors-BkxgT8vX.js";import{P as J}from"./plus-BnJSQWb4.js";function z({isOpen:a,onClose:y,onCreated:b}){const{t:s}=C(),[r,c]=n.useState(""),[i,d]=n.useState(!1),[l,v]=n.useState("");function h(){c(""),v(""),y()}async function x(){if(v(""),!r.trim()){v(s("admin.pat_label_required"));return}try{d(!0);const o=await w.post("admin/worker-tokens",{json:{label:r.trim()}}).json();c(""),b({token:o.token,id:o.id})}catch(o){const m=o instanceof Error?o.message:s("admin.pat_failed_to_generate");v(m)}finally{d(!1)}}return a?e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center",style:{backgroundColor:"var(--modal-backdrop, rgba(12,12,12,0.6))"},onClick:o=>{o.target===o.currentTarget&&h()},children:e.jsxs("div",{className:"w-full border border-[var(--border)] bg-[var(--bg-card)]",style:{maxWidth:"480px",borderRadius:"4px",fontFamily:"'JetBrains Mono', monospace"},children:[e.jsxs("div",{className:"flex items-center gap-2 border-b border-[var(--border)] px-5 py-4",children:[e.jsx(E,{className:"h-4 w-4 text-[var(--accent)]"}),e.jsx("span",{className:"text-sm font-medium text-[var(--text-primary)]",children:s("admin.generate_worker_token_title")})]}),e.jsxs("div",{className:"space-y-4 px-5 py-4",children:[l&&e.jsx("div",{className:"border border-[var(--destructive)]/30 bg-[var(--destructive)]/10 px-3 py-2 text-xs text-[var(--destructive)]",style:{borderRadius:"4px"},children:l}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:s("admin.create_one_time_token")}),e.jsxs("div",{children:[e.jsx("label",{className:"mb-1.5 block text-xs text-[var(--text-muted)]",children:s("admin.label")}),e.jsx("input",{type:"text",placeholder:s("admin.pat_label_placeholder"),value:r,onChange:o=>c(o.target.value),className:"w-full border border-[var(--border)] bg-[var(--bg-card)] px-3 py-2 text-sm text-[var(--text-primary)] placeholder:text-[var(--text-muted)] focus:border-[var(--accent)] focus:outline-none",style:{borderRadius:"4px",fontFamily:"'JetBrains Mono', monospace"},onKeyDown:o=>{o.key==="Enter"&&x()}}),e.jsx("p",{className:"mt-1 text-xs text-[var(--text-muted)]",children:s("admin.label_identifies_worker")})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] px-5 py-3",children:[e.jsx("button",{onClick:h,className:"border border-[var(--border)] bg-transparent px-4 py-1.5 text-xs text-[var(--text-muted)] transition-colors hover:border-[var(--text-muted)] hover:text-[var(--text-primary)]",style:{borderRadius:"4px",fontFamily:"'JetBrains Mono', monospace"},children:s("common.cancel")}),e.jsx("button",{onClick:x,disabled:i,className:"bg-[var(--accent)] px-4 py-1.5 text-xs font-medium text-black transition-opacity hover:opacity-80 disabled:opacity-50",style:{borderRadius:"4px",fontFamily:"'JetBrains Mono', monospace"},children:s(i?"admin.generating":"admin.generate")})]})]})}):null}const X=3e3,q=600*1e3;function G({isOpen:a,token:y,tokenId:b,onClose:s}){const{t:r}=C(),[c,i]=n.useState("command"),[d,l]=n.useState(!1),[v,h]=n.useState(!1),[x,o]=n.useState(""),[m,g]=n.useState(null),p=n.useRef(void 0),N=n.useRef(Date.now()),_=I(),j=typeof window<"u"?window.location.origin:"https://overlord.example.com",t=`overlord setup worker --token ${y} --server ${j}`;async function D(){try{await navigator.clipboard.writeText(y),l(!0),setTimeout(()=>l(!1),2e3)}catch{}}async function L(){try{await navigator.clipboard.writeText(t),h(!0),setTimeout(()=>h(!1),2e3)}catch{}}const A=n.useCallback(async()=>{try{const f=await w.get(`admin/worker-tokens/${b}/status`).json();f.status==="used"&&f.worker_name&&(i("success"),o(f.worker_name),g(f.worker_id??null),p.current&&clearInterval(p.current))}catch{}Date.now()-N.current>q&&(i("timeout"),p.current&&clearInterval(p.current))},[b]);function F(){i("waiting"),N.current=Date.now(),p.current=setInterval(A,X)}n.useEffect(()=>()=>{p.current&&clearInterval(p.current)},[]);function O(){s(),m&&_(`/workers/${m}`)}if(!a)return null;const u={fontFamily:"'JetBrains Mono', monospace",borderRadius:"4px"};return e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center",style:{backgroundColor:"var(--modal-backdrop, rgba(12,12,12,0.6))"},onClick:f=>{f.target===f.currentTarget&&s()},children:e.jsxs("div",{className:"w-full border border-[var(--border)] bg-[var(--bg-card)]",style:{...u,maxWidth:"480px"},children:[e.jsx("div",{className:"flex items-center gap-2 border-b border-[var(--border)] px-5 py-4",children:c==="success"?e.jsxs(e.Fragment,{children:[e.jsx(M,{className:"h-4 w-4 text-[var(--accent)]"}),e.jsx("span",{className:"text-sm font-medium text-[var(--text-primary)]",children:r("admin.worker_registered")})]}):e.jsxs(e.Fragment,{children:[e.jsx(E,{className:"h-4 w-4 text-[var(--accent)]"}),e.jsx("span",{className:"text-sm font-medium text-[var(--text-primary)]",children:r("admin.worker_token_generated")})]})}),e.jsxs("div",{className:"space-y-4 px-5 py-4",children:[c!=="success"&&e.jsxs(e.Fragment,{children:[e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:r("admin.run_command_desc")}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-[11px] text-[var(--text-muted)]",children:"Token"}),e.jsxs("div",{className:"relative border border-[var(--border)] bg-[var(--bg-card)] p-3",style:{borderRadius:"4px"},children:[e.jsx("code",{className:"block break-all pr-20 text-xs text-[var(--text-primary)]",children:y}),e.jsx("button",{onClick:D,className:"absolute right-2 top-2 flex items-center gap-1 border border-[var(--border)] bg-transparent px-2 py-1 text-xs text-[var(--text-muted)] transition-colors hover:border-[var(--text-muted)] hover:text-[var(--text-primary)]",style:u,children:d?e.jsx("span",{className:"text-[var(--accent)]",children:r("common.copied")}):e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(S,{className:"h-3 w-3"})," ",r("common.copy")]})})]})]}),e.jsxs("div",{children:[e.jsx("p",{className:"mb-1 text-[11px] text-[var(--text-muted)]",children:r("admin.setup_command")}),e.jsxs("div",{className:"relative border border-[var(--border)] bg-[var(--bg-card)] p-3",style:{borderRadius:"4px"},children:[e.jsxs("code",{className:"block break-all pr-20 text-xs text-[var(--accent)]",children:["$ ",t]}),e.jsx("button",{onClick:L,className:"absolute right-2 top-2 flex items-center gap-1 border border-[var(--border)] bg-transparent px-2 py-1 text-xs text-[var(--text-muted)] transition-colors hover:border-[var(--text-muted)] hover:text-[var(--text-primary)]",style:u,children:v?e.jsx("span",{className:"text-[var(--accent)]",children:r("common.copied")}):e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx(S,{className:"h-3 w-3"})," ",r("common.copy")]})})]})]}),e.jsx("div",{className:"border border-yellow-500/30 bg-yellow-500/10 px-3 py-2 text-xs text-yellow-400",style:{borderRadius:"4px"},children:r("admin.token_shown_once")})]}),c==="waiting"&&e.jsxs("div",{className:"flex items-center gap-3 border border-[var(--border)] bg-[var(--bg-card)] px-4 py-3",style:{borderRadius:"4px"},children:[e.jsx("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-[var(--accent)] border-t-transparent"}),e.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:r("admin.waiting_for_worker")})]}),c==="timeout"&&e.jsx("div",{className:"border border-[var(--border)] bg-[var(--bg-card)] px-4 py-3 text-xs text-[var(--text-muted)]",style:{borderRadius:"4px"},children:r("admin.token_not_yet_used")}),c==="success"&&e.jsxs("div",{className:"border border-[var(--accent)]/30 bg-[var(--accent)]/10 px-4 py-3",style:{borderRadius:"4px"},children:[e.jsx("p",{className:"text-xs text-[var(--accent)]",children:r("admin.worker_registered_success")}),e.jsxs("p",{className:"mt-1 text-xs text-[var(--text-primary)]",children:[r("admin.worker"),": ",e.jsx("span",{className:"text-[var(--accent)]",children:x})]})]})]}),e.jsxs("div",{className:"flex justify-end gap-2 border-t border-[var(--border)] px-5 py-3",children:[c==="command"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:s,className:"border border-[var(--border)] bg-transparent px-4 py-1.5 text-xs text-[var(--text-muted)] transition-colors hover:border-[var(--text-muted)] hover:text-[var(--text-primary)]",style:u,children:r("common.close")}),e.jsx("button",{onClick:F,className:"bg-[var(--accent)] px-4 py-1.5 text-xs font-medium text-black transition-opacity hover:opacity-80",style:u,children:r("admin.copied_wait_for_worker")})]}),c==="waiting"&&e.jsx("button",{onClick:s,className:"border border-[var(--border)] bg-transparent px-4 py-1.5 text-xs text-[var(--text-muted)] transition-colors hover:border-[var(--text-muted)] hover:text-[var(--text-primary)]",style:u,children:r("admin.close_worker_can_register")}),c==="timeout"&&e.jsx("button",{onClick:s,className:"border border-[var(--border)] bg-transparent px-4 py-1.5 text-xs text-[var(--text-muted)] transition-colors hover:border-[var(--text-muted)] hover:text-[var(--text-primary)]",style:u,children:r("common.close")}),c==="success"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{onClick:s,className:"border border-[var(--border)] bg-transparent px-4 py-1.5 text-xs text-[var(--text-muted)] transition-colors hover:border-[var(--text-muted)] hover:text-[var(--text-primary)]",style:u,children:r("common.close")}),e.jsxs("button",{onClick:O,className:"flex items-center gap-1.5 bg-[var(--accent)] px-4 py-1.5 text-xs font-medium text-black transition-opacity hover:opacity-80",style:u,children:[e.jsx(V,{className:"h-3 w-3"}),r("admin.view_worker")]})]})]})]})})}function se(){const{t:a}=C(),[y,b]=n.useState(!1),[s,r]=n.useState(null),[c,i]=n.useState(!1),[d,l]=n.useState(null),[v,h]=n.useState(!1),[x,o]=n.useState(!1),{data:m,loading:g,refetch:p}=B(()=>w.get("admin/worker-tokens").json(),[]);async function N(){if(d){h(!0);try{await w.post(`admin/worker-tokens/${d.id}/revoke`),i(!1),l(null),p()}catch{}finally{h(!1)}}}function _(t){b(!1),r(t),p()}const j=n.useMemo(()=>(m??[]).filter(t=>x||t.status!==k.REVOKED),[m,x]);return e.jsxs("div",{className:"font-mono",children:[e.jsxs("div",{className:"mb-6 flex items-center justify-between",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-sm text-[var(--text-primary)]",children:a("admin.tokens_title")}),e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:a("admin.tokens_subtitle")})]}),e.jsxs("button",{type:"button",className:"flex items-center gap-1.5 rounded-[4px] bg-[var(--accent)] px-3 py-1.5 text-xs text-black hover:opacity-90 transition-opacity",onClick:()=>b(!0),children:[e.jsx(J,{className:"h-3.5 w-3.5"}),a("admin.generate_token")]})]}),!g&&(m==null?void 0:m.some(t=>t.status===k.REVOKED))&&e.jsx("div",{className:"mb-4 flex items-center gap-2",children:e.jsx("button",{type:"button",onClick:()=>o(!x),className:`text-xs transition-colors ${x?"text-[var(--text-primary)]":"text-[var(--text-muted)] hover:text-[var(--text-secondary)]"}`,children:a(x?"admin.hide_revoked":"admin.show_revoked")})}),g?e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-4",children:e.jsx(W,{rows:3})}):j.length===0?e.jsx(P,{icon:$,title:a("admin.no_worker_tokens"),description:a("admin.generate_token_desc"),actionLabel:a("admin.generate_token"),onAction:()=>b(!0)}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"hidden md:block overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border)] text-left text-[var(--text-muted)]",children:[e.jsx("th",{className:"pb-2 pr-4 font-normal",children:a("admin.label")}),e.jsx("th",{className:"pb-2 pr-4 font-normal",children:a("admin.purpose")}),e.jsx("th",{className:"pb-2 pr-4 font-normal",children:a("admin.status")}),e.jsx("th",{className:"pb-2 pr-4 font-normal",children:a("common.created_at")}),e.jsx("th",{className:"pb-2 pr-4 font-normal",children:a("admin.expires_at")}),e.jsx("th",{className:"pb-2 font-normal",children:a("common.actions")})]})}),e.jsx("tbody",{children:j.map(t=>e.jsxs("tr",{className:"border-b border-[var(--border-row)] hover:bg-white/[0.02] transition-colors",children:[e.jsx("td",{className:"py-2.5 pr-4 text-[var(--text-primary)]",children:t.label}),e.jsx("td",{className:"py-2.5 pr-4 text-[var(--text-secondary)]",children:t.purpose}),e.jsx("td",{className:"py-2.5 pr-4",children:e.jsx("span",{className:R(t.status),children:t.status})}),e.jsx("td",{className:"py-2.5 pr-4 text-[var(--text-muted)]",children:new Date(t.createdAt).toLocaleDateString()}),e.jsx("td",{className:"py-2.5 pr-4",children:t.expiresAt?e.jsx("span",{className:"text-[var(--text-secondary)]",children:new Date(t.expiresAt).toLocaleDateString()}):e.jsx("span",{className:"text-[var(--text-muted)]",children:"—"})}),e.jsx("td",{className:"py-2.5",children:t.status===k.ACTIVE&&e.jsxs("button",{type:"button",className:"flex items-center gap-1 rounded-[4px] px-2 py-1 text-red-400 hover:text-red-300 hover:bg-white/[0.05] transition-colors",onClick:()=>{l(t),i(!0)},children:[e.jsx(T,{className:"h-3.5 w-3.5"}),a("admin.revoke")]})})]},t.id))})]})}),e.jsx("div",{className:"md:hidden space-y-3",children:j.map(t=>e.jsxs("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-3",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("span",{className:"text-xs text-[var(--text-primary)] font-medium truncate mr-2",children:t.label}),e.jsx("span",{className:`text-[11px] shrink-0 ${R(t.status)}`,children:t.status})]}),e.jsx("div",{className:"text-[11px] text-[var(--text-secondary)] truncate mb-1",children:t.purpose}),e.jsxs("div",{className:"flex items-center justify-between text-[11px] text-[var(--text-muted)]",children:[e.jsx("span",{children:new Date(t.createdAt).toLocaleDateString()}),t.expiresAt&&e.jsx("span",{children:new Date(t.expiresAt).toLocaleDateString()})]}),t.status===k.ACTIVE&&e.jsx("div",{className:"mt-2 pt-2 border-t border-[var(--border)]",children:e.jsxs("button",{type:"button",className:"flex items-center gap-1 rounded-[4px] px-2 py-1 text-[11px] text-red-400 hover:text-red-300 hover:bg-white/[0.05] transition-colors",onClick:()=>{l(t),i(!0)},children:[e.jsx(T,{className:"h-3.5 w-3.5"}),a("admin.revoke")]})})]},t.id))})]}),e.jsx(z,{isOpen:y,onClose:()=>b(!1),onCreated:_}),s&&e.jsx(G,{isOpen:!!s,token:s.token,tokenId:s.id,onClose:()=>r(null)}),e.jsx(K,{isOpen:c,onClose:()=>{i(!1),l(null)},onConfirm:N,title:a("admin.revoke_token"),message:a("admin.revoke_token_confirm",{label:(d==null?void 0:d.label)??""}),confirmLabel:a("admin.revoke"),confirmVariant:"danger",isLoading:v})]})}export{se as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as d,r as e,j as t}from"./index-DPCzKHL-.js";var m=d();function v({content:n,children:a,delay:l=100}){const[i,u]=e.useState(!1),[c,p]=e.useState({top:0,left:0}),r=e.useRef(null),o=e.useRef(null),f=e.useCallback(()=>{r.current=setTimeout(()=>{if(o.current){const s=o.current.getBoundingClientRect();p({top:s.top-4,left:s.left+s.width/2})}u(!0)},l)},[l]),x=e.useCallback(()=>{r.current&&(clearTimeout(r.current),r.current=null),u(!1)},[]);return n?t.jsxs(t.Fragment,{children:[t.jsx("span",{ref:o,onMouseEnter:f,onMouseLeave:x,children:a}),i&&m.createPortal(t.jsx("div",{role:"tooltip",style:{position:"fixed",top:c.top,left:c.left,transform:"translate(-50%, -100%)",zIndex:9999},className:"pointer-events-none max-w-sm rounded-[4px] bg-[var(--bg-card)] px-2.5 py-1.5 text-xs text-[var(--text-primary)] shadow-lg border border-[var(--border-row)]",children:n}),document.body)]}):t.jsx(t.Fragment,{children:a})}export{v as T};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as u,j as e,o as E,w as H,f as P,r as m,u as R,k as D,p as V,W as c,D as S,L as z,y as I,h}from"./index-DPCzKHL-.js";import{t as B,b as $}from"./date-BdNtiQTP.js";import{g as J}from"./task-display-J_FNKBLK.js";import{w as K,b as Q,t as X}from"./status-colors-BkxgT8vX.js";import{I as i}from"./InfoRow-Db2nisGq.js";import{M as f}from"./MetricBar-BhjbfPOa.js";import{u as Y}from"./useFetch-D8w38eG7.js";import{T as Z}from"./Tooltip-DGoJgM_K.js";import{T as M}from"./trash-2-_3SD7t1j.js";import{A as ee}from"./arrow-left-BPgCxdEG.js";function re({isOpen:t,onClose:o,onConfirm:r,workerName:a,isDraining:l,loading:j}){const{t:d}=u();return e.jsx(E,{isOpen:t,onClose:o,onConfirm:r,title:d(l?"workers.undrain_worker_title":"workers.drain_worker_title"),message:l?d("workers.undrain_confirm",{name:a}):d("workers.drain_confirm",{name:a}),confirmLabel:d(l?"workers.undrain":"workers.drain"),confirmVariant:l?"accent":"warning",isLoading:j})}function ue(){const{id:t}=H(),o=P(),{t:r}=u(),[a,l]=m.useState(!1),[j,d]=m.useState(!1),[A,p]=m.useState(!1),[T,y]=m.useState(!1),w=R(n=>{var v;return(v=n.user)==null?void 0:v.role}),F=D(n=>n.workerSeq),U=D(n=>n.taskSeq),{data:x,loading:W,error:_,refetch:C}=Y(async()=>{if(!t)throw new Error("Missing worker ID");const[n,v]=await Promise.all([h.get(`web/workers/${t}`).json(),h.get(`web/workers/${t}/tasks`).json().catch(()=>[])]);return{worker:n,tasks:v}},[t,F,U]),s=(x==null?void 0:x.worker)??null,g=(x==null?void 0:x.tasks)??[];V(m.useMemo(()=>!s||s.status===c.DECOMMISSIONED?null:e.jsxs("div",{className:"flex items-center gap-2",children:[s.status===c.ONLINE&&e.jsxs("button",{onClick:()=>l(!0),className:"rounded-[4px] border border-[var(--warning)]/40 px-3 py-1.5 text-xs text-[var(--warning)] hover:bg-[var(--warning)]/10 transition-colors",children:["> ",r("workers.drain")]}),w===S.ADMIN&&e.jsxs("button",{onClick:()=>p(!0),className:"flex items-center gap-1 rounded-[4px] border border-[var(--destructive)]/40 px-3 py-1.5 text-xs text-[var(--destructive)] hover:bg-[var(--destructive)]/10 transition-colors",children:[e.jsx(M,{className:"h-3 w-3"}),r("workers.decommission")]})]}),[s,w,r]));async function q(){if(s){d(!0);try{const n=s.status===c.DRAINING?"undrain":"drain";await h.post(`web/workers/${s.id}/${n}`),await C()}catch{}finally{d(!1),l(!1)}}}async function G(){if(s){y(!0);try{await h.delete(`admin/workers/${s.id}`),o("/workers")}catch{}finally{y(!1),p(!1)}}}if(W)return e.jsx("div",{className:"mx-auto max-w-5xl px-4 md:px-6 py-8 font-mono",children:e.jsx("p",{className:"text-sm text-[var(--text-muted)]",children:r("workers.loading_worker")})});if(_)return e.jsxs("div",{className:"mx-auto max-w-5xl px-4 md:px-6 py-8 font-mono lowercase text-center",children:[e.jsx("p",{className:"text-sm text-[var(--destructive)]",children:_}),e.jsx("button",{onClick:()=>C(),className:"mt-4 rounded-[4px] border border-[var(--border)] px-3 py-1.5 text-xs text-[var(--text-secondary)] hover:text-[var(--text-primary)] transition-colors",children:r("common.retry")})]});if(!s)return e.jsxs("div",{className:"mx-auto max-w-5xl px-4 md:px-6 py-8 font-mono lowercase text-center",children:[e.jsx("p",{className:"text-sm text-[var(--text-secondary)]",children:r("workers.worker_not_found")}),e.jsxs("button",{onClick:()=>o("/workers"),className:"mt-4 rounded-[4px] border border-[var(--border)] px-3 py-1.5 text-xs text-[var(--text-secondary)] hover:text-[var(--text-primary)] transition-colors",children:["< ",r("workers.back_to_workers")]})]});const b=s.status===c.DRAINING,k=s.status!==c.DECOMMISSIONED;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mx-auto max-w-5xl font-mono lowercase",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-[var(--border)] bg-[var(--bg-primary)] px-4 shrink-0 md:hidden",style:{height:56},children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsx("button",{onClick:()=>o("/workers"),className:"shrink-0 text-[var(--text-muted)]",children:e.jsx(ee,{className:"h-4 w-4"})}),e.jsx("span",{className:"truncate text-sm font-medium text-[var(--text-primary)]",children:s.name})]}),!b&&s.status!==c.OFFLINE&&k&&e.jsxs("button",{onClick:()=>l(!0),className:"shrink-0 rounded-[4px] border border-[var(--warning)]/40 px-3 py-1.5 text-xs text-[var(--warning)] hover:bg-[var(--warning)]/10 transition-colors",children:["> ",r("workers.drain")]})]}),e.jsxs("div",{className:"px-4 md:px-6 py-8",children:[b?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx(z,{to:"/workers",className:"text-[var(--text-muted)] hover:text-[var(--text-secondary)] transition-colors",children:r("workers.title")}),e.jsx("span",{className:"text-[var(--text-muted)]",children:"/"}),e.jsx("span",{className:"text-[var(--text-secondary)]",children:s.name})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[k&&e.jsxs("button",{onClick:()=>l(!0),className:"rounded-[4px] border border-[var(--accent)] px-4 py-1.5 text-xs text-[var(--accent)] hover:bg-[var(--accent)]/10 transition-colors",children:["> ",r("workers.undrain")]}),w===S.ADMIN&&k&&e.jsxs("button",{onClick:()=>p(!0),className:"flex items-center gap-1 rounded-[4px] border border-[var(--destructive)]/40 px-3 py-1.5 text-xs text-[var(--destructive)] hover:bg-[var(--destructive)]/10 transition-colors",children:[e.jsx(M,{className:"h-3 w-3"}),r("workers.decommission")]})]})]}),e.jsx("div",{className:"mb-4",children:e.jsx("span",{className:"rounded-[4px] bg-[var(--warning)]/20 px-2.5 py-1 text-xs font-medium text-[var(--warning)]",children:r("workers.draining")})}),e.jsxs("div",{className:"mb-6 rounded-[4px] border border-[var(--warning)]/40 bg-[var(--warning)]/10 p-4",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[e.jsx(I,{className:"h-3.5 w-3.5 text-[var(--warning)]"}),e.jsx("span",{className:"text-xs text-[var(--warning)]",children:r("workers.draining_warning")})]}),e.jsx("p",{className:"text-xs text-[var(--warning)]/70 ml-5.5",children:r("workers.draining_active_tasks")})]}),e.jsxs("div",{className:"mb-6 grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsx(N,{label:r("workers.cpu"),value:s.cpuUsage,unit:"%"}),e.jsx(N,{label:r("workers.memory"),value:s.memoryUsage,unit:"%"}),e.jsx(N,{label:r("workers.disk"),value:s.diskUsage,unit:"%"}),e.jsxs("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-5",children:[e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:r("workers.slots")}),e.jsxs("p",{className:"mt-2 text-lg font-semibold text-[var(--text-primary)]",children:[s.activeSlots,"/",s.maxSlots]})]})]})]}):e.jsxs(e.Fragment,{children:[e.jsxs("button",{onClick:()=>o("/workers"),className:"mb-4 text-xs text-[var(--text-muted)] hover:text-[var(--text-secondary)] transition-colors",children:["< ",r("workers.back_to_workers")]}),e.jsxs("h1",{className:"mb-2 text-lg font-bold text-[var(--text-primary)] flex items-center gap-2",children:[s.name,e.jsxs("span",{className:"flex items-center gap-1.5 text-sm font-normal",style:{color:K[s.status]},children:[e.jsx("span",{style:{fontSize:"0.5rem"},children:"●"}),s.status.toLowerCase()]})]}),e.jsx("p",{className:"mb-6 text-xs text-[var(--text-muted)]",children:r("workers.last_heartbeat",{time:B(s.lastHeartbeat,"never")})}),s.status===c.DECOMMISSIONED&&e.jsx("div",{className:"mb-6 rounded-[4px] border border-[var(--text-muted)]/40 bg-[var(--text-muted)]/10 p-4",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(I,{className:"h-3.5 w-3.5 text-[var(--text-muted)]"}),e.jsxs("span",{className:"text-xs text-[var(--text-muted)]",children:["this worker has been decommissioned",s.decommissionedAt?` on ${$(s.decommissionedAt)}`:""," and can no longer accept tasks."]})]})}),e.jsxs("div",{className:"mb-6 grid gap-4 lg:grid-cols-2",children:[e.jsxs("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-4",children:[e.jsx("h2",{className:"mb-3 text-xs text-[var(--text-muted)]",children:r("workers.resource_usage")}),e.jsxs("div",{className:"flex flex-col gap-3",children:[e.jsx(f,{label:r("workers.cpu"),value:s.cpuUsage}),e.jsx(f,{label:r("workers.mem"),value:s.memoryUsage}),e.jsx(f,{label:r("workers.disk"),value:s.diskUsage})]})]}),e.jsxs("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-4",children:[e.jsx("h2",{className:"mb-3 text-xs text-[var(--text-muted)]",children:r("workers.connection_info")}),e.jsx(L,{worker:s})]})]})]}),b?e.jsxs(e.Fragment,{children:[e.jsx(O,{title:r("workers.active_tasks"),tasks:g,navigate:o}),e.jsxs("div",{className:"mb-6",children:[e.jsx("h2",{className:"mb-4 text-sm font-medium text-[var(--accent)]",children:r("workers.capabilities")}),s.capabilities.length>0?e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:s.capabilities.map(n=>e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-4",children:e.jsx("p",{className:"text-xs text-[var(--text-primary)]",children:n})},n))}):e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:r("workers.no_capabilities_short")})]}),e.jsxs("div",{className:"mb-6",children:[e.jsx("h2",{className:"mb-4 text-sm font-medium text-[var(--accent)]",children:r("workers.worker_info")}),e.jsx("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-5",children:e.jsx(L,{worker:s,showExtended:!0})})]})]}):e.jsxs(e.Fragment,{children:[s.capabilities.length>0&&e.jsxs("div",{className:"mb-6 rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-4",children:[e.jsx("h2",{className:"mb-3 text-xs text-[var(--text-muted)]",children:r("workers.capabilities")}),e.jsx("div",{className:"flex flex-wrap gap-2",children:s.capabilities.map(n=>e.jsx("span",{className:"rounded-[4px] border border-[var(--border)] px-2.5 py-1 text-xs text-[var(--text-secondary)]",children:n},n))})]}),e.jsx(O,{title:`${r("workers.current_tasks")} (${g.length})`,tasks:g,navigate:o})]})]})]}),e.jsx(re,{isOpen:a,onClose:()=>l(!1),onConfirm:q,workerName:s.name,isDraining:b,loading:j}),e.jsx(E,{isOpen:A,onClose:()=>p(!1),onConfirm:G,title:r("workers.decommission_title"),message:r("workers.decommission_confirm",{name:s.name}),confirmLabel:r("workers.decommission"),confirmVariant:"danger",isLoading:T})]})}function L({worker:t,showExtended:o=!1}){const{t:r}=u();return e.jsxs("div",{className:"flex flex-col gap-2 text-xs",children:[e.jsx(i,{label:r("workers.worker_id"),value:t.id}),e.jsx(i,{label:r("workers.host"),value:t.host}),e.jsx(i,{label:r("workers.port"),value:String(t.port)}),e.jsx(i,{label:r("workers.os"),value:t.os??r("workers.unknown")}),e.jsx(i,{label:r("workers.cpu_model"),value:t.cpuModel??r("workers.n_a")}),e.jsx(i,{label:r("workers.cpu_cores"),value:t.cpuCores!=null?String(t.cpuCores):r("workers.n_a")}),e.jsx(i,{label:r("workers.memory"),value:t.memoryGb!=null?`${t.memoryGb} gb`:r("workers.n_a")}),e.jsx(i,{label:r("workers.last_heartbeat_label"),value:$(t.lastHeartbeat)}),e.jsx(i,{label:r("workers.slots"),value:`${t.activeSlots}/${t.maxSlots}`}),o&&e.jsxs(e.Fragment,{children:[e.jsx(i,{label:r("workers.status_label"),value:t.status.toLowerCase()}),e.jsx(i,{label:r("workers.worker_version"),value:t.workerVersion??r("workers.n_a")})]})]})}function O({title:t,tasks:o,navigate:r}){const{t:a}=u();return e.jsxs("div",{className:"mb-6 rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-4",children:[e.jsx("h2",{className:"mb-3 text-xs text-[var(--text-muted)]",children:t}),o.length===0?e.jsxs("div",{className:"flex flex-col items-center gap-3 py-6",children:[e.jsx("span",{className:"text-xl font-bold text-[var(--border)]",children:"[ ]"}),e.jsx("span",{className:"text-xs text-[var(--text-muted)]",children:a("workers.no_active_tasks")})]}):e.jsx(se,{tasks:o,navigate:r})]})}function se({tasks:t,navigate:o}){const{t:r}=u();return e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"w-full text-xs",children:[e.jsx("thead",{children:e.jsxs("tr",{className:"border-b border-[var(--border-row)]",children:[e.jsx("th",{className:"py-2 pr-4 text-left font-normal text-[var(--text-muted)]",children:r("workers.id")}),e.jsx("th",{className:"py-2 pr-4 text-left font-normal text-[var(--text-muted)]",children:r("workers.description")}),e.jsx("th",{className:"py-2 pr-4 text-left font-normal text-[var(--text-muted)]",children:r("workers.status_label")}),e.jsx("th",{className:"py-2 text-left font-normal text-[var(--text-muted)]",children:r("workers.stage")})]})}),e.jsx("tbody",{children:t.map(a=>e.jsxs("tr",{onClick:()=>o(`/tasks/${a.id}`),className:"cursor-pointer border-b border-[var(--border-row)] hover:bg-[var(--bg-input)] transition-colors",children:[e.jsxs("td",{className:"py-2 pr-4 text-[var(--text-primary)]",children:["#",a.id]}),e.jsx("td",{className:"max-w-[120px] md:max-w-xs truncate py-2 pr-4 text-[var(--text-secondary)]",children:e.jsx(Z,{content:a.name??a.description,children:J(a)})}),e.jsx("td",{className:"py-2 pr-4",children:e.jsxs("span",{style:{color:X[a.status]},children:["● ",a.status.toLowerCase()]})}),e.jsx("td",{className:"py-2 text-[var(--text-secondary)]",children:a.currentStage??"-"})]},a.id))})]})})}function N({label:t,value:o,unit:r}){const a=Math.round(o*100);return e.jsxs("div",{className:"rounded-[4px] border border-[var(--border)] bg-[var(--bg-card)] p-5",children:[e.jsx("p",{className:"text-xs text-[var(--text-muted)]",children:t}),e.jsxs("p",{className:"mt-2 text-lg font-semibold text-[var(--text-primary)]",children:[a,r]}),e.jsx("div",{className:"mt-3 h-1.5 w-full rounded-[2px] bg-[var(--bg-input)]",children:e.jsx("div",{className:"h-full rounded-[2px] transition-all",style:{width:`${a}%`,backgroundColor:Q(o)}})})]})}export{ue as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as f,h as n,m as c,A as k}from"./index-DPCzKHL-.js";const b=f((t,e)=>({tasks:[],currentTask:null,loading:!1,error:null,nextCursor:null,_fetchTasksAbort:null,fetchTasks:async a=>{const s=e()._fetchTasksAbort;s&&s.abort();const o=new AbortController;t({loading:!0,error:null,_fetchTasksAbort:o});try{const r={};a!=null&&a.status&&(r.status=a.status),a!=null&&a.projectKey&&(r.projectKey=a.projectKey),a!=null&&a.cursor&&(r.cursor=a.cursor),a!=null&&a.limit&&(r.limit=String(a.limit));const l=await n.get("web/tasks",{searchParams:r,signal:o.signal}).json();a!=null&&a.cursor?t(i=>({tasks:[...i.tasks,...l.data],nextCursor:l.nextCursor??null,_fetchTasksAbort:null})):t({tasks:l.data,nextCursor:l.nextCursor??null,_fetchTasksAbort:null})}catch(r){if(r instanceof DOMException&&r.name==="AbortError")return;t({error:r instanceof Error?r.message:"Failed to fetch tasks"})}finally{t({loading:!1})}},fetchTask:async a=>{t({loading:!0,error:null});try{const s=await n.get(`web/tasks/${a}`).json();t({currentTask:s})}catch(s){t({error:s instanceof Error?s.message:"Failed to fetch task"})}finally{t({loading:!1})}},createTask:async a=>{t({error:null});try{const s=await n.post("web/tasks",{json:a}).json();return t(o=>({tasks:[s,...o.tasks]})),s}catch(s){throw t({error:s instanceof Error?s.message:"Failed to create task"}),s}},cancelTask:async a=>{t({error:null});try{await n.post(`web/tasks/${a}/cancel`);const{currentTask:s}=e();(s==null?void 0:s.id)===a&&await e().fetchTask(a)}catch(s){throw t({error:s instanceof Error?s.message:"Failed to cancel task"}),s}},reset:()=>{t({tasks:[],currentTask:null,loading:!1,error:null,nextCursor:null})}})),h=[c.COMPLETED,c.FAILED,c.CANCELLED],u=[{value:"feat",label:"feat"},{value:"fix",label:"fix"},{value:"refactor",label:"refactor"},{value:"docs",label:"docs"},{value:"chore",label:"chore"}],A=[{value:"",label:"default"},...Object.values(k).map(t=>({value:t,label:t}))];export{A,h as T,u as a,b as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{F as t}from"./index-DPCzKHL-.js";function n(e,r=50){return e.name??t(e.description,r)}export{n as g};
|