wurk 1.8.1 → 1.9.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.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -13
  3. data/app/controllers/wurk/api_controller.rb +49 -10
  4. data/config/routes.rb +20 -12
  5. data/lib/active_job/queue_adapters/wurk_adapter.rb +8 -2
  6. data/lib/sidekiq/rails.rb +5 -0
  7. data/lib/wurk/api/read_only.rb +1 -1
  8. data/lib/wurk/batch/server_middleware.rb +27 -0
  9. data/lib/wurk/capsule.rb +57 -2
  10. data/lib/wurk/cli.rb +4 -2
  11. data/lib/wurk/client.rb +16 -11
  12. data/lib/wurk/compat.rb +12 -2
  13. data/lib/wurk/configuration.rb +86 -7
  14. data/lib/wurk/encryption.rb +47 -8
  15. data/lib/wurk/fetcher/private_list_key.rb +19 -2
  16. data/lib/wurk/fetcher/reaper.rb +36 -12
  17. data/lib/wurk/fetcher/unparseable_keys.rb +22 -7
  18. data/lib/wurk/fetcher.rb +6 -1
  19. data/lib/wurk/health.rb +5 -1
  20. data/lib/wurk/job_logger.rb +1 -1
  21. data/lib/wurk/job_util.rb +4 -1
  22. data/lib/wurk/launcher.rb +4 -3
  23. data/lib/wurk/lua.rb +1 -14
  24. data/lib/wurk/metrics/dashboard_series.rb +21 -2
  25. data/lib/wurk/metrics/history.rb +13 -5
  26. data/lib/wurk/metrics/query.rb +9 -2
  27. data/lib/wurk/metrics/statsd.rb +8 -0
  28. data/lib/wurk/middleware/chain.rb +85 -13
  29. data/lib/wurk/pool_checkout.rb +1 -1
  30. data/lib/wurk/queue_slot.rb +19 -9
  31. data/lib/wurk/rails_boot.rb +4 -3
  32. data/lib/wurk/railtie.rb +7 -3
  33. data/lib/wurk/redis_connection.rb +4 -2
  34. data/lib/wurk/unique.rb +11 -8
  35. data/lib/wurk/version.rb +1 -1
  36. data/lib/wurk/web/config.rb +42 -9
  37. data/lib/wurk/web/enterprise.rb +4 -3
  38. data/lib/wurk/web/extension.rb +74 -39
  39. data/lib/wurk.rb +5 -2
  40. data/vendor/assets/dashboard/assets/{ArgsValue-_MYkd_vA.js → ArgsValue-DDqX6XWH.js} +1 -1
  41. data/vendor/assets/dashboard/assets/{BatchDetail-DPmg-hle.js → BatchDetail-lIytcn2C.js} +1 -1
  42. data/vendor/assets/dashboard/assets/{Batches-NTgqSlvD.js → Batches-BEumt-1O.js} +1 -1
  43. data/vendor/assets/dashboard/assets/{Busy-2rxcLJMq.js → Busy-Vk9HmZcN.js} +1 -1
  44. data/vendor/assets/dashboard/assets/{Cron-BFpJgKYb.js → Cron-CWcM-Cfr.js} +1 -1
  45. data/vendor/assets/dashboard/assets/{Dashboard-C8VOE2S7.js → Dashboard-Bgv1kusv.js} +1 -1
  46. data/vendor/assets/dashboard/assets/{Dead-Dse2YEbZ.js → Dead-Di5Rct2H.js} +1 -1
  47. data/vendor/assets/dashboard/assets/Extension-LZY5-imc.js +1 -0
  48. data/vendor/assets/dashboard/assets/FilterBox-BDo-7IAy.js +2 -0
  49. data/vendor/assets/dashboard/assets/{FlowDetail-BWddOtgf.js → FlowDetail-CehwRLTt.js} +1 -1
  50. data/vendor/assets/dashboard/assets/{FlowState-6lGsojxE.js → FlowState-glK2Tnf8.js} +1 -1
  51. data/vendor/assets/dashboard/assets/{Flows-BgKTlYwI.js → Flows-cgy-Fsbp.js} +1 -1
  52. data/vendor/assets/dashboard/assets/{JobDetailModal-BrjmO98c.js → JobDetailModal-Cuk3jruU.js} +1 -1
  53. data/vendor/assets/dashboard/assets/{Limiters-DeUkfbcg.js → Limiters-Ci8G2yZG.js} +1 -1
  54. data/vendor/assets/dashboard/assets/Metrics-CQFUeZTR.js +1 -0
  55. data/vendor/assets/dashboard/assets/{NotFound-CQLLXIfa.js → NotFound-CYjhuDsI.js} +1 -1
  56. data/vendor/assets/dashboard/assets/{PageHeader-CeSaqysY.js → PageHeader-DjIAFTyX.js} +1 -1
  57. data/vendor/assets/dashboard/assets/{Profiles-CI2i2tl8.js → Profiles-DTowqIRg.js} +1 -1
  58. data/vendor/assets/dashboard/assets/{Queues-DUCQ_3St.js → Queues-DUGRPjME.js} +1 -1
  59. data/vendor/assets/dashboard/assets/{Retries-Dc2RFuTf.js → Retries-SJ3BaKC0.js} +1 -1
  60. data/vendor/assets/dashboard/assets/{Scheduled-B8zOKCLC.js → Scheduled-DxSRpmFZ.js} +1 -1
  61. data/vendor/assets/dashboard/assets/{Search-x0eS-V-U.js → Search-bBbi5JNK.js} +1 -1
  62. data/vendor/assets/dashboard/assets/{charts-VggSMFGc.js → charts-Bg2YBcaD.js} +1 -1
  63. data/vendor/assets/dashboard/assets/i18n-BZClP62Q.js +1 -0
  64. data/vendor/assets/dashboard/assets/index-BOTVSP9M.js +141 -0
  65. data/vendor/assets/dashboard/assets/index-Rewk4eSE.css +1 -0
  66. data/vendor/assets/dashboard/assets/{useResetPageOnEmpty-BsYWeStI.js → useResetPageOnEmpty-BRPNyV2M.js} +1 -1
  67. data/vendor/assets/dashboard/assets/{useSort-BWWfpnZH.js → useSort-B-BLJik7.js} +1 -1
  68. data/vendor/assets/dashboard/assets/{utils-DnzJXljj.js → utils-CGyrKpTh.js} +1 -1
  69. data/vendor/assets/dashboard/index.html +3 -3
  70. data/vendor/assets/dashboard/wurk-manifest.json +2 -2
  71. metadata +30 -44
  72. data/vendor/assets/dashboard/assets/Extension-BIc2c1zG.js +0 -1
  73. data/vendor/assets/dashboard/assets/FilterBox-BfZm8ZzH.js +0 -1
  74. data/vendor/assets/dashboard/assets/Metrics-DzmAgBFG.js +0 -1
  75. data/vendor/assets/dashboard/assets/i18n-B6AbnmJn.js +0 -1
  76. data/vendor/assets/dashboard/assets/index-CTWV8VL4.js +0 -141
  77. data/vendor/assets/dashboard/assets/index-WpZjU076.css +0 -1
data/lib/wurk.rb CHANGED
@@ -85,7 +85,9 @@ require 'json'
85
85
  # Wurk — a 100% API-compatible, free drop-in for Sidekiq + Sidekiq Pro
86
86
  # + Sidekiq Enterprise. Same Redis key schema, same job JSON, same Ruby DSL;
87
87
  # real parallelism via a fork-based swarm. Every public class is also exposed
88
- # under its `Sidekiq::*` name (see {Sidekiq}).
88
+ # under its `Sidekiq::*` name (see {Sidekiq}) — except `Sidekiq::Cron` and
89
+ # `Sidekiq::Status`, deliberately not aliased (#204): those namespaces belong
90
+ # to the third-party sidekiq-cron / sidekiq-status gems, not to Sidekiq.
89
91
  #
90
92
  # Start here:
91
93
  # * {Wurk::Worker} / `Sidekiq::Job` — define and enqueue jobs.
@@ -218,7 +220,8 @@ module Wurk
218
220
  # `Sidekiq.server?`) AND the per-config `server?` predicate that gates
219
221
  # `configure_server`. Both must be set before the app's initializers run,
220
222
  # or `configure_server` blocks (server middleware, error handlers,
221
- # lifecycle hooks) are silently skipped. Defaults to the global config; the
223
+ # lifecycle hooks) are skipped, each skip logging one WARN naming the gate
224
+ # (`configure_server` / `server? is false`). Defaults to the global config; the
222
225
  # CLI passes its own (possibly test-injected) Configuration instance.
223
226
  def enter_server_mode(config = configuration)
224
227
  @server = true
@@ -1 +1 @@
1
- import{E as e,I as t,_ as n,d as r,j as i,p as a,u as o}from"./i18n-B6AbnmJn.js";import{u as s}from"./utils-DnzJXljj.js";var c=n(`<span>`),l=n(`<span style=color:var(--text-muted)>—`);function u(n){return i(e,{get when(){return r(()=>n.str!==`[]`)()&&n.str!==``},get fallback(){return l()},get children(){var e=c();return o(e,()=>s(n.str,n.max)),t(()=>a(e,`title`,n.str)),e}})}export{u as t};
1
+ import{E as e,I as t,_ as n,d as r,j as i,p as a,u as o}from"./i18n-BZClP62Q.js";import{u as s}from"./utils-CGyrKpTh.js";var c=n(`<span>`),l=n(`<span style=color:var(--text-muted)>—`);function u(n){return i(e,{get when(){return r(()=>n.str!==`[]`)()&&n.str!==``},get fallback(){return l()},get children(){var e=c();return o(e,()=>s(n.str,n.max)),t(()=>a(e,`title`,n.str)),e}})}export{u as t};
@@ -1 +1 @@
1
- import{C as e,E as t,O as n,T as r,_ as i,d as a,j as o,o as s,q as c,u as l}from"./i18n-B6AbnmJn.js";import{S as u,b as d,f,h as p,i as m,v as h}from"./index-CTWV8VL4.js";import{l as g,o as _}from"./utils-DnzJXljj.js";var v=i(`<div style=display:flex;flex-direction:column;gap:2px><span style=font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em></span><span style=font-variant-numeric:tabular-nums>`),y=i(`<div style=margin-top:1.5rem><h2 style="font-size:14px;margin:0 0 0.5rem"> <span class="badge badge-muted"></span></h2><div class=table-wrapper><table><tbody>`),b=i(`<tr><td style=font-family:monospace;font-size:12px>`),x=i(`<div><div class=section-header style=gap:0.75rem></div><div style=margin-top:1rem>`),S=i(`<div class=empty-state style=color:var(--danger)>`),C=i(`<span class="badge badge-success">`),w=i(`<span class="badge badge-danger">`),T=i(`<p style=color:var(--text-muted);margin-top:0>`),E=i(`<div><div class=section-header style=gap:0.75rem><h1 class=page-title style=margin:0;font-family:monospace;font-size:16px></h1></div><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:1rem;margin-top:1rem">`),D=i(`<span class="badge badge-accent">%`);function O(e){return(()=>{var t=v(),n=t.firstChild,r=n.nextSibling;return l(n,()=>e.label),l(r,()=>e.children),t})()}function k(n){return o(t,{get when(){return n.jids.length>0},get children(){var t=y(),r=t.firstChild,i=r.firstChild,a=i.nextSibling,s=r.nextSibling.firstChild.firstChild;return l(r,()=>n.label,i),l(a,()=>n.jids.length),l(s,o(e,{get each(){return n.jids},children:e=>(()=>{var t=b(),n=t.firstChild;return l(n,e),t})()})),t}})}function A(){let e=u(),i=()=>e.bid??``;c(()=>{document.title=`${s(`nav.batches`)} — Wurk`});let v=h(()=>({queryKey:[`batch`,i()],queryFn:()=>f(`${p()}/api/batches/${encodeURIComponent(i())}`)}));return o(n,{get children(){return[o(r,{get when(){return v.isPending},get children(){var e=x(),t=e.firstChild,n=t.nextSibling;return l(t,o(d,{href:`/batches`,class:`btn btn-sm`,get children(){return[`← `,a(()=>s(`nav.batches`))]}})),l(n,o(m,{count:8})),e}}),o(r,{get when(){return v.isError||!v.data},get children(){var e=S();return l(e,()=>s(`common.error`)),e}}),o(r,{get when(){return v.data},children:e=>{let n=()=>e().total-e().pending,r=()=>e().total>0?Math.round(n()/e().total*100):0;return(()=>{var n=E(),i=n.firstChild,c=i.firstChild,u=i.nextSibling;return l(i,o(d,{href:`/batches`,class:`btn btn-sm`,get children(){return[`← `,a(()=>s(`nav.batches`))]}}),c),l(c,()=>e().bid),l(i,o(t,{get when(){return e().complete},get fallback(){return(()=>{var e=D(),t=e.firstChild;return l(e,r,t),e})()},get children(){var e=C();return l(e,()=>s(`batches.complete`)),e}}),null),l(i,o(t,{get when(){return e().invalidated},get children(){var e=w();return l(e,()=>s(`batches.invalidated`)),e}}),null),l(n,o(t,{get when(){return e().description},get children(){var t=T();return l(t,()=>e().description),t}}),u),l(u,o(O,{get label(){return s(`table.total`)},get children(){return _(e().total)}}),null),l(u,o(O,{get label(){return s(`table.pending`)},get children(){return _(e().pending)}}),null),l(u,o(O,{get label(){return s(`table.failures`)},get children(){return _(e().failures)}}),null),l(u,o(O,{get label(){return s(`batches.children`)},get children(){return _(e().child_count)}}),null),l(u,o(O,{get label(){return s(`table.created`)},get children(){return a(()=>!!e().created_at)()?g(e().created_at):`—`}}),null),l(u,o(O,{get label(){return s(`batches.completed`)},get children(){return a(()=>!!e().complete_at)()?g(e().complete_at):`—`}}),null),l(u,o(t,{get when(){return e().parent_bid},get children(){return o(O,{get label(){return s(`batches.parent`)},get children(){return e().parent_bid}})}}),null),l(u,o(t,{get when(){return e().tags.length>0},get children(){return o(O,{get label(){return s(`batches.tags`)},get children(){return e().tags.join(`, `)}})}}),null),l(n,o(k,{get label(){return s(`batches.failed_jobs`)},get jids(){return e().failed_jids}}),null),l(n,o(k,{get label(){return s(`batches.dead_jobs`)},get jids(){return e().dead_jids}}),null),n})()}})]}})}export{A as default};
1
+ import{C as e,E as t,O as n,T as r,_ as i,d as a,j as o,o as s,q as c,u as l}from"./i18n-BZClP62Q.js";import{S as u,b as d,f,h as p,i as m,v as h}from"./index-BOTVSP9M.js";import{l as g,o as _}from"./utils-CGyrKpTh.js";var v=i(`<div style=display:flex;flex-direction:column;gap:2px><span style=font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em></span><span style=font-variant-numeric:tabular-nums>`),y=i(`<div style=margin-top:1.5rem><h2 style="font-size:14px;margin:0 0 0.5rem"> <span class="badge badge-muted"></span></h2><div class=table-wrapper><table><tbody>`),b=i(`<tr><td style=font-family:monospace;font-size:12px>`),x=i(`<div><div class=section-header style=gap:0.75rem></div><div style=margin-top:1rem>`),S=i(`<div class=empty-state style=color:var(--danger)>`),C=i(`<span class="badge badge-success">`),w=i(`<span class="badge badge-danger">`),T=i(`<p style=color:var(--text-muted);margin-top:0>`),E=i(`<div><div class=section-header style=gap:0.75rem><h1 class=page-title style=margin:0;font-family:monospace;font-size:16px></h1></div><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:1rem;margin-top:1rem">`),D=i(`<span class="badge badge-accent">%`);function O(e){return(()=>{var t=v(),n=t.firstChild,r=n.nextSibling;return l(n,()=>e.label),l(r,()=>e.children),t})()}function k(n){return o(t,{get when(){return n.jids.length>0},get children(){var t=y(),r=t.firstChild,i=r.firstChild,a=i.nextSibling,s=r.nextSibling.firstChild.firstChild;return l(r,()=>n.label,i),l(a,()=>n.jids.length),l(s,o(e,{get each(){return n.jids},children:e=>(()=>{var t=b(),n=t.firstChild;return l(n,e),t})()})),t}})}function A(){let e=u(),i=()=>e.bid??``;c(()=>{document.title=`${s(`nav.batches`)} — Wurk`});let v=h(()=>({queryKey:[`batch`,i()],queryFn:()=>f(`${p()}/api/batches/${encodeURIComponent(i())}`)}));return o(n,{get children(){return[o(r,{get when(){return v.isPending},get children(){var e=x(),t=e.firstChild,n=t.nextSibling;return l(t,o(d,{href:`/batches`,class:`btn btn-sm`,get children(){return[`← `,a(()=>s(`nav.batches`))]}})),l(n,o(m,{count:8})),e}}),o(r,{get when(){return v.isError||!v.data},get children(){var e=S();return l(e,()=>s(`common.error`)),e}}),o(r,{get when(){return v.data},children:e=>{let n=()=>e().total-e().pending,r=()=>e().total>0?Math.round(n()/e().total*100):0;return(()=>{var n=E(),i=n.firstChild,c=i.firstChild,u=i.nextSibling;return l(i,o(d,{href:`/batches`,class:`btn btn-sm`,get children(){return[`← `,a(()=>s(`nav.batches`))]}}),c),l(c,()=>e().bid),l(i,o(t,{get when(){return e().complete},get fallback(){return(()=>{var e=D(),t=e.firstChild;return l(e,r,t),e})()},get children(){var e=C();return l(e,()=>s(`batches.complete`)),e}}),null),l(i,o(t,{get when(){return e().invalidated},get children(){var e=w();return l(e,()=>s(`batches.invalidated`)),e}}),null),l(n,o(t,{get when(){return e().description},get children(){var t=T();return l(t,()=>e().description),t}}),u),l(u,o(O,{get label(){return s(`table.total`)},get children(){return _(e().total)}}),null),l(u,o(O,{get label(){return s(`table.pending`)},get children(){return _(e().pending)}}),null),l(u,o(O,{get label(){return s(`table.failures`)},get children(){return _(e().failures)}}),null),l(u,o(O,{get label(){return s(`batches.children`)},get children(){return _(e().child_count)}}),null),l(u,o(O,{get label(){return s(`table.created`)},get children(){return a(()=>!!e().created_at)()?g(e().created_at):`—`}}),null),l(u,o(O,{get label(){return s(`batches.completed`)},get children(){return a(()=>!!e().complete_at)()?g(e().complete_at):`—`}}),null),l(u,o(t,{get when(){return e().parent_bid},get children(){return o(O,{get label(){return s(`batches.parent`)},get children(){return e().parent_bid}})}}),null),l(u,o(t,{get when(){return e().tags.length>0},get children(){return o(O,{get label(){return s(`batches.tags`)},get children(){return e().tags.join(`, `)}})}}),null),l(n,o(k,{get label(){return s(`batches.failed_jobs`)},get jids(){return e().failed_jids}}),null),l(n,o(k,{get label(){return s(`batches.dead_jobs`)},get jids(){return e().dead_jids}}),null),n})()}})]}})}export{A as default};
@@ -1 +1 @@
1
- import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,m as c,o as l,p as u,q as d,u as f}from"./i18n-B6AbnmJn.js";import{a as p,b as m,f as h,h as g,v as _}from"./index-CTWV8VL4.js";import{l as v,o as y,u as b}from"./utils-DnzJXljj.js";import{a as x,i as S,n as C,r as w,t as T}from"./useResetPageOnEmpty-BsYWeStI.js";import{n as E,t as D}from"./useSort-BWWfpnZH.js";import{t as O}from"./PageHeader-CeSaqysY.js";var k=a(`<div>`),A=a(`<div class=empty-state style=color:var(--danger)>`),j=a(`<span class="badge badge-accent">`),M=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),N=a(`<div class=empty-state>`),P=a(`<tr><td style=font-family:monospace;font-size:12px></td><td></td><td></td><td></td><td></td><td style=width:100px><div style=display:flex;align-items:center;gap:0.5rem><div class=progress-bar-track style=flex:1><div class=progress-bar-fill></div></div><span style=font-size:11px;color:var(--text-muted);min-width:32px>%</span></div></td><td>`),F=25,I={bid:e=>e.bid,description:e=>e.description??``,total:e=>e.total,pending:e=>e.pending,failures:e=>e.failures,progress:e=>e.total>0?(e.total-e.pending)/e.total:0,created:e=>e.created_at??null};function L(){let[a,L]=C();d(()=>{document.title=`${l(`nav.batches`)} — Wurk`});let R=_(()=>({queryKey:[`batches`,a()],queryFn:()=>h(`${g()}/api/batches?page=${a()-1}&count=${F}`)}));w(a,L,()=>R.data),T(a,L,()=>!R.isPending&&!!R.data,()=>(R.data?.batches.length??0)===0);let{sorted:z,sort:B,toggle:V}=D(()=>R.data?.batches??[],I);return s(r,{get children(){return[s(i,{get when(){return R.isPending},get children(){var e=k();return f(e,s(O,{icon:`fa-table-cells-large`,get title(){return l(`nav.batches`)},get summary(){return l(`summaries.batches`)}}),null),f(e,s(p,{rows:8,cols:7}),null),e}}),s(i,{get when(){return R.isError||!R.data},get children(){var e=A();return f(e,()=>l(`common.error`)),e}}),s(i,{get when(){return R.data},children:r=>(()=>{var i=k();return f(i,s(O,{icon:`fa-table-cells-large`,get title(){return l(`nav.batches`)},get summary(){return l(`summaries.batches`)},get children(){var e=j();return f(e,()=>y(r().total)),e}}),null),f(i,s(t,{get when(){return z().length>0},get fallback(){return(()=>{var e=N();return f(e,()=>l(`common.empty`)),e})()},get children(){return[(()=>{var t=M(),r=t.firstChild.firstChild,i=r.firstChild,a=r.nextSibling;return f(i,s(E,{get label(){return l(`table.bid`)},sortKey:`bid`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.description`)},sortKey:`description`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.total`)},sortKey:`total`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.pending`)},sortKey:`pending`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.failures`)},sortKey:`failures`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.progress`)},sortKey:`progress`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.created`)},sortKey:`created`,get sort(){return B()},onSort:V}),null),f(a,s(e,{get each(){return z()},children:e=>{let t=e.total-e.pending,r=e.total>0?t/e.total*100:0;return(()=>{var t=P(),i=t.firstChild,a=i.nextSibling,l=a.nextSibling,d=l.nextSibling,p=d.nextSibling,h=p.nextSibling,g=h.firstChild.firstChild,_=g.firstChild,x=g.nextSibling,S=x.firstChild,C=h.nextSibling;return f(i,s(m,{get href(){return`/batches/${e.bid}`},get title(){return e.bid},get children(){return b(e.bid,14)}})),f(a,()=>b(e.description??`—`,40)),f(l,()=>y(e.total)),f(d,()=>y(e.pending)),f(p,()=>y(e.failures)),c(_,`width`,`${r}%`),f(x,()=>Math.round(r),S),f(C,(()=>{var t=o(()=>!!e.created_at);return()=>t()?v(e.created_at):`—`})()),n(t=>{var n=e.description??``,r=e.pending>0?`var(--warning)`:`var(--success)`,i=e.failures>0?`var(--danger)`:void 0,o=e.failures>0?`var(--danger)`:`var(--success)`;return n!==t.e&&u(a,`title`,t.e=n),r!==t.t&&c(d,`color`,t.t=r),i!==t.a&&c(p,`color`,t.a=i),o!==t.o&&c(_,`background`,t.o=o),t},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()}})),t})(),s(S,{get page(){return a()},get total(){return r().total},count:F,get maxPage(){return x(r())},onChange:L})]}}),null),i})()})]}})}export{L as default};
1
+ import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,m as c,o as l,p as u,q as d,u as f}from"./i18n-BZClP62Q.js";import{a as p,b as m,f as h,h as g,v as _}from"./index-BOTVSP9M.js";import{l as v,o as y,u as b}from"./utils-CGyrKpTh.js";import{a as x,i as S,n as C,r as w,t as T}from"./useResetPageOnEmpty-BRPNyV2M.js";import{n as E,t as D}from"./useSort-B-BLJik7.js";import{t as O}from"./PageHeader-DjIAFTyX.js";var k=a(`<div>`),A=a(`<div class=empty-state style=color:var(--danger)>`),j=a(`<span class="badge badge-accent">`),M=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),N=a(`<div class=empty-state>`),P=a(`<tr><td style=font-family:monospace;font-size:12px></td><td></td><td></td><td></td><td></td><td style=width:100px><div style=display:flex;align-items:center;gap:0.5rem><div class=progress-bar-track style=flex:1><div class=progress-bar-fill></div></div><span style=font-size:11px;color:var(--text-muted);min-width:32px>%</span></div></td><td>`),F=25,I={bid:e=>e.bid,description:e=>e.description??``,total:e=>e.total,pending:e=>e.pending,failures:e=>e.failures,progress:e=>e.total>0?(e.total-e.pending)/e.total:0,created:e=>e.created_at??null};function L(){let[a,L]=C();d(()=>{document.title=`${l(`nav.batches`)} — Wurk`});let R=_(()=>({queryKey:[`batches`,a()],queryFn:()=>h(`${g()}/api/batches?page=${a()-1}&count=${F}`)}));w(a,L,()=>R.data),T(a,L,()=>!R.isPending&&!!R.data,()=>(R.data?.batches.length??0)===0);let{sorted:z,sort:B,toggle:V}=D(()=>R.data?.batches??[],I);return s(r,{get children(){return[s(i,{get when(){return R.isPending},get children(){var e=k();return f(e,s(O,{icon:`fa-table-cells-large`,get title(){return l(`nav.batches`)},get summary(){return l(`summaries.batches`)}}),null),f(e,s(p,{rows:8,cols:7}),null),e}}),s(i,{get when(){return R.isError||!R.data},get children(){var e=A();return f(e,()=>l(`common.error`)),e}}),s(i,{get when(){return R.data},children:r=>(()=>{var i=k();return f(i,s(O,{icon:`fa-table-cells-large`,get title(){return l(`nav.batches`)},get summary(){return l(`summaries.batches`)},get children(){var e=j();return f(e,()=>y(r().total)),e}}),null),f(i,s(t,{get when(){return z().length>0},get fallback(){return(()=>{var e=N();return f(e,()=>l(`common.empty`)),e})()},get children(){return[(()=>{var t=M(),r=t.firstChild.firstChild,i=r.firstChild,a=r.nextSibling;return f(i,s(E,{get label(){return l(`table.bid`)},sortKey:`bid`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.description`)},sortKey:`description`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.total`)},sortKey:`total`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.pending`)},sortKey:`pending`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.failures`)},sortKey:`failures`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.progress`)},sortKey:`progress`,get sort(){return B()},onSort:V}),null),f(i,s(E,{get label(){return l(`table.created`)},sortKey:`created`,get sort(){return B()},onSort:V}),null),f(a,s(e,{get each(){return z()},children:e=>{let t=e.total-e.pending,r=e.total>0?t/e.total*100:0;return(()=>{var t=P(),i=t.firstChild,a=i.nextSibling,l=a.nextSibling,d=l.nextSibling,p=d.nextSibling,h=p.nextSibling,g=h.firstChild.firstChild,_=g.firstChild,x=g.nextSibling,S=x.firstChild,C=h.nextSibling;return f(i,s(m,{get href(){return`/batches/${e.bid}`},get title(){return e.bid},get children(){return b(e.bid,14)}})),f(a,()=>b(e.description??`—`,40)),f(l,()=>y(e.total)),f(d,()=>y(e.pending)),f(p,()=>y(e.failures)),c(_,`width`,`${r}%`),f(x,()=>Math.round(r),S),f(C,(()=>{var t=o(()=>!!e.created_at);return()=>t()?v(e.created_at):`—`})()),n(t=>{var n=e.description??``,r=e.pending>0?`var(--warning)`:`var(--success)`,i=e.failures>0?`var(--danger)`:void 0,o=e.failures>0?`var(--danger)`:`var(--success)`;return n!==t.e&&u(a,`title`,t.e=n),r!==t.t&&c(d,`color`,t.t=r),i!==t.a&&c(p,`color`,t.a=i),o!==t.o&&c(_,`background`,t.o=o),t},{e:void 0,t:void 0,a:void 0,o:void 0}),t})()}})),t})(),s(S,{get page(){return a()},get total(){return r().total},count:F,get maxPage(){return x(r())},onChange:L})]}}),null),i})()})]}})}export{L as default};
@@ -1 +1 @@
1
- import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,g as s,j as c,l,m as u,o as d,p as f,q as p,u as m,z as h}from"./i18n-B6AbnmJn.js";import{_ as g,f as _,g as v,h as y,i as b,m as x,o as S,t as C,u as w,v as T}from"./index-CTWV8VL4.js";import{a as E,c as D,i as O,l as k,n as A,s as j,u as M}from"./utils-DnzJXljj.js";import{t as N}from"./PageHeader-CeSaqysY.js";import{t as P}from"./ArgsValue-_MYkd_vA.js";var F=a(`<code style=font-size:12px>`),I=a(`<span class="badge badge-accent">`),L=a(`<span>`),R=a(`<div class=table-wrapper><table><thead><tr><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),z=a(`<div><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:0.75rem;margin-bottom:1rem"></div><div style=margin-bottom:0.25rem></div><div style=display:flex;flex-wrap:wrap;gap:0.25rem;margin-bottom:1rem></div><h3 class=section-title style=margin-bottom:0.5rem> <span class="badge badge-muted">`),B=a(`<div><div></div><div style=font-size:14px>`),V=a(`<span class="badge badge-muted">`),H=a(`<div class=empty-state style=padding:1rem>`),U=a(`<tr><td style=font-family:monospace;font-size:12px;color:var(--text-muted)></td><td style=font-weight:500></td><td><span class="badge badge-muted"></span></td><td></td><td>`),ee=a(`<span class="badge badge-muted"><i class="fa-solid fa-microchip"style=margin-right:0.35rem>`),te=a(`<span class="badge badge-muted"><i class="fa-solid fa-memory"style=margin-right:0.35rem>`),W=a(`<div style=display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;margin-bottom:0.75rem><span style=font-weight:600;font-size:15px><i class="fa-solid fa-server"style=color:var(--text-muted);margin-right:0.5rem></i></span><span class="badge badge-muted"> </span><span class="badge badge-muted"style=font-variant-numeric:tabular-nums> <!> / `),G=a(`<div>`),K=a(`<div class=empty-state style=color:var(--danger)>`),q=a(`<button class="btn btn-sm btn-ghost">`),J=a(`<button class="btn btn-sm btn-ghost btn-danger">`),Y=a(`<div style=display:flex;align-items:center;gap:0.6rem><span class="badge badge-muted"> `),X=a(`<div class=empty-state>`),Z=a(`<section style=margin-bottom:1.5rem><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%, 320px), 1fr));gap:1rem">`),ne=a(`<span class=live-dot>`),Q=a(`<span class="badge badge-accent"><i class="fa-solid fa-crown"style=margin-right:0.3rem>`),re=a(`<span class="badge badge-warning">Quiet`),ie=a(`<span class="badge badge-muted">embedded`),ae=a(`<div style=display:flex;gap:0.4rem;margin-top:0.85rem><button class="btn btn-sm"></button><button class="btn btn-sm btn-danger">`),oe=a(`<div class="card row-clickable"><div style=display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.75rem><div><div style=font-weight:600;font-size:15px>PID </div><div style=color:var(--text-muted);font-size:12px></div></div><div style=display:flex;gap:0.375rem></div></div><div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.5rem;margin-bottom:0.75rem"><div><div> / </div><div style=font-weight:600;font-size:18px;font-variant-numeric:tabular-nums> / </div></div><div><div></div><div style=font-size:13px></div></div><div><div></div><div style=font-size:13px></div></div></div><div class=progress-bar-track style=margin-bottom:0.75rem><div class=progress-bar-fill></div></div><div><div style=margin-bottom:0.25rem></div><div style=display:flex;flex-wrap:wrap;gap:0.25rem>`);function se(e){let t=new Map;for(let n of e){let e=t.get(n.hostname);e||(e={hostname:n.hostname,processes:[],busy:0,concurrency:0,rssKb:0},t.set(n.hostname,e)),e.processes.push(n),e.busy+=n.busy,e.concurrency+=n.concurrency,e.rssKb+=n.rss??0,e.cpuModel??=n.cpu_model??void 0,e.cores??=n.cores,e.memoryTotalKb??=n.memory_total_kb}return[...t.values()].sort((e,t)=>e.hostname.localeCompare(t.hostname))}function ce(e){return e>90?`var(--danger)`:e>70?`var(--warning)`:`var(--accent)`}var $={"font-size":`11px`,color:`var(--text-muted)`,"text-transform":`uppercase`,"letter-spacing":`0.04em`};function le(r){let i=T(()=>({queryKey:[`workers`],queryFn:()=>_(`${y()}/api/workers`),refetchInterval:5e3})),a=()=>(i.data??[]).filter(e=>e.process_id===r.proc.identity),o=()=>[[d(`busy.identity`),(()=>{var e=F();return m(e,()=>r.proc.identity),e})()],[d(`busy.leader`),r.proc.leader?(()=>{var e=I();return m(e,()=>d(`busy.leader`)),e})():`—`],[`PID`,r.proc.pid],[d(`busy.started`),r.proc.started_at?(()=>{var e=L();return m(e,()=>k(r.proc.started_at)),n(()=>f(e,`title`,j(r.proc.started_at))),e})():`—`],[d(`busy.heartbeat`),(()=>{var e=L();return m(e,()=>k(r.proc.beat)),n(()=>f(e,`title`,j(r.proc.beat))),e})()],[`${d(`table.busy`)} / ${d(`table.concurrency`)}`,`${r.proc.busy} / ${r.proc.concurrency}`],[d(`busy.rss`),E(r.proc.rss??0)],[d(`busy.rtt`),r.proc.rtt_us?`${(r.proc.rtt_us/1e3).toFixed(1)} ${d(`common.ms`)}`:`—`],[d(`busy.version`),r.proc.version??`—`],[d(`busy.tag`),r.proc.tag||`—`],[d(`busy.labels`),r.proc.labels?.length?r.proc.labels.join(`, `):`—`]];return(()=>{var i=z(),l=i.firstChild,u=l.nextSibling,p=u.nextSibling,h=p.nextSibling,g=h.firstChild,_=g.nextSibling;return m(l,c(e,{get each(){return o()},children:([e,t])=>(()=>{var r=B(),i=r.firstChild,a=i.nextSibling;return m(i,e),m(a,t),n(e=>s(i,$,e)),r})()})),m(u,()=>d(`table.queues`)),m(p,c(e,{get each(){return r.proc.queues},children:e=>(()=>{var t=V();return m(t,e),t})()})),m(h,()=>d(`busy.running_jobs`),g),m(_,()=>a().length),m(i,c(t,{get when(){return a().length>0},get fallback(){return(()=>{var e=H();return m(e,()=>d(`busy.no_running`)),e})()},get children(){var t=R(),r=t.firstChild.firstChild,i=r.firstChild.firstChild,o=i.nextSibling,s=o.nextSibling,l=s.nextSibling,u=l.nextSibling,p=r.nextSibling;return m(i,()=>d(`table.jid`)),m(o,()=>d(`table.class`)),m(s,()=>d(`table.queue`)),m(l,()=>d(`table.args`)),m(u,()=>d(`busy.running_since`)),m(p,c(e,{get each(){return a()},children:e=>(()=>{var t=U(),r=t.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.firstChild,s=a.nextSibling,l=s.nextSibling;return m(r,()=>M(e.jid,12)),m(i,()=>e.klass),m(o,()=>e.queue),m(s,c(P,{get str(){return A(e.args)},max:40})),m(l,()=>k(e.run_at)),n(t=>{var n=e.jid,i=j(e.run_at);return n!==t.e&&f(r,`title`,t.e=n),i!==t.t&&f(l,`title`,t.t=i),t},{e:void 0,t:void 0}),t})()})),t}}),null),n(e=>s(u,{...$},e)),i})()}function ue(e){let r=()=>e.group.memoryTotalKb?Math.min(100,e.group.rssKb/e.group.memoryTotalKb*100):null;return(()=>{var i=W(),a=i.firstChild;a.firstChild;var s=a.nextSibling,l=s.firstChild,u=s.nextSibling,p=u.firstChild,h=p.nextSibling;return h.nextSibling,m(a,()=>e.group.hostname,null),m(s,()=>e.group.processes.length,l),m(s,()=>d(`dashboard.processes`).toLowerCase(),null),m(i,c(t,{get when(){return e.group.cpuModel},get children(){var t=ee();return t.firstChild,m(t,()=>M(e.group.cpuModel,40),null),n(()=>f(t,`title`,e.group.cpuModel??void 0)),t}}),u),m(i,c(t,{get when(){return o(()=>e.group.cores!=null)()&&e.group.cores>0},get children(){var t=V();return m(t,()=>d(`busy.cores`,{n:e.group.cores})),t}}),u),m(i,c(t,{get when(){return e.group.rssKb>0},get children(){var t=te();return t.firstChild,m(t,()=>E(e.group.rssKb),null),m(t,(()=>{var t=o(()=>!!e.group.memoryTotalKb);return()=>t()?` / ${E(e.group.memoryTotalKb)}`:``})(),null),n(()=>f(t,`title`,r()==null?void 0:`${r().toFixed(1)}% ${d(`busy.of_total_ram`)}`)),t}}),u),m(u,()=>d(`table.busy`),p),m(u,()=>e.group.busy,h),m(u,()=>e.group.concurrency,null),i})()}function de(){let a=w(),l=()=>a.data?.read_only??!1,A=v(),[j,M]=h(null);p(()=>{document.title=`${d(`nav.busy`)} — Wurk`});let P=T(()=>({queryKey:[`processes`],queryFn:()=>_(`${y()}/api/processes`),refetchInterval:5e3})),F=g(()=>({mutationFn:e=>x(`${y()}/api/busy/${e.signal}`,{identity:e.scope===`all`?`all`:e.identity}),onSuccess:()=>A.invalidateQueries({queryKey:[`processes`]}),onError:C})),I=e=>window.confirm(d(`actions.confirm`,{action:d(`actions.stop`),scope:e})),L=()=>(P.data??[]).some(e=>!e.embedded),R=()=>se(P.data??[]),z=()=>(P.data??[]).find(e=>e.identity===j())??null;return c(r,{get children(){return[c(i,{get when(){return P.isPending},get children(){var e=G();return m(e,c(N,{icon:`fa-gears`,get title(){return d(`nav.busy`)},get summary(){return d(`summaries.busy`)}}),null),m(e,c(b,{count:6}),null),e}}),c(i,{get when(){return P.isError||!P.data},get children(){var e=K();return m(e,()=>d(`common.error`)),e}}),c(i,{get when(){return P.data},children:r=>(()=>{var i=G();return m(i,c(N,{icon:`fa-gears`,get title(){return d(`nav.busy`)},get summary(){return d(`summaries.busy`)},get children(){var e=Y(),i=e.firstChild,a=i.firstChild;return m(i,()=>r().length,a),m(i,()=>d(`dashboard.processes`).toLowerCase(),null),m(e,c(t,{get when(){return R().length>1},get children(){var e=V();return m(e,()=>d(`busy.hosts`,{n:R().length})),e}}),null),m(e,c(t,{get when(){return o(()=>!l())()&&L()},get children(){return[(()=>{var e=q();return e.$$click=()=>F.mutate({signal:`quiet`,scope:`all`}),m(e,()=>`${d(`actions.quiet`)} ${d(`actions.all_suffix`)}`),n(()=>e.disabled=F.isPending),e})(),(()=>{var e=J();return e.$$click=()=>I(d(`actions.scope_all_processes`))&&F.mutate({signal:`stop`,scope:`all`}),m(e,()=>`${d(`actions.stop`)} ${d(`actions.all_suffix`)}`),n(()=>e.disabled=F.isPending),e})()]}}),null),e}}),null),m(i,c(t,{get when(){return r().length>0},get fallback(){return(()=>{var e=X();return m(e,()=>d(`common.empty`)),e})()},get children(){return c(e,{get each(){return R()},children:r=>(()=>{var i=Z(),a=i.firstChild;return m(i,c(ue,{group:r}),a),m(a,c(e,{get each(){return r.processes},children:r=>{let i=r.concurrency>0?r.busy/r.concurrency*100:0,a=D()-r.beat<30;return(()=>{var p=oe(),h=p.firstChild,g=h.firstChild,_=g.firstChild;_.firstChild;var v=_.nextSibling,y=g.nextSibling,b=h.nextSibling,x=b.firstChild,S=x.firstChild,C=S.firstChild,w=S.nextSibling,T=w.firstChild,A=x.nextSibling,j=A.firstChild,N=j.nextSibling,P=A.nextSibling.firstChild,L=P.nextSibling,R=b.nextSibling,z=R.firstChild,B=R.nextSibling.firstChild,H=B.nextSibling;return p.$$click=()=>r.identity&&M(r.identity),m(_,()=>r.pid,null),m(v,()=>r.tag||r.hostname,null),m(v,(()=>{var e=o(()=>!!r.started_at);return()=>e()?` · ${d(`busy.up_for`)} ${O(D()-r.started_at)}`:``})(),null),m(y,c(t,{when:a,get children(){var e=ne();return n(()=>f(e,`title`,d(`busy.heartbeat_ok`))),e}}),null),m(y,c(t,{get when(){return r.leader},get children(){var e=Q();return e.firstChild,m(e,()=>d(`busy.leader`),null),n(()=>f(e,`title`,d(`busy.leader_title`))),e}}),null),m(y,c(t,{get when(){return r.quiet},get children(){return re()}}),null),m(y,c(t,{get when(){return r.embedded},get children(){return ie()}}),null),m(S,()=>d(`table.busy`),C),m(S,()=>d(`table.concurrency`),null),m(w,()=>r.busy,T),m(w,()=>r.concurrency,null),m(j,()=>d(`busy.heartbeat`)),u(N,`color`,a?`var(--success)`:`var(--danger)`),m(N,()=>k(r.beat)),m(P,()=>d(`busy.rss`)),m(L,()=>E(r.rss??0)),u(z,`width`,`${i}%`),m(B,()=>d(`table.queues`)),m(H,c(e,{get each(){return r.queues},children:e=>(()=>{var t=V();return m(t,e),t})()})),m(p,c(t,{get when(){return o(()=>!l())()&&!r.embedded},get children(){var e=ae(),t=e.firstChild,i=t.nextSibling;return e.$$click=e=>e.stopPropagation(),t.$$click=()=>F.mutate({signal:`quiet`,scope:`one`,identity:r.identity}),m(t,()=>d(`actions.quiet`)),i.$$click=()=>I(d(`actions.scope_this_process`))&&F.mutate({signal:`stop`,scope:`one`,identity:r.identity}),m(i,()=>d(`actions.stop`)),n(e=>{var n=F.isPending,r=F.isPending;return n!==e.e&&(t.disabled=e.e=n),r!==e.t&&(i.disabled=e.t=r),e},{e:void 0,t:void 0}),e}}),null),n(e=>{var t=$,n=$,r=$,a=ce(i),o={...$};return e.e=s(S,t,e.e),e.t=s(j,n,e.t),e.a=s(P,r,e.a),a!==e.o&&u(z,`background`,e.o=a),e.i=s(B,o,e.i),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),p})()}})),i})()})}}),null),m(i,c(S,{get open(){return z()!==null},onClose:()=>M(null),get title(){return o(()=>!!z())()?`${z().hostname} · PID ${z().pid}`:``},width:780,get children(){return c(t,{get when(){return z()},children:e=>c(le,{get proc(){return e()}})})}}),null),i})()})]}})}l([`click`]);export{de as default};
1
+ import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,g as s,j as c,l,m as u,o as d,p as f,q as p,u as m,z as h}from"./i18n-BZClP62Q.js";import{_ as g,f as _,g as v,h as y,i as b,m as x,o as S,t as C,u as w,v as T}from"./index-BOTVSP9M.js";import{a as E,c as D,i as O,l as k,n as A,s as j,u as M}from"./utils-CGyrKpTh.js";import{t as N}from"./PageHeader-DjIAFTyX.js";import{t as P}from"./ArgsValue-DDqX6XWH.js";var F=a(`<code style=font-size:12px>`),I=a(`<span class="badge badge-accent">`),L=a(`<span>`),R=a(`<div class=table-wrapper><table><thead><tr><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),z=a(`<div><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:0.75rem;margin-bottom:1rem"></div><div style=margin-bottom:0.25rem></div><div style=display:flex;flex-wrap:wrap;gap:0.25rem;margin-bottom:1rem></div><h3 class=section-title style=margin-bottom:0.5rem> <span class="badge badge-muted">`),B=a(`<div><div></div><div style=font-size:14px>`),V=a(`<span class="badge badge-muted">`),H=a(`<div class=empty-state style=padding:1rem>`),U=a(`<tr><td style=font-family:monospace;font-size:12px;color:var(--text-muted)></td><td style=font-weight:500></td><td><span class="badge badge-muted"></span></td><td></td><td>`),ee=a(`<span class="badge badge-muted"><i class="fa-solid fa-microchip"style=margin-right:0.35rem>`),te=a(`<span class="badge badge-muted"><i class="fa-solid fa-memory"style=margin-right:0.35rem>`),W=a(`<div style=display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;margin-bottom:0.75rem><span style=font-weight:600;font-size:15px><i class="fa-solid fa-server"style=color:var(--text-muted);margin-right:0.5rem></i></span><span class="badge badge-muted"> </span><span class="badge badge-muted"style=font-variant-numeric:tabular-nums> <!> / `),G=a(`<div>`),K=a(`<div class=empty-state style=color:var(--danger)>`),q=a(`<button class="btn btn-sm btn-ghost">`),J=a(`<button class="btn btn-sm btn-ghost btn-danger">`),Y=a(`<div style=display:flex;align-items:center;gap:0.6rem><span class="badge badge-muted"> `),X=a(`<div class=empty-state>`),Z=a(`<section style=margin-bottom:1.5rem><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(min(100%, 320px), 1fr));gap:1rem">`),ne=a(`<span class=live-dot>`),Q=a(`<span class="badge badge-accent"><i class="fa-solid fa-crown"style=margin-right:0.3rem>`),re=a(`<span class="badge badge-warning">Quiet`),ie=a(`<span class="badge badge-muted">embedded`),ae=a(`<div style=display:flex;gap:0.4rem;margin-top:0.85rem><button class="btn btn-sm"></button><button class="btn btn-sm btn-danger">`),oe=a(`<div class="card row-clickable"><div style=display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.75rem><div><div style=font-weight:600;font-size:15px>PID </div><div style=color:var(--text-muted);font-size:12px></div></div><div style=display:flex;gap:0.375rem></div></div><div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.5rem;margin-bottom:0.75rem"><div><div> / </div><div style=font-weight:600;font-size:18px;font-variant-numeric:tabular-nums> / </div></div><div><div></div><div style=font-size:13px></div></div><div><div></div><div style=font-size:13px></div></div></div><div class=progress-bar-track style=margin-bottom:0.75rem><div class=progress-bar-fill></div></div><div><div style=margin-bottom:0.25rem></div><div style=display:flex;flex-wrap:wrap;gap:0.25rem>`);function se(e){let t=new Map;for(let n of e){let e=t.get(n.hostname);e||(e={hostname:n.hostname,processes:[],busy:0,concurrency:0,rssKb:0},t.set(n.hostname,e)),e.processes.push(n),e.busy+=n.busy,e.concurrency+=n.concurrency,e.rssKb+=n.rss??0,e.cpuModel??=n.cpu_model??void 0,e.cores??=n.cores,e.memoryTotalKb??=n.memory_total_kb}return[...t.values()].sort((e,t)=>e.hostname.localeCompare(t.hostname))}function ce(e){return e>90?`var(--danger)`:e>70?`var(--warning)`:`var(--accent)`}var $={"font-size":`11px`,color:`var(--text-muted)`,"text-transform":`uppercase`,"letter-spacing":`0.04em`};function le(r){let i=T(()=>({queryKey:[`workers`],queryFn:()=>_(`${y()}/api/workers`),refetchInterval:5e3})),a=()=>(i.data??[]).filter(e=>e.process_id===r.proc.identity),o=()=>[[d(`busy.identity`),(()=>{var e=F();return m(e,()=>r.proc.identity),e})()],[d(`busy.leader`),r.proc.leader?(()=>{var e=I();return m(e,()=>d(`busy.leader`)),e})():`—`],[`PID`,r.proc.pid],[d(`busy.started`),r.proc.started_at?(()=>{var e=L();return m(e,()=>k(r.proc.started_at)),n(()=>f(e,`title`,j(r.proc.started_at))),e})():`—`],[d(`busy.heartbeat`),(()=>{var e=L();return m(e,()=>k(r.proc.beat)),n(()=>f(e,`title`,j(r.proc.beat))),e})()],[`${d(`table.busy`)} / ${d(`table.concurrency`)}`,`${r.proc.busy} / ${r.proc.concurrency}`],[d(`busy.rss`),E(r.proc.rss??0)],[d(`busy.rtt`),r.proc.rtt_us?`${(r.proc.rtt_us/1e3).toFixed(1)} ${d(`common.ms`)}`:`—`],[d(`busy.version`),r.proc.version??`—`],[d(`busy.tag`),r.proc.tag||`—`],[d(`busy.labels`),r.proc.labels?.length?r.proc.labels.join(`, `):`—`]];return(()=>{var i=z(),l=i.firstChild,u=l.nextSibling,p=u.nextSibling,h=p.nextSibling,g=h.firstChild,_=g.nextSibling;return m(l,c(e,{get each(){return o()},children:([e,t])=>(()=>{var r=B(),i=r.firstChild,a=i.nextSibling;return m(i,e),m(a,t),n(e=>s(i,$,e)),r})()})),m(u,()=>d(`table.queues`)),m(p,c(e,{get each(){return r.proc.queues},children:e=>(()=>{var t=V();return m(t,e),t})()})),m(h,()=>d(`busy.running_jobs`),g),m(_,()=>a().length),m(i,c(t,{get when(){return a().length>0},get fallback(){return(()=>{var e=H();return m(e,()=>d(`busy.no_running`)),e})()},get children(){var t=R(),r=t.firstChild.firstChild,i=r.firstChild.firstChild,o=i.nextSibling,s=o.nextSibling,l=s.nextSibling,u=l.nextSibling,p=r.nextSibling;return m(i,()=>d(`table.jid`)),m(o,()=>d(`table.class`)),m(s,()=>d(`table.queue`)),m(l,()=>d(`table.args`)),m(u,()=>d(`busy.running_since`)),m(p,c(e,{get each(){return a()},children:e=>(()=>{var t=U(),r=t.firstChild,i=r.nextSibling,a=i.nextSibling,o=a.firstChild,s=a.nextSibling,l=s.nextSibling;return m(r,()=>M(e.jid,12)),m(i,()=>e.klass),m(o,()=>e.queue),m(s,c(P,{get str(){return A(e.args)},max:40})),m(l,()=>k(e.run_at)),n(t=>{var n=e.jid,i=j(e.run_at);return n!==t.e&&f(r,`title`,t.e=n),i!==t.t&&f(l,`title`,t.t=i),t},{e:void 0,t:void 0}),t})()})),t}}),null),n(e=>s(u,{...$},e)),i})()}function ue(e){let r=()=>e.group.memoryTotalKb?Math.min(100,e.group.rssKb/e.group.memoryTotalKb*100):null;return(()=>{var i=W(),a=i.firstChild;a.firstChild;var s=a.nextSibling,l=s.firstChild,u=s.nextSibling,p=u.firstChild,h=p.nextSibling;return h.nextSibling,m(a,()=>e.group.hostname,null),m(s,()=>e.group.processes.length,l),m(s,()=>d(`dashboard.processes`).toLowerCase(),null),m(i,c(t,{get when(){return e.group.cpuModel},get children(){var t=ee();return t.firstChild,m(t,()=>M(e.group.cpuModel,40),null),n(()=>f(t,`title`,e.group.cpuModel??void 0)),t}}),u),m(i,c(t,{get when(){return o(()=>e.group.cores!=null)()&&e.group.cores>0},get children(){var t=V();return m(t,()=>d(`busy.cores`,{n:e.group.cores})),t}}),u),m(i,c(t,{get when(){return e.group.rssKb>0},get children(){var t=te();return t.firstChild,m(t,()=>E(e.group.rssKb),null),m(t,(()=>{var t=o(()=>!!e.group.memoryTotalKb);return()=>t()?` / ${E(e.group.memoryTotalKb)}`:``})(),null),n(()=>f(t,`title`,r()==null?void 0:`${r().toFixed(1)}% ${d(`busy.of_total_ram`)}`)),t}}),u),m(u,()=>d(`table.busy`),p),m(u,()=>e.group.busy,h),m(u,()=>e.group.concurrency,null),i})()}function de(){let a=w(),l=()=>a.data?.read_only??!1,A=v(),[j,M]=h(null);p(()=>{document.title=`${d(`nav.busy`)} — Wurk`});let P=T(()=>({queryKey:[`processes`],queryFn:()=>_(`${y()}/api/processes`),refetchInterval:5e3})),F=g(()=>({mutationFn:e=>x(`${y()}/api/busy/${e.signal}`,{identity:e.scope===`all`?`all`:e.identity}),onSuccess:()=>A.invalidateQueries({queryKey:[`processes`]}),onError:C})),I=e=>window.confirm(d(`actions.confirm`,{action:d(`actions.stop`),scope:e})),L=()=>(P.data??[]).some(e=>!e.embedded),R=()=>se(P.data??[]),z=()=>(P.data??[]).find(e=>e.identity===j())??null;return c(r,{get children(){return[c(i,{get when(){return P.isPending},get children(){var e=G();return m(e,c(N,{icon:`fa-gears`,get title(){return d(`nav.busy`)},get summary(){return d(`summaries.busy`)}}),null),m(e,c(b,{count:6}),null),e}}),c(i,{get when(){return P.isError||!P.data},get children(){var e=K();return m(e,()=>d(`common.error`)),e}}),c(i,{get when(){return P.data},children:r=>(()=>{var i=G();return m(i,c(N,{icon:`fa-gears`,get title(){return d(`nav.busy`)},get summary(){return d(`summaries.busy`)},get children(){var e=Y(),i=e.firstChild,a=i.firstChild;return m(i,()=>r().length,a),m(i,()=>d(`dashboard.processes`).toLowerCase(),null),m(e,c(t,{get when(){return R().length>1},get children(){var e=V();return m(e,()=>d(`busy.hosts`,{n:R().length})),e}}),null),m(e,c(t,{get when(){return o(()=>!l())()&&L()},get children(){return[(()=>{var e=q();return e.$$click=()=>F.mutate({signal:`quiet`,scope:`all`}),m(e,()=>`${d(`actions.quiet`)} ${d(`actions.all_suffix`)}`),n(()=>e.disabled=F.isPending),e})(),(()=>{var e=J();return e.$$click=()=>I(d(`actions.scope_all_processes`))&&F.mutate({signal:`stop`,scope:`all`}),m(e,()=>`${d(`actions.stop`)} ${d(`actions.all_suffix`)}`),n(()=>e.disabled=F.isPending),e})()]}}),null),e}}),null),m(i,c(t,{get when(){return r().length>0},get fallback(){return(()=>{var e=X();return m(e,()=>d(`common.empty`)),e})()},get children(){return c(e,{get each(){return R()},children:r=>(()=>{var i=Z(),a=i.firstChild;return m(i,c(ue,{group:r}),a),m(a,c(e,{get each(){return r.processes},children:r=>{let i=r.concurrency>0?r.busy/r.concurrency*100:0,a=D()-r.beat<30;return(()=>{var p=oe(),h=p.firstChild,g=h.firstChild,_=g.firstChild;_.firstChild;var v=_.nextSibling,y=g.nextSibling,b=h.nextSibling,x=b.firstChild,S=x.firstChild,C=S.firstChild,w=S.nextSibling,T=w.firstChild,A=x.nextSibling,j=A.firstChild,N=j.nextSibling,P=A.nextSibling.firstChild,L=P.nextSibling,R=b.nextSibling,z=R.firstChild,B=R.nextSibling.firstChild,H=B.nextSibling;return p.$$click=()=>r.identity&&M(r.identity),m(_,()=>r.pid,null),m(v,()=>r.tag||r.hostname,null),m(v,(()=>{var e=o(()=>!!r.started_at);return()=>e()?` · ${d(`busy.up_for`)} ${O(D()-r.started_at)}`:``})(),null),m(y,c(t,{when:a,get children(){var e=ne();return n(()=>f(e,`title`,d(`busy.heartbeat_ok`))),e}}),null),m(y,c(t,{get when(){return r.leader},get children(){var e=Q();return e.firstChild,m(e,()=>d(`busy.leader`),null),n(()=>f(e,`title`,d(`busy.leader_title`))),e}}),null),m(y,c(t,{get when(){return r.quiet},get children(){return re()}}),null),m(y,c(t,{get when(){return r.embedded},get children(){return ie()}}),null),m(S,()=>d(`table.busy`),C),m(S,()=>d(`table.concurrency`),null),m(w,()=>r.busy,T),m(w,()=>r.concurrency,null),m(j,()=>d(`busy.heartbeat`)),u(N,`color`,a?`var(--success)`:`var(--danger)`),m(N,()=>k(r.beat)),m(P,()=>d(`busy.rss`)),m(L,()=>E(r.rss??0)),u(z,`width`,`${i}%`),m(B,()=>d(`table.queues`)),m(H,c(e,{get each(){return r.queues},children:e=>(()=>{var t=V();return m(t,e),t})()})),m(p,c(t,{get when(){return o(()=>!l())()&&!r.embedded},get children(){var e=ae(),t=e.firstChild,i=t.nextSibling;return e.$$click=e=>e.stopPropagation(),t.$$click=()=>F.mutate({signal:`quiet`,scope:`one`,identity:r.identity}),m(t,()=>d(`actions.quiet`)),i.$$click=()=>I(d(`actions.scope_this_process`))&&F.mutate({signal:`stop`,scope:`one`,identity:r.identity}),m(i,()=>d(`actions.stop`)),n(e=>{var n=F.isPending,r=F.isPending;return n!==e.e&&(t.disabled=e.e=n),r!==e.t&&(i.disabled=e.t=r),e},{e:void 0,t:void 0}),e}}),null),n(e=>{var t=$,n=$,r=$,a=ce(i),o={...$};return e.e=s(S,t,e.e),e.t=s(j,n,e.t),e.a=s(P,r,e.a),a!==e.o&&u(z,`background`,e.o=a),e.i=s(B,o,e.i),e},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),p})()}})),i})()})}}),null),m(i,c(S,{get open(){return z()!==null},onClose:()=>M(null),get title(){return o(()=>!!z())()?`${z().hostname} · PID ${z().pid}`:``},width:780,get children(){return c(t,{get when(){return z()},children:e=>c(le,{get proc(){return e()}})})}}),null),i})()})]}})}l([`click`]);export{de as default};
@@ -1 +1 @@
1
- import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,l as c,m as l,o as u,p as d,q as f,u as p,z as m}from"./i18n-B6AbnmJn.js";import{_ as h,a as g,f as _,g as v,h as y,m as b,o as x,t as S,u as C,v as w}from"./index-CTWV8VL4.js";import{l as T,s as E,u as D}from"./utils-DnzJXljj.js";import{n as O,t as k}from"./useSort-BWWfpnZH.js";import{t as A}from"./PageHeader-CeSaqysY.js";var j=a(`<div>`),M=a(`<div class=empty-state style=color:var(--danger)>`),N=a(`<span class="badge badge-muted">`),P=a(`<th>`),F=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),I=a(`<div class=empty-state>`),L=a(`<td><div style=display:flex;gap:0.4rem><button class="btn btn-sm"></button><button class="btn btn-sm">`),R=a(`<tr class=row-clickable><td style=font-family:monospace;font-size:12px></td><td></td><td></td><td style=color:var(--text-muted)></td><td></td><td>`),z=a(`<span class="badge badge-success">`),B=a(`<div class=table-wrapper><table><thead><tr><th></th><th></th></tr></thead><tbody>`),V=a(`<tr><td style=color:var(--text-muted)></td><td style=font-family:monospace;font-size:12px>`),H={schedule:e=>e.schedule,klass:e=>e.klass,queue:e=>e.queue,last_fire:e=>e.last_fire_at,next_fire:e=>e.next_fire_at,status:e=>e.paused?`paused`:`active`};function U(){let a=v(),c=C(),U=()=>c.data?.read_only??!1,[W,G]=m(null);f(()=>{document.title=`${u(`nav.cron`)} — Wurk`});let K=w(()=>({queryKey:[`cron`],queryFn:()=>_(`${y()}/api/cron`),refetchInterval:15e3})),q=(e,t)=>b(`${y()}/api/cron/${e}/${t}`),J=h(()=>({mutationFn:({lid:e,paused:t})=>q(e,t?`unpause`:`pause`),onSuccess:()=>a.invalidateQueries({queryKey:[`cron`]}),onError:S})),Y=h(()=>({mutationFn:e=>q(e,`enqueue`),onSuccess:()=>a.invalidateQueries({queryKey:[`cron`]}),onError:S})),X=w(()=>({queryKey:[`cron-history`,W()?.lid],queryFn:()=>_(`${y()}/api/cron/${W().lid}/history`).then(e=>e.history),enabled:W()!==null})),{sorted:Z,sort:Q,toggle:$}=k(()=>K.data??[],H);return s(r,{get children(){return[s(i,{get when(){return K.isPending},get children(){var e=j();return p(e,s(A,{icon:`fa-stopwatch`,get title(){return u(`nav.cron`)},get summary(){return u(`summaries.cron`)}}),null),p(e,s(g,{rows:8,get cols(){return U()?6:7}}),null),e}}),s(i,{get when(){return K.isError||!K.data},get children(){var e=M();return p(e,()=>u(`common.error`)),e}}),s(i,{get when(){return K.data},children:a=>(()=>{var c=j();return p(c,s(A,{icon:`fa-stopwatch`,get title(){return u(`nav.cron`)},get summary(){return u(`summaries.cron`)},get children(){var e=N();return p(e,()=>a().length),e}}),null),p(c,s(t,{get when(){return a().length>0},get fallback(){return(()=>{var e=I();return p(e,()=>u(`common.empty`)),e})()},get children(){var r=F(),i=r.firstChild.firstChild,a=i.firstChild,c=i.nextSibling;return p(a,s(O,{get label(){return u(`table.schedule`)},sortKey:`schedule`,get sort(){return Q()},onSort:$}),null),p(a,s(O,{get label(){return u(`table.class`)},sortKey:`klass`,get sort(){return Q()},onSort:$}),null),p(a,s(O,{get label(){return u(`table.queue`)},sortKey:`queue`,get sort(){return Q()},onSort:$}),null),p(a,s(O,{get label(){return u(`cron.last_fire`)},sortKey:`last_fire`,get sort(){return Q()},onSort:$}),null),p(a,s(O,{get label(){return u(`cron.next_fire`)},sortKey:`next_fire`,get sort(){return Q()},onSort:$}),null),p(a,s(O,{get label(){return u(`table.status`)},sortKey:`status`,get sort(){return Q()},onSort:$}),null),p(a,s(t,{get when(){return!U()},get children(){return P()}}),null),p(c,s(e,{get each(){return Z()},children:e=>(()=>{var r=R(),i=r.firstChild,a=i.nextSibling,c=a.nextSibling,f=c.nextSibling,m=f.nextSibling,h=m.nextSibling;return r.$$click=()=>G(e),p(i,()=>e.schedule),p(a,()=>D(e.klass,32)),p(c,()=>e.queue),p(f,(()=>{var t=o(()=>!!e.last_fire_at);return()=>t()?T(e.last_fire_at):`—`})()),p(m,(()=>{var t=o(()=>!!e.paused);return()=>t()?`—`:o(()=>!!e.next_fire_at)()?T(e.next_fire_at):`—`})()),p(h,s(t,{get when(){return e.paused},get fallback(){return(()=>{var e=z();return p(e,()=>u(`dashboard.active`)),e})()},get children(){var e=N();return p(e,()=>u(`dashboard.paused`)),e}})),p(r,s(t,{get when(){return!U()},get children(){var t=L(),r=t.firstChild.firstChild,i=r.nextSibling;return t.$$click=e=>e.stopPropagation(),r.$$click=()=>J.mutate({lid:e.lid,paused:e.paused}),p(r,(()=>{var t=o(()=>!!e.paused);return()=>t()?u(`actions.unpause`):u(`actions.pause`)})()),i.$$click=()=>Y.mutate(e.lid),p(i,()=>u(`actions.enqueue`)),n(e=>{var t=J.isPending,n=Y.isPending;return t!==e.e&&(r.disabled=e.e=t),n!==e.t&&(i.disabled=e.t=n),e},{e:void 0,t:void 0}),t}}),null),n(t=>{var n=e.tz??void 0,r=e.klass,o=e.paused?`var(--text-muted)`:`var(--accent)`;return n!==t.e&&d(i,`title`,t.e=n),r!==t.t&&d(a,`title`,t.t=r),o!==t.a&&l(m,`color`,t.a=o),t},{e:void 0,t:void 0,a:void 0}),r})()})),r}}),null),p(c,s(x,{get open(){return W()!==null},onClose:()=>G(null),get title(){return o(()=>!!W())()?`${u(`cron.history_title`)} — ${D(W().klass,40)}`:u(`cron.history_title`)},get children(){return s(r,{get children(){return[s(i,{get when(){return X.isPending},get children(){return s(g,{rows:6,cols:2})}}),s(i,{get when(){return X.isError},get children(){var e=M();return p(e,()=>u(`common.error`)),e}}),s(i,{get when(){return!X.data||X.data.length===0},get children(){var e=I();return p(e,()=>u(`cron.no_history`)),e}}),s(i,{get when(){return X.data},children:t=>(()=>{var r=B(),i=r.firstChild.firstChild,a=i.firstChild.firstChild,o=a.nextSibling,c=i.nextSibling;return p(a,()=>u(`cron.fired`)),p(o,()=>u(`table.jid`)),p(c,s(e,{get each(){return t()},children:([e,t])=>(()=>{var r=V(),i=r.firstChild,a=i.nextSibling;return p(i,()=>T(e)),p(a,t),n(()=>d(i,`title`,E(e))),r})()})),r})()})]}})}}),null),c})()})]}})}c([`click`]);export{U as default};
1
+ import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,l as c,m as l,o as u,p as d,q as f,u as p,z as m}from"./i18n-BZClP62Q.js";import{_ as h,a as g,f as _,g as v,h as y,m as b,o as x,t as S,u as C,v as w}from"./index-BOTVSP9M.js";import{l as T,s as E,u as D}from"./utils-CGyrKpTh.js";import{n as O,t as k}from"./useSort-B-BLJik7.js";import{t as A}from"./PageHeader-DjIAFTyX.js";var j=a(`<div>`),M=a(`<div class=empty-state style=color:var(--danger)>`),N=a(`<span class="badge badge-muted">`),P=a(`<th>`),F=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),I=a(`<div class=empty-state>`),L=a(`<td><div style=display:flex;gap:0.4rem><button class="btn btn-sm"></button><button class="btn btn-sm">`),R=a(`<tr class=row-clickable><td style=font-family:monospace;font-size:12px></td><td></td><td></td><td style=color:var(--text-muted)></td><td></td><td>`),z=a(`<span class="badge badge-success">`),B=a(`<div class=table-wrapper><table><thead><tr><th></th><th></th></tr></thead><tbody>`),V=a(`<tr><td style=color:var(--text-muted)></td><td style=font-family:monospace;font-size:12px>`),H={schedule:e=>e.schedule,klass:e=>e.klass,queue:e=>e.queue,last_fire:e=>e.last_fire_at,next_fire:e=>e.next_fire_at,status:e=>e.paused?`paused`:`active`};function U(){let a=v(),c=C(),U=()=>c.data?.read_only??!1,[W,G]=m(null);f(()=>{document.title=`${u(`nav.cron`)} — Wurk`});let K=w(()=>({queryKey:[`cron`],queryFn:()=>_(`${y()}/api/cron`),refetchInterval:15e3})),q=(e,t)=>b(`${y()}/api/cron/${e}/${t}`),J=h(()=>({mutationFn:({lid:e,paused:t})=>q(e,t?`unpause`:`pause`),onSuccess:()=>a.invalidateQueries({queryKey:[`cron`]}),onError:S})),Y=h(()=>({mutationFn:e=>q(e,`enqueue`),onSuccess:()=>a.invalidateQueries({queryKey:[`cron`]}),onError:S})),X=w(()=>({queryKey:[`cron-history`,W()?.lid],queryFn:()=>_(`${y()}/api/cron/${W().lid}/history`).then(e=>e.history),enabled:W()!==null})),{sorted:Z,sort:Q,toggle:$}=k(()=>K.data??[],H);return s(r,{get children(){return[s(i,{get when(){return K.isPending},get children(){var e=j();return p(e,s(A,{icon:`fa-stopwatch`,get title(){return u(`nav.cron`)},get summary(){return u(`summaries.cron`)}}),null),p(e,s(g,{rows:8,get cols(){return U()?6:7}}),null),e}}),s(i,{get when(){return K.isError||!K.data},get children(){var e=M();return p(e,()=>u(`common.error`)),e}}),s(i,{get when(){return K.data},children:a=>(()=>{var c=j();return p(c,s(A,{icon:`fa-stopwatch`,get title(){return u(`nav.cron`)},get summary(){return u(`summaries.cron`)},get children(){var e=N();return p(e,()=>a().length),e}}),null),p(c,s(t,{get when(){return a().length>0},get fallback(){return(()=>{var e=I();return p(e,()=>u(`common.empty`)),e})()},get children(){var r=F(),i=r.firstChild.firstChild,a=i.firstChild,c=i.nextSibling;return p(a,s(O,{get label(){return u(`table.schedule`)},sortKey:`schedule`,get sort(){return Q()},onSort:$}),null),p(a,s(O,{get label(){return u(`table.class`)},sortKey:`klass`,get sort(){return Q()},onSort:$}),null),p(a,s(O,{get label(){return u(`table.queue`)},sortKey:`queue`,get sort(){return Q()},onSort:$}),null),p(a,s(O,{get label(){return u(`cron.last_fire`)},sortKey:`last_fire`,get sort(){return Q()},onSort:$}),null),p(a,s(O,{get label(){return u(`cron.next_fire`)},sortKey:`next_fire`,get sort(){return Q()},onSort:$}),null),p(a,s(O,{get label(){return u(`table.status`)},sortKey:`status`,get sort(){return Q()},onSort:$}),null),p(a,s(t,{get when(){return!U()},get children(){return P()}}),null),p(c,s(e,{get each(){return Z()},children:e=>(()=>{var r=R(),i=r.firstChild,a=i.nextSibling,c=a.nextSibling,f=c.nextSibling,m=f.nextSibling,h=m.nextSibling;return r.$$click=()=>G(e),p(i,()=>e.schedule),p(a,()=>D(e.klass,32)),p(c,()=>e.queue),p(f,(()=>{var t=o(()=>!!e.last_fire_at);return()=>t()?T(e.last_fire_at):`—`})()),p(m,(()=>{var t=o(()=>!!e.paused);return()=>t()?`—`:o(()=>!!e.next_fire_at)()?T(e.next_fire_at):`—`})()),p(h,s(t,{get when(){return e.paused},get fallback(){return(()=>{var e=z();return p(e,()=>u(`dashboard.active`)),e})()},get children(){var e=N();return p(e,()=>u(`dashboard.paused`)),e}})),p(r,s(t,{get when(){return!U()},get children(){var t=L(),r=t.firstChild.firstChild,i=r.nextSibling;return t.$$click=e=>e.stopPropagation(),r.$$click=()=>J.mutate({lid:e.lid,paused:e.paused}),p(r,(()=>{var t=o(()=>!!e.paused);return()=>t()?u(`actions.unpause`):u(`actions.pause`)})()),i.$$click=()=>Y.mutate(e.lid),p(i,()=>u(`actions.enqueue`)),n(e=>{var t=J.isPending,n=Y.isPending;return t!==e.e&&(r.disabled=e.e=t),n!==e.t&&(i.disabled=e.t=n),e},{e:void 0,t:void 0}),t}}),null),n(t=>{var n=e.tz??void 0,r=e.klass,o=e.paused?`var(--text-muted)`:`var(--accent)`;return n!==t.e&&d(i,`title`,t.e=n),r!==t.t&&d(a,`title`,t.t=r),o!==t.a&&l(m,`color`,t.a=o),t},{e:void 0,t:void 0,a:void 0}),r})()})),r}}),null),p(c,s(x,{get open(){return W()!==null},onClose:()=>G(null),get title(){return o(()=>!!W())()?`${u(`cron.history_title`)} — ${D(W().klass,40)}`:u(`cron.history_title`)},get children(){return s(r,{get children(){return[s(i,{get when(){return X.isPending},get children(){return s(g,{rows:6,cols:2})}}),s(i,{get when(){return X.isError},get children(){var e=M();return p(e,()=>u(`common.error`)),e}}),s(i,{get when(){return!X.data||X.data.length===0},get children(){var e=I();return p(e,()=>u(`cron.no_history`)),e}}),s(i,{get when(){return X.data},children:t=>(()=>{var r=B(),i=r.firstChild.firstChild,a=i.firstChild.firstChild,o=a.nextSibling,c=i.nextSibling;return p(a,()=>u(`cron.fired`)),p(o,()=>u(`table.jid`)),p(c,s(e,{get each(){return t()},children:([e,t])=>(()=>{var r=V(),i=r.firstChild,a=i.nextSibling;return p(i,()=>T(e)),p(a,t),n(()=>d(i,`title`,E(e))),r})()})),r})()})]}})}}),null),c})()})]}})}c([`click`]);export{U as default};
@@ -1 +1 @@
1
- import{C as e,E as t,F as n,I as r,K as i,O as a,P as o,T as s,_ as c,c as l,d as u,j as d,l as f,o as p,p as m,q as h,u as g,z as _}from"./i18n-B6AbnmJn.js";import{a as v,b as y,c as b,f as x,h as S,i as C,r as w,s as T,v as E}from"./index-CTWV8VL4.js";import{i as D,o as O,r as k}from"./utils-DnzJXljj.js";import{t as A}from"./PageHeader-CeSaqysY.js";import{r as ee}from"./charts-VggSMFGc.js";var j=e=>1-(1-e)**3,M=()=>typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches;function N(e,t=700){let[n,r]=_(0),a=0,s=null;return o(()=>{let n=e();if(M()||!Number.isFinite(n)){a=n,r(n);return}let o=a;if(o===n)return;let c=performance.now(),l=e=>{let i=Math.min((e-c)/t,1),u=o+(n-o)*j(i);a=u,r(u),i<1&&(s=requestAnimationFrame(l))};s=requestAnimationFrame(l),i(()=>{s!==null&&cancelAnimationFrame(s)})}),n}function P(e){let t=N(()=>e.value);return u(()=>O(Math.round(t())))}var F=c(`<span class=obs-metric__sub>`),I=c(`<span class=obs-metric__sub><span> <!>%</span> `),L=c(`<div class=obs>`),R=c(`<div class=obs><div class=empty-state style=color:var(--danger)>`),z=c(`<div class=obs><div class=empty-state>`),B=c(`<div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-circle-check obs-metric__icon"aria-hidden=true>`),V=c(`<span class=obs-metric__value>`),H=c(`<i class="fa-solid fa-arrow-right obs-card__go"aria-hidden=true>`),U=c(`<div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-triangle-exclamation obs-metric__icon"aria-hidden=true>`),W=c(`<div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-ban obs-metric__icon"aria-hidden=true>`),G=c(`<div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-spinner obs-metric__icon"aria-hidden=true>`),K=c(`<span class=obs-mono>`),q=c(`<span class=obs-stat__value>`),J=c(`<i class="fa-solid fa-arrow-right"aria-hidden=true>`),te=c(`<div class=obs-tablescroll><table><thead><tr><th>Name</th><th></th><th></th><th></th></tr></thead><tbody>`),ne=c(`<div class=obs><div class=obs-metrics></div><div class="obs-card obs-panel"><div class=obs-panel__head><div><h2 class=obs-panel__title></h2><p class=obs-panel__sub></p></div><div class=obs-panel__controls><div class=obs-seg role=tablist></div><div class=obs-legend><span><i class="dot dot--processed"></i> </span><span><i class="dot dot--failed"></i> </span></div></div></div><div class=obs-chartbox></div></div><div class=obs-stats></div><div class="obs-card obs-table"><div class=obs-table__head><h2 class=obs-table__title></h2></div></div><div class="obs-card obs-cta"><span class=obs-cta__icon><i class="fa-solid fa-bolt"aria-hidden=true></i></span><h2 class=obs-cta__title></h2><p class=obs-cta__text></p><div class=obs-cta__actions><a class="obs-btn obs-btn--primary"href=https://developerz-ai.github.io/wurk/ target=_blank rel=noreferrer><i class="fa-solid fa-download"aria-hidden=true></i> </a><a class="obs-btn obs-btn--ghost"href=https://github.com/developerz-ai/wurk/wiki target=_blank rel=noreferrer><i class="fa-solid fa-book"aria-hidden=true></i> `),re=c(`<button role=tab>`),ie=c(`<div class=empty-state style=height:320px;display:grid;place-items:center>`),ae=c(`<div class=empty-state>`),oe=c(`<span class="obs-chip obs-chip--paused">`),se=c(`<tr><td style=font-weight:500;color:var(--obs-text)></td><td></td><td></td><td>`),ce=c(`<span class="obs-chip obs-chip--active">`);function Y(e,t){if(e.length<2)return null;let n=e[e.length-1].at,r=0,i=0;for(let a of e)a.at>n-3600?r+=a[t]:a.at>n-7200&&(i+=a[t]);return i===0?r===0?null:100:Math.round((r-i)/i*100)}var X=[{key:`1h`,bucket:`1m`,window:`24h`,slice:60,desc_key:`dashboard.range_1h_desc`},{key:`24h`,bucket:`1m`,window:`24h`,desc_key:`dashboard.range_24h_desc`},{key:`7d`,bucket:`5m`,window:`7d`,desc_key:`dashboard.range_7d_desc`},{key:`30d`,bucket:`1h`,window:`30d`,desc_key:`dashboard.range_30d_desc`}];function Z(e){return d(t,{get when(){return e.pct!==null},get fallback(){return(()=>{var e=F();return g(e,()=>p(`dashboard.vs_last_hour`)),e})()},get children(){return(()=>{let t=()=>e.pct>=0,n=()=>t()===e.goodWhenUp;return(()=>{var i=I(),a=i.firstChild,o=a.firstChild,s=o.nextSibling;return s.nextSibling,a.nextSibling,g(a,()=>t()?`▲`:`▼`,o),g(a,()=>t()?`+`:``,s),g(a,()=>e.pct,s),g(i,()=>p(`dashboard.vs_last_hour`),null),r(()=>l(a,n()?`up`:`down`)),i})()})()}})}function Q(){let i=b(),[o,c]=_(0),f=()=>X[o()];h(()=>{document.title=`${p(`nav.dashboard`)} — Wurk`});let O=E(()=>({queryKey:[`stats`],queryFn:()=>x(`${S()}/api/stats`),enabled:!i.connected(),refetchInterval:!i.connected()&&5e3})),j=E(()=>({queryKey:[`history`,f().bucket,f().window],queryFn:()=>x(`${S()}/api/history/${f().bucket}?window=${f().window}`),refetchInterval:3e4})),M=()=>i.stats()??O.data??null,N=n(()=>(j.data?.series??[]).map(e=>({...e,label:k(e.at,f().bucket,T)}))),I=n(()=>{let e=f(),t=`slice`in e?e.slice:void 0;return t?N().slice(-t):N()}),Q=n(()=>I().some(e=>e.processed>0||e.failed>0)),$=()=>d(A,{icon:`fa-gauge-high`,get title(){return p(`nav.dashboard`)},get summary(){return p(`summaries.dashboard`)}});return d(a,{get children(){return[d(s,{get when(){return u(()=>!!O.isLoading)()&&!M()},get children(){var e=L();return g(e,d($,{}),null),g(e,d(C,{count:4}),null),g(e,d(v,{rows:6,cols:4}),null),e}}),d(s,{get when(){return u(()=>!!O.isError)()&&!M()},get children(){var e=R(),t=e.firstChild;return g(e,d($,{}),t),g(t,()=>p(`common.error`)),e}}),d(s,{get when(){return!M()},get children(){var e=z(),t=e.firstChild;return g(e,d($,{}),t),g(t,()=>p(`common.empty`)),e}}),d(s,{get when(){return M()},children:n=>(()=>{var i=ne(),a=i.firstChild,s=a.nextSibling,h=s.firstChild,_=h.firstChild,v=_.firstChild,b=v.nextSibling,x=_.nextSibling.firstChild,S=x.nextSibling.firstChild;S.firstChild.nextSibling;var C=S.nextSibling;C.firstChild.nextSibling;var T=h.nextSibling,E=s.nextSibling,O=E.nextSibling,k=O.firstChild,A=k.firstChild,M=O.nextSibling.firstChild.nextSibling,L=M.nextSibling,R=L.nextSibling.firstChild;R.firstChild.nextSibling;var z=R.nextSibling;return z.firstChild.nextSibling,g(i,d($,{}),a),g(a,d(y,{class:`obs-card obs-metric obs-card--link`,href:`/metrics`,get children(){return[(()=>{var e=B(),t=e.firstChild;return g(t,()=>p(`dashboard.processed`)),e})(),(()=>{var e=V();return g(e,d(P,{get value(){return n().processed}})),e})(),d(Z,{get pct(){return Y(N(),`processed`)},goodWhenUp:!0}),H()]}}),null),g(a,d(y,{class:`obs-card obs-metric obs-card--link`,href:`/retries`,get children(){return[(()=>{var e=U(),t=e.firstChild;return g(t,()=>p(`dashboard.failed`)),e})(),(()=>{var e=V();return g(e,d(P,{get value(){return n().failed}})),e})(),d(Z,{get pct(){return Y(N(),`failed`)},goodWhenUp:!1}),H()]}}),null),g(a,d(y,{class:`obs-card obs-metric obs-card--link`,href:`/dead`,get children(){return[(()=>{var e=W(),t=e.firstChild;return g(t,()=>p(`dashboard.expired`)),e})(),(()=>{var e=V();return g(e,d(P,{get value(){return n().expired}})),e})(),(()=>{var e=F();return g(e,(()=>{var e=u(()=>n().expired===0);return()=>e()?p(`dashboard.stable_threshold`):p(`dashboard.above_threshold`)})()),e})(),H()]}}),null),g(a,d(y,{class:`obs-card obs-metric obs-card--link`,href:`/busy`,get children(){return[(()=>{var e=G(),t=e.firstChild;return g(t,()=>p(`dashboard.busy`)),e})(),(()=>{var e=V();return g(e,d(P,{get value(){return n().busy}})),e})(),(()=>{var e=F();return g(e,(()=>{var e=u(()=>n().busy===0);return()=>e()?p(`dashboard.system_idle`):p(`dashboard.processing`)})()),e})(),H()]}}),null),g(v,()=>p(`dashboard.performance_insight`)),g(b,()=>p(`dashboard.perf_subtitle`,{range:p(f().desc_key)})),g(x,d(e,{each:X,children:(e,t)=>(()=>{var n=re();return n.$$click=()=>c(t()),g(n,()=>e.key),r(e=>{var r=t()===o(),i=t()===o()?`is-active`:``;return r!==e.e&&m(n,`aria-selected`,e.e=r),i!==e.t&&l(n,e.t=i),e},{e:void 0,t:void 0}),n})()})),g(S,()=>p(`dashboard.processed`),null),g(C,()=>p(`dashboard.failed`),null),g(T,d(t,{get when(){return!j.isPending},get fallback(){return d(w,{height:320})},get children(){return d(t,{get when(){return Q()},get fallback(){return(()=>{var e=ie();return g(e,()=>p(`dashboard.no_history`)),e})()},get children(){return d(ee,{get data(){return I()},height:320,xMinTickGap:64,get series(){return[{key:`processed`,name:p(`dashboard.processed`),stroke:`var(--mono-1)`,strokeWidth:2,fill:`gradient`},{key:`failed`,name:p(`dashboard.failed`),stroke:`var(--mono-3)`,strokeWidth:1.5,strokeDasharray:`5 4`,fill:`none`}]}})}})}})),g(E,d(y,{class:`obs-card obs-stat obs-card--link`,href:`/queues`,get children(){return[(()=>{var e=K();return g(e,()=>p(`dashboard.enqueued`)),e})(),(()=>{var e=q();return g(e,d(P,{get value(){return n().enqueued}})),e})(),H()]}}),null),g(E,d(y,{class:`obs-card obs-stat obs-card--link`,href:`/retries`,get children(){return[(()=>{var e=K();return g(e,()=>p(`dashboard.retries`)),e})(),(()=>{var e=q();return g(e,d(P,{get value(){return n().retries}})),e})(),H()]}}),null),g(E,d(y,{class:`obs-card obs-stat obs-card--link`,href:`/scheduled`,get children(){return[(()=>{var e=K();return g(e,()=>p(`dashboard.scheduled`)),e})(),(()=>{var e=q();return g(e,d(P,{get value(){return n().scheduled}})),e})(),H()]}}),null),g(E,d(y,{class:`obs-card obs-stat obs-card--link`,href:`/dead`,get children(){return[(()=>{var e=K();return g(e,()=>p(`dashboard.dead`)),e})(),(()=>{var e=q();return g(e,d(P,{get value(){return n().dead}})),e})(),H()]}}),null),g(A,()=>p(`table.queues`)),g(k,d(y,{class:`obs-table__link`,href:`/queues`,get children(){return[`View All `,J()]}}),null),g(O,d(t,{get when(){return n().queues.length>0},get fallback(){return(()=>{var e=ae();return g(e,()=>p(`common.empty`)),e})()},get children(){var i=te(),a=i.firstChild.firstChild,o=a.firstChild.firstChild.nextSibling,s=o.nextSibling,c=s.nextSibling,l=a.nextSibling;return g(o,()=>p(`table.size`)),g(s,()=>p(`table.latency`)),g(c,()=>p(`table.status`)),g(l,d(e,{get each(){return n().queues},children:e=>(()=>{var n=se(),i=n.firstChild,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling;return g(i,()=>e.name),g(a,d(P,{get value(){return e.size}})),g(o,()=>D(e.latency)),g(s,d(t,{get when(){return e.paused},get fallback(){return(()=>{var e=ce();return g(e,()=>p(`dashboard.active`)),e})()},get children(){var e=oe();return g(e,()=>p(`dashboard.paused`)),e}})),r(()=>m(o,`title`,`${e.latency.toFixed(3)}s`)),n})()})),i}}),null),g(M,()=>p(`dashboard.strapline`)),g(L,()=>p(`dashboard.tagline`)),g(R,()=>p(`dashboard.install`),null),g(z,()=>p(`dashboard.docs`),null),r(()=>m(x,`aria-label`,p(`metrics.time_range`))),i})()})]}})}f([`click`]);export{Q as default};
1
+ import{C as e,E as t,F as n,I as r,K as i,O as a,P as o,T as s,_ as c,c as l,d as u,j as d,l as f,o as p,p as m,q as h,u as g,z as _}from"./i18n-BZClP62Q.js";import{a as v,b as y,c as b,f as x,h as S,i as C,r as w,s as T,v as E}from"./index-BOTVSP9M.js";import{i as D,o as O,r as k}from"./utils-CGyrKpTh.js";import{t as A}from"./PageHeader-DjIAFTyX.js";import{r as ee}from"./charts-Bg2YBcaD.js";var j=e=>1-(1-e)**3,M=()=>typeof window<`u`&&window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches;function N(e,t=700){let[n,r]=_(0),a=0,s=null;return o(()=>{let n=e();if(M()||!Number.isFinite(n)){a=n,r(n);return}let o=a;if(o===n)return;let c=performance.now(),l=e=>{let i=Math.min((e-c)/t,1),u=o+(n-o)*j(i);a=u,r(u),i<1&&(s=requestAnimationFrame(l))};s=requestAnimationFrame(l),i(()=>{s!==null&&cancelAnimationFrame(s)})}),n}function P(e){let t=N(()=>e.value);return u(()=>O(Math.round(t())))}var F=c(`<span class=obs-metric__sub>`),I=c(`<span class=obs-metric__sub><span> <!>%</span> `),L=c(`<div class=obs>`),R=c(`<div class=obs><div class=empty-state style=color:var(--danger)>`),z=c(`<div class=obs><div class=empty-state>`),B=c(`<div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-circle-check obs-metric__icon"aria-hidden=true>`),V=c(`<span class=obs-metric__value>`),H=c(`<i class="fa-solid fa-arrow-right obs-card__go"aria-hidden=true>`),U=c(`<div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-triangle-exclamation obs-metric__icon"aria-hidden=true>`),W=c(`<div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-ban obs-metric__icon"aria-hidden=true>`),G=c(`<div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-spinner obs-metric__icon"aria-hidden=true>`),K=c(`<span class=obs-mono>`),q=c(`<span class=obs-stat__value>`),J=c(`<i class="fa-solid fa-arrow-right"aria-hidden=true>`),te=c(`<div class=obs-tablescroll><table><thead><tr><th>Name</th><th></th><th></th><th></th></tr></thead><tbody>`),ne=c(`<div class=obs><div class=obs-metrics></div><div class="obs-card obs-panel"><div class=obs-panel__head><div><h2 class=obs-panel__title></h2><p class=obs-panel__sub></p></div><div class=obs-panel__controls><div class=obs-seg role=tablist></div><div class=obs-legend><span><i class="dot dot--processed"></i> </span><span><i class="dot dot--failed"></i> </span></div></div></div><div class=obs-chartbox></div></div><div class=obs-stats></div><div class="obs-card obs-table"><div class=obs-table__head><h2 class=obs-table__title></h2></div></div><div class="obs-card obs-cta"><span class=obs-cta__icon><i class="fa-solid fa-bolt"aria-hidden=true></i></span><h2 class=obs-cta__title></h2><p class=obs-cta__text></p><div class=obs-cta__actions><a class="obs-btn obs-btn--primary"href=https://developerz-ai.github.io/wurk/ target=_blank rel=noreferrer><i class="fa-solid fa-download"aria-hidden=true></i> </a><a class="obs-btn obs-btn--ghost"href=https://github.com/developerz-ai/wurk/wiki target=_blank rel=noreferrer><i class="fa-solid fa-book"aria-hidden=true></i> `),re=c(`<button role=tab>`),ie=c(`<div class=empty-state style=height:320px;display:grid;place-items:center>`),ae=c(`<div class=empty-state>`),oe=c(`<span class="obs-chip obs-chip--paused">`),se=c(`<tr><td style=font-weight:500;color:var(--obs-text)></td><td></td><td></td><td>`),ce=c(`<span class="obs-chip obs-chip--active">`);function Y(e,t){if(e.length<2)return null;let n=e[e.length-1].at,r=0,i=0;for(let a of e)a.at>n-3600?r+=a[t]:a.at>n-7200&&(i+=a[t]);return i===0?r===0?null:100:Math.round((r-i)/i*100)}var X=[{key:`1h`,bucket:`1m`,window:`24h`,slice:60,desc_key:`dashboard.range_1h_desc`},{key:`24h`,bucket:`1m`,window:`24h`,desc_key:`dashboard.range_24h_desc`},{key:`7d`,bucket:`5m`,window:`7d`,desc_key:`dashboard.range_7d_desc`},{key:`30d`,bucket:`1h`,window:`30d`,desc_key:`dashboard.range_30d_desc`}];function Z(e){return d(t,{get when(){return e.pct!==null},get fallback(){return(()=>{var e=F();return g(e,()=>p(`dashboard.vs_last_hour`)),e})()},get children(){return(()=>{let t=()=>e.pct>=0,n=()=>t()===e.goodWhenUp;return(()=>{var i=I(),a=i.firstChild,o=a.firstChild,s=o.nextSibling;return s.nextSibling,a.nextSibling,g(a,()=>t()?`▲`:`▼`,o),g(a,()=>t()?`+`:``,s),g(a,()=>e.pct,s),g(i,()=>p(`dashboard.vs_last_hour`),null),r(()=>l(a,n()?`up`:`down`)),i})()})()}})}function Q(){let i=b(),[o,c]=_(0),f=()=>X[o()];h(()=>{document.title=`${p(`nav.dashboard`)} — Wurk`});let O=E(()=>({queryKey:[`stats`],queryFn:()=>x(`${S()}/api/stats`),enabled:!i.connected(),refetchInterval:!i.connected()&&5e3})),j=E(()=>({queryKey:[`history`,f().bucket,f().window],queryFn:()=>x(`${S()}/api/history/${f().bucket}?window=${f().window}`),refetchInterval:3e4})),M=()=>i.stats()??O.data??null,N=n(()=>(j.data?.series??[]).map(e=>({...e,label:k(e.at,f().bucket,T)}))),I=n(()=>{let e=f(),t=`slice`in e?e.slice:void 0;return t?N().slice(-t):N()}),Q=n(()=>I().some(e=>e.processed>0||e.failed>0)),$=()=>d(A,{icon:`fa-gauge-high`,get title(){return p(`nav.dashboard`)},get summary(){return p(`summaries.dashboard`)}});return d(a,{get children(){return[d(s,{get when(){return u(()=>!!O.isLoading)()&&!M()},get children(){var e=L();return g(e,d($,{}),null),g(e,d(C,{count:4}),null),g(e,d(v,{rows:6,cols:4}),null),e}}),d(s,{get when(){return u(()=>!!O.isError)()&&!M()},get children(){var e=R(),t=e.firstChild;return g(e,d($,{}),t),g(t,()=>p(`common.error`)),e}}),d(s,{get when(){return!M()},get children(){var e=z(),t=e.firstChild;return g(e,d($,{}),t),g(t,()=>p(`common.empty`)),e}}),d(s,{get when(){return M()},children:n=>(()=>{var i=ne(),a=i.firstChild,s=a.nextSibling,h=s.firstChild,_=h.firstChild,v=_.firstChild,b=v.nextSibling,x=_.nextSibling.firstChild,S=x.nextSibling.firstChild;S.firstChild.nextSibling;var C=S.nextSibling;C.firstChild.nextSibling;var T=h.nextSibling,E=s.nextSibling,O=E.nextSibling,k=O.firstChild,A=k.firstChild,M=O.nextSibling.firstChild.nextSibling,L=M.nextSibling,R=L.nextSibling.firstChild;R.firstChild.nextSibling;var z=R.nextSibling;return z.firstChild.nextSibling,g(i,d($,{}),a),g(a,d(y,{class:`obs-card obs-metric obs-card--link`,href:`/metrics`,get children(){return[(()=>{var e=B(),t=e.firstChild;return g(t,()=>p(`dashboard.processed`)),e})(),(()=>{var e=V();return g(e,d(P,{get value(){return n().processed}})),e})(),d(Z,{get pct(){return Y(N(),`processed`)},goodWhenUp:!0}),H()]}}),null),g(a,d(y,{class:`obs-card obs-metric obs-card--link`,href:`/retries`,get children(){return[(()=>{var e=U(),t=e.firstChild;return g(t,()=>p(`dashboard.failed`)),e})(),(()=>{var e=V();return g(e,d(P,{get value(){return n().failed}})),e})(),d(Z,{get pct(){return Y(N(),`failed`)},goodWhenUp:!1}),H()]}}),null),g(a,d(y,{class:`obs-card obs-metric obs-card--link`,href:`/dead`,get children(){return[(()=>{var e=W(),t=e.firstChild;return g(t,()=>p(`dashboard.expired`)),e})(),(()=>{var e=V();return g(e,d(P,{get value(){return n().expired}})),e})(),(()=>{var e=F();return g(e,(()=>{var e=u(()=>n().expired===0);return()=>e()?p(`dashboard.stable_threshold`):p(`dashboard.above_threshold`)})()),e})(),H()]}}),null),g(a,d(y,{class:`obs-card obs-metric obs-card--link`,href:`/busy`,get children(){return[(()=>{var e=G(),t=e.firstChild;return g(t,()=>p(`dashboard.busy`)),e})(),(()=>{var e=V();return g(e,d(P,{get value(){return n().busy}})),e})(),(()=>{var e=F();return g(e,(()=>{var e=u(()=>n().busy===0);return()=>e()?p(`dashboard.system_idle`):p(`dashboard.processing`)})()),e})(),H()]}}),null),g(v,()=>p(`dashboard.performance_insight`)),g(b,()=>p(`dashboard.perf_subtitle`,{range:p(f().desc_key)})),g(x,d(e,{each:X,children:(e,t)=>(()=>{var n=re();return n.$$click=()=>c(t()),g(n,()=>e.key),r(e=>{var r=t()===o(),i=t()===o()?`is-active`:``;return r!==e.e&&m(n,`aria-selected`,e.e=r),i!==e.t&&l(n,e.t=i),e},{e:void 0,t:void 0}),n})()})),g(S,()=>p(`dashboard.processed`),null),g(C,()=>p(`dashboard.failed`),null),g(T,d(t,{get when(){return!j.isPending},get fallback(){return d(w,{height:320})},get children(){return d(t,{get when(){return Q()},get fallback(){return(()=>{var e=ie();return g(e,()=>p(`dashboard.no_history`)),e})()},get children(){return d(ee,{get data(){return I()},height:320,xMinTickGap:64,get series(){return[{key:`processed`,name:p(`dashboard.processed`),stroke:`var(--mono-1)`,strokeWidth:2,fill:`gradient`},{key:`failed`,name:p(`dashboard.failed`),stroke:`var(--mono-3)`,strokeWidth:1.5,strokeDasharray:`5 4`,fill:`none`}]}})}})}})),g(E,d(y,{class:`obs-card obs-stat obs-card--link`,href:`/queues`,get children(){return[(()=>{var e=K();return g(e,()=>p(`dashboard.enqueued`)),e})(),(()=>{var e=q();return g(e,d(P,{get value(){return n().enqueued}})),e})(),H()]}}),null),g(E,d(y,{class:`obs-card obs-stat obs-card--link`,href:`/retries`,get children(){return[(()=>{var e=K();return g(e,()=>p(`dashboard.retries`)),e})(),(()=>{var e=q();return g(e,d(P,{get value(){return n().retries}})),e})(),H()]}}),null),g(E,d(y,{class:`obs-card obs-stat obs-card--link`,href:`/scheduled`,get children(){return[(()=>{var e=K();return g(e,()=>p(`dashboard.scheduled`)),e})(),(()=>{var e=q();return g(e,d(P,{get value(){return n().scheduled}})),e})(),H()]}}),null),g(E,d(y,{class:`obs-card obs-stat obs-card--link`,href:`/dead`,get children(){return[(()=>{var e=K();return g(e,()=>p(`dashboard.dead`)),e})(),(()=>{var e=q();return g(e,d(P,{get value(){return n().dead}})),e})(),H()]}}),null),g(A,()=>p(`table.queues`)),g(k,d(y,{class:`obs-table__link`,href:`/queues`,get children(){return[`View All `,J()]}}),null),g(O,d(t,{get when(){return n().queues.length>0},get fallback(){return(()=>{var e=ae();return g(e,()=>p(`common.empty`)),e})()},get children(){var i=te(),a=i.firstChild.firstChild,o=a.firstChild.firstChild.nextSibling,s=o.nextSibling,c=s.nextSibling,l=a.nextSibling;return g(o,()=>p(`table.size`)),g(s,()=>p(`table.latency`)),g(c,()=>p(`table.status`)),g(l,d(e,{get each(){return n().queues},children:e=>(()=>{var n=se(),i=n.firstChild,a=i.nextSibling,o=a.nextSibling,s=o.nextSibling;return g(i,()=>e.name),g(a,d(P,{get value(){return e.size}})),g(o,()=>D(e.latency)),g(s,d(t,{get when(){return e.paused},get fallback(){return(()=>{var e=ce();return g(e,()=>p(`dashboard.active`)),e})()},get children(){var e=oe();return g(e,()=>p(`dashboard.paused`)),e}})),r(()=>m(o,`title`,`${e.latency.toFixed(3)}s`)),n})()})),i}}),null),g(M,()=>p(`dashboard.strapline`)),g(L,()=>p(`dashboard.tagline`)),g(R,()=>p(`dashboard.install`),null),g(z,()=>p(`dashboard.docs`),null),r(()=>m(x,`aria-label`,p(`metrics.time_range`))),i})()})]}})}f([`click`]);export{Q as default};
@@ -1 +1 @@
1
- import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,l as c,o as l,p as u,q as d,u as f,z as p}from"./i18n-B6AbnmJn.js";import{S as m,a as h,u as g}from"./index-CTWV8VL4.js";import{l as _,n as v,o as ee,s as y,u as b}from"./utils-DnzJXljj.js";import{i as x}from"./useResetPageOnEmpty-BsYWeStI.js";import{n as S,t as C}from"./useSort-BWWfpnZH.js";import{t as w}from"./PageHeader-CeSaqysY.js";import{t as T}from"./ArgsValue-_MYkd_vA.js";import{t as E}from"./JobDetailModal-BrjmO98c.js";import{a as te,i as D,n as ne,o as re,r as ie,s as ae,t as oe}from"./FilterBox-BfZm8ZzH.js";var O=a(`<span class=badge>`),k=a(`<div class=empty-state style=color:var(--danger)>`),A=a(`<div>`),j=a(`<span class="badge badge-danger">`),M=a(`<th class=row-action><input type=checkbox>`),N=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),P=a(`<div class=empty-state>`),F=a(`<td class=row-action><input type=checkbox>`),I=a(`<tr class=row-clickable><td style=font-family:monospace;font-size:12px;color:var(--text-muted)></td><td style=font-weight:500></td><td></td><td style=color:var(--danger)></td><td></td><td>`),L={jid:e=>e.jid,klass:e=>e.klass,args:e=>v(e.args),error_class:e=>e.error_class,error_message:e=>e.error_message,failed_at:e=>e.at},R=[{cmd:`retry`,label:l(`actions.retry`)},{cmd:`delete`,label:l(`actions.delete`),danger:!0}];function z(){let a=m(),c=ie(`dead`,ne(a.key)),z=c.query,[B,V]=p(null),[H,U]=p(null),W=g(),G=()=>W.data?.read_only??!1,K=re(),{single:q,bulk:J,all:Y}=te(`dead`),se=()=>q.isPending||J.isPending||Y.isPending;d(()=>{document.title=`${l(`nav.dead`)} — Wurk`});let{sorted:X,sort:Z,toggle:Q}=C(()=>z.data?.entries??[],L),$=()=>X().map(D),ce=()=>$().length>0&&$().every(e=>K.selected().has(e));return(()=>{var a=A();return f(a,s(w,{icon:`fa-skull`,get title(){return l(`nav.dead`)},get summary(){return l(`summaries.dead`)},get children(){return[s(t,{get when(){return z.data},children:e=>(()=>{var t=j();return f(t,()=>ee(e().total)),t})()}),s(t,{get when(){return o(()=>!!c.filtered())()&&c.matching()!==void 0},get children(){var e=O();return f(e,()=>l(`common.matching`,{n:c.matching()})),e}})]}}),null),f(a,s(oe,{get value(){return c.filter()},get onChange(){return c.onFilterChange},get placeholder(){return l(`common.filter_placeholder`)}}),null),f(a,s(r,{get children(){return[s(i,{get when(){return z.isPending},get children(){return s(h,{rows:8,cols:7})}}),s(i,{get when(){return z.isError||!z.data},get children(){var e=k();return f(e,()=>l(`common.error`)),e}}),s(i,{get when(){return z.data},children:r=>(()=>{var i=A();return f(i,s(t,{get when(){return X().length>0},get fallback(){return(()=>{var e=P();return f(e,()=>l(`common.empty`)),e})()},get children(){return[s(t,{get when(){return!G()},get children(){return s(ae,{bulk:R,all:R,get selectedCount(){return K.count()},get total(){return r().total},get filtered(){return c.filtered()},get matching(){return c.matching()},get pending(){return se()},onBulk:e=>J.mutate({keys:[...K.selected()],cmd:e},{onSuccess:K.clear}),onAll:e=>Y.mutate(e,{onSuccess:K.clear})})}}),(()=>{var r=N(),i=r.firstChild.firstChild,a=i.firstChild,o=i.nextSibling;return f(a,s(t,{get when(){return!G()},get children(){var e=M(),t=e.firstChild;return t.addEventListener(`change`,()=>K.toggleAll($())),n(()=>u(t,`aria-label`,l(`table.select_all`))),n(()=>t.checked=ce()),e}}),null),f(a,s(S,{get label(){return l(`table.jid`)},sortKey:`jid`,get sort(){return Z()},onSort:Q}),null),f(a,s(S,{get label(){return l(`table.class`)},sortKey:`klass`,get sort(){return Z()},onSort:Q}),null),f(a,s(S,{get label(){return l(`table.args`)},sortKey:`args`,get sort(){return Z()},onSort:Q}),null),f(a,s(S,{get label(){return l(`table.error`)},sortKey:`error_class`,get sort(){return Z()},onSort:Q}),null),f(a,s(S,{get label(){return l(`table.message`)},sortKey:`error_message`,get sort(){return Z()},onSort:Q}),null),f(a,s(S,{get label(){return l(`table.failed_at`)},sortKey:`failed_at`,get sort(){return Z()},onSort:Q}),null),f(o,s(e,{get each(){return X()},children:e=>{let r=v(e.args),i=D(e);return(()=>{var a=I(),o=a.firstChild,c=o.nextSibling,d=c.nextSibling,p=d.nextSibling,m=p.nextSibling,h=m.nextSibling;return a.$$click=()=>{V(e),U(i)},f(a,s(t,{get when(){return!G()},get children(){var e=F(),t=e.firstChild;return e.$$click=e=>e.stopPropagation(),t.addEventListener(`change`,()=>K.toggle(i)),n(()=>u(t,`aria-label`,l(`table.select_row`))),n(()=>t.checked=K.selected().has(i)),e}}),o),f(o,()=>b(e.jid,12)),f(c,()=>e.klass),f(d,s(T,{str:r,max:40})),f(p,()=>b(e.error_class,25)),f(m,()=>b(e.error_message,40)),f(h,()=>_(e.at)),n(t=>{var n=e.jid,r=e.error_class??``,i=e.error_message??``,a=y(e.at);return n!==t.e&&u(o,`title`,t.e=n),r!==t.t&&u(p,`title`,t.t=r),i!==t.a&&u(m,`title`,t.a=i),a!==t.o&&u(h,`title`,t.o=a),t},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}})),r})(),s(x,{get page(){return c.page()},get total(){return c.pagerTotal()},count:25,get maxPage(){return c.maxPage()},get onChange(){return c.setPage}})]}}),null),f(i,s(E,{get entry(){return B()},get atLabel(){return l(`table.failed_at`)},get actions(){return G()?void 0:R},get pending(){return q.isPending},onAction:e=>{let t=H();t&&q.mutate({key:t,cmd:e},{onSuccess:()=>{V(null),U(null)}})},onClose:()=>{V(null),U(null)}}),null),i})()})]}}),null),a})()}c([`click`]);export{z as default};
1
+ import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,l as c,o as l,p as u,q as d,u as f,z as p}from"./i18n-BZClP62Q.js";import{S as m,a as h,u as g}from"./index-BOTVSP9M.js";import{l as _,n as v,o as ee,s as y,u as b}from"./utils-CGyrKpTh.js";import{i as x}from"./useResetPageOnEmpty-BRPNyV2M.js";import{n as S,t as C}from"./useSort-B-BLJik7.js";import{t as w}from"./PageHeader-DjIAFTyX.js";import{t as T}from"./ArgsValue-DDqX6XWH.js";import{t as E}from"./JobDetailModal-Cuk3jruU.js";import{a as te,i as D,n as ne,o as re,r as ie,s as ae,t as oe}from"./FilterBox-BDo-7IAy.js";var O=a(`<span class=badge>`),k=a(`<div class=empty-state style=color:var(--danger)>`),A=a(`<div>`),j=a(`<span class="badge badge-danger">`),M=a(`<th class=row-action><input type=checkbox>`),N=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),P=a(`<div class=empty-state>`),F=a(`<td class=row-action><input type=checkbox>`),I=a(`<tr class=row-clickable><td style=font-family:monospace;font-size:12px;color:var(--text-muted)></td><td style=font-weight:500></td><td></td><td style=color:var(--danger)></td><td></td><td>`),L={jid:e=>e.jid,klass:e=>e.klass,args:e=>v(e.args),error_class:e=>e.error_class,error_message:e=>e.error_message,failed_at:e=>e.at},R=[{cmd:`retry`,label:l(`actions.retry`)},{cmd:`delete`,label:l(`actions.delete`),danger:!0}];function z(){let a=m(),c=ie(`dead`,ne(a.key)),z=c.query,[B,V]=p(null),[H,U]=p(null),W=g(),G=()=>W.data?.read_only??!1,K=re(),{single:q,bulk:J,all:Y}=te(`dead`),se=()=>q.isPending||J.isPending||Y.isPending;d(()=>{document.title=`${l(`nav.dead`)} — Wurk`});let{sorted:X,sort:Z,toggle:Q}=C(()=>z.data?.entries??[],L),$=()=>X().map(D),ce=()=>$().length>0&&$().every(e=>K.selected().has(e));return(()=>{var a=A();return f(a,s(w,{icon:`fa-skull`,get title(){return l(`nav.dead`)},get summary(){return l(`summaries.dead`)},get children(){return[s(t,{get when(){return z.data},children:e=>(()=>{var t=j();return f(t,()=>ee(e().total)),t})()}),s(t,{get when(){return o(()=>!!c.filtered())()&&c.matching()!==void 0},get children(){var e=O();return f(e,()=>l(`common.matching`,{n:c.matching()})),e}})]}}),null),f(a,s(oe,{get value(){return c.filter()},get onChange(){return c.onFilterChange},get placeholder(){return l(`common.filter_placeholder`)}}),null),f(a,s(r,{get children(){return[s(i,{get when(){return z.isPending},get children(){return s(h,{rows:8,cols:7})}}),s(i,{get when(){return z.isError||!z.data},get children(){var e=k();return f(e,()=>l(`common.error`)),e}}),s(i,{get when(){return z.data},children:r=>(()=>{var i=A();return f(i,s(t,{get when(){return X().length>0},get fallback(){return(()=>{var e=P();return f(e,()=>l(`common.empty`)),e})()},get children(){return[s(t,{get when(){return!G()},get children(){return s(ae,{bulk:R,all:R,get selectedCount(){return K.count()},get total(){return r().total},get filtered(){return c.filtered()},get matching(){return c.matching()},get pending(){return se()},onBulk:e=>J.mutate({keys:[...K.selected()],cmd:e},{onSuccess:K.clear}),onAll:e=>Y.mutate(e,{onSuccess:K.clear})})}}),(()=>{var r=N(),i=r.firstChild.firstChild,a=i.firstChild,o=i.nextSibling;return f(a,s(t,{get when(){return!G()},get children(){var e=M(),t=e.firstChild;return t.addEventListener(`change`,()=>K.toggleAll($())),n(()=>u(t,`aria-label`,l(`table.select_all`))),n(()=>t.checked=ce()),e}}),null),f(a,s(S,{get label(){return l(`table.jid`)},sortKey:`jid`,get sort(){return Z()},onSort:Q}),null),f(a,s(S,{get label(){return l(`table.class`)},sortKey:`klass`,get sort(){return Z()},onSort:Q}),null),f(a,s(S,{get label(){return l(`table.args`)},sortKey:`args`,get sort(){return Z()},onSort:Q}),null),f(a,s(S,{get label(){return l(`table.error`)},sortKey:`error_class`,get sort(){return Z()},onSort:Q}),null),f(a,s(S,{get label(){return l(`table.message`)},sortKey:`error_message`,get sort(){return Z()},onSort:Q}),null),f(a,s(S,{get label(){return l(`table.failed_at`)},sortKey:`failed_at`,get sort(){return Z()},onSort:Q}),null),f(o,s(e,{get each(){return X()},children:e=>{let r=v(e.args),i=D(e);return(()=>{var a=I(),o=a.firstChild,c=o.nextSibling,d=c.nextSibling,p=d.nextSibling,m=p.nextSibling,h=m.nextSibling;return a.$$click=()=>{V(e),U(i)},f(a,s(t,{get when(){return!G()},get children(){var e=F(),t=e.firstChild;return e.$$click=e=>e.stopPropagation(),t.addEventListener(`change`,()=>K.toggle(i)),n(()=>u(t,`aria-label`,l(`table.select_row`))),n(()=>t.checked=K.selected().has(i)),e}}),o),f(o,()=>b(e.jid,12)),f(c,()=>e.klass),f(d,s(T,{str:r,max:40})),f(p,()=>b(e.error_class,25)),f(m,()=>b(e.error_message,40)),f(h,()=>_(e.at)),n(t=>{var n=e.jid,r=e.error_class??``,i=e.error_message??``,a=y(e.at);return n!==t.e&&u(o,`title`,t.e=n),r!==t.t&&u(p,`title`,t.t=r),i!==t.a&&u(m,`title`,t.a=i),a!==t.o&&u(h,`title`,t.o=a),t},{e:void 0,t:void 0,a:void 0,o:void 0}),a})()}})),r})(),s(x,{get page(){return c.page()},get total(){return c.pagerTotal()},count:25,get maxPage(){return c.maxPage()},get onChange(){return c.setPage}})]}}),null),f(i,s(E,{get entry(){return B()},get atLabel(){return l(`table.failed_at`)},get actions(){return G()?void 0:R},get pending(){return q.isPending},onAction:e=>{let t=H();t&&q.mutate({key:t,cmd:e},{onSuccess:()=>{V(null),U(null)}})},onClose:()=>{V(null),U(null)}}),null),i})()})]}}),null),a})()}c([`click`]);export{z as default};
@@ -0,0 +1 @@
1
+ import{E as e,I as t,K as n,P as r,_ as i,d as a,j as o,o as s,p as c,u as l,v as u,z as d}from"./i18n-BZClP62Q.js";import{S as f,a as p,d as m,h,r as g,u as _}from"./index-BOTVSP9M.js";import{t as v}from"./PageHeader-DjIAFTyX.js";var y=`.ext-view{all:initial;min-width:0;color:var(--text);background:var(--surface);font-family:var(--font-sans,sans-serif);text-align:start;font-size:.875rem;line-height:1.5;display:block;overflow-x:auto}.ext-view,.ext-view *,.ext-view :before,.ext-view :after{box-sizing:border-box}.ext-view input,.ext-view select,.ext-view textarea,.ext-view button{font-family:inherit;line-height:inherit}.ext-view table{border-collapse:collapse;width:100%;font-size:.8125rem}.ext-view th,.ext-view td{border-bottom:.0625rem solid var(--border);text-align:start;padding:.5rem .75rem}.ext-view th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.6875rem}.ext-view a{color:var(--accent)}.ext-view h1,.ext-view h2,.ext-view h3{margin:.5rem 0}.ext-view form{flex-wrap:wrap;align-items:center;gap:.5rem;max-width:100%;margin:.5rem 0;display:inline-flex}.ext-view input[type=text],.ext-view input[type=search],.ext-view input[type=number],.ext-view select{background:var(--surface-strong);border:.0625rem solid var(--border-strong);color:var(--text);border-radius:.375rem;padding:.35rem .6rem;font-size:.8125rem}.ext-view input[type=submit],.ext-view button{background:var(--surface-strong);border:.0625rem solid var(--border-strong);color:var(--text);cursor:pointer;border-radius:.375rem;padding:.35rem .75rem;font-size:.8125rem}.ext-view input[type=submit]:hover,.ext-view button:hover{border-color:var(--accent)}`,b=i(`<div class=empty-state style=color:var(--danger)>`),x=i(`<div class=skeleton-stack>`),S=i(`<div class=card data-extension-view>`),C=i(`<a class="btn btn-sm"target=_blank rel="noopener noreferrer"><i class="fa-solid fa-arrow-up-right-from-square"style=margin-inline-end:0.4rem>`),w=i(`<iframe style="width:100%;height:calc(100vh - 11rem);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)">`);function T(){let t=f(),n=()=>t.tab??``,r=_(),i=e=>e.replace(/\/+$/,``),a=()=>r.data?.custom_tabs?.find(e=>i(e.path)===i(n())),s=()=>a()?.name??n();return o(e,{get when(){return a()?.ext_name},keyed:!0,get fallback(){return o(O,{get tab(){return n()},get title(){return s()}})},children:e=>o(E,{extName:e,get indexPath(){return n()},get title(){return s()}})})}function E(t){let i=`${h()}/ext/${t.extName}/`,[c,u]=d(null),[f,_]=d(!1),y=0,S,C=async(e,t)=>{let n=++y;S=new AbortController;try{let r=await m(i+e,{...t,signal:S.signal});if(n!==y)return;_(!r.ok&&r.status!==404),u(r.text)}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;n===y&&_(!0)}};n(()=>S?.abort()),r(()=>{C(t.indexPath.replace(/\/+$/,``))});let w=e=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target.closest(`a`);if(!t?.getAttribute(`href`)||t.hasAttribute(`download`))return;let n=t.getAttribute(`target`);if(n&&n!==`_self`)return;let r=new URL(t.href,window.location.origin);r.origin===window.location.origin&&r.pathname.startsWith(i)&&(e.preventDefault(),C(r.pathname.slice(i.length)+r.search))},T=e=>{let t=e.target,n=new URL(t.getAttribute(`action`)||window.location.href,window.location.origin);if(n.origin!==window.location.origin||!n.pathname.startsWith(i))return;e.preventDefault();let r=new FormData(t);if((t.method||`get`).toUpperCase()===`GET`){let e=new URLSearchParams(Array.from(r.entries())).toString();C(`${n.pathname.slice(i.length)}${e?`?${e}`:``}`)}else C(n.pathname.slice(i.length)+n.search,{method:`POST`,body:r})};return[o(v,{icon:`fa-puzzle-piece`,get title(){return t.title},get summary(){return s(`extension.summary`)}}),o(e,{get when(){return f()},get children(){var e=b();return l(e,()=>s(`common.error`)),e}}),o(e,{get when(){return a(()=>c()===null)()&&!f()},get children(){var e=x();return l(e,o(g,{height:`1.5rem`,width:`40%`}),null),l(e,o(p,{rows:6,cols:4}),null),e}}),o(e,{get when(){return a(()=>c()!==null)()&&!f()},get children(){return o(D,{get html(){return c()},onClick:w,onSubmit:T})}})]}function D(e){let t,i=r=>{let i=r.attachShadow({mode:`open`}),a=document.createElement(`style`);a.textContent=y,t=document.createElement(`div`),t.className=`ext-view`,i.append(a,t);let o=t=>e.onClick(t);i.addEventListener(`click`,o),i.addEventListener(`submit`,e.onSubmit),n(()=>{i.removeEventListener(`click`,o),i.removeEventListener(`submit`,e.onSubmit)})};return r(()=>{t.innerHTML=e.html}),(()=>{var e=S();return u(i,e),e})()}function O(e){let n=()=>`${h()}/${e.tab}?wurk_ext_embed=1`;return[o(v,{icon:`fa-puzzle-piece`,get title(){return e.title},get summary(){return s(`extension.summary`)},get children(){var n=C();return n.firstChild,l(n,()=>s(`extension.open`),null),t(()=>c(n,`href`,`${h()}/${e.tab}`)),n}}),(()=>{var r=w();return t(t=>{var i=e.title,a=n();return i!==t.e&&c(r,`title`,t.e=i),a!==t.t&&c(r,`src`,t.t=a),t},{e:void 0,t:void 0}),r})()]}export{T as default};
@@ -0,0 +1,2 @@
1
+ import{C as e,I as t,K as n,P as r,_ as i,c as a,d as o,j as s,l as c,o as l,p as u,u as d,z as f}from"./i18n-BZClP62Q.js";import{_ as p,f as m,g as h,h as g,m as _,n as v,p as y,t as b,v as x,y as S}from"./index-BOTVSP9M.js";import{o as C}from"./utils-CGyrKpTh.js";import{a as w,n as T,r as E,t as D}from"./useResetPageOnEmpty-BRPNyV2M.js";var O=i(`<div class=action-bar><div class=action-bar-group><span class=action-bar-count></span></div><div class=action-bar-group>`),k=i(`<button>`);function A(n){let r=(e,t)=>!e.danger||window.confirm(l(`actions.confirm`,{action:e.label,scope:t}));return(()=>{var i=O(),c=i.firstChild,f=c.firstChild,p=c.nextSibling;return d(f,(()=>{var e=o(()=>n.selectedCount>0);return()=>e()?l(`actions.selected`,{n:n.selectedCount}):o(()=>!!(n.filtered&&n.matching!==void 0))()?l(`actions.matching`,{n:n.matching}):l(`actions.select_hint`)})()),d(c,s(e,{get each(){return n.bulk},children:e=>(()=>{var i=k();return i.$$click=()=>r(e,l(`actions.scope_selected`,{n:n.selectedCount}))&&n.onBulk(e.cmd),d(i,()=>e.label),t(t=>{var r=`btn btn-sm${e.danger?` btn-danger`:``}`,o=n.pending||n.selectedCount===0;return r!==t.e&&a(i,t.e=r),o!==t.t&&(i.disabled=t.t=o),t},{e:void 0,t:void 0}),i})()}),null),d(p,s(e,{get each(){return n.all},children:e=>(()=>{var i=k();return i.$$click=()=>r(e,l(`actions.scope_all`))&&n.onAll(e.cmd),d(i,()=>`${e.label} ${l(`actions.all_suffix`)}`),t(t=>{var r=`btn btn-sm btn-ghost${e.danger?` btn-danger`:``}`,o=n.pending||n.total===0||n.filtered,s=n.filtered?l(`actions.all_filtered_hint`):void 0;return r!==t.e&&a(i,t.e=r),o!==t.t&&(i.disabled=t.t=o),s!==t.a&&u(i,`title`,t.a=s),t},{e:void 0,t:void 0,a:void 0}),i})()})),i})()}c([`click`]);function j(){let[e,t]=f(new Set);return{selected:e,toggle:e=>t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),toggleAll:e=>t(t=>e.length>0&&e.every(e=>t.has(e))?new Set:new Set(e)),clear:()=>t(new Set),count:()=>e().size}}function M(e){return`${e.score}|${e.jid}`}function N(e){let t=h(),n=()=>{t.invalidateQueries({queryKey:[e]}),t.invalidateQueries({queryKey:[`stats`]})},r=e=>{let t=y(e);if(!t)return b(e);let r=l(`toast.partial`,{count:t.count,failed:t.failed.length}),i=t.failed.flatMap(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return[];let{key:t,error:n}=e,r=[t,n].filter(e=>typeof e==`string`);return r.length?[r.join(`: `)]:[]});v([r,...i].join(`
2
+ `),`error`),n()};return{single:p(()=>({mutationFn:({key:t,cmd:n})=>_(`${g()}/api/${e}/${encodeURIComponent(t)}`,{cmd:n}),onSuccess:n,onError:r})),bulk:p(()=>({mutationFn:({keys:t,cmd:n})=>_(`${g()}/api/${e}`,{keys:t,cmd:n}),onSuccess:n,onError:r})),all:p(()=>({mutationFn:t=>_(`${g()}/api/${e}/all/${t}`),onSuccess:n,onError:r}))}}function P(e,t=``){let[n,r]=T(),[i,a]=f(t),o=e=>{a(e),r(1)},s=x(()=>({queryKey:[e,n(),i()],queryFn:()=>m(`${g()}/api/${e}?page=${n()-1}&count=25&substr=${encodeURIComponent(i())}`),placeholderData:S}));D(n,r,()=>!!s.data&&!s.isPlaceholderData,()=>(s.data?.entries.length??0)===0),E(n,r,()=>s.data,()=>s.isPlaceholderData);let c=()=>i()!==``,l=()=>s.data?.filtered_total_exact===!1;return{page:n,setPage:r,filter:i,onFilterChange:o,query:s,filtered:c,matching:()=>{let e=s.data?.filtered_total;if(c()&&typeof e==`number`)return`${C(e)}${l()?`+`:``}`},pagerTotal:()=>{let e=s.data;if(!e)return 0;if(!c())return e.total;let t=e.entries.length>=25;return typeof e.filtered_total==`number`?l()&&t?Math.max(e.filtered_total,n()*25+1):e.filtered_total:t?e.total:(n()-1)*25+e.entries.length},maxPage:()=>w(s.data)}}function F(e){return e?decodeURIComponent(e).split(/[|-]/).pop()??``:``}var I=i(`<div class=filter-box style=margin-bottom:1rem;display:flex><input class=input type=search style=flex:1;max-width:360px>`),L=250;function R(e){let[i,a]=f(e.value);return r(()=>{let t=i(),r=setTimeout(()=>{t!==e.value&&e.onChange(t)},L);n(()=>clearTimeout(r))}),(()=>{var n=I(),r=n.firstChild;return r.$$input=e=>a(e.currentTarget.value),t(t=>{var n=e.placeholder??l(`common.filter_placeholder`),i=e.placeholder??l(`common.filter_placeholder`);return n!==t.e&&u(r,`placeholder`,t.e=n),i!==t.t&&u(r,`aria-label`,t.t=i),t},{e:void 0,t:void 0}),t(()=>r.value=i()),n})()}c([`input`]);export{N as a,M as i,F as n,j as o,P as r,A as s,R as t};
@@ -1 +1 @@
1
- import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,l as c,m as l,o as u,p as d,q as f,u as p}from"./i18n-B6AbnmJn.js";import{S as m,_ as h,b as g,f as _,g as v,h as y,i as b,m as x,t as S,u as C,v as w}from"./index-CTWV8VL4.js";import{l as T,o as E,u as D}from"./utils-DnzJXljj.js";import{n as O,r as k,t as A}from"./FlowState-6lGsojxE.js";var j=a(`<div style=display:flex;flex-direction:column;gap:2px><span style=font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em></span><span style=font-variant-numeric:tabular-nums>`),M=a(`<div class=table-wrapper style=overflow-x:auto;padding:0.5rem><svg role=img style=display:block>`),N=a(`<svg><path fill=none stroke=var(--border) stroke-width=1.5></svg>`,!1,!0,!1),P=a(`<svg><g><title></title><rect width=176 height=54 rx=8 fill=var(--surface) stroke-width=1.5></rect><circle r=4></circle><text fill=var(--text) font-size=12></text><text fill=var(--text-muted) font-size=10.5 font-family=var(--font-mono)></svg>`,!1,!0,!1),F=a(`<div class=table-wrapper><table><thead><tr><th>#</th><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),I=a(`<tr><td style=font-family:monospace;font-size:12px></td><td></td><td></td><td style=font-variant-numeric:tabular-nums></td><td></td><td style=font-family:monospace;font-size:12px></td><td>`),L=a(`<div><div class=section-header style=gap:0.75rem></div><div style=margin-top:1rem>`),R=a(`<div class=empty-state style=color:var(--danger)>`),z=a(`<button class="btn btn-sm btn-danger">`),B=a(`<h2 style="font-size:14px;margin:1.5rem 0 0.5rem">`),V=a(`<div><div class=section-header style=gap:0.75rem><h1 class=page-title style=margin:0;font-family:monospace;font-size:16px></h1></div><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:1rem;margin-top:1rem">`),H=a(`<div class=empty-state style=margin-top:1.5rem>`),U=176,W=54,G=60,K=14,q=10;function J(e){let t=new Map(e.map(e=>[e.index,e])),n=new Map(e.map(e=>[e.index,0])),r=new Map(e.map(e=>[e.index,e.depends_on.filter(e=>t.has(e)).length])),i=e.filter(e=>r.get(e.index)===0).map(e=>e.index);for(let e=0;e<i.length;e++){let a=i[e];for(let e of t.get(a).dependents){if(!t.has(e))continue;n.set(e,Math.max(n.get(e),n.get(a)+1));let o=r.get(e)-1;r.set(e,o),o===0&&i.push(e)}}let a=new Map,o=e.map(e=>{let t=n.get(e.index),r=a.get(t)??0;return a.set(t,r+1),{node:e,x:q+t*236,y:q+r*68}}),s=a.size,c=Math.max(0,...a.values());return{placed:o,at:new Map(o.map(e=>[e.node.index,e])),width:s===0?0:20+s*U+(s-1)*G,height:c===0?0:20+c*W+(c-1)*K}}function Y(e,t){let n=e.x+U,r=e.y+W/2,i=t.x,a=t.y+W/2,o=Math.max(20,(i-n)/2);return`M${n},${r} C${n+o},${r} ${i-o},${a} ${i},${a}`}function X(e){return e.name?`${e.name} · #${e.index}`:`#${e.index}`}function Z(e){return(()=>{var t=j(),n=t.firstChild,r=n.nextSibling;return p(n,()=>e.label),p(r,()=>e.children),t})()}function Q(r){let i=()=>J(r.nodes);return(()=>{var r=M(),a=r.firstChild;return p(a,s(e,{get each(){return i().placed},children:r=>s(e,{get each(){return r.node.depends_on},children:e=>s(t,{get when(){return i().at.get(e)},children:e=>(()=>{var t=N();return n(()=>d(t,`d`,Y(e(),r))),t})()})})}),null),p(a,s(e,{get each(){return i().placed},children:e=>(()=>{var t=P(),r=t.firstChild,i=r.nextSibling,a=i.nextSibling,s=a.nextSibling,c=s.nextSibling;return p(r,()=>`${e.node.klass} — ${k(e.node.state)} — ${e.node.jid}`),p(s,()=>D(e.node.klass,18)),p(c,(()=>{var t=o(()=>!!e.node.piped);return()=>t()?`${X(e.node)} · ${u(`flows.piped`)}`:X(e.node)})()),n(t=>{var n=e.x,r=e.y,o=O(e.node.state),l=e.x+15,u=e.y+W/2,f=O(e.node.state),p=e.x+28,m=e.y+23,h=e.x+28,g=e.y+39;return n!==t.e&&d(i,`x`,t.e=n),r!==t.t&&d(i,`y`,t.t=r),o!==t.a&&d(i,`stroke`,t.a=o),l!==t.o&&d(a,`cx`,t.o=l),u!==t.i&&d(a,`cy`,t.i=u),f!==t.n&&d(a,`fill`,t.n=f),p!==t.s&&d(s,`x`,t.s=p),m!==t.h&&d(s,`y`,t.h=m),h!==t.r&&d(c,`x`,t.r=h),g!==t.d&&d(c,`y`,t.d=g),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0}),t})()}),null),n(e=>{var t=i().width,n=i().height,r=`0 0 ${i().width} ${i().height}`,o=u(`flows.graph`);return t!==e.e&&d(a,`width`,e.e=t),n!==e.t&&d(a,`height`,e.t=n),r!==e.a&&d(a,`viewBox`,e.a=r),o!==e.o&&d(a,`aria-label`,e.o=o),e},{e:void 0,t:void 0,a:void 0,o:void 0}),r})()}function $(t){return(()=>{var r=F(),i=r.firstChild.firstChild,a=i.firstChild.firstChild.nextSibling,c=a.nextSibling,f=c.nextSibling,m=f.nextSibling,h=m.nextSibling,_=h.nextSibling,v=i.nextSibling;return p(a,()=>u(`table.class`)),p(c,()=>u(`table.status`)),p(f,()=>u(`flows.depends_on`)),p(m,()=>u(`table.queue`)),p(h,()=>u(`table.jid`)),p(_,()=>u(`table.error`)),p(v,s(e,{get each(){return t.nodes},children:e=>(()=>{var t=I(),r=t.firstChild,i=r.nextSibling,a=i.nextSibling,c=a.nextSibling,u=c.nextSibling,f=u.nextSibling,m=f.nextSibling;return p(r,()=>X(e)),p(i,()=>D(e.klass,34)),p(a,s(A,{get state(){return e.state}})),p(c,(()=>{var t=o(()=>e.depends_on.length>0);return()=>t()?e.depends_on.map(e=>`#${e}`).join(`, `):`—`})()),p(u,()=>e.queue),p(f,s(g,{get href(){return`/batches/${e.bid}`},get title(){return e.jid},get children(){return D(e.jid,12)}})),p(m,(()=>{var t=o(()=>!!e.error);return()=>t()?D(e.error,48):`—`})()),n(t=>{var n=e.klass,r=e.error?`var(--danger)`:void 0,a=e.error??``;return n!==t.e&&d(i,`title`,t.e=n),r!==t.t&&l(m,`color`,t.t=r),a!==t.a&&d(m,`title`,t.a=a),t},{e:void 0,t:void 0,a:void 0}),t})()})),r})()}function ee(){let e=m(),a=()=>e.fid??``,c=v(),l=C();f(()=>{document.title=`${u(`nav.flows`)} — Wurk`});let D=w(()=>({queryKey:[`flow`,a()],queryFn:()=>_(`${y()}/api/flows/${encodeURIComponent(a())}`),refetchInterval:5e3})),O=h(()=>({mutationFn:()=>x(`${y()}/api/flows/${encodeURIComponent(a())}/abandon`),onSuccess:()=>c.invalidateQueries({queryKey:[`flow`,a()]}),onError:S})),k=()=>window.confirm(u(`actions.confirm`,{action:u(`flows.abandon`),scope:a()}))&&O.mutate();return s(r,{get children(){return[s(i,{get when(){return D.isPending},get children(){var e=L(),t=e.firstChild,n=t.nextSibling;return p(t,s(g,{href:`/flows`,class:`btn btn-sm`,get children(){return[`← `,o(()=>u(`nav.flows`))]}})),p(n,s(b,{count:8})),e}}),s(i,{get when(){return D.isError||!D.data},get children(){var e=R();return p(e,()=>u(`common.error`)),e}}),s(i,{get when(){return D.data},children:e=>{let r=()=>!(l.data?.read_only??!1)&&(e().state===`running`||e().state===`failed`);return(()=>{var i=V(),a=i.firstChild,c=a.firstChild,l=a.nextSibling;return p(a,s(g,{href:`/flows`,class:`btn btn-sm`,get children(){return[`← `,o(()=>u(`nav.flows`))]}}),c),p(c,()=>e().fid),p(a,s(A,{get state(){return e().state}}),null),p(a,s(t,{get when(){return r()},get children(){var e=z();return e.$$click=k,p(e,()=>u(`flows.abandon`)),n(t=>{var n=u(`flows.abandon_hint`),r=O.isPending;return n!==t.e&&d(e,`title`,t.e=n),r!==t.t&&(e.disabled=t.t=r),t},{e:void 0,t:void 0}),e}}),null),p(l,s(Z,{get label(){return u(`flows.nodes`)},get children(){return E(e().total)}}),null),p(l,s(Z,{get label(){return u(`flows.succeeded`)},get children(){return E(e().succeeded)}}),null),p(l,s(Z,{get label(){return u(`table.pending`)},get children(){return E(e().pending)}}),null),p(l,s(Z,{get label(){return u(`flows.depth`)},get children(){return E(e().depth)}}),null),p(l,s(Z,{get label(){return u(`flows.width`)},get children(){return E(e().width)}}),null),p(l,s(Z,{get label(){return u(`table.created`)},get children(){return o(()=>!!e().created_at)()?T(e().created_at):`—`}}),null),p(l,s(t,{get when(){return e().finished_at},get children(){return s(Z,{get label(){return u(`flows.finished`)},get children(){return T(e().finished_at)}})}}),null),p(l,s(t,{get when(){return e().failed_at},get children(){return s(Z,{get label(){return u(`table.failed_at`)},get children(){return T(e().failed_at)}})}}),null),p(l,s(t,{get when(){return e().abandoned_at},get children(){return s(Z,{get label(){return u(`flows.state.abandoned`)},get children(){return T(e().abandoned_at)}})}}),null),p(l,s(t,{get when(){return e().dead_nodes.length>0},get children(){return s(Z,{get label(){return u(`flows.blocked`)},get children(){return e().dead_nodes.map(e=>`#${e}`).join(`, `)}})}}),null),p(i,s(t,{get when(){return e().nodes.length>0},get fallback(){return(()=>{var e=H();return p(e,()=>u(`flows.released`)),e})()},get children(){return[(()=>{var e=B();return p(e,()=>u(`flows.graph`)),e})(),s(Q,{get nodes(){return e().nodes}}),(()=>{var e=B();return p(e,()=>u(`flows.nodes`)),e})(),s($,{get nodes(){return e().nodes}})]}}),null),i})()}})]}})}c([`click`]);export{ee as default,J as layoutFlow};
1
+ import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,l as c,m as l,o as u,p as d,q as f,u as p}from"./i18n-BZClP62Q.js";import{S as m,_ as h,b as g,f as _,g as v,h as y,i as b,m as x,t as S,u as C,v as w}from"./index-BOTVSP9M.js";import{l as T,o as E,u as D}from"./utils-CGyrKpTh.js";import{n as O,r as k,t as A}from"./FlowState-glK2Tnf8.js";var j=a(`<div style=display:flex;flex-direction:column;gap:2px><span style=font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em></span><span style=font-variant-numeric:tabular-nums>`),M=a(`<div class=table-wrapper style=overflow-x:auto;padding:0.5rem><svg role=img style=display:block>`),N=a(`<svg><path fill=none stroke=var(--border) stroke-width=1.5></svg>`,!1,!0,!1),P=a(`<svg><g><title></title><rect width=176 height=54 rx=8 fill=var(--surface) stroke-width=1.5></rect><circle r=4></circle><text fill=var(--text) font-size=12></text><text fill=var(--text-muted) font-size=10.5 font-family=var(--font-mono)></svg>`,!1,!0,!1),F=a(`<div class=table-wrapper><table><thead><tr><th>#</th><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),I=a(`<tr><td style=font-family:monospace;font-size:12px></td><td></td><td></td><td style=font-variant-numeric:tabular-nums></td><td></td><td style=font-family:monospace;font-size:12px></td><td>`),L=a(`<div><div class=section-header style=gap:0.75rem></div><div style=margin-top:1rem>`),R=a(`<div class=empty-state style=color:var(--danger)>`),z=a(`<button class="btn btn-sm btn-danger">`),B=a(`<h2 style="font-size:14px;margin:1.5rem 0 0.5rem">`),V=a(`<div><div class=section-header style=gap:0.75rem><h1 class=page-title style=margin:0;font-family:monospace;font-size:16px></h1></div><div style="display:grid;grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));gap:1rem;margin-top:1rem">`),H=a(`<div class=empty-state style=margin-top:1.5rem>`),U=176,W=54,G=60,K=14,q=10;function J(e){let t=new Map(e.map(e=>[e.index,e])),n=new Map(e.map(e=>[e.index,0])),r=new Map(e.map(e=>[e.index,e.depends_on.filter(e=>t.has(e)).length])),i=e.filter(e=>r.get(e.index)===0).map(e=>e.index);for(let e=0;e<i.length;e++){let a=i[e];for(let e of t.get(a).dependents){if(!t.has(e))continue;n.set(e,Math.max(n.get(e),n.get(a)+1));let o=r.get(e)-1;r.set(e,o),o===0&&i.push(e)}}let a=new Map,o=e.map(e=>{let t=n.get(e.index),r=a.get(t)??0;return a.set(t,r+1),{node:e,x:q+t*236,y:q+r*68}}),s=a.size,c=Math.max(0,...a.values());return{placed:o,at:new Map(o.map(e=>[e.node.index,e])),width:s===0?0:20+s*U+(s-1)*G,height:c===0?0:20+c*W+(c-1)*K}}function Y(e,t){let n=e.x+U,r=e.y+W/2,i=t.x,a=t.y+W/2,o=Math.max(20,(i-n)/2);return`M${n},${r} C${n+o},${r} ${i-o},${a} ${i},${a}`}function X(e){return e.name?`${e.name} · #${e.index}`:`#${e.index}`}function Z(e){return(()=>{var t=j(),n=t.firstChild,r=n.nextSibling;return p(n,()=>e.label),p(r,()=>e.children),t})()}function Q(r){let i=()=>J(r.nodes);return(()=>{var r=M(),a=r.firstChild;return p(a,s(e,{get each(){return i().placed},children:r=>s(e,{get each(){return r.node.depends_on},children:e=>s(t,{get when(){return i().at.get(e)},children:e=>(()=>{var t=N();return n(()=>d(t,`d`,Y(e(),r))),t})()})})}),null),p(a,s(e,{get each(){return i().placed},children:e=>(()=>{var t=P(),r=t.firstChild,i=r.nextSibling,a=i.nextSibling,s=a.nextSibling,c=s.nextSibling;return p(r,()=>`${e.node.klass} — ${k(e.node.state)} — ${e.node.jid}`),p(s,()=>D(e.node.klass,18)),p(c,(()=>{var t=o(()=>!!e.node.piped);return()=>t()?`${X(e.node)} · ${u(`flows.piped`)}`:X(e.node)})()),n(t=>{var n=e.x,r=e.y,o=O(e.node.state),l=e.x+15,u=e.y+W/2,f=O(e.node.state),p=e.x+28,m=e.y+23,h=e.x+28,g=e.y+39;return n!==t.e&&d(i,`x`,t.e=n),r!==t.t&&d(i,`y`,t.t=r),o!==t.a&&d(i,`stroke`,t.a=o),l!==t.o&&d(a,`cx`,t.o=l),u!==t.i&&d(a,`cy`,t.i=u),f!==t.n&&d(a,`fill`,t.n=f),p!==t.s&&d(s,`x`,t.s=p),m!==t.h&&d(s,`y`,t.h=m),h!==t.r&&d(c,`x`,t.r=h),g!==t.d&&d(c,`y`,t.d=g),t},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0,d:void 0}),t})()}),null),n(e=>{var t=i().width,n=i().height,r=`0 0 ${i().width} ${i().height}`,o=u(`flows.graph`);return t!==e.e&&d(a,`width`,e.e=t),n!==e.t&&d(a,`height`,e.t=n),r!==e.a&&d(a,`viewBox`,e.a=r),o!==e.o&&d(a,`aria-label`,e.o=o),e},{e:void 0,t:void 0,a:void 0,o:void 0}),r})()}function $(t){return(()=>{var r=F(),i=r.firstChild.firstChild,a=i.firstChild.firstChild.nextSibling,c=a.nextSibling,f=c.nextSibling,m=f.nextSibling,h=m.nextSibling,_=h.nextSibling,v=i.nextSibling;return p(a,()=>u(`table.class`)),p(c,()=>u(`table.status`)),p(f,()=>u(`flows.depends_on`)),p(m,()=>u(`table.queue`)),p(h,()=>u(`table.jid`)),p(_,()=>u(`table.error`)),p(v,s(e,{get each(){return t.nodes},children:e=>(()=>{var t=I(),r=t.firstChild,i=r.nextSibling,a=i.nextSibling,c=a.nextSibling,u=c.nextSibling,f=u.nextSibling,m=f.nextSibling;return p(r,()=>X(e)),p(i,()=>D(e.klass,34)),p(a,s(A,{get state(){return e.state}})),p(c,(()=>{var t=o(()=>e.depends_on.length>0);return()=>t()?e.depends_on.map(e=>`#${e}`).join(`, `):`—`})()),p(u,()=>e.queue),p(f,s(g,{get href(){return`/batches/${e.bid}`},get title(){return e.jid},get children(){return D(e.jid,12)}})),p(m,(()=>{var t=o(()=>!!e.error);return()=>t()?D(e.error,48):`—`})()),n(t=>{var n=e.klass,r=e.error?`var(--danger)`:void 0,a=e.error??``;return n!==t.e&&d(i,`title`,t.e=n),r!==t.t&&l(m,`color`,t.t=r),a!==t.a&&d(m,`title`,t.a=a),t},{e:void 0,t:void 0,a:void 0}),t})()})),r})()}function ee(){let e=m(),a=()=>e.fid??``,c=v(),l=C();f(()=>{document.title=`${u(`nav.flows`)} — Wurk`});let D=w(()=>({queryKey:[`flow`,a()],queryFn:()=>_(`${y()}/api/flows/${encodeURIComponent(a())}`),refetchInterval:5e3})),O=h(()=>({mutationFn:()=>x(`${y()}/api/flows/${encodeURIComponent(a())}/abandon`),onSuccess:()=>c.invalidateQueries({queryKey:[`flow`,a()]}),onError:S})),k=()=>window.confirm(u(`actions.confirm`,{action:u(`flows.abandon`),scope:a()}))&&O.mutate();return s(r,{get children(){return[s(i,{get when(){return D.isPending},get children(){var e=L(),t=e.firstChild,n=t.nextSibling;return p(t,s(g,{href:`/flows`,class:`btn btn-sm`,get children(){return[`← `,o(()=>u(`nav.flows`))]}})),p(n,s(b,{count:8})),e}}),s(i,{get when(){return D.isError||!D.data},get children(){var e=R();return p(e,()=>u(`common.error`)),e}}),s(i,{get when(){return D.data},children:e=>{let r=()=>!(l.data?.read_only??!1)&&(e().state===`running`||e().state===`failed`);return(()=>{var i=V(),a=i.firstChild,c=a.firstChild,l=a.nextSibling;return p(a,s(g,{href:`/flows`,class:`btn btn-sm`,get children(){return[`← `,o(()=>u(`nav.flows`))]}}),c),p(c,()=>e().fid),p(a,s(A,{get state(){return e().state}}),null),p(a,s(t,{get when(){return r()},get children(){var e=z();return e.$$click=k,p(e,()=>u(`flows.abandon`)),n(t=>{var n=u(`flows.abandon_hint`),r=O.isPending;return n!==t.e&&d(e,`title`,t.e=n),r!==t.t&&(e.disabled=t.t=r),t},{e:void 0,t:void 0}),e}}),null),p(l,s(Z,{get label(){return u(`flows.nodes`)},get children(){return E(e().total)}}),null),p(l,s(Z,{get label(){return u(`flows.succeeded`)},get children(){return E(e().succeeded)}}),null),p(l,s(Z,{get label(){return u(`table.pending`)},get children(){return E(e().pending)}}),null),p(l,s(Z,{get label(){return u(`flows.depth`)},get children(){return E(e().depth)}}),null),p(l,s(Z,{get label(){return u(`flows.width`)},get children(){return E(e().width)}}),null),p(l,s(Z,{get label(){return u(`table.created`)},get children(){return o(()=>!!e().created_at)()?T(e().created_at):`—`}}),null),p(l,s(t,{get when(){return e().finished_at},get children(){return s(Z,{get label(){return u(`flows.finished`)},get children(){return T(e().finished_at)}})}}),null),p(l,s(t,{get when(){return e().failed_at},get children(){return s(Z,{get label(){return u(`table.failed_at`)},get children(){return T(e().failed_at)}})}}),null),p(l,s(t,{get when(){return e().abandoned_at},get children(){return s(Z,{get label(){return u(`flows.state.abandoned`)},get children(){return T(e().abandoned_at)}})}}),null),p(l,s(t,{get when(){return e().dead_nodes.length>0},get children(){return s(Z,{get label(){return u(`flows.blocked`)},get children(){return e().dead_nodes.map(e=>`#${e}`).join(`, `)}})}}),null),p(i,s(t,{get when(){return e().nodes.length>0},get fallback(){return(()=>{var e=H();return p(e,()=>u(`flows.released`)),e})()},get children(){return[(()=>{var e=B();return p(e,()=>u(`flows.graph`)),e})(),s(Q,{get nodes(){return e().nodes}}),(()=>{var e=B();return p(e,()=>u(`flows.nodes`)),e})(),s($,{get nodes(){return e().nodes}})]}}),null),i})()}})]}})}c([`click`]);export{ee as default,J as layoutFlow};
@@ -1 +1 @@
1
- import{I as e,_ as t,c as n,o as r,u as i}from"./i18n-B6AbnmJn.js";var a=t(`<span>`),o={running:`badge-warning`,succeeded:`badge-success`,failed:`badge-danger`,abandoned:`badge-muted`,waiting:`badge-muted`,enqueued:`badge-accent`,dead:`badge-danger`,broken:`badge-danger`},s={running:`var(--warning)`,succeeded:`var(--success)`,failed:`var(--danger)`,abandoned:`var(--mono-4)`,waiting:`var(--mono-4)`,enqueued:`var(--accent)`,dead:`var(--danger)`,broken:`var(--danger)`};function c(e){return s[e]}function l(e){return r(`flows.state.${e}`)}function u(t){return(()=>{var r=a();return i(r,()=>l(t.state)),e(()=>n(r,`badge ${o[t.state]}`)),r})()}export{c as n,l as r,u as t};
1
+ import{I as e,_ as t,c as n,o as r,u as i}from"./i18n-BZClP62Q.js";var a=t(`<span>`),o={running:`badge-warning`,succeeded:`badge-success`,failed:`badge-danger`,abandoned:`badge-muted`,waiting:`badge-muted`,enqueued:`badge-accent`,dead:`badge-danger`,broken:`badge-danger`},s={running:`var(--warning)`,succeeded:`var(--success)`,failed:`var(--danger)`,abandoned:`var(--mono-4)`,waiting:`var(--mono-4)`,enqueued:`var(--accent)`,dead:`var(--danger)`,broken:`var(--danger)`};function c(e){return s[e]}function l(e){return r(`flows.state.${e}`)}function u(t){return(()=>{var r=a();return i(r,()=>l(t.state)),e(()=>n(r,`badge ${o[t.state]}`)),r})()}export{c as n,l as r,u as t};
@@ -1 +1 @@
1
- import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,m as c,o as l,q as u,u as d}from"./i18n-B6AbnmJn.js";import{a as f,b as p,f as m,h,v as g}from"./index-CTWV8VL4.js";import{l as _,o as v,u as y}from"./utils-DnzJXljj.js";import{a as b,i as x,n as S,r as C,t as w}from"./useResetPageOnEmpty-BsYWeStI.js";import{n as T,t as E}from"./useSort-BWWfpnZH.js";import{t as D}from"./PageHeader-CeSaqysY.js";import{t as O}from"./FlowState-6lGsojxE.js";var k=a(`<div>`),A=a(`<div class=empty-state style=color:var(--danger)>`),j=a(`<span class="badge badge-accent">`),M=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),N=a(`<div class=empty-state>`),P=a(`<tr><td style=font-family:monospace;font-size:12px></td><td></td><td></td><td></td><td style=width:100px><div style=display:flex;align-items:center;gap:0.5rem><div class=progress-bar-track style=flex:1><div class=progress-bar-fill></div></div><span style=font-size:11px;color:var(--text-muted);min-width:32px>%</span></div></td><td></td><td>`),F=25,I={fid:e=>e.fid,state:e=>e.state,nodes:e=>e.total,pending:e=>e.pending,progress:e=>e.total>0?e.succeeded/e.total:0,depth:e=>e.depth,created:e=>e.created_at??null};function L(){let[a,L]=S();u(()=>{document.title=`${l(`nav.flows`)} — Wurk`});let R=g(()=>({queryKey:[`flows`,a()],queryFn:()=>m(`${h()}/api/flows?page=${a()-1}&count=${F}`),refetchInterval:5e3}));C(a,L,()=>R.data),w(a,L,()=>!R.isPending&&!!R.data,()=>(R.data?.flows.length??0)===0);let{sorted:z,sort:B,toggle:V}=E(()=>R.data?.flows??[],I);return s(r,{get children(){return[s(i,{get when(){return R.isPending},get children(){var e=k();return d(e,s(D,{icon:`fa-diagram-project`,get title(){return l(`nav.flows`)},get summary(){return l(`summaries.flows`)}}),null),d(e,s(f,{rows:8,cols:7}),null),e}}),s(i,{get when(){return R.isError||!R.data},get children(){var e=A();return d(e,()=>l(`common.error`)),e}}),s(i,{get when(){return R.data},children:r=>(()=>{var i=k();return d(i,s(D,{icon:`fa-diagram-project`,get title(){return l(`nav.flows`)},get summary(){return l(`summaries.flows`)},get children(){var e=j();return d(e,()=>v(r().total)),e}}),null),d(i,s(t,{get when(){return z().length>0},get fallback(){return(()=>{var e=N();return d(e,()=>l(`common.empty`)),e})()},get children(){return[(()=>{var t=M(),r=t.firstChild.firstChild,i=r.firstChild,a=r.nextSibling;return d(i,s(T,{get label(){return l(`table.fid`)},sortKey:`fid`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`table.status`)},sortKey:`state`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`flows.nodes`)},sortKey:`nodes`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`table.pending`)},sortKey:`pending`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`table.progress`)},sortKey:`progress`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`flows.depth`)},sortKey:`depth`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`table.created`)},sortKey:`created`,get sort(){return B()},onSort:V}),null),d(a,s(e,{get each(){return z()},children:e=>{let t=e.total>0?e.succeeded/e.total*100:0,r=e.state===`failed`||e.state===`abandoned`;return(()=>{var i=P(),a=i.firstChild,l=a.nextSibling,u=l.nextSibling,f=u.nextSibling,m=f.nextSibling,h=m.firstChild.firstChild,g=h.firstChild,b=h.nextSibling,x=b.firstChild,S=m.nextSibling,C=S.nextSibling;return d(a,s(p,{get href(){return`/flows/${e.fid}`},get title(){return e.fid},get children(){return y(e.fid,14)}})),d(l,s(O,{get state(){return e.state}})),d(u,()=>v(e.total)),d(f,()=>v(e.pending)),c(g,`width`,`${t}%`),c(g,`background`,r?`var(--danger)`:`var(--success)`),d(b,()=>Math.round(t),x),d(S,()=>v(e.depth)),d(C,(()=>{var t=o(()=>!!e.created_at);return()=>t()?_(e.created_at):`—`})()),n(t=>c(f,`color`,e.pending>0?`var(--warning)`:`var(--success)`)),i})()}})),t})(),s(x,{get page(){return a()},get total(){return r().total},count:F,get maxPage(){return b(r())},onChange:L})]}}),null),i})()})]}})}export{L as default};
1
+ import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,m as c,o as l,q as u,u as d}from"./i18n-BZClP62Q.js";import{a as f,b as p,f as m,h,v as g}from"./index-BOTVSP9M.js";import{l as _,o as v,u as y}from"./utils-CGyrKpTh.js";import{a as b,i as x,n as S,r as C,t as w}from"./useResetPageOnEmpty-BRPNyV2M.js";import{n as T,t as E}from"./useSort-B-BLJik7.js";import{t as D}from"./PageHeader-DjIAFTyX.js";import{t as O}from"./FlowState-glK2Tnf8.js";var k=a(`<div>`),A=a(`<div class=empty-state style=color:var(--danger)>`),j=a(`<span class="badge badge-accent">`),M=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),N=a(`<div class=empty-state>`),P=a(`<tr><td style=font-family:monospace;font-size:12px></td><td></td><td></td><td></td><td style=width:100px><div style=display:flex;align-items:center;gap:0.5rem><div class=progress-bar-track style=flex:1><div class=progress-bar-fill></div></div><span style=font-size:11px;color:var(--text-muted);min-width:32px>%</span></div></td><td></td><td>`),F=25,I={fid:e=>e.fid,state:e=>e.state,nodes:e=>e.total,pending:e=>e.pending,progress:e=>e.total>0?e.succeeded/e.total:0,depth:e=>e.depth,created:e=>e.created_at??null};function L(){let[a,L]=S();u(()=>{document.title=`${l(`nav.flows`)} — Wurk`});let R=g(()=>({queryKey:[`flows`,a()],queryFn:()=>m(`${h()}/api/flows?page=${a()-1}&count=${F}`),refetchInterval:5e3}));C(a,L,()=>R.data),w(a,L,()=>!R.isPending&&!!R.data,()=>(R.data?.flows.length??0)===0);let{sorted:z,sort:B,toggle:V}=E(()=>R.data?.flows??[],I);return s(r,{get children(){return[s(i,{get when(){return R.isPending},get children(){var e=k();return d(e,s(D,{icon:`fa-diagram-project`,get title(){return l(`nav.flows`)},get summary(){return l(`summaries.flows`)}}),null),d(e,s(f,{rows:8,cols:7}),null),e}}),s(i,{get when(){return R.isError||!R.data},get children(){var e=A();return d(e,()=>l(`common.error`)),e}}),s(i,{get when(){return R.data},children:r=>(()=>{var i=k();return d(i,s(D,{icon:`fa-diagram-project`,get title(){return l(`nav.flows`)},get summary(){return l(`summaries.flows`)},get children(){var e=j();return d(e,()=>v(r().total)),e}}),null),d(i,s(t,{get when(){return z().length>0},get fallback(){return(()=>{var e=N();return d(e,()=>l(`common.empty`)),e})()},get children(){return[(()=>{var t=M(),r=t.firstChild.firstChild,i=r.firstChild,a=r.nextSibling;return d(i,s(T,{get label(){return l(`table.fid`)},sortKey:`fid`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`table.status`)},sortKey:`state`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`flows.nodes`)},sortKey:`nodes`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`table.pending`)},sortKey:`pending`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`table.progress`)},sortKey:`progress`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`flows.depth`)},sortKey:`depth`,get sort(){return B()},onSort:V}),null),d(i,s(T,{get label(){return l(`table.created`)},sortKey:`created`,get sort(){return B()},onSort:V}),null),d(a,s(e,{get each(){return z()},children:e=>{let t=e.total>0?e.succeeded/e.total*100:0,r=e.state===`failed`||e.state===`abandoned`;return(()=>{var i=P(),a=i.firstChild,l=a.nextSibling,u=l.nextSibling,f=u.nextSibling,m=f.nextSibling,h=m.firstChild.firstChild,g=h.firstChild,b=h.nextSibling,x=b.firstChild,S=m.nextSibling,C=S.nextSibling;return d(a,s(p,{get href(){return`/flows/${e.fid}`},get title(){return e.fid},get children(){return y(e.fid,14)}})),d(l,s(O,{get state(){return e.state}})),d(u,()=>v(e.total)),d(f,()=>v(e.pending)),c(g,`width`,`${t}%`),c(g,`background`,r?`var(--danger)`:`var(--success)`),d(b,()=>Math.round(t),x),d(S,()=>v(e.depth)),d(C,(()=>{var t=o(()=>!!e.created_at);return()=>t()?_(e.created_at):`—`})()),n(t=>c(f,`color`,e.pending>0?`var(--warning)`:`var(--success)`)),i})()}})),t})(),s(x,{get page(){return a()},get total(){return r().total},count:F,get maxPage(){return b(r())},onChange:L})]}}),null),i})()})]}})}export{L as default};
@@ -1,2 +1,2 @@
1
- import{C as e,E as t,I as n,_ as r,c as i,d as a,j as o,l as s,m as c,o as l,p as u,u as d}from"./i18n-B6AbnmJn.js";import{o as f}from"./index-CTWV8VL4.js";import{l as p,n as m,s as h,t as g}from"./utils-DnzJXljj.js";var _=r(`<div style=display:flex;flex-direction:column;gap:3px><span style=font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em></span><span style=font-size:13px;word-break:break-word>`),v=r(`<div style=display:flex;gap:0.5rem;justify-content:flex-end;flex-wrap:wrap>`),y=r(`<button>`),b=r(`<span> (<!>)`),x=r(`<span style=color:var(--text-muted)>—`),S=r(`<div style=display:flex;flex-direction:column;gap:3px><span style=font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em></span><span style=font-size:13px;color:var(--danger);word-break:break-word>`),C=r(`<pre class=job-backtrace>`),w=r(`<div style="display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:0.9rem">`),T=r(`<div style=display:flex;flex-direction:column;gap:1rem><div style="display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:0.9rem">`),E=r(`<pre style=margin:0;white-space:pre-wrap;word-break:break-word>`);function D(e){return(()=>{var t=_(),r=t.firstChild,i=r.nextSibling;return d(r,()=>e.label),d(i,()=>e.children),n(t=>c(i,`font-family`,e.mono?`ui-monospace, monospace`:void 0)),t})()}function O(r){let s=r.actions&&r.actions.length>0&&r.onAction?(()=>{var t=v();return d(t,o(e,{get each(){return r.actions},children:e=>(()=>{var t=y();return t.$$click=()=>{r.pending||(!e.danger||window.confirm(l(`actions.confirm`,{action:e.label,scope:l(`job.detail`).toLowerCase()})))&&r.onAction?.(e.cmd)},d(t,()=>e.label),n(n=>{var a=`btn btn-sm${e.danger?` btn-danger`:``}`,o=r.pending;return a!==n.e&&i(t,n.e=a),o!==n.t&&(t.disabled=n.t=o),n},{e:void 0,t:void 0}),t})()})),t})():void 0;return o(f,{get open(){return r.entry!==null},get onClose(){return r.onClose},get title(){return r.entry?.klass??l(`job.detail`)},width:680,footer:s,get children(){return o(t,{get when(){return r.entry},children:i=>(()=>{var s=T(),c=s.firstChild;return d(c,o(D,{get label(){return l(`job.class`)},get children(){return i().klass}}),null),d(c,o(t,{get when(){return i().queue},get children(){return o(D,{get label(){return l(`job.queue`)},get children(){return i().queue}})}}),null),d(c,o(D,{get label(){return l(`job.jid`)},mono:!0,get children(){return i().jid}}),null),d(c,o(t,{get when(){return typeof i().retry_count==`number`},get children(){return o(D,{get label(){return l(`job.retries`)},get children(){return i().retry_count}})}}),null),d(c,o(t,{get when(){return i().enqueued_at!=null},get children(){return o(D,{get label(){return l(`job.enqueued`)},mono:!0,get children(){var e=b(),t=e.firstChild,r=t.nextSibling;return r.nextSibling,d(e,()=>g(i().enqueued_at),t),d(e,()=>p(i().enqueued_at),r),n(()=>u(e,`title`,h(i().enqueued_at))),e}})}}),null),d(c,o(t,{get when(){return i().at!=null},get children(){return o(D,{get label(){return r.atLabel??l(`job.at`)},mono:!0,get children(){var e=b(),t=e.firstChild,r=t.nextSibling;return r.nextSibling,d(e,()=>g(i().at),t),d(e,()=>p(i().at),r),n(()=>u(e,`title`,h(i().at))),e}})}}),null),d(s,o(D,{get label(){return l(`job.args`)},mono:!0,get children(){return o(t,{get when(){return m(i().args)===`[]`||m(i().args)===``},get fallback(){return(()=>{var e=E();return d(e,()=>m(i().args)),e})()},get children(){return x()}})}}),null),d(s,o(t,{get when(){return i().error_class||i().error_message},get children(){var e=S(),t=e.firstChild,n=t.nextSibling;return d(t,()=>l(`job.error`)),d(n,()=>i().error_class,null),d(n,(()=>{var e=a(()=>!!i().error_message);return()=>e()?`: ${i().error_message}`:``})(),null),e}}),null),d(s,o(t,{get when(){return a(()=>!!i().error_backtrace)()&&i().error_backtrace.length>0},get children(){return o(D,{get label(){return l(`job.backtrace`)},get children(){var e=C();return d(e,()=>i().error_backtrace.join(`
1
+ import{C as e,E as t,I as n,_ as r,c as i,d as a,j as o,l as s,m as c,o as l,p as u,u as d}from"./i18n-BZClP62Q.js";import{o as f}from"./index-BOTVSP9M.js";import{l as p,n as m,s as h,t as g}from"./utils-CGyrKpTh.js";var _=r(`<div style=display:flex;flex-direction:column;gap:3px><span style=font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em></span><span style=font-size:13px;word-break:break-word>`),v=r(`<div style=display:flex;gap:0.5rem;justify-content:flex-end;flex-wrap:wrap>`),y=r(`<button>`),b=r(`<span> (<!>)`),x=r(`<span style=color:var(--text-muted)>—`),S=r(`<div style=display:flex;flex-direction:column;gap:3px><span style=font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.04em></span><span style=font-size:13px;color:var(--danger);word-break:break-word>`),C=r(`<pre class=job-backtrace>`),w=r(`<div style="display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:0.9rem">`),T=r(`<div style=display:flex;flex-direction:column;gap:1rem><div style="display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:0.9rem">`),E=r(`<pre style=margin:0;white-space:pre-wrap;word-break:break-word>`);function D(e){return(()=>{var t=_(),r=t.firstChild,i=r.nextSibling;return d(r,()=>e.label),d(i,()=>e.children),n(t=>c(i,`font-family`,e.mono?`ui-monospace, monospace`:void 0)),t})()}function O(r){let s=r.actions&&r.actions.length>0&&r.onAction?(()=>{var t=v();return d(t,o(e,{get each(){return r.actions},children:e=>(()=>{var t=y();return t.$$click=()=>{r.pending||(!e.danger||window.confirm(l(`actions.confirm`,{action:e.label,scope:l(`job.detail`).toLowerCase()})))&&r.onAction?.(e.cmd)},d(t,()=>e.label),n(n=>{var a=`btn btn-sm${e.danger?` btn-danger`:``}`,o=r.pending;return a!==n.e&&i(t,n.e=a),o!==n.t&&(t.disabled=n.t=o),n},{e:void 0,t:void 0}),t})()})),t})():void 0;return o(f,{get open(){return r.entry!==null},get onClose(){return r.onClose},get title(){return r.entry?.klass??l(`job.detail`)},width:680,footer:s,get children(){return o(t,{get when(){return r.entry},children:i=>(()=>{var s=T(),c=s.firstChild;return d(c,o(D,{get label(){return l(`job.class`)},get children(){return i().klass}}),null),d(c,o(t,{get when(){return i().queue},get children(){return o(D,{get label(){return l(`job.queue`)},get children(){return i().queue}})}}),null),d(c,o(D,{get label(){return l(`job.jid`)},mono:!0,get children(){return i().jid}}),null),d(c,o(t,{get when(){return typeof i().retry_count==`number`},get children(){return o(D,{get label(){return l(`job.retries`)},get children(){return i().retry_count}})}}),null),d(c,o(t,{get when(){return i().enqueued_at!=null},get children(){return o(D,{get label(){return l(`job.enqueued`)},mono:!0,get children(){var e=b(),t=e.firstChild,r=t.nextSibling;return r.nextSibling,d(e,()=>g(i().enqueued_at),t),d(e,()=>p(i().enqueued_at),r),n(()=>u(e,`title`,h(i().enqueued_at))),e}})}}),null),d(c,o(t,{get when(){return i().at!=null},get children(){return o(D,{get label(){return r.atLabel??l(`job.at`)},mono:!0,get children(){var e=b(),t=e.firstChild,r=t.nextSibling;return r.nextSibling,d(e,()=>g(i().at),t),d(e,()=>p(i().at),r),n(()=>u(e,`title`,h(i().at))),e}})}}),null),d(s,o(D,{get label(){return l(`job.args`)},mono:!0,get children(){return o(t,{get when(){return m(i().args)===`[]`||m(i().args)===``},get fallback(){return(()=>{var e=E();return d(e,()=>m(i().args)),e})()},get children(){return x()}})}}),null),d(s,o(t,{get when(){return i().error_class||i().error_message},get children(){var e=S(),t=e.firstChild,n=t.nextSibling;return d(t,()=>l(`job.error`)),d(n,()=>i().error_class,null),d(n,(()=>{var e=a(()=>!!i().error_message);return()=>e()?`: ${i().error_message}`:``})(),null),e}}),null),d(s,o(t,{get when(){return a(()=>!!i().error_backtrace)()&&i().error_backtrace.length>0},get children(){return o(D,{get label(){return l(`job.backtrace`)},get children(){var e=C();return d(e,()=>i().error_backtrace.join(`
2
2
  `)),e}})}}),null),d(s,o(t,{get when(){return a(()=>!!i().custom_rows)()&&i().custom_rows.length>0},get children(){var t=w();return d(t,o(e,{get each(){return i().custom_rows},children:([e,t])=>o(D,{label:e,children:t})})),t}}),null),s})()})}})}s([`click`]);export{O as t};
@@ -1 +1 @@
1
- import{C as e,E as t,I as n,O as r,T as i,_ as a,j as o,l as s,m as c,o as l,p as u,q as d,u as f}from"./i18n-B6AbnmJn.js";import{_ as p,a as m,f as h,g,h as _,m as v,t as y,u as b,v as x}from"./index-CTWV8VL4.js";import{o as S}from"./utils-DnzJXljj.js";import{a as C,i as w,n as T,r as E,t as D}from"./useResetPageOnEmpty-BsYWeStI.js";import{n as O,t as k}from"./useSort-BWWfpnZH.js";import{t as A}from"./PageHeader-CeSaqysY.js";var j=a(`<div>`),M=a(`<div class=empty-state style=color:var(--danger)>`),N=a(`<span class="badge badge-muted">`),P=a(`<th>`),F=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),I=a(`<div class=empty-state>`),L=a(`<div style=display:flex;align-items:center;gap:0.5rem><div class=progress-bar-track style=flex:1><div class=progress-bar-fill></div></div><span style=font-size:12px;color:var(--text-muted);min-width:36px>%`),R=a(`<span class="badge badge-success">`),z=a(`<td><button class="btn btn-sm">`),B=a(`<tr><td style=font-weight:500></td><td><span class="badge badge-accent"></span></td><td style=font-variant-numeric:tabular-nums></td><td style=font-variant-numeric:tabular-nums></td><td style=width:160px></td><td>`),V=a(`<span style=color:var(--text-muted)>—`),H=a(`<span class="badge badge-danger">`),U=25,W={name:e=>e.name,type:e=>e.type,used:e=>e.status?.used??0,limit:e=>e.status?.limit??null,usage:e=>{let t=e.status?.used??0,n=e.status?.limit??null;return n&&n>0?t/n:0},status:e=>e.status?.[`available?`]??!0?`available`:`exhausted`};function G(){let a=g(),s=b(),G=()=>s.data?.read_only??!1,[K,q]=T();d(()=>{document.title=`${l(`nav.limiters`)} — Wurk`});let J=x(()=>({queryKey:[`limiters`,K()],queryFn:()=>h(`${_()}/api/limiters?page=${K()-1}&count=${U}`),refetchInterval:5e3}));E(K,q,()=>J.data);let Y=p(()=>({mutationFn:e=>v(`${_()}/api/limiters/${encodeURIComponent(e)}/reset`),onSuccess:()=>a.invalidateQueries({queryKey:[`limiters`]}),onError:y}));D(K,q,()=>!J.isPending&&!!J.data,()=>(J.data?.limiters.length??0)===0);let{sorted:X,sort:Z,toggle:Q}=k(()=>J.data?.limiters??[],W),$=e=>window.confirm(l(`actions.confirm`,{action:l(`actions.reset`),scope:e}))&&Y.mutate(e);return o(r,{get children(){return[o(i,{get when(){return J.isPending},get children(){var e=j();return f(e,o(A,{icon:`fa-gauge`,get title(){return l(`nav.limiters`)},get summary(){return l(`summaries.limiters`)}}),null),f(e,o(m,{rows:8,get cols(){return G()?6:7}}),null),e}}),o(i,{get when(){return J.isError||!J.data},get children(){var e=M();return f(e,()=>l(`common.error`)),e}}),o(i,{get when(){return J.data},children:r=>(()=>{var i=j();return f(i,o(A,{icon:`fa-gauge`,get title(){return l(`nav.limiters`)},get summary(){return l(`summaries.limiters`)},get children(){var e=N();return f(e,()=>S(r().total)),e}}),null),f(i,o(t,{get when(){return X().length>0},get fallback(){return(()=>{var e=I();return f(e,()=>l(`common.empty`)),e})()},get children(){return[(()=>{var r=F(),i=r.firstChild.firstChild,a=i.firstChild,s=i.nextSibling;return f(a,o(O,{get label(){return l(`table.name`)},sortKey:`name`,get sort(){return Z()},onSort:Q}),null),f(a,o(O,{get label(){return l(`table.type`)},sortKey:`type`,get sort(){return Z()},onSort:Q}),null),f(a,o(O,{get label(){return l(`table.used`)},sortKey:`used`,get sort(){return Z()},onSort:Q}),null),f(a,o(O,{get label(){return l(`table.limit`)},sortKey:`limit`,get sort(){return Z()},onSort:Q}),null),f(a,o(O,{get label(){return l(`table.usage`)},sortKey:`usage`,get sort(){return Z()},onSort:Q}),null),f(a,o(O,{get label(){return l(`table.status`)},sortKey:`status`,get sort(){return Z()},onSort:Q}),null),f(a,o(t,{get when(){return!G()},get children(){return P()}}),null),f(s,o(e,{get each(){return X()},children:e=>{let r=e.status,i=r?.used??0,a=r?.limit??null,s=a&&a>0?Math.min(i/a*100,100):0,d=s>90?`var(--danger)`:s>70?`var(--warning)`:`var(--success)`,p=r?.[`available?`]??!0,m=r?Object.entries(r).filter(([e])=>![`used`,`limit`,`reset_at`,`available?`].includes(e)).map(([e,t])=>`${e}=${t}`).join(` `):``;return(()=>{var r=B(),h=r.firstChild,g=h.nextSibling,_=g.firstChild,v=g.nextSibling,y=v.nextSibling,b=y.nextSibling,x=b.nextSibling;return f(h,()=>e.name),f(_,()=>e.type),u(v,`title`,m),f(v,()=>S(i)),f(y,()=>a==null?`∞`:S(a)),f(b,o(t,{when:a!=null,get fallback(){return V()},get children(){var e=L(),t=e.firstChild,n=t.firstChild,r=t.nextSibling,i=r.firstChild;return c(n,`width`,`${s}%`),c(n,`background`,d),f(r,()=>Math.round(s),i),e}})),f(x,o(t,{when:p,get fallback(){return(()=>{var e=H();return f(e,()=>l(`limiters.exhausted`)),e})()},get children(){var e=R();return f(e,()=>l(`limiters.available`)),e}})),f(r,o(t,{get when(){return!G()},get children(){var t=z(),r=t.firstChild;return r.$$click=()=>$(e.name),f(r,()=>l(`actions.reset`)),n(()=>r.disabled=Y.isPending),t}}),null),n(()=>u(h,`title`,e.name)),r})()}})),r})(),o(w,{get page(){return K()},get total(){return r().total},count:U,get maxPage(){return C(r())},onChange:q})]}}),null),i})()})]}})}s([`click`]);export{G as default};
1
+ import{C as e,E as t,I as n,O as r,T as i,_ as a,j as o,l as s,m as c,o as l,p as u,q as d,u as f}from"./i18n-BZClP62Q.js";import{_ as p,a as m,f as h,g,h as _,m as v,t as y,u as b,v as x}from"./index-BOTVSP9M.js";import{o as S}from"./utils-CGyrKpTh.js";import{a as C,i as w,n as T,r as E,t as D}from"./useResetPageOnEmpty-BRPNyV2M.js";import{n as O,t as k}from"./useSort-B-BLJik7.js";import{t as A}from"./PageHeader-DjIAFTyX.js";var j=a(`<div>`),M=a(`<div class=empty-state style=color:var(--danger)>`),N=a(`<span class="badge badge-muted">`),P=a(`<th>`),F=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),I=a(`<div class=empty-state>`),L=a(`<div style=display:flex;align-items:center;gap:0.5rem><div class=progress-bar-track style=flex:1><div class=progress-bar-fill></div></div><span style=font-size:12px;color:var(--text-muted);min-width:36px>%`),R=a(`<span class="badge badge-success">`),z=a(`<td><button class="btn btn-sm">`),B=a(`<tr><td style=font-weight:500></td><td><span class="badge badge-accent"></span></td><td style=font-variant-numeric:tabular-nums></td><td style=font-variant-numeric:tabular-nums></td><td style=width:160px></td><td>`),V=a(`<span style=color:var(--text-muted)>—`),H=a(`<span class="badge badge-danger">`),U=25,W={name:e=>e.name,type:e=>e.type,used:e=>e.status?.used??0,limit:e=>e.status?.limit??null,usage:e=>{let t=e.status?.used??0,n=e.status?.limit??null;return n&&n>0?t/n:0},status:e=>e.status?.[`available?`]??!0?`available`:`exhausted`};function G(){let a=g(),s=b(),G=()=>s.data?.read_only??!1,[K,q]=T();d(()=>{document.title=`${l(`nav.limiters`)} — Wurk`});let J=x(()=>({queryKey:[`limiters`,K()],queryFn:()=>h(`${_()}/api/limiters?page=${K()-1}&count=${U}`),refetchInterval:5e3}));E(K,q,()=>J.data);let Y=p(()=>({mutationFn:e=>v(`${_()}/api/limiters/${encodeURIComponent(e)}/reset`),onSuccess:()=>a.invalidateQueries({queryKey:[`limiters`]}),onError:y}));D(K,q,()=>!J.isPending&&!!J.data,()=>(J.data?.limiters.length??0)===0);let{sorted:X,sort:Z,toggle:Q}=k(()=>J.data?.limiters??[],W),$=e=>window.confirm(l(`actions.confirm`,{action:l(`actions.reset`),scope:e}))&&Y.mutate(e);return o(r,{get children(){return[o(i,{get when(){return J.isPending},get children(){var e=j();return f(e,o(A,{icon:`fa-gauge`,get title(){return l(`nav.limiters`)},get summary(){return l(`summaries.limiters`)}}),null),f(e,o(m,{rows:8,get cols(){return G()?6:7}}),null),e}}),o(i,{get when(){return J.isError||!J.data},get children(){var e=M();return f(e,()=>l(`common.error`)),e}}),o(i,{get when(){return J.data},children:r=>(()=>{var i=j();return f(i,o(A,{icon:`fa-gauge`,get title(){return l(`nav.limiters`)},get summary(){return l(`summaries.limiters`)},get children(){var e=N();return f(e,()=>S(r().total)),e}}),null),f(i,o(t,{get when(){return X().length>0},get fallback(){return(()=>{var e=I();return f(e,()=>l(`common.empty`)),e})()},get children(){return[(()=>{var r=F(),i=r.firstChild.firstChild,a=i.firstChild,s=i.nextSibling;return f(a,o(O,{get label(){return l(`table.name`)},sortKey:`name`,get sort(){return Z()},onSort:Q}),null),f(a,o(O,{get label(){return l(`table.type`)},sortKey:`type`,get sort(){return Z()},onSort:Q}),null),f(a,o(O,{get label(){return l(`table.used`)},sortKey:`used`,get sort(){return Z()},onSort:Q}),null),f(a,o(O,{get label(){return l(`table.limit`)},sortKey:`limit`,get sort(){return Z()},onSort:Q}),null),f(a,o(O,{get label(){return l(`table.usage`)},sortKey:`usage`,get sort(){return Z()},onSort:Q}),null),f(a,o(O,{get label(){return l(`table.status`)},sortKey:`status`,get sort(){return Z()},onSort:Q}),null),f(a,o(t,{get when(){return!G()},get children(){return P()}}),null),f(s,o(e,{get each(){return X()},children:e=>{let r=e.status,i=r?.used??0,a=r?.limit??null,s=a&&a>0?Math.min(i/a*100,100):0,d=s>90?`var(--danger)`:s>70?`var(--warning)`:`var(--success)`,p=r?.[`available?`]??!0,m=r?Object.entries(r).filter(([e])=>![`used`,`limit`,`reset_at`,`available?`].includes(e)).map(([e,t])=>`${e}=${t}`).join(` `):``;return(()=>{var r=B(),h=r.firstChild,g=h.nextSibling,_=g.firstChild,v=g.nextSibling,y=v.nextSibling,b=y.nextSibling,x=b.nextSibling;return f(h,()=>e.name),f(_,()=>e.type),u(v,`title`,m),f(v,()=>S(i)),f(y,()=>a==null?`∞`:S(a)),f(b,o(t,{when:a!=null,get fallback(){return V()},get children(){var e=L(),t=e.firstChild,n=t.firstChild,r=t.nextSibling,i=r.firstChild;return c(n,`width`,`${s}%`),c(n,`background`,d),f(r,()=>Math.round(s),i),e}})),f(x,o(t,{when:p,get fallback(){return(()=>{var e=H();return f(e,()=>l(`limiters.exhausted`)),e})()},get children(){var e=R();return f(e,()=>l(`limiters.available`)),e}})),f(r,o(t,{get when(){return!G()},get children(){var t=z(),r=t.firstChild;return r.$$click=()=>$(e.name),f(r,()=>l(`actions.reset`)),n(()=>r.disabled=Y.isPending),t}}),null),n(()=>u(h,`title`,e.name)),r})()}})),r})(),o(w,{get page(){return K()},get total(){return r().total},count:U,get maxPage(){return C(r())},onChange:q})]}}),null),i})()})]}})}s([`click`]);export{G as default};
@@ -0,0 +1 @@
1
+ import{C as e,E as t,F as n,I as r,_ as i,c as a,d as o,j as s,l as c,m as l,o as u,p as d,q as f,u as p,z as m}from"./i18n-BZClP62Q.js";import{S as h,f as g,h as _,o as v,r as y,s as b,v as x,x as S}from"./index-BOTVSP9M.js";import{i as ee,o as C,r as w,u as te}from"./utils-CGyrKpTh.js";import{t as ne}from"./PageHeader-DjIAFTyX.js";import{n as T,r as re,t as ie}from"./charts-Bg2YBcaD.js";var E=i(`<span style=font-size:12px;margin-inline-start:8px>%`),D=i(`<div role=status>`),ae=i(`<div class=obs-tablescroll><table><thead><tr><th></th><th style=text-align:end></th><th style=text-align:end></th></tr></thead><tbody>`),oe=i(`<div class=obs><div class=obs-toolbar><span class=obs-toolbar__label><i class="fa-regular fa-calendar"aria-hidden=true></i> </span><div class=obs-seg role=tablist></div></div><div class=obs-metrics><div class="obs-card obs-metric"><div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-circle-check obs-metric__icon"aria-hidden=true></i></div><span class=obs-metric__value></span><span class=obs-metric__sub></span></div><div class="obs-card obs-metric"><div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-triangle-exclamation obs-metric__icon"aria-hidden=true></i></div><span class=obs-metric__value></span><span class=obs-metric__sub></span></div><div class="obs-card obs-metric"><div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-stopwatch obs-metric__icon"aria-hidden=true></i></div><span class=obs-metric__value></span><span class=obs-metric__sub></span></div><div class="obs-card obs-metric"><div class=obs-metric__head><span class=obs-mono></span><i class="fa-solid fa-gears obs-metric__icon"aria-hidden=true></i></div><span class=obs-metric__value></span><span class=obs-metric__sub></span></div></div><div class="obs-card obs-panel"><div class=obs-panel__head><div><h2 class=obs-panel__title></h2><p class=obs-panel__sub></p></div><div class=obs-legend><span><i class="dot dot--processed"></i> </span><span><i class="dot dot--failed"></i> </span></div></div><div class=obs-chartbox></div></div><div class=obs-grid2><div class="obs-card obs-panel"><div class=obs-panel__head><h2 class=obs-panel__title style=font-size:18px></h2><span class=obs-mono></span></div><div class=obs-chartbox></div></div><div class="obs-card obs-table"><div class=obs-table__head><h2 class=obs-table__title style=font-size:18px>`),se=i(`<button role=tab>`),ce=i(`<div class=empty-state style=height:300px;display:grid;place-items:center>`),O=i(`<div class=empty-state style=height:240px;display:grid;place-items:center>`),le=i(`<div class=obs-empty>`),ue=i(`<tr><td style=color:var(--obs-text)><button type=button class=obs-jobbtn><span class=obs-jobdot></span></button></td><td style=text-align:end;font-variant-numeric:tabular-nums></td><td class=obs-pct style=text-align:end>%`),k=i(`<div style=display:flex;gap:1.5rem;margin-bottom:1rem><div><div class=obs-mono></div><div style=font-size:18px;font-weight:600></div></div><div><div class=obs-mono></div><div style=font-size:18px;font-weight:600;color:var(--danger)>`),A=i(`<div class="obs-card obs-panel"><div class=obs-panel__head><h2 class=obs-panel__title style=font-size:18px></h2></div><div class=obs-chartbox>`),j=[`var(--accent)`,`var(--series-1)`,`var(--series-2)`,`var(--series-3)`,`var(--series-4)`,`var(--series-5)`,`var(--series-6)`,`var(--series-7)`],M=e=>j[e%j.length],N=[`var(--mono-1)`,`var(--mono-2)`,`var(--mono-3)`,`var(--mono-4)`,`var(--mono-5)`,`var(--mono-6)`],P=[{key:`1h`,bucket:`1m`,window:`24h`,slice:60,hours:1},{key:`24h`,bucket:`1m`,window:`24h`,hours:24},{key:`7d`,bucket:`5m`,window:`7d`,hours:168},{key:`30d`,bucket:`1h`,window:`30d`,hours:720}];function F(e,t){if(e.length<2)return null;let n=e[e.length-1].at,r=0,i=0;for(let a of e)a.at>n-3600?r+=a[t]:a.at>n-7200&&(i+=a[t]);return i===0?r===0?null:100:Math.round((r-i)/i*100)}function I(e){return s(t,{get when(){return e.pct!==null},get children(){return(()=>{let t=()=>e.pct>=0,n=()=>t()===e.goodWhenUp;return(()=>{var i=E(),a=i.firstChild;return p(i,()=>t()?`↑`:`↓`,a),p(i,()=>Math.abs(e.pct),a),r(e=>l(i,`color`,n()?`var(--success)`:`var(--danger)`)),i})()})()}})}var L=(e,t)=>{if(t<=0)return[];if(e.length<=t)return e;if(t===1)return[e[e.length-1]];let n=(e.length-1)/(t-1);return Array.from({length:t},(t,r)=>e[Math.round(r*n)])};function R(e){return(()=>{var t=D();return p(t,s(y,{height:`100%`})),r(n=>{var r=`${e.height}px`,i=u(`common.loading`);return r!==n.e&&l(t,`height`,n.e=r),i!==n.t&&d(t,`aria-label`,n.t=i),n},{e:void 0,t:void 0}),t})()}function z(){let[i,c]=m(2),v=h(),y=S(),[T,E]=m(v.klass??null),D=()=>{E(null),v.klass&&y(`/metrics`,{replace:!0})},k=()=>P[i()];f(()=>{document.title=`${u(`nav.metrics`)} — Wurk`});let A=x(()=>({queryKey:[`stats`],queryFn:()=>g(`${_()}/api/stats`),refetchInterval:5e3})),j=x(()=>({queryKey:[`history`,k().bucket,k().window],queryFn:()=>g(`${_()}/api/history/${k().bucket}?window=${k().window}`),refetchInterval:3e4})),M=x(()=>({queryKey:[`metrics`,k().hours],queryFn:()=>g(`${_()}/api/metrics?hours=${k().hours}`),refetchInterval:3e4})),z=x(()=>({queryKey:[`queue-history`,k().bucket,k().window],queryFn:()=>g(`${_()}/api/queue-history/${k().bucket}?window=${k().window}`),refetchInterval:3e4})),B=n(()=>(j.data?.series??[]).map(e=>({...e,label:w(e.at,k().bucket,b)}))),V=n(()=>{let e=k(),t=`slice`in e?e.slice:void 0;return t?B().slice(-t):B()}),me=n(()=>V().some(e=>e.processed>0||e.failed>0)),H=n(()=>z.data?.queues??[]),U=n(()=>H()[0]?.points.map(e=>e.at)??[]),W=n(()=>L(U().map((e,t)=>({label:w(e,k().bucket,b),depth:H().reduce((e,n)=>e+(n.points[t]?.size??0),0)})),16)),G=n(()=>Math.max(0,...W().map(e=>e.depth))),K=n(()=>(M.data?.top_jobs??[]).map(e=>({klass:e.klass,count:e.processed})).sort((e,t)=>t.count-e.count)),q=n(()=>K().reduce((e,t)=>e+t.count,0)),J=n(()=>K().slice(0,6));return(()=>{var n=oe(),f=n.firstChild,m=f.firstChild;m.firstChild.nextSibling;var h=m.nextSibling,g=f.nextSibling,_=g.firstChild,v=_.firstChild,y=v.firstChild,b=v.nextSibling,x=b.nextSibling,S=_.nextSibling,w=S.firstChild,L=w.firstChild,H=w.nextSibling,U=H.nextSibling,K=S.nextSibling,Y=K.firstChild,he=Y.firstChild,X=Y.nextSibling,ge=X.nextSibling,_e=K.nextSibling.firstChild,ve=_e.firstChild,ye=_e.nextSibling,be=ye.nextSibling,xe=g.nextSibling,Se=xe.firstChild,Z=Se.firstChild,Ce=Z.firstChild,we=Ce.nextSibling,Q=Z.nextSibling.firstChild;Q.firstChild.nextSibling;var Te=Q.nextSibling;Te.firstChild.nextSibling;var Ee=Se.nextSibling,De=xe.nextSibling.firstChild,Oe=De.firstChild,ke=Oe.firstChild,Ae=ke.nextSibling,je=Oe.nextSibling,$=De.nextSibling,Me=$.firstChild.firstChild;return p(n,s(ne,{icon:`fa-chart-line`,get title(){return u(`nav.metrics`)},get summary(){return u(`summaries.metrics`)}}),f),p(m,()=>u(`metrics.time_range`),null),p(h,s(e,{each:P,children:(e,t)=>(()=>{var n=se();return n.$$click=()=>c(t()),p(n,()=>e.key),r(e=>{var r=t()===i(),o=t()===i()?`is-active`:``;return r!==e.e&&d(n,`aria-selected`,e.e=r),o!==e.t&&a(n,e.t=o),e},{e:void 0,t:void 0}),n})()})),p(y,()=>u(`metrics.total_processed`)),p(b,()=>C(A.data?.processed??0),null),p(b,s(I,{get pct(){return F(B(),`processed`)},goodWhenUp:!0}),null),p(x,()=>u(`metrics.across_all_queues`)),p(L,()=>u(`metrics.failed_jobs`)),p(H,()=>C(A.data?.failed??0),null),p(H,s(I,{get pct(){return F(B(),`failed`)},goodWhenUp:!1}),null),p(U,()=>u(`metrics.total_failures`)),p(he,()=>u(`metrics.avg_latency`)),p(X,(()=>{var e=o(()=>!!A.data);return()=>e()?ee(A.data.latency):`—`})()),p(ge,()=>u(`metrics.head_of_line`)),p(ve,()=>u(`metrics.active_workers`)),p(ye,()=>C(A.data?.processes??0)),p(be,(()=>{var e=o(()=>(A.data?.processes??0)>0);return()=>e()?u(`metrics.stable`):u(`metrics.no_workers`)})()),p(Ce,()=>u(`metrics.throughput_failures`)),p(we,()=>u(`metrics.throughput_sub`,{range:k().key})),p(Q,()=>u(`dashboard.processed`),null),p(Te,()=>u(`dashboard.failed`),null),p(Ee,s(t,{get when(){return!j.isPending},get fallback(){return s(R,{height:300})},get children(){return s(t,{get when(){return me()},get fallback(){return(()=>{var e=ce();return p(e,()=>u(`dashboard.no_history`)),e})()},get children(){return s(re,{get data(){return V()},height:300,yAxisWidth:36,yDecimals:!1,xMinTickGap:56,get series(){return[{key:`processed`,name:u(`dashboard.processed`),stroke:`var(--mono-1)`,strokeWidth:2,fill:`gradient`},{key:`failed`,name:u(`dashboard.failed`),stroke:`var(--mono-3)`,strokeWidth:1.5,strokeDasharray:`5 4`,fill:`none`}]}})}})}})),p(ke,()=>u(`metrics.queue_depth`)),p(Ae,(()=>{var e=o(()=>G()>0);return()=>e()?u(`metrics.peak`,{n:C(G())}):``})()),p(je,s(t,{get when(){return!z.isPending},get fallback(){return s(R,{height:240})},get children(){return s(t,{get when(){return W().length>0},get fallback(){return(()=>{var e=O();return p(e,()=>u(`metrics.no_queue_history`)),e})()},get children(){return s(ie,{get data(){return W().map(e=>({label:e.label,value:e.depth,color:e.depth===G()&&G()>0?`var(--mono-1)`:`var(--mono-6)`}))},height:240,get name(){return u(`metrics.queue_depth`)},yAxisWidth:36,yDecimals:!1,xMinTickGap:40})}})}})),p(Me,()=>u(`metrics.top_job_types`)),p($,s(t,{get when(){return!M.isPending},get fallback(){return s(R,{height:240})},get children(){return s(t,{get when(){return J().length>0},get fallback(){return(()=>{var e=le();return p(e,()=>u(`common.empty`)),e})()},get children(){var t=ae(),n=t.firstChild.firstChild,i=n.firstChild.firstChild,a=i.nextSibling,c=a.nextSibling,f=n.nextSibling;return p(i,()=>u(`metrics.job_class`)),p(a,()=>u(`table.count`)),p(c,()=>u(`metrics.pct_total`)),p(f,s(e,{get each(){return J()},children:(e,t)=>(()=>{var n=ue(),i=n.firstChild,a=i.firstChild,s=a.firstChild,c=i.nextSibling,f=c.nextSibling,m=f.firstChild;return a.$$click=()=>E(e.klass),p(a,()=>te(e.klass.split(`::`).pop()??e.klass,36),null),p(c,()=>C(e.count)),p(f,(()=>{var t=o(()=>q()>0);return()=>t()?Math.round(e.count/q()*100):0})(),m),r(n=>{var r=e.klass,o=u(`metrics.view_job_detail`),c=N[t()%N.length];return r!==n.e&&d(i,`title`,n.e=r),o!==n.t&&d(a,`title`,n.t=o),c!==n.a&&l(s,`background`,n.a=c),n},{e:void 0,t:void 0,a:void 0}),n})()})),t}})}}),null),p(n,s(fe,{get range(){return k()}}),null),p(n,s(pe,{}),null),p(n,s(de,{get klass(){return T()},get hours(){return k().hours},onClose:D}),null),r(()=>d(h,`aria-label`,u(`metrics.time_range`))),n})()}function de(e){let r=x(()=>({queryKey:[`metrics-job`,e.klass,e.hours],queryFn:()=>g(`${_()}/api/metrics/${encodeURIComponent(e.klass)}?hours=${e.hours}`),enabled:e.klass!==null})),i=n(()=>(r.data?.series??[]).map(e=>({label:w(e.at,`1m`,b),processed:e.p,failed:e.f,runtime_ms:e.ms}))),a=n(()=>i().some(e=>e.processed>0||e.failed>0)),o=n(()=>i().reduce((e,t)=>({processed:e.processed+t.processed,failed:e.failed+t.failed}),{processed:0,failed:0}));return s(v,{get open(){return e.klass!==null},get onClose(){return e.onClose},get title(){return e.klass??``},width:720,get children(){return s(t,{get when(){return e.klass},get children(){return[(()=>{var e=k(),t=e.firstChild,n=t.firstChild,r=n.nextSibling,i=t.nextSibling.firstChild,a=i.nextSibling;return p(n,()=>u(`dashboard.processed`)),p(r,()=>C(o().processed)),p(i,()=>u(`dashboard.failed`)),p(a,()=>C(o().failed)),e})(),s(t,{get when(){return!r.isPending},get fallback(){return s(R,{height:240})},get children(){return s(t,{get when(){return!r.isError},get fallback(){return(()=>{var e=O();return p(e,()=>u(`common.error`)),e})()},get children(){return s(t,{get when(){return a()},get fallback(){return(()=>{var e=O();return p(e,()=>u(`dashboard.no_history`)),e})()},get children(){return s(T,{get data(){return i()},height:240,yAxisWidth:36,yDecimals:!1,xMinTickGap:48,legend:!0,get series(){return[{key:`processed`,name:u(`dashboard.processed`),stroke:`var(--mono-1)`,strokeWidth:2},{key:`failed`,name:u(`dashboard.failed`),stroke:`var(--mono-3)`,strokeWidth:1.5}]}})}})}})}})]}})}})}function fe(e){let r=x(()=>({queryKey:[`queue-history-lat`,e.range.bucket,e.range.window],queryFn:()=>g(`${_()}/api/queue-history/${e.range.bucket}?window=${e.range.window}`),refetchInterval:3e4})),i=n(()=>r.data?.queues??[]),a=n(()=>i().map((e,t)=>({key:`queue_${t}`,name:e.name}))),o=n(()=>i()[0]?.points.map(e=>e.at)??[]),c=n(()=>o().map((t,n)=>{let r={label:w(t,e.range.bucket,b)};return i().forEach((e,t)=>{r[a()[t].key]=e.points[n]?.latency??0}),r})),l=n(()=>a().map((e,t)=>({key:e.key,name:e.name,stroke:M(t),strokeWidth:2}))),d=n(()=>i().some(e=>e.points.some(e=>e.latency>0)));return s(t,{get when(){return d()},get children(){var e=A(),t=e.firstChild,n=t.firstChild,r=t.nextSibling;return p(n,()=>u(`metrics.queue_latency_seconds`)),p(r,s(T,{get data(){return c()},get series(){return l()},height:240,legend:!0,yAxisWidth:40,xMinTickGap:48})),e}})}var B=new Set([`processed`,`failures`]);function pe(){let e=x(()=>({queryKey:[`history-snapshots`],queryFn:()=>g(`${_()}/api/history/snapshots?limit=1000`),refetchInterval:3e4})),r=n(()=>e.data?.snapshots??[]),i=n(()=>Array.from(new Set(r().flatMap(e=>Object.keys(e).filter(t=>t!==`at`&&!B.has(t)&&typeof e[t]==`number`))))),a=n(()=>r().map(e=>{let t={label:w(e.at,`1m`,b)};for(let n of Object.keys(e))t[n]=e[n];return t})),c=n(()=>i().map((e,t)=>({key:e,name:e,stroke:M(t),strokeWidth:2})));return s(t,{get when(){return o(()=>r().length>0)()&&i().length>0},get children(){var e=A(),t=e.firstChild,n=t.firstChild,r=t.nextSibling;return p(n,()=>u(`metrics.historical_snapshots`)),p(r,s(T,{get data(){return a()},get series(){return c()},height:240,legend:!0,yAxisWidth:40,yDecimals:!1,xMinTickGap:48})),e}})}c([`click`]);export{z as default};
@@ -1 +1 @@
1
- import{_ as e,j as t,o as n,q as r,u as i}from"./i18n-B6AbnmJn.js";import{b as a}from"./index-CTWV8VL4.js";import{t as o}from"./PageHeader-CeSaqysY.js";var s=e(`<div><div class=empty-state>`);function c(){return r(()=>{document.title=`${n(`notfound.title`)} — Wurk`}),(()=>{var e=s(),r=e.firstChild;return i(e,t(o,{icon:`fa-compass`,get title(){return n(`notfound.title`)},get summary(){return n(`notfound.hint`)}}),r),i(r,t(a,{href:`/`,class:`btn btn-accent`,get children(){return n(`notfound.home`)}})),e})()}export{c as default};
1
+ import{_ as e,j as t,o as n,q as r,u as i}from"./i18n-BZClP62Q.js";import{b as a}from"./index-BOTVSP9M.js";import{t as o}from"./PageHeader-DjIAFTyX.js";var s=e(`<div><div class=empty-state>`);function c(){return r(()=>{document.title=`${n(`notfound.title`)} — Wurk`}),(()=>{var e=s(),r=e.firstChild;return i(e,t(o,{icon:`fa-compass`,get title(){return n(`notfound.title`)},get summary(){return n(`notfound.hint`)}}),r),i(r,t(a,{href:`/`,class:`btn btn-accent`,get children(){return n(`notfound.home`)}})),e})()}export{c as default};
@@ -1 +1 @@
1
- import{E as e,I as t,_ as n,c as r,j as i,u as a}from"./i18n-B6AbnmJn.js";var o=n(`<div class=page-header__aside>`),s=n(`<div class=page-header><span class=page-header__icon><i></i></span><div class=page-header__text><h1 class=page-header__title></h1><p class=page-header__summary>`);function c(n){return(()=>{var c=s(),l=c.firstChild,u=l.firstChild,d=l.nextSibling.firstChild,f=d.nextSibling;return a(d,()=>n.title),a(f,()=>n.summary),a(c,i(e,{get when(){return n.children!=null},get children(){var e=o();return a(e,()=>n.children),e}}),null),t(()=>r(u,`fa-solid ${n.icon}`)),c})()}export{c as t};
1
+ import{E as e,I as t,_ as n,c as r,j as i,u as a}from"./i18n-BZClP62Q.js";var o=n(`<div class=page-header__aside>`),s=n(`<div class=page-header><span class=page-header__icon><i></i></span><div class=page-header__text><h1 class=page-header__title></h1><p class=page-header__summary>`);function c(n){return(()=>{var c=s(),l=c.firstChild,u=l.firstChild,d=l.nextSibling.firstChild,f=d.nextSibling;return a(d,()=>n.title),a(f,()=>n.summary),a(c,i(e,{get when(){return n.children!=null},get children(){var e=o();return a(e,()=>n.children),e}}),null),t(()=>r(u,`fa-solid ${n.icon}`)),c})()}export{c as t};
@@ -1 +1 @@
1
- import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,o as c,p as l,q as u,u as d}from"./i18n-B6AbnmJn.js";import{a as f,f as p,h as m,s as h,v as g}from"./index-CTWV8VL4.js";import{o as _,s as v,t as y}from"./utils-DnzJXljj.js";var b=a(`<div class=obs>`),x=a(`<div class=obs><div class=empty-state style=color:var(--danger)>`),S=a(`<div class="obs-card obs-table"><div class=obs-tablescroll><table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),C=a(`<div class=obs><div class=obs-pagehead><div><h1></h1><p class=obs-panel__sub></p></div><span class="obs-chip obs-chip--active">`),w=a(`<div class="obs-card obs-empty">`),T=a(`<tr><td style=font-weight:500;color:var(--obs-text)></td><td><span class=obs-mono-cell></span></td><td></td><td> </td><td></td><td style=text-align:end><a class="obs-btn obs-btn--ghost obs-btn--sm"target=_blank rel="noopener noreferrer"><i class="fa-solid fa-up-right-from-square"aria-hidden=true></i> `),E=a(`<span>`);function D(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function O(){u(()=>{document.title=`${c(`nav.profiles`)} — Wurk`});let a=g(()=>({queryKey:[`profiles`],queryFn:()=>p(`${m()}/api/profiles`),refetchInterval:5e3}));return s(r,{get children(){return[s(i,{get when(){return a.isPending},get children(){var e=b();return d(e,s(f,{rows:8,cols:6})),e}}),s(i,{get when(){return!Array.isArray(a.data)},get children(){var e=x(),t=e.firstChild;return d(t,()=>c(`common.error`)),e}}),s(i,{get when(){return o(()=>!!Array.isArray(a.data))()&&a.data},children:r=>(()=>{var i=C(),a=i.firstChild.firstChild,o=a.firstChild,u=o.nextSibling,f=a.nextSibling;return d(o,()=>c(`nav.profiles`)),d(u,()=>c(`summaries.profiles`)),d(f,()=>_(r().length)),d(i,s(t,{get when(){return r().length>0},get fallback(){return(()=>{var e=w();return d(e,()=>c(`common.empty`)),e})()},get children(){var i=S(),a=i.firstChild.firstChild.firstChild,o=a.firstChild.firstChild,u=o.nextSibling,f=u.nextSibling,p=f.nextSibling,g=p.nextSibling,b=a.nextSibling;return d(o,()=>c(`table.type`)),d(u,()=>c(`table.jid`)),d(f,()=>c(`busy.started`)),d(p,()=>c(`table.elapsed`)),d(g,()=>c(`table.size`)),d(b,s(e,{get each(){return r()},children:e=>(()=>{var r=T(),i=r.firstChild,a=i.nextSibling,o=a.firstChild,u=a.nextSibling,f=u.nextSibling,p=f.firstChild,g=f.nextSibling,b=g.nextSibling.firstChild;return b.firstChild.nextSibling,d(i,()=>e.type),d(o,()=>e.jid),d(u,s(t,{get when(){return e.started_at},fallback:`—`,children:e=>(()=>{var t=E();return d(t,()=>y(e(),h)),n(()=>l(t,`title`,v(e(),h))),t})()})),d(f,()=>_(Math.round(e.elapsed*1e3)),p),d(f,()=>c(`common.ms`),null),d(g,()=>D(e.size)),d(b,()=>c(`extension.open`),null),n(()=>l(b,`href`,`${m()}/profiles/${encodeURIComponent(e.key)}`)),r})()})),i}}),null),i})()})]}})}export{O as default};
1
+ import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,o as c,p as l,q as u,u as d}from"./i18n-BZClP62Q.js";import{a as f,f as p,h as m,s as h,v as g}from"./index-BOTVSP9M.js";import{o as _,s as v,t as y}from"./utils-CGyrKpTh.js";var b=a(`<div class=obs>`),x=a(`<div class=obs><div class=empty-state style=color:var(--danger)>`),S=a(`<div class="obs-card obs-table"><div class=obs-tablescroll><table><thead><tr><th></th><th></th><th></th><th></th><th></th><th></th></tr></thead><tbody>`),C=a(`<div class=obs><div class=obs-pagehead><div><h1></h1><p class=obs-panel__sub></p></div><span class="obs-chip obs-chip--active">`),w=a(`<div class="obs-card obs-empty">`),T=a(`<tr><td style=font-weight:500;color:var(--obs-text)></td><td><span class=obs-mono-cell></span></td><td></td><td> </td><td></td><td style=text-align:end><a class="obs-btn obs-btn--ghost obs-btn--sm"target=_blank rel="noopener noreferrer"><i class="fa-solid fa-up-right-from-square"aria-hidden=true></i> `),E=a(`<span>`);function D(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function O(){u(()=>{document.title=`${c(`nav.profiles`)} — Wurk`});let a=g(()=>({queryKey:[`profiles`],queryFn:()=>p(`${m()}/api/profiles`),refetchInterval:5e3}));return s(r,{get children(){return[s(i,{get when(){return a.isPending},get children(){var e=b();return d(e,s(f,{rows:8,cols:6})),e}}),s(i,{get when(){return!Array.isArray(a.data)},get children(){var e=x(),t=e.firstChild;return d(t,()=>c(`common.error`)),e}}),s(i,{get when(){return o(()=>!!Array.isArray(a.data))()&&a.data},children:r=>(()=>{var i=C(),a=i.firstChild.firstChild,o=a.firstChild,u=o.nextSibling,f=a.nextSibling;return d(o,()=>c(`nav.profiles`)),d(u,()=>c(`summaries.profiles`)),d(f,()=>_(r().length)),d(i,s(t,{get when(){return r().length>0},get fallback(){return(()=>{var e=w();return d(e,()=>c(`common.empty`)),e})()},get children(){var i=S(),a=i.firstChild.firstChild.firstChild,o=a.firstChild.firstChild,u=o.nextSibling,f=u.nextSibling,p=f.nextSibling,g=p.nextSibling,b=a.nextSibling;return d(o,()=>c(`table.type`)),d(u,()=>c(`table.jid`)),d(f,()=>c(`busy.started`)),d(p,()=>c(`table.elapsed`)),d(g,()=>c(`table.size`)),d(b,s(e,{get each(){return r()},children:e=>(()=>{var r=T(),i=r.firstChild,a=i.nextSibling,o=a.firstChild,u=a.nextSibling,f=u.nextSibling,p=f.firstChild,g=f.nextSibling,b=g.nextSibling.firstChild;return b.firstChild.nextSibling,d(i,()=>e.type),d(o,()=>e.jid),d(u,s(t,{get when(){return e.started_at},fallback:`—`,children:e=>(()=>{var t=E();return d(t,()=>y(e(),h)),n(()=>l(t,`title`,v(e(),h))),t})()})),d(f,()=>_(Math.round(e.elapsed*1e3)),p),d(f,()=>c(`common.ms`),null),d(g,()=>D(e.size)),d(b,()=>c(`extension.open`),null),n(()=>l(b,`href`,`${m()}/profiles/${encodeURIComponent(e.key)}`)),r})()})),i}}),null),i})()})]}})}export{O as default};
@@ -1 +1 @@
1
- import{A as e,B as t,C as n,E as r,I as i,O as a,P as o,T as s,_ as c,d as l,j as u,l as d,m as f,o as p,p as m,q as h,s as g,u as _,v,z as y}from"./i18n-B6AbnmJn.js";import{S as b,_ as x,a as S,f as C,g as w,h as T,m as E,o as D,t as O,u as k,v as A,x as j}from"./index-CTWV8VL4.js";import{i as M,l as N,n as P,o as F,u as I}from"./utils-DnzJXljj.js";import{a as L,i as R,n as z,r as B,t as V}from"./useResetPageOnEmpty-BsYWeStI.js";import{n as H,t as U}from"./useSort-BWWfpnZH.js";import{t as W}from"./PageHeader-CeSaqysY.js";import{t as G}from"./ArgsValue-_MYkd_vA.js";import{t as K}from"./JobDetailModal-BrjmO98c.js";var ee=c(`<span style=display:inline-flex>`),te=c(`<div role=tooltip style="position:fixed;transform:translate(-50%, -100%);max-width:260px;background:var(--surface-strong);color:var(--text);border:1px solid var(--border-strong);padding:0.4rem 0.6rem;border-radius:6px;font-size:12px;line-height:1.35;z-index:9999;pointer-events:none;box-shadow:0 4px 14px var(--shadow-color)">`);function ne(n){let[a,s]=y(null),c,l=t(),d=()=>{let e=c?.getBoundingClientRect();e&&s({x:e.left+e.width/2,y:e.top})},p=e(()=>n.children);return o(()=>{let e=p();e instanceof HTMLElement&&e.setAttribute(`aria-describedby`,l)}),(()=>{var e=ee();e.addEventListener(`mouseleave`,()=>s(null)),e.addEventListener(`mouseenter`,d);var t=c;return typeof t==`function`?v(t,e):c=e,_(e,p,null),_(e,u(r,{get when(){return a()},children:e=>u(g,{get children(){var t=te();return m(t,`id`,l),_(t,()=>n.tip),i(n=>{var r=`${e().x}px`,i=`${e().y-8}px`;return r!==n.e&&f(t,`left`,n.e=r),i!==n.t&&f(t,`top`,n.t=i),n},{e:void 0,t:void 0}),t}})}),null),e})()}var q=c(`<div class=empty-state style=color:var(--danger)>`),J=c(`<span class="badge badge-warning">`),Y=c(`<th class=row-action>`),X=c(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),re=c(`<div class=qjobs><div style=display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem><span style=color:var(--text-muted);font-size:13px> · <span> `),Z=c(`<div class=empty-state>`),ie=c(`<td class=row-action><button class="btn btn-sm btn-danger">`),ae=c(`<tr class=row-clickable><td style=font-family:monospace;font-size:12px;color:var(--text-muted)></td><td style=font-weight:500></td><td></td><td>`),Q=c(`<div>`),oe=c(`<button class="btn btn-sm">`),se=c(`<td class=row-action><div style=display:flex;gap:0.4rem;justify-content:flex-end><button class="btn btn-sm btn-danger">`),ce=c(`<tr class=row-clickable><td style=font-weight:500></td><td></td><td></td><td>`),le=c(`<span class="badge badge-success">`),$=25,ue={jid:e=>e.jid,class:e=>e.class,args:e=>P(e.args),enqueued:e=>e.enqueued_at};function de(e){let[t,o]=z(),[c,l]=y(null),d=k(),f=()=>d.data?.read_only??!1,h=w(),g=A(()=>({queryKey:[`queue`,e.name,t()],queryFn:()=>C(`${T()}/api/queues/${encodeURIComponent(e.name)}?page=${t()-1}&count=${$}`)}));B(t,o,()=>g.data);let v=x(()=>({mutationFn:t=>E(`${T()}/api/queues/${encodeURIComponent(e.name)}/delete`,{jid:t}),onSuccess:()=>{h.invalidateQueries({queryKey:[`queue`,e.name]}),h.invalidateQueries({queryKey:[`queues`]}),h.invalidateQueries({queryKey:[`stats`]})},onError:O}));V(t,o,()=>!g.isPending&&!!g.data,()=>(g.data?.jobs.length??0)===0);let{sorted:b,sort:D,toggle:j}=U(()=>g.data?.jobs??[],ue);return u(a,{get children(){return[u(s,{get when(){return g.isPending},get children(){return u(S,{rows:6,cols:5})}}),u(s,{get when(){return g.isError||!g.data},get children(){var e=q();return _(e,()=>p(`common.error`)),e}}),u(s,{get when(){return g.data},children:a=>(()=>{var s=re(),d=s.firstChild,h=d.firstChild,g=h.firstChild,y=g.nextSibling,x=y.firstChild;return _(h,()=>p(`queues.job_count`,{n:F(a().size)}),g),_(y,()=>p(`queues.latency_label`),x),_(y,()=>M(a().latency),null),_(d,u(r,{get when(){return a().paused},get children(){var e=J();return _(e,()=>p(`dashboard.paused`)),e}}),null),_(s,u(r,{get when(){return b().length>0},get fallback(){return(()=>{var e=Z();return _(e,()=>p(`common.empty`)),e})()},get children(){return[(()=>{var t=X(),a=t.firstChild.firstChild,o=a.firstChild,s=a.nextSibling;return _(o,u(H,{get label(){return p(`table.jid`)},sortKey:`jid`,get sort(){return D()},onSort:j}),null),_(o,u(H,{get label(){return p(`table.class`)},sortKey:`class`,get sort(){return D()},onSort:j}),null),_(o,u(H,{get label(){return p(`table.args`)},sortKey:`args`,get sort(){return D()},onSort:j}),null),_(o,u(H,{get label(){return p(`table.enqueued_at`)},sortKey:`enqueued`,get sort(){return D()},onSort:j}),null),_(o,u(r,{get when(){return!f()},get children(){return Y()}}),null),_(s,u(n,{get each(){return b()},children:t=>{let n=P(t.args);return(()=>{var a=ae(),o=a.firstChild,s=o.nextSibling,c=s.nextSibling,d=c.nextSibling;return a.$$click=()=>l({jid:t.jid,klass:t.class,args:t.args,queue:e.name,enqueued_at:t.enqueued_at}),_(o,()=>I(t.jid,12)),_(s,()=>t.class),_(c,u(G,{str:n,max:60})),_(d,()=>N(t.enqueued_at)),_(a,u(r,{get when(){return!f()},get children(){var e=ie(),n=e.firstChild;return e.$$click=e=>e.stopPropagation(),n.$$click=()=>{window.confirm(p(`actions.confirm`,{action:p(`actions.delete`),scope:p(`actions.scope_this_job`)}))&&v.mutate(t.jid)},_(n,()=>p(`actions.delete`)),i(()=>n.disabled=v.isPending),e}}),null),i(()=>m(o,`title`,t.jid)),a})()}})),t})(),u(R,{get page(){return t()},get total(){return a().size},count:$,get maxPage(){return L(a())},onChange:o})]}}),null),_(s,u(K,{get entry(){return c()},onClose:()=>l(null)}),null),i(()=>m(y,`title`,`${a().latency.toFixed(3)}s`)),s})()})]}})}var fe={name:e=>e.name,size:e=>e.size,latency:e=>e.latency,status:e=>e.paused?`paused`:`active`};function pe(){let e=b(),t=j(),[o,c]=y(e.name??null),d=()=>{c(null),e.name&&t(`/queues`,{replace:!0})},f=k(),g=()=>f.data?.read_only??!1,v=w();h(()=>{document.title=`${p(`nav.queues`)} — Wurk`});let N=A(()=>({queryKey:[`queues`],queryFn:()=>C(`${T()}/api/queues`),refetchInterval:5e3})),P=x(()=>({mutationFn:e=>E(`${T()}/api/queues/${encodeURIComponent(e)}/clear`),onSuccess:(e,t)=>{v.invalidateQueries({queryKey:[`queues`]}),v.invalidateQueries({queryKey:[`queue`,t]}),v.invalidateQueries({queryKey:[`stats`]})},onError:O})),I=x(()=>({mutationFn:({name:e,paused:t})=>E(`${T()}/api/queues/${encodeURIComponent(e)}/${t?`unpause`:`pause`}`),onSuccess:(e,{name:t})=>{v.invalidateQueries({queryKey:[`queues`]}),v.invalidateQueries({queryKey:[`queue`,t]}),v.invalidateQueries({queryKey:[`stats`]})},onError:O})),{sorted:L,sort:R,toggle:z}=U(()=>N.data??[],fe);return u(a,{get children(){return[u(s,{get when(){return N.isPending},get children(){var e=Q();return _(e,u(W,{icon:`fa-layer-group`,get title(){return p(`nav.queues`)},get summary(){return p(`summaries.queues`)}}),null),_(e,u(S,{rows:8,cols:5}),null),e}}),u(s,{get when(){return N.isError||!N.data},get children(){var e=q();return _(e,()=>p(`common.error`)),e}}),u(s,{get when(){return N.data},children:e=>(()=>{var e=Q();return _(e,u(W,{icon:`fa-layer-group`,get title(){return p(`nav.queues`)},get summary(){return p(`summaries.queues`)}}),null),_(e,u(r,{get when(){return L().length>0},get fallback(){return(()=>{var e=Z();return _(e,()=>p(`common.empty`)),e})()},get children(){var e=X(),t=e.firstChild.firstChild,a=t.firstChild,o=t.nextSibling;return _(a,u(H,{get label(){return p(`table.name`)},sortKey:`name`,get sort(){return R()},onSort:z}),null),_(a,u(H,{get label(){return p(`table.size`)},sortKey:`size`,get sort(){return R()},onSort:z}),null),_(a,u(H,{get label(){return p(`table.latency`)},sortKey:`latency`,get sort(){return R()},onSort:z}),null),_(a,u(H,{get label(){return p(`table.status`)},sortKey:`status`,get sort(){return R()},onSort:z}),null),_(a,u(r,{get when(){return!g()},get children(){return Y()}}),null),_(o,u(n,{get each(){return L()},children:e=>(()=>{var t=ce(),n=t.firstChild,a=n.nextSibling,o=a.nextSibling,s=o.nextSibling;return t.$$click=()=>c(e.name),_(n,()=>e.name),_(a,()=>F(e.size)),_(o,()=>M(e.latency)),_(s,u(r,{get when(){return e.paused},get fallback(){return(()=>{var e=le();return _(e,()=>p(`dashboard.active`)),e})()},get children(){var e=J();return _(e,()=>p(`dashboard.paused`)),e}})),_(t,u(r,{get when(){return!g()},get children(){var t=se(),n=t.firstChild,r=n.firstChild;return t.$$click=e=>e.stopPropagation(),_(n,u(ne,{get tip(){return l(()=>!!e.paused)()?p(`actions.unpause_hint`):p(`actions.pause_hint`)},get children(){var t=oe();return t.$$click=()=>I.mutate({name:e.name,paused:e.paused}),_(t,(()=>{var t=l(()=>!!e.paused);return()=>t()?p(`actions.unpause`):p(`actions.pause`)})()),i(()=>t.disabled=I.isPending),t}}),r),r.$$click=()=>{window.confirm(p(`actions.confirm_clear_queue`,{name:e.name}))&&P.mutate(e.name)},_(r,()=>p(`actions.clear`)),i(()=>r.disabled=P.isPending),t}}),null),i(()=>m(o,`title`,`${e.latency.toFixed(3)}s`)),t})()})),e}}),null),_(e,u(D,{get open(){return o()!==null},onClose:d,get title(){return o()??``},width:780,get children(){return u(r,{get when(){return o()},children:e=>u(de,{get name(){return e()}})})}}),null),e})()})]}})}d([`click`]);export{pe as default};
1
+ import{A as e,B as t,C as n,E as r,I as i,O as a,P as o,T as s,_ as c,d as l,j as u,l as d,m as f,o as p,p as m,q as h,s as g,u as _,v,z as y}from"./i18n-BZClP62Q.js";import{S as b,_ as x,a as S,f as C,g as w,h as T,m as E,o as D,t as O,u as k,v as A,x as j}from"./index-BOTVSP9M.js";import{i as M,l as N,n as P,o as F,u as I}from"./utils-CGyrKpTh.js";import{a as L,i as R,n as z,r as B,t as V}from"./useResetPageOnEmpty-BRPNyV2M.js";import{n as H,t as U}from"./useSort-B-BLJik7.js";import{t as W}from"./PageHeader-DjIAFTyX.js";import{t as G}from"./ArgsValue-DDqX6XWH.js";import{t as K}from"./JobDetailModal-Cuk3jruU.js";var ee=c(`<span style=display:inline-flex>`),te=c(`<div role=tooltip style="position:fixed;transform:translate(-50%, -100%);max-width:260px;background:var(--surface-strong);color:var(--text);border:1px solid var(--border-strong);padding:0.4rem 0.6rem;border-radius:6px;font-size:12px;line-height:1.35;z-index:9999;pointer-events:none;box-shadow:0 4px 14px var(--shadow-color)">`);function ne(n){let[a,s]=y(null),c,l=t(),d=()=>{let e=c?.getBoundingClientRect();e&&s({x:e.left+e.width/2,y:e.top})},p=e(()=>n.children);return o(()=>{let e=p();e instanceof HTMLElement&&e.setAttribute(`aria-describedby`,l)}),(()=>{var e=ee();e.addEventListener(`mouseleave`,()=>s(null)),e.addEventListener(`mouseenter`,d);var t=c;return typeof t==`function`?v(t,e):c=e,_(e,p,null),_(e,u(r,{get when(){return a()},children:e=>u(g,{get children(){var t=te();return m(t,`id`,l),_(t,()=>n.tip),i(n=>{var r=`${e().x}px`,i=`${e().y-8}px`;return r!==n.e&&f(t,`left`,n.e=r),i!==n.t&&f(t,`top`,n.t=i),n},{e:void 0,t:void 0}),t}})}),null),e})()}var q=c(`<div class=empty-state style=color:var(--danger)>`),J=c(`<span class="badge badge-warning">`),Y=c(`<th class=row-action>`),X=c(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),re=c(`<div class=qjobs><div style=display:flex;align-items:center;gap:0.75rem;margin-bottom:1rem><span style=color:var(--text-muted);font-size:13px> · <span> `),Z=c(`<div class=empty-state>`),ie=c(`<td class=row-action><button class="btn btn-sm btn-danger">`),ae=c(`<tr class=row-clickable><td style=font-family:monospace;font-size:12px;color:var(--text-muted)></td><td style=font-weight:500></td><td></td><td>`),Q=c(`<div>`),oe=c(`<button class="btn btn-sm">`),se=c(`<td class=row-action><div style=display:flex;gap:0.4rem;justify-content:flex-end><button class="btn btn-sm btn-danger">`),ce=c(`<tr class=row-clickable><td style=font-weight:500></td><td></td><td></td><td>`),le=c(`<span class="badge badge-success">`),$=25,ue={jid:e=>e.jid,class:e=>e.class,args:e=>P(e.args),enqueued:e=>e.enqueued_at};function de(e){let[t,o]=z(),[c,l]=y(null),d=k(),f=()=>d.data?.read_only??!1,h=w(),g=A(()=>({queryKey:[`queue`,e.name,t()],queryFn:()=>C(`${T()}/api/queues/${encodeURIComponent(e.name)}?page=${t()-1}&count=${$}`)}));B(t,o,()=>g.data);let v=x(()=>({mutationFn:t=>E(`${T()}/api/queues/${encodeURIComponent(e.name)}/delete`,{jid:t}),onSuccess:()=>{h.invalidateQueries({queryKey:[`queue`,e.name]}),h.invalidateQueries({queryKey:[`queues`]}),h.invalidateQueries({queryKey:[`stats`]})},onError:O}));V(t,o,()=>!g.isPending&&!!g.data,()=>(g.data?.jobs.length??0)===0);let{sorted:b,sort:D,toggle:j}=U(()=>g.data?.jobs??[],ue);return u(a,{get children(){return[u(s,{get when(){return g.isPending},get children(){return u(S,{rows:6,cols:5})}}),u(s,{get when(){return g.isError||!g.data},get children(){var e=q();return _(e,()=>p(`common.error`)),e}}),u(s,{get when(){return g.data},children:a=>(()=>{var s=re(),d=s.firstChild,h=d.firstChild,g=h.firstChild,y=g.nextSibling,x=y.firstChild;return _(h,()=>p(`queues.job_count`,{n:F(a().size)}),g),_(y,()=>p(`queues.latency_label`),x),_(y,()=>M(a().latency),null),_(d,u(r,{get when(){return a().paused},get children(){var e=J();return _(e,()=>p(`dashboard.paused`)),e}}),null),_(s,u(r,{get when(){return b().length>0},get fallback(){return(()=>{var e=Z();return _(e,()=>p(`common.empty`)),e})()},get children(){return[(()=>{var t=X(),a=t.firstChild.firstChild,o=a.firstChild,s=a.nextSibling;return _(o,u(H,{get label(){return p(`table.jid`)},sortKey:`jid`,get sort(){return D()},onSort:j}),null),_(o,u(H,{get label(){return p(`table.class`)},sortKey:`class`,get sort(){return D()},onSort:j}),null),_(o,u(H,{get label(){return p(`table.args`)},sortKey:`args`,get sort(){return D()},onSort:j}),null),_(o,u(H,{get label(){return p(`table.enqueued_at`)},sortKey:`enqueued`,get sort(){return D()},onSort:j}),null),_(o,u(r,{get when(){return!f()},get children(){return Y()}}),null),_(s,u(n,{get each(){return b()},children:t=>{let n=P(t.args);return(()=>{var a=ae(),o=a.firstChild,s=o.nextSibling,c=s.nextSibling,d=c.nextSibling;return a.$$click=()=>l({jid:t.jid,klass:t.class,args:t.args,queue:e.name,enqueued_at:t.enqueued_at}),_(o,()=>I(t.jid,12)),_(s,()=>t.class),_(c,u(G,{str:n,max:60})),_(d,()=>N(t.enqueued_at)),_(a,u(r,{get when(){return!f()},get children(){var e=ie(),n=e.firstChild;return e.$$click=e=>e.stopPropagation(),n.$$click=()=>{window.confirm(p(`actions.confirm`,{action:p(`actions.delete`),scope:p(`actions.scope_this_job`)}))&&v.mutate(t.jid)},_(n,()=>p(`actions.delete`)),i(()=>n.disabled=v.isPending),e}}),null),i(()=>m(o,`title`,t.jid)),a})()}})),t})(),u(R,{get page(){return t()},get total(){return a().size},count:$,get maxPage(){return L(a())},onChange:o})]}}),null),_(s,u(K,{get entry(){return c()},onClose:()=>l(null)}),null),i(()=>m(y,`title`,`${a().latency.toFixed(3)}s`)),s})()})]}})}var fe={name:e=>e.name,size:e=>e.size,latency:e=>e.latency,status:e=>e.paused?`paused`:`active`};function pe(){let e=b(),t=j(),[o,c]=y(e.name??null),d=()=>{c(null),e.name&&t(`/queues`,{replace:!0})},f=k(),g=()=>f.data?.read_only??!1,v=w();h(()=>{document.title=`${p(`nav.queues`)} — Wurk`});let N=A(()=>({queryKey:[`queues`],queryFn:()=>C(`${T()}/api/queues`),refetchInterval:5e3})),P=x(()=>({mutationFn:e=>E(`${T()}/api/queues/${encodeURIComponent(e)}/clear`),onSuccess:(e,t)=>{v.invalidateQueries({queryKey:[`queues`]}),v.invalidateQueries({queryKey:[`queue`,t]}),v.invalidateQueries({queryKey:[`stats`]})},onError:O})),I=x(()=>({mutationFn:({name:e,paused:t})=>E(`${T()}/api/queues/${encodeURIComponent(e)}/${t?`unpause`:`pause`}`),onSuccess:(e,{name:t})=>{v.invalidateQueries({queryKey:[`queues`]}),v.invalidateQueries({queryKey:[`queue`,t]}),v.invalidateQueries({queryKey:[`stats`]})},onError:O})),{sorted:L,sort:R,toggle:z}=U(()=>N.data??[],fe);return u(a,{get children(){return[u(s,{get when(){return N.isPending},get children(){var e=Q();return _(e,u(W,{icon:`fa-layer-group`,get title(){return p(`nav.queues`)},get summary(){return p(`summaries.queues`)}}),null),_(e,u(S,{rows:8,cols:5}),null),e}}),u(s,{get when(){return N.isError||!N.data},get children(){var e=q();return _(e,()=>p(`common.error`)),e}}),u(s,{get when(){return N.data},children:e=>(()=>{var e=Q();return _(e,u(W,{icon:`fa-layer-group`,get title(){return p(`nav.queues`)},get summary(){return p(`summaries.queues`)}}),null),_(e,u(r,{get when(){return L().length>0},get fallback(){return(()=>{var e=Z();return _(e,()=>p(`common.empty`)),e})()},get children(){var e=X(),t=e.firstChild.firstChild,a=t.firstChild,o=t.nextSibling;return _(a,u(H,{get label(){return p(`table.name`)},sortKey:`name`,get sort(){return R()},onSort:z}),null),_(a,u(H,{get label(){return p(`table.size`)},sortKey:`size`,get sort(){return R()},onSort:z}),null),_(a,u(H,{get label(){return p(`table.latency`)},sortKey:`latency`,get sort(){return R()},onSort:z}),null),_(a,u(H,{get label(){return p(`table.status`)},sortKey:`status`,get sort(){return R()},onSort:z}),null),_(a,u(r,{get when(){return!g()},get children(){return Y()}}),null),_(o,u(n,{get each(){return L()},children:e=>(()=>{var t=ce(),n=t.firstChild,a=n.nextSibling,o=a.nextSibling,s=o.nextSibling;return t.$$click=()=>c(e.name),_(n,()=>e.name),_(a,()=>F(e.size)),_(o,()=>M(e.latency)),_(s,u(r,{get when(){return e.paused},get fallback(){return(()=>{var e=le();return _(e,()=>p(`dashboard.active`)),e})()},get children(){var e=J();return _(e,()=>p(`dashboard.paused`)),e}})),_(t,u(r,{get when(){return!g()},get children(){var t=se(),n=t.firstChild,r=n.firstChild;return t.$$click=e=>e.stopPropagation(),_(n,u(ne,{get tip(){return l(()=>!!e.paused)()?p(`actions.unpause_hint`):p(`actions.pause_hint`)},get children(){var t=oe();return t.$$click=()=>I.mutate({name:e.name,paused:e.paused}),_(t,(()=>{var t=l(()=>!!e.paused);return()=>t()?p(`actions.unpause`):p(`actions.pause`)})()),i(()=>t.disabled=I.isPending),t}}),r),r.$$click=()=>{window.confirm(p(`actions.confirm_clear_queue`,{name:e.name}))&&P.mutate(e.name)},_(r,()=>p(`actions.clear`)),i(()=>r.disabled=P.isPending),t}}),null),i(()=>m(o,`title`,`${e.latency.toFixed(3)}s`)),t})()})),e}}),null),_(e,u(D,{get open(){return o()!==null},onClose:d,get title(){return o()??``},width:780,get children(){return u(r,{get when(){return o()},children:e=>u(de,{get name(){return e()}})})}}),null),e})()})]}})}d([`click`]);export{pe as default};
@@ -1 +1 @@
1
- import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,l as c,o as l,p as u,q as d,u as f,z as p}from"./i18n-B6AbnmJn.js";import{S as m,a as h,u as ee}from"./index-CTWV8VL4.js";import{l as g,n as _,o as v,s as y,u as b}from"./utils-DnzJXljj.js";import{i as te}from"./useResetPageOnEmpty-BsYWeStI.js";import{n as x,t as ne}from"./useSort-BWWfpnZH.js";import{t as re}from"./PageHeader-CeSaqysY.js";import{t as ie}from"./ArgsValue-_MYkd_vA.js";import{t as ae}from"./JobDetailModal-BrjmO98c.js";import{a as S,i as C,n as w,o as T,r as E,s as oe,t as se}from"./FilterBox-BfZm8ZzH.js";var D=a(`<span class=badge>`),O=a(`<div class=empty-state style=color:var(--danger)>`),k=a(`<div>`),A=a(`<span class="badge badge-warning">`),j=a(`<th class=row-action><input type=checkbox>`),M=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),N=a(`<div class=empty-state>`),P=a(`<td class=row-action><input type=checkbox>`),F=a(`<tr class=row-clickable><td style=font-weight:500></td><td></td><td style=color:var(--danger)></td><td></td><td style=color:var(--warning)></td><td>`),I={klass:e=>e.klass,args:e=>_(e.args),error_class:e=>e.error_class,error_message:e=>e.error_message,retry_count:e=>e.retry_count,at:e=>e.at},L=[{cmd:`retry`,label:l(`actions.retry`)},{cmd:`delete`,label:l(`actions.delete`),danger:!0},{cmd:`kill`,label:l(`actions.kill`),danger:!0}],R=[{cmd:`retry`,label:l(`actions.retry`)},{cmd:`kill`,label:l(`actions.kill`),danger:!0},{cmd:`delete`,label:l(`actions.delete`),danger:!0}];function z(){let a=m(),c=E(`retries`,w(a.key)),z=c.query,[B,V]=p(null),[H,U]=p(null),W=ee(),G=()=>W.data?.read_only??!1,K=T(),{single:q,bulk:J,all:Y}=S(`retries`),ce=()=>q.isPending||J.isPending||Y.isPending;d(()=>{document.title=`${l(`nav.retries`)} — Wurk`});let{sorted:X,sort:Z,toggle:Q}=ne(()=>z.data?.entries??[],I),$=()=>X().map(C),le=()=>$().length>0&&$().every(e=>K.selected().has(e));return(()=>{var a=k();return f(a,s(re,{icon:`fa-rotate-right`,get title(){return l(`nav.retries`)},get summary(){return l(`summaries.retries`)},get children(){return[s(t,{get when(){return z.data},children:e=>(()=>{var t=A();return f(t,()=>v(e().total)),t})()}),s(t,{get when(){return o(()=>!!c.filtered())()&&c.matching()!==void 0},get children(){var e=D();return f(e,()=>l(`common.matching`,{n:c.matching()})),e}})]}}),null),f(a,s(se,{get value(){return c.filter()},get onChange(){return c.onFilterChange},get placeholder(){return l(`common.filter_placeholder`)}}),null),f(a,s(r,{get children(){return[s(i,{get when(){return z.isPending},get children(){return s(h,{rows:8,cols:7})}}),s(i,{get when(){return z.isError||!z.data},get children(){var e=O();return f(e,()=>l(`common.error`)),e}}),s(i,{get when(){return z.data},children:r=>(()=>{var i=k();return f(i,s(t,{get when(){return X().length>0},get fallback(){return(()=>{var e=N();return f(e,()=>l(`common.empty`)),e})()},get children(){return[s(t,{get when(){return!G()},get children(){return s(oe,{bulk:L,all:R,get selectedCount(){return K.count()},get total(){return r().total},get filtered(){return c.filtered()},get matching(){return c.matching()},get pending(){return ce()},onBulk:e=>J.mutate({keys:[...K.selected()],cmd:e},{onSuccess:K.clear}),onAll:e=>Y.mutate(e,{onSuccess:K.clear})})}}),(()=>{var r=M(),i=r.firstChild.firstChild,a=i.firstChild,o=i.nextSibling;return f(a,s(t,{get when(){return!G()},get children(){var e=j(),t=e.firstChild;return t.addEventListener(`change`,()=>K.toggleAll($())),n(()=>u(t,`aria-label`,l(`table.select_all`))),n(()=>t.checked=le()),e}}),null),f(a,s(x,{get label(){return l(`table.class`)},sortKey:`klass`,get sort(){return Z()},onSort:Q}),null),f(a,s(x,{get label(){return l(`table.args`)},sortKey:`args`,get sort(){return Z()},onSort:Q}),null),f(a,s(x,{get label(){return l(`table.error`)},sortKey:`error_class`,get sort(){return Z()},onSort:Q}),null),f(a,s(x,{get label(){return l(`table.message`)},sortKey:`error_message`,get sort(){return Z()},onSort:Q}),null),f(a,s(x,{get label(){return l(`table.count`)},sortKey:`retry_count`,get sort(){return Z()},onSort:Q}),null),f(a,s(x,{get label(){return l(`table.retry_at`)},sortKey:`at`,get sort(){return Z()},onSort:Q}),null),f(o,s(e,{get each(){return X()},children:e=>{let r=_(e.args),i=C(e);return(()=>{var a=F(),o=a.firstChild,c=o.nextSibling,d=c.nextSibling,p=d.nextSibling,m=p.nextSibling,h=m.nextSibling;return a.$$click=()=>{V(e),U(i)},f(a,s(t,{get when(){return!G()},get children(){var e=P(),t=e.firstChild;return e.$$click=e=>e.stopPropagation(),t.addEventListener(`change`,()=>K.toggle(i)),n(()=>u(t,`aria-label`,l(`table.select_row`))),n(()=>t.checked=K.selected().has(i)),e}}),o),f(o,()=>e.klass),f(c,s(ie,{str:r,max:40})),f(d,()=>b(e.error_class,30)),f(p,()=>b(e.error_message,50)),f(m,()=>e.retry_count),f(h,()=>g(e.at)),n(t=>{var n=e.error_class??``,r=e.error_message??``,i=y(e.at);return n!==t.e&&u(d,`title`,t.e=n),r!==t.t&&u(p,`title`,t.t=r),i!==t.a&&u(h,`title`,t.a=i),t},{e:void 0,t:void 0,a:void 0}),a})()}})),r})(),s(te,{get page(){return c.page()},get total(){return c.pagerTotal()},count:25,get maxPage(){return c.maxPage()},get onChange(){return c.setPage}})]}}),null),f(i,s(ae,{get entry(){return B()},get atLabel(){return l(`table.retry_at`)},get actions(){return G()?void 0:L},get pending(){return q.isPending},onAction:e=>{let t=H();t&&q.mutate({key:t,cmd:e},{onSuccess:()=>{V(null),U(null)}})},onClose:()=>{V(null),U(null)}}),null),i})()})]}}),null),a})()}c([`click`]);export{z as default};
1
+ import{C as e,E as t,I as n,O as r,T as i,_ as a,d as o,j as s,l as c,o as l,p as u,q as d,u as f,z as p}from"./i18n-BZClP62Q.js";import{S as m,a as h,u as ee}from"./index-BOTVSP9M.js";import{l as g,n as _,o as v,s as y,u as b}from"./utils-CGyrKpTh.js";import{i as te}from"./useResetPageOnEmpty-BRPNyV2M.js";import{n as x,t as ne}from"./useSort-B-BLJik7.js";import{t as re}from"./PageHeader-DjIAFTyX.js";import{t as ie}from"./ArgsValue-DDqX6XWH.js";import{t as ae}from"./JobDetailModal-Cuk3jruU.js";import{a as S,i as C,n as w,o as T,r as E,s as oe,t as se}from"./FilterBox-BDo-7IAy.js";var D=a(`<span class=badge>`),O=a(`<div class=empty-state style=color:var(--danger)>`),k=a(`<div>`),A=a(`<span class="badge badge-warning">`),j=a(`<th class=row-action><input type=checkbox>`),M=a(`<div class=table-wrapper><table><thead><tr></tr></thead><tbody>`),N=a(`<div class=empty-state>`),P=a(`<td class=row-action><input type=checkbox>`),F=a(`<tr class=row-clickable><td style=font-weight:500></td><td></td><td style=color:var(--danger)></td><td></td><td style=color:var(--warning)></td><td>`),I={klass:e=>e.klass,args:e=>_(e.args),error_class:e=>e.error_class,error_message:e=>e.error_message,retry_count:e=>e.retry_count,at:e=>e.at},L=[{cmd:`retry`,label:l(`actions.retry`)},{cmd:`delete`,label:l(`actions.delete`),danger:!0},{cmd:`kill`,label:l(`actions.kill`),danger:!0}],R=[{cmd:`retry`,label:l(`actions.retry`)},{cmd:`kill`,label:l(`actions.kill`),danger:!0},{cmd:`delete`,label:l(`actions.delete`),danger:!0}];function z(){let a=m(),c=E(`retries`,w(a.key)),z=c.query,[B,V]=p(null),[H,U]=p(null),W=ee(),G=()=>W.data?.read_only??!1,K=T(),{single:q,bulk:J,all:Y}=S(`retries`),ce=()=>q.isPending||J.isPending||Y.isPending;d(()=>{document.title=`${l(`nav.retries`)} — Wurk`});let{sorted:X,sort:Z,toggle:Q}=ne(()=>z.data?.entries??[],I),$=()=>X().map(C),le=()=>$().length>0&&$().every(e=>K.selected().has(e));return(()=>{var a=k();return f(a,s(re,{icon:`fa-rotate-right`,get title(){return l(`nav.retries`)},get summary(){return l(`summaries.retries`)},get children(){return[s(t,{get when(){return z.data},children:e=>(()=>{var t=A();return f(t,()=>v(e().total)),t})()}),s(t,{get when(){return o(()=>!!c.filtered())()&&c.matching()!==void 0},get children(){var e=D();return f(e,()=>l(`common.matching`,{n:c.matching()})),e}})]}}),null),f(a,s(se,{get value(){return c.filter()},get onChange(){return c.onFilterChange},get placeholder(){return l(`common.filter_placeholder`)}}),null),f(a,s(r,{get children(){return[s(i,{get when(){return z.isPending},get children(){return s(h,{rows:8,cols:7})}}),s(i,{get when(){return z.isError||!z.data},get children(){var e=O();return f(e,()=>l(`common.error`)),e}}),s(i,{get when(){return z.data},children:r=>(()=>{var i=k();return f(i,s(t,{get when(){return X().length>0},get fallback(){return(()=>{var e=N();return f(e,()=>l(`common.empty`)),e})()},get children(){return[s(t,{get when(){return!G()},get children(){return s(oe,{bulk:L,all:R,get selectedCount(){return K.count()},get total(){return r().total},get filtered(){return c.filtered()},get matching(){return c.matching()},get pending(){return ce()},onBulk:e=>J.mutate({keys:[...K.selected()],cmd:e},{onSuccess:K.clear}),onAll:e=>Y.mutate(e,{onSuccess:K.clear})})}}),(()=>{var r=M(),i=r.firstChild.firstChild,a=i.firstChild,o=i.nextSibling;return f(a,s(t,{get when(){return!G()},get children(){var e=j(),t=e.firstChild;return t.addEventListener(`change`,()=>K.toggleAll($())),n(()=>u(t,`aria-label`,l(`table.select_all`))),n(()=>t.checked=le()),e}}),null),f(a,s(x,{get label(){return l(`table.class`)},sortKey:`klass`,get sort(){return Z()},onSort:Q}),null),f(a,s(x,{get label(){return l(`table.args`)},sortKey:`args`,get sort(){return Z()},onSort:Q}),null),f(a,s(x,{get label(){return l(`table.error`)},sortKey:`error_class`,get sort(){return Z()},onSort:Q}),null),f(a,s(x,{get label(){return l(`table.message`)},sortKey:`error_message`,get sort(){return Z()},onSort:Q}),null),f(a,s(x,{get label(){return l(`table.count`)},sortKey:`retry_count`,get sort(){return Z()},onSort:Q}),null),f(a,s(x,{get label(){return l(`table.retry_at`)},sortKey:`at`,get sort(){return Z()},onSort:Q}),null),f(o,s(e,{get each(){return X()},children:e=>{let r=_(e.args),i=C(e);return(()=>{var a=F(),o=a.firstChild,c=o.nextSibling,d=c.nextSibling,p=d.nextSibling,m=p.nextSibling,h=m.nextSibling;return a.$$click=()=>{V(e),U(i)},f(a,s(t,{get when(){return!G()},get children(){var e=P(),t=e.firstChild;return e.$$click=e=>e.stopPropagation(),t.addEventListener(`change`,()=>K.toggle(i)),n(()=>u(t,`aria-label`,l(`table.select_row`))),n(()=>t.checked=K.selected().has(i)),e}}),o),f(o,()=>e.klass),f(c,s(ie,{str:r,max:40})),f(d,()=>b(e.error_class,30)),f(p,()=>b(e.error_message,50)),f(m,()=>e.retry_count),f(h,()=>g(e.at)),n(t=>{var n=e.error_class??``,r=e.error_message??``,i=y(e.at);return n!==t.e&&u(d,`title`,t.e=n),r!==t.t&&u(p,`title`,t.t=r),i!==t.a&&u(h,`title`,t.a=i),t},{e:void 0,t:void 0,a:void 0}),a})()}})),r})(),s(te,{get page(){return c.page()},get total(){return c.pagerTotal()},count:25,get maxPage(){return c.maxPage()},get onChange(){return c.setPage}})]}}),null),f(i,s(ae,{get entry(){return B()},get atLabel(){return l(`table.retry_at`)},get actions(){return G()?void 0:L},get pending(){return q.isPending},onAction:e=>{let t=H();t&&q.mutate({key:t,cmd:e},{onSuccess:()=>{V(null),U(null)}})},onClose:()=>{V(null),U(null)}}),null),i})()})]}}),null),a})()}c([`click`]);export{z as default};