bunqueue-dashboard 1.0.1 → 1.0.3

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 (84) hide show
  1. package/README.md +13 -10
  2. package/agent/backup/routes.ts +20 -12
  3. package/agent/manager/config.ts +2 -1
  4. package/agent/server/handler.ts +2 -1
  5. package/agent/server/router.ts +6 -1
  6. package/agent/server/types.ts +1 -1
  7. package/agent/workflow/runtime.ts +25 -7
  8. package/agent/workflow/runtimeRoutes.ts +4 -1
  9. package/dist/.vite/manifest.json +500 -489
  10. package/dist/assets/{AddJob-CiwWycYG.js → AddJob-jq-VZ_YE.js} +1 -1
  11. package/dist/assets/{Alerts-DzKKoA9U.js → Alerts-Bi8zLKXV.js} +1 -1
  12. package/dist/assets/{AreaChart-Db2UVnaK.js → AreaChart-BMYp7z5y.js} +1 -1
  13. package/dist/assets/{Benchmark-CHYDL31K.js → Benchmark-CWYdqm55.js} +1 -1
  14. package/dist/assets/{BulkAddJobs-GRMVnf0j.js → BulkAddJobs-0cdWqkEF.js} +1 -1
  15. package/dist/assets/{Button-_aSJvRoW.js → Button-BCjgbAhY.js} +1 -1
  16. package/dist/assets/{Card-egIDLwVk.js → Card-DptfvL2O.js} +1 -1
  17. package/dist/assets/{Cron-XL0PdUEc.js → Cron-dPGwJXqY.js} +1 -1
  18. package/dist/assets/{CronManager-Cqtg9Zr8.js → CronManager-C0-Y2QDg.js} +1 -1
  19. package/dist/assets/{Database-BoxVpjts.js → Database-CseJOrvD.js} +1 -1
  20. package/dist/assets/{Diagnostics-B3QSQuFF.js → Diagnostics-cZTy4Y2t.js} +1 -1
  21. package/dist/assets/{Dlq-DHOfgORa.js → Dlq-W2xOJiZM.js} +1 -1
  22. package/dist/assets/{DlqControl-BY1e55-x.js → DlqControl-CIV5278D.js} +1 -1
  23. package/dist/assets/DlqPro-BuRxGtGt.js +1 -0
  24. package/dist/assets/{Fleet-Bkbq0dFB.js → Fleet-0zKJSjCw.js} +1 -1
  25. package/dist/assets/{Flows-CDCQrPit.js → Flows-CEfm102Y.js} +1 -1
  26. package/dist/assets/{JobInspector-Bw3Gs1Iy.js → JobInspector-BlMj5-Vr.js} +1 -1
  27. package/dist/assets/{Jobs-IrlneOy6.js → Jobs-D_TId_Oa.js} +1 -1
  28. package/dist/assets/JobsPro-A06ZG5Xi.js +1 -0
  29. package/dist/assets/{Logs-DG7cK-tF.js → Logs-hbh7XhQU.js} +1 -1
  30. package/dist/assets/{LogsPro-ClSqFKys.js → LogsPro-BgEIjgfj.js} +1 -1
  31. package/dist/assets/McpServer-ffXr4nFW.js +22 -0
  32. package/dist/assets/{Metrics-BkePZiCZ.js → Metrics-CIKZGgf0.js} +1 -1
  33. package/dist/assets/{MetricsPro-ooSvpQ3H.js → MetricsPro-CK3WfLCl.js} +1 -1
  34. package/dist/assets/{Overview-CuWmPRra.js → Overview-BBgwyUn4.js} +1 -1
  35. package/dist/assets/{PageHeader-CQzNsw8r.js → PageHeader-DD4vnVog.js} +1 -1
  36. package/dist/assets/{Pagination-CSkzhNW6.js → Pagination-Cj7GzYNX.js} +1 -1
  37. package/dist/assets/{QueueActions-BBxRt-t0.js → QueueActions-BgdW95rN.js} +1 -1
  38. package/dist/assets/{QueueControl-C01l6bBJ.js → QueueControl-g-9kwrpt.js} +1 -1
  39. package/dist/assets/{QueueDetail-gSf9Tb7G.js → QueueDetail-Cv3MLDoE.js} +1 -1
  40. package/dist/assets/{QueueDetailPro-BKszqI0M.js → QueueDetailPro-AhdOAzEF.js} +1 -1
  41. package/dist/assets/{Queues-BAg2nSz0.js → Queues-Bbvh_OCE.js} +1 -1
  42. package/dist/assets/{QueuesOverview-BLSjiYsA.js → QueuesOverview-sPQILfMU.js} +1 -1
  43. package/dist/assets/{S3Backup-Ci4dJPP_.js → S3Backup-Cg6sc2JG.js} +1 -1
  44. package/dist/assets/{S3BackupPro-DcjlrzC5.js → S3BackupPro-BWV_R_Vj.js} +1 -1
  45. package/dist/assets/ServerControl-Dr2gXbaU.js +3 -0
  46. package/dist/assets/{Settings-DR_iqW0T.js → Settings-BsDDlu-h.js} +1 -1
  47. package/dist/assets/{StatusBadge-DereLzOj.js → StatusBadge-cYUkK-4P.js} +1 -1
  48. package/dist/assets/{Usage-ZWfB7PcR.js → Usage-Cxx6pZfb.js} +1 -1
  49. package/dist/assets/{UsagePro-BjdeS2zb.js → UsagePro-CkC8WYcS.js} +1 -1
  50. package/dist/assets/{Webhooks-BonYUgMo.js → Webhooks-BKWnALGC.js} +1 -1
  51. package/dist/assets/{Workers-C1h6hCPp.js → Workers-SJ9MApx3.js} +1 -1
  52. package/dist/assets/WorkersPro-BDgHBTpY.js +1 -0
  53. package/dist/assets/Workflows-Cp6jqKeM.js +1 -0
  54. package/dist/assets/{api-D9aT0ND7.js → api-Bbo86MB6.js} +1 -1
  55. package/dist/assets/{bq-DR2BTISO.js → bq-CSX8DSME.js} +1 -1
  56. package/dist/assets/{classicJobsData-Csj4iihY.js → classicJobsData-BimIyQky.js} +1 -1
  57. package/dist/assets/{connectionStore-CVjQyIZv.js → connectionStore-DdLzJyut.js} +1 -1
  58. package/dist/assets/{controlConnectionEpoch-ChAeMMLk.js → controlConnectionEpoch-D4HtriLM.js} +1 -1
  59. package/dist/assets/{feedback-CtGN_kqB.js → feedback-Dxfj-Fy1.js} +1 -1
  60. package/dist/assets/{form-DG3X6cLL.js → form-Dy-an7ew.js} +1 -1
  61. package/dist/assets/{icons-DH9SS1DA.js → icons-C1HVBnFn.js} +1 -1
  62. package/dist/assets/{index-Bat1DN5U.js → index-CxzFSZj3.js} +3 -3
  63. package/dist/assets/index-DZXf58c2.css +1 -0
  64. package/dist/assets/install-DUkXE5kb.js +3 -0
  65. package/dist/assets/package-C7CtgBEy.js +1 -0
  66. package/dist/assets/react-vendor-DfC0iyIS.js +11 -0
  67. package/dist/assets/{toastStore-XmMX7A5W.js → toastStore-DnqA_aL-.js} +1 -1
  68. package/dist/assets/{useControlActionGuard-1i7aFA7E.js → useControlActionGuard-DImMgJtj.js} +1 -1
  69. package/dist/assets/{usePolledData-CEyyLRYa.js → usePolledData-Dp_ynL9f.js} +1 -1
  70. package/dist/assets/{useServerActionGuard-CUx8TOAC.js → useServerActionGuard-Cr4KUOeZ.js} +1 -1
  71. package/dist/assets/{useThroughputSeries-CeFx-Mwq.js → useThroughputSeries-CrTeR9s3.js} +1 -1
  72. package/dist/index.html +14 -14
  73. package/package.json +40 -33
  74. package/scripts/bunVersion.ts +1 -1
  75. package/scripts/embedded.gen.ts +146 -144
  76. package/dist/assets/DlqPro-CfwKDcpc.js +0 -1
  77. package/dist/assets/JobsPro-vlPd6Ows.js +0 -1
  78. package/dist/assets/McpServer-DoNFY0Pj.js +0 -24
  79. package/dist/assets/ServerControl-SiZBNo9P.js +0 -3
  80. package/dist/assets/WorkersPro-B0f_Nfdz.js +0 -1
  81. package/dist/assets/Workflows-CqZZ96EK.js +0 -1
  82. package/dist/assets/index-C9yGKhQ8.css +0 -1
  83. package/dist/assets/install-oydLpc1T.js +0 -3
  84. package/dist/assets/react-vendor-CFL9l8LK.js +0 -11
@@ -1 +1 @@
1
- import{a as e,i as t,n,r}from"./connectionStore-CVjQyIZv.js";import{a as i,i as a,n as o,r as s,s as c}from"./upstreamPaths-DQeKSxGc.js";var l=class extends Error{status;constructor(e,t){super(e),this.status=t,this.name=`BqError`}},u=3e4,d=()=>u;async function f(e,t,n,r,i=!0,a=`server`,o=[],s=u){let c=AbortSignal.timeout(s),d=r?.signal?AbortSignal.any([r.signal,c]):c,f=new Headers(n);r?.headers&&new Headers(r.headers).forEach((e,t)=>{f.set(t,e)}),r?.body!=null&&!f.has(`Content-Type`)&&f.set(`Content-Type`,`application/json`);let p;try{p=await fetch(e+t,{...r,headers:f,signal:d})}catch(e){throw c.aborted&&!r?.signal?.aborted||e?.name===`TimeoutError`?new l(`Request timed out`,0):e}if(!p.ok&&!o.includes(p.status)){let t=`HTTP ${p.status}`;try{let e=await p.json();e?.error&&(t=e.error)}catch{}throw p.status===401&&typeof window<`u`&&window.dispatchEvent(new CustomEvent(`auth:required`,{detail:{scope:a,auth:f.get(`Authorization`)??void 0,target:e}})),new l(t,p.status)}if(p.status===204)return;let m;try{m=await p.text()}catch(e){throw c.aborted&&!r?.signal?.aborted?new l(`Request timed out`,0):e}if(!m)return;let h;try{h=JSON.parse(m)}catch{throw new l(`Invalid JSON response (HTTP ${p.status})`,p.status)}if(i&&h&&typeof h==`object`&&h.ok===!1)throw new l(h.error??`Operation failed`,p.status);return h}var p=(n,r,i=!0,a=[],o=u)=>f(e(),n,t(),r,i,`server`,a,o),m=()=>r(),h=(e,t,r=u)=>f(m(),e,n(),t,!0,`agent`,[],r),g=(e,t)=>({method:e,body:t===void 0?void 0:JSON.stringify(t)}),_=3e5,ee=(e,t)=>g(e,t),v=new WeakMap,y=new WeakMap;function b(){let n=Object.freeze({baseUrl:e()});return v.set(n,Object.freeze({...t()})),n}function x(){let e=Object.freeze({baseUrl:m()});return y.set(e,Object.freeze({...n()})),e}function S(e){let t=v.get(e);if(!t)throw TypeError(`Invalid server request target.`);return t}function C(e){let t=y.get(e);if(!t)throw TypeError(`Invalid agent request target.`);return t}async function w(e,t,n){n?.throwIfAborted();let r=await f(e.baseUrl,`/jobs/${i(t)}`,{...S(e)},n?{signal:n}:void 0);return n?.throwIfAborted(),r}var T=encodeURIComponent,te={info:()=>h(`/db/info`),tables:()=>h(`/db/tables`),schema:e=>h(`/db/tables/${o(e,`Database table`)}/schema`),rows:(e,t=50,n=0,r,i=`asc`,a)=>h(`/db/tables/${o(e,`Database table`)}?limit=${t}&offset=${n}${r?`&orderBy=${T(r)}&dir=${i}`:``}${a?.value?`&fcol=${T(a.column)}&fop=${a.op}&fval=${T(a.value)}`:``}`),cell:(e,t,n)=>h(`/db/tables/${o(e,`Database table`)}/cell?rowid=${T(String(t))}&column=${T(n)}`),query:e=>h(`/db/query`,g(`POST`,{sql:e}))},ne={status:()=>h(`/control/status`),start:()=>h(`/control/start`,{method:`POST`}),stop:()=>h(`/control/stop`,{method:`POST`}),restart:()=>h(`/control/restart`,{method:`POST`}),logs:()=>h(`/control/logs`),getConfig:()=>h(`/control/config`),setConfig:(e,t)=>h(`/control/config`,g(`PUT`,{...e,...t===void 0?{}:{expectedRevision:t}}))},re={stats:()=>h(`/workflows/stats`),list:(e={})=>{let t=new URLSearchParams;return e.kind&&t.set(`kind`,e.kind),e.workflowName&&t.set(`workflowName`,e.workflowName),e.state&&t.set(`state`,e.state),e.limit!==void 0&&t.set(`limit`,String(e.limit)),e.offset!==void 0&&t.set(`offset`,String(e.offset)),h(`/workflows${t.size?`?${t}`:``}`)},get:(e,t=`active`)=>h(`/workflows/${o(e,`Workflow execution id`)}?kind=${t}`)},ie=2e5,ae=16*1024*1024,oe=12e4,se=64*1024,E=encodeURIComponent;async function ce(e,t,n=50,r=0,i,a=`asc`,s,c){c?.throwIfAborted();let l=await f(e.baseUrl,`/db/tables/${o(t,`Database table`)}?limit=${n}&offset=${r}${i?`&orderBy=${E(i)}&dir=${a}`:``}${s?.value?`&fcol=${E(s.column)}&fop=${s.op}&fval=${E(s.value)}`:``}`,{...C(e)},c?{signal:c}:void 0,!0,`agent`);return c?.throwIfAborted(),l}function D(e,t,n,r=!0){let i=e.get(t);if(!i||!/^\d+$/.test(i))throw new l(`Malformed database export response: invalid ${t} header.`,200);let a=Number(i);if(!Number.isSafeInteger(a)||a>n||!r&&a===0)throw new l(`Malformed database export response: invalid ${t} header.`,200);return a}async function le(e){if(!e.body)return``;let t=e.body.getReader(),n=new Uint8Array(se),r=0;try{for(;;){let e=await t.read();if(e.done)break;if(r+e.value.byteLength>n.byteLength)return t.cancel().catch(()=>void 0),``;n.set(e.value,r),r+=e.value.byteLength}}finally{t.releaseLock()}return new TextDecoder().decode(n.subarray(0,r))}async function ue(e,t,n){if(!e.body)throw new l(`Malformed database export response: missing CSV body.`,200);let r=new Uint8Array(t),i=e.body.getReader(),a=0;try{for(;;){n?.throwIfAborted();let e=await i.read();if(e.done)break;if(a+e.value.byteLength>t)throw i.cancel().catch(()=>void 0),new l(`Malformed database export response: body exceeds declared ${t} bytes.`,200);r.set(e.value,a),a+=e.value.byteLength}}finally{i.releaseLock()}if(n?.throwIfAborted(),a!==t)throw new l(`Malformed database export response: received ${a} of ${t} declared bytes.`,200);return r}function de(e){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`Invalid database export request.`);if(typeof e.table!=`string`||!e.table)throw TypeError(`Database export table must not be empty.`);if(e.dir!==`asc`&&e.dir!==`desc`)throw TypeError(`Invalid database export sort direction.`);if(e.orderBy!==void 0&&(typeof e.orderBy!=`string`||!e.orderBy))throw TypeError(`Database export sort column must not be empty.`);let t=e.filter;if(t&&(typeof t!=`object`||Array.isArray(t)||typeof t.column!=`string`||!t.column||typeof t.value!=`string`||!t.value||![`contains`,`eq`,`ne`].includes(t.op)))throw TypeError(`Invalid database export filter.`);return Object.freeze({table:e.table,orderBy:e.orderBy,dir:e.dir,filter:t?Object.freeze({...t}):void 0})}async function fe(e,t,n){e.status===401&&typeof window<`u`&&window.dispatchEvent(new CustomEvent(`auth:required`,{detail:{scope:`agent`,auth:new Headers(n).get(`Authorization`)??void 0,target:t.baseUrl}}));let r=`HTTP ${e.status}`,i=await le(e);if(i)try{let e=JSON.parse(i);typeof e?.error==`string`&&(r=e.error)}catch{}return new l(r,e.status)}async function pe(e,t,n){n?.throwIfAborted();let r={...C(e)},i=de(t),a=new URLSearchParams;i.orderBy&&a.set(`orderBy`,i.orderBy),a.set(`dir`,i.dir),i.filter&&(a.set(`fcol`,i.filter.column),a.set(`fop`,i.filter.op),a.set(`fval`,i.filter.value));let s=`/db/tables/${o(i.table,`Database table`)}/export?${a}`,c=AbortSignal.timeout(oe),u=n?AbortSignal.any([n,c]):c;try{let t=await fetch(e.baseUrl+s,{headers:r,signal:u});if(!t.ok)throw await fe(t,e,r);if(t.headers.get(`X-Bunqueue-Db-Export-Version`)!==`1`)throw new l(`Malformed database export response: unsupported contract version.`,200);if(!/^text\/csv(?:;|$)/i.test(t.headers.get(`Content-Type`)??``))throw new l(`Malformed database export response: expected CSV content.`,200);let a;try{let e=t.headers.get(`X-Bunqueue-Db-Export-Table`);if(!e)throw Error(`missing`);a=decodeURIComponent(e)}catch{throw new l(`Malformed database export response: invalid table identity.`,200)}if(a!==i.table)throw new l(`Database export target changed: requested "${i.table}", received "${a}".`,200);let o=D(t.headers,`X-Bunqueue-Db-Export-Rows`,ie),c=D(t.headers,`X-Bunqueue-Db-Export-Bytes`,ae,!1);if(D(t.headers,`Content-Length`,16777216,!1)!==c)throw new l(`Malformed database export response: Content-Length does not match X-Bunqueue-Db-Export-Bytes.`,200);let d=t.headers.get(`X-Bunqueue-Db-Export-Cap`);if(d!==`none`&&d!==`rows`&&d!==`bytes`)throw new l(`Malformed database export response: invalid export cap.`,200);if(d===`rows`&&o!==2e5)throw new l(`Malformed database export response: inconsistent row cap.`,200);let f=await ue(t,c,u);return n?.throwIfAborted(),{table:a,content:f,rowCount:o,bytes:c,cap:d===`none`?null:d}}catch(e){throw c.aborted&&!n?.aborted?new l(`Database export timed out`,0):e}}var me={counts:e=>p(`/queues/${c(e)}/counts`),pause:e=>p(`/queues/${c(e)}/pause`,g(`POST`)),resume:e=>p(`/queues/${c(e)}/resume`,g(`POST`)),drain:e=>p(`/queues/${c(e)}/drain`,ee(`POST`),!0,[],_),obliterate:e=>p(`/queues/${c(e)}/obliterate`,ee(`POST`),!0,[],_),clean:(e,t={})=>p(`/queues/${c(e)}/clean`,g(`POST`,t)),promoteJobs:(e,t)=>p(`/queues/${c(e)}/promote-jobs`,g(`POST`,t==null?void 0:{count:t})),retryCompleted:(e,t)=>{throw TypeError(`Completed-job requeue is unavailable in Bunqueue v2.9.3 because flow dependency registration is not rebuilt.`)},setRateLimit:(e,t,n,r)=>p(`/queues/${c(e)}/rate-limit`,g(`PUT`,{limit:t,...n===void 0?{}:{duration:n},...r===void 0?{}:{ttl:r}})),clearRateLimit:e=>p(`/queues/${c(e)}/rate-limit`,{method:`DELETE`}),setConcurrency:(e,t)=>p(`/queues/${c(e)}/concurrency`,g(`PUT`,{concurrency:t})),clearConcurrency:e=>p(`/queues/${c(e)}/concurrency`,{method:`DELETE`}),getStallConfig:e=>p(`/queues/${c(e)}/stall-config`),setStallConfig:(e,t)=>p(`/queues/${c(e)}/stall-config`,g(`PUT`,{config:t})),getDlqConfig:e=>p(`/queues/${c(e)}/dlq-config`),setDlqConfig:(e,t)=>{if(t.autoRetry===!0)throw TypeError(`DLQ auto-retry is unavailable: Bunqueue v2.9.3 does not rebuild flow dependency registration.`);if(t.maxAge!==void 0||t.maxEntries!==void 0)throw TypeError(`DLQ retention is read-only: maxAge/maxEntries can destructively expire or evict flow jobs without an atomic dependency check.`);return p(`/queues/${c(e)}/dlq-config`,g(`PUT`,{config:t}))},dlq:(e,t=100,n=0)=>p(`/queues/${c(e)}/dlq?limit=${t}&offset=${n}`),dlqStats:e=>p(`/queues/${c(e)}/dlq/stats`),retryDlq:(e,t)=>{throw TypeError(`DLQ retry is unavailable in Bunqueue v2.9.3 because the endpoint has no atomic job-generation, state, or flow-topology precondition.`)},purgeDlq:e=>p(`/queues/${c(e)}/dlq/purge`,g(`POST`))},O=()=>encodeURIComponent(e()),he={limits:(e,t)=>{let n=t===void 0?``:`&maxJobs=${t}`;return h(`/queue-operations/${c(e)}/limits?target=${O()}${n}`)},group:(t,n,r,i,a,o)=>{let s=new URLSearchParams({target:e(),groupId:n});return r!==void 0&&s.set(`maxJobs`,String(r)),i!==void 0&&s.set(`maxCount`,String(i)),a!==void 0&&s.set(`start`,String(a)),o!==void 0&&s.set(`end`,String(o)),h(`/queue-operations/${c(t)}/groups?${s}`)},setGroupRateLimit:(e,t,n,r)=>h(`/queue-operations/${c(e)}/groups/rate-limit?target=${O()}`,g(`POST`,{groupId:t,max:n,duration:r})),removeGroupRateLimit:(e,t)=>h(`/queue-operations/${c(e)}/groups/rate-limit/remove?target=${O()}`,g(`POST`,{groupId:t})),setGroupConcurrency:(e,t,n)=>h(`/queue-operations/${c(e)}/groups/concurrency?target=${O()}`,g(`POST`,{groupId:t,concurrency:n})),removeGroupConcurrency:(e,t)=>h(`/queue-operations/${c(e)}/groups/concurrency/remove?target=${O()}`,g(`POST`,{groupId:t})),pauseGroup:(e,t)=>h(`/queue-operations/${c(e)}/groups/pause?target=${O()}`,g(`POST`,{groupId:t})),resumeGroup:(e,t)=>h(`/queue-operations/${c(e)}/groups/resume?target=${O()}`,g(`POST`,{groupId:t})),deduplicationJobId:(t,n)=>h(`/queue-operations/${c(t)}/deduplication?${new URLSearchParams({target:e(),deduplicationId:n})}`),removeDeduplicationKey:(e,t)=>h(`/queue-operations/${c(e)}/deduplication/remove?target=${O()}`,g(`POST`,{deduplicationId:t})),metrics:(t,n,r,i)=>h(`/queue-operations/${c(t)}/metrics?${new URLSearchParams({target:e(),type:n,start:String(r),end:String(i)})}`),trimEvents:(e,t)=>h(`/queue-operations/${c(e)}/events/trim?target=${O()}`,g(`POST`,{maxLength:t}))},k=1e4,ge=1e3,_e=864e13,ve=new Set([`job.pushed`,`job.started`,`job.completed`,`job.failed`,`job.progress`,`job.stalled`]);function A(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function j(e,t,n=!1){if(typeof e!=`string`||e.length>t||!n&&e.length===0)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<32||n===127)return!1}return!0}function M(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function ye(e){return typeof e==`number`&&Number.isFinite(e)}function N(e){return M(e)&&e<=_e}function be(e,t){return e===null||j(e,t)}function xe(e,t,n){if(!Array.isArray(e)||e.length>t)return!1;let r=new Set;for(let t of e){if(!j(t,n)||r.has(t))return!1;r.add(t)}return!0}function P(e,t){let n=A(e),r=n&&A(n.data);if(n?.ok!==!0||!r)throw Error(`Malformed ${t} response.`);return r}function F(e){if(!Array.isArray(e))throw Error(`Malformed queue summary response.`);let t=new Set,n=[];for(let r of e){let e=A(r),i=e&&A(e.counts);if(!e||!j(e.name,256)||t.has(e.name)||typeof e.paused!=`boolean`||!i||!M(i.waiting)||!M(i.prioritized)||!M(i.active)||!M(i.completed)||!M(i.failed)||!M(i.delayed))throw Error(`Malformed queue summary response.`);t.add(e.name),n.push(r)}return n}function I(e){let t=P(e,`workers`);if(!Array.isArray(t.workers)||t.workers.length>k)throw Error(`Malformed workers response.`);let n=new Set,r=[],i=[];for(let e=0;e<t.workers.length;e++){let a=t.workers[e],o=A(a),s=o&&typeof o.id==`string`?o.id:null,c=[];if(o?(j(o.id,1024)?n.has(o.id)&&c.push(`duplicate id`):c.push(`id`),j(o.name,512,!0)||c.push(`name`),xe(o.queues,ge,256)||c.push(`queues`),(!M(o.concurrency)||o.concurrency<1)&&c.push(`concurrency`),j(o.hostname,512,!0)||c.push(`hostname`),M(o.pid)||c.push(`pid`),o.status!==`active`&&o.status!==`stale`&&c.push(`status`),N(o.registeredAt)||c.push(`registeredAt`),N(o.lastSeen)||c.push(`lastSeen`),M(o.activeJobs)||c.push(`activeJobs`),M(o.processedJobs)||c.push(`processedJobs`),M(o.failedJobs)||c.push(`failedJobs`),be(o.currentJob,1024)||c.push(`currentJob`),ye(o.uptime)||c.push(`uptime`)):c.push(`entry is not an object`),s&&n.add(s),c.length>0){i.push({index:e,id:s,reason:c.join(`, `)});continue}r.push(a)}return{ok:!0,data:{workers:r,quarantinedWorkers:i,...Object.hasOwn(t,`stats`)?{stats:t.stats}:{}}}}function Se(e){if(!j(e,2048))return!1;try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function Ce(e){let t=P(e,`webhooks`);if(!Array.isArray(t.webhooks)||t.webhooks.length>k)throw Error(`Malformed webhooks response.`);let n=new Set,r=[];for(let e of t.webhooks){let t=A(e);if(!t||!j(t.id,1024)||n.has(t.id)||!Se(t.url)||!Array.isArray(t.events)||!t.events.every(e=>ve.has(e))||!(t.queue===null||typeof t.queue==`string`)||!N(t.createdAt)||!(t.lastTriggered===null||N(t.lastTriggered))||!M(t.successCount)||!M(t.failureCount)||typeof t.enabled!=`boolean`)throw Error(`Malformed webhooks response.`);n.add(t.id),r.push(e)}return{ok:!0,data:{webhooks:r,...Object.hasOwn(t,`stats`)?{stats:t.stats}:{}}}}var we={crons:()=>p(`/crons`),createCron:e=>p(`/crons`,g(`POST`,e)),deleteCron:e=>p(`/crons/${o(e,`Cron name`,256)}`,{method:`DELETE`}),webhooks:async()=>Ce(await p(`/webhooks`)),addWebhook:e=>p(`/webhooks`,g(`POST`,e)),removeWebhook:e=>p(`/webhooks/${i(e)}`,{method:`DELETE`}),setWebhookEnabled:(e,t)=>p(`/webhooks/${i(e)}/enabled`,g(`PUT`,{enabled:t})),workers:async()=>I(await p(`/workers`)),unregisterWorker:e=>p(`/workers/${i(e)}`,{method:`DELETE`}),eventsUrl:t=>e()+(t?`/events/queues/${s(t)}`:`/events`)},L=365*24*60*60*1e3,R=2097151,z=64*1024*1024,B=1e4,Te=[`childrenIds`,`parentId`,`failParentOnFailure`,`removeDependencyOnFailure`,`continueParentOnFailure`,`ignoreDependencyOnFailure`,`keepLogs`,`sizeLimit`,`debounceId`,`debounceTtl`],V=[`__parentId`,`__parentQueue`,`__childrenIds`,`__flowParentId`,`__flowParentIds`];function H(e){if(e===void 0)return;if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(`Repeat must be an object with a positive "every" interval`);let t=Object.keys(e).filter(e=>e!==`every`&&e!==`limit`);if(t.length)throw TypeError(`Unsupported repeat option(s): ${t.join(`, `)}. bunqueue v2.9.3 pattern repeats are unsafe; use the Cron API instead.`);if(!Number.isSafeInteger(e.every)||e.every<1||e.every>L)throw TypeError(`Repeat "every" must be a whole number from 1 to ${L} ms`);if(e.limit!==void 0&&(!Number.isSafeInteger(e.limit)||e.limit<1))throw TypeError(`Repeat "limit" must be a whole number of at least 1`)}function U(e){if(e!==void 0&&(typeof e!=`string`||!e||e.length>256))throw TypeError(`Job name must be a non-empty string of at most 256 characters`)}function W(e){let t=e,n=Te.filter(e=>t[e]!==void 0);if(n.length)throw TypeError(`Unsupported Bunqueue v2.9.3 enqueue option(s): ${n.join(`, `)}. Flow topology must use the atomic flow API; inert compatibility fields are not sent.`)}function G(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=V.filter(t=>Object.hasOwn(e,t));if(t.length)throw TypeError(`Job data must not contain broker-owned flow metadata: ${t.join(`, `)}. A plain enqueue with these keys would be misread as a flow child; use the atomic flow API for topology.`)}function K(e){let t=e.groupId;if(t!==void 0&&(typeof t!=`string`||!t||t.length>256||t.includes(`\0`)))throw TypeError(`groupId must be a non-empty string of at most 256 characters without NUL`);if(e.groupMaxSize!==void 0){if(t===void 0)throw TypeError(`groupMaxSize requires groupId`);if(!Number.isSafeInteger(e.groupMaxSize)||e.groupMaxSize<1)throw TypeError(`groupMaxSize must be a positive safe integer`)}if(t!==void 0&&e.priority!==void 0&&(!Number.isSafeInteger(e.priority)||e.priority<0||e.priority>R))throw TypeError(`Grouped priority must be an integer from 0 to ${R}`)}function q(e,t){let n=a(t);if(n)throw TypeError(`${e}: ${n}. The job would not be manageable through v2.9.3 HTTP.`)}function Ee(e){if(U(e.name),H(e.repeat),W(e),G(e.data),K(e),e.groupMaxSize!==void 0)throw TypeError(`groupMaxSize is not forwarded by Bunqueue 2.9.3 single-job HTTP; use the bulk transport`);if(e.dependsOn!==void 0&&(!Array.isArray(e.dependsOn)||!e.dependsOn.every(e=>typeof e==`string`)))throw TypeError(`dependsOn must be an array of job ID strings`);e.jobId!==void 0&&q(`jobId`,e.jobId);for(let t of e.dependsOn??[])q(`dependsOn`,t)}function De(e){let t;try{t=JSON.stringify(e)}catch{throw TypeError(`Job payload must be JSON serializable`)}if(t===void 0)throw TypeError(`Job payload must be JSON serializable`);let n;try{n=JSON.parse(t)}catch{throw TypeError(`Job payload encoding failed`)}if(typeof n!=`object`||!n||Array.isArray(n))throw TypeError(`Job payload must serialize to a JSON object`);return Ee(n),t}function Oe({jobId:e,...t}){return e===void 0?t:{...t,customId:e}}function ke(e){let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))throw TypeError(`must serialize to a JSON object`);let n=t;if(n.jobId!==void 0)throw TypeError(`serialized jobId is invalid; the bulk transport requires customId`);if(U(n.name),H(n.repeat),W(n),G(n.data),K(n),n.customId!==void 0){if(typeof n.customId!=`string`)throw TypeError(`customId must be a string`);q(`customId`,n.customId)}if(n.dependsOn!==void 0){if(!Array.isArray(n.dependsOn)||!n.dependsOn.every(e=>typeof e==`string`))throw TypeError(`dependsOn must be an array of job ID strings`);for(let e of n.dependsOn)q(`dependsOn`,e)}}function Ae(e,t){let n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);if(i<=127?n+=1:i<=2047?n+=2:i>=55296&&i<=56319&&r+1<e.length&&e.charCodeAt(r+1)>=56320&&e.charCodeAt(r+1)<=57343?(n+=4,r+=1):n+=3,n>t)return n}return n}function J(e,t,n){if(!Array.isArray(e)||e.length>1e4)return{ok:!1,error:`Bulk request must contain at most ${B} jobs`};if(!Number.isSafeInteger(t)||t<0)return{ok:!1,error:`Bulk request payload limit is invalid`};let r=11,i=n?Array(e.length):null;for(let a=0;a<e.length;a++){if(a&&(r+=1),r>t)return{ok:!1,error:`Bulk request payload exceeds the 64 MiB UTF-8 safety limit`};let o;try{o=JSON.stringify(Oe(e[a]))}catch{return{ok:!1,error:`Bulk request payload must be JSON serializable`}}if(o===void 0)return{ok:!1,error:`Bulk request payload must be JSON serializable`};if(r+=Ae(o,t-r),r>t)return{ok:!1,error:`Bulk request payload exceeds the 64 MiB UTF-8 safety limit`};if(n)try{ke(o)}catch(e){return{ok:!1,error:`Bulk job ${a+1}: ${e instanceof Error?e.message:String(e)}`}}i&&(i[a]=o)}return{ok:!0,bytes:r,body:i?`{"jobs":[${i.join(`,`)}]}`:void 0}}function je(e,t=z){let n=J(e,t,!1);return n.ok?null:n.error}function Y(e){let t=J(e,z,!0);if(!t.ok)throw TypeError(t.error);if(t.body===void 0)throw TypeError(`Bulk request payload encoding failed`);return t.body}function Me(e){if(!Array.isArray(e)||e.length>1e4)throw TypeError(`Bulk request must contain at most ${B} jobs`)}var Ne={overview:e=>p(`/dashboard`,e),queues:(e=500,t=0)=>p(`/dashboard/queues?limit=${e}&offset=${t}`),queuesSummary:async()=>F(await p(`/queues/summary`)),queueDetail:(e,t=!0)=>p(`/dashboard/queues/${c(e)}?includeJobs=${t}`),stats:e=>p(`/stats`,e),storage:()=>p(`/storage`,void 0,!1),health:()=>p(`/health`,void 0,!1,[503]),ping:()=>p(`/ping`),prometheusUrl:()=>`${e()}/prometheus`,gc:()=>p(`/gc`,g(`POST`)),heapStats:()=>p(`/heapstats`)},Pe={jobsList:(e,t,n=50,r=0)=>{let i=new URLSearchParams;return t?.length&&i.set(`states`,t.join(`,`)),i.set(`limit`,String(n)),i.set(`offset`,String(r)),p(`/queues/${c(e)}/jobs/list?${i}`)},job:e=>p(`/jobs/${i(e)}`),jobByCustomId:e=>p(`/jobs/custom/${o(e,`Custom job ID`)}`),jobResult:e=>p(`/jobs/${i(e)}/result`),jobLogs:e=>p(`/jobs/${i(e)}/logs`),jobChildren:e=>p(`/jobs/${i(e)}/children`),addJob:async(e,t)=>p(`/queues/${c(e)}/jobs`,{method:`POST`,body:De(t)}),addJobsBulk:async(e,t)=>(Me(t),p(`/queues/${c(e)}/jobs/bulk`,{method:`POST`,body:Y(t)},!0,[],_)),pullBatch:(e,t,n)=>p(`/queues/${c(e)}/jobs/pull-batch`,g(`POST`,{count:t,...n?{owner:n}:{}})),ackBatch:(e,t)=>p(`/jobs/ack-batch`,g(`POST`,{ids:e,...t?{tokens:t}:{}})),cancelJob:e=>p(`/jobs/${i(e)}`,{method:`DELETE`}),promoteJob:e=>p(`/jobs/${i(e)}/promote`,g(`POST`)),discardJob:e=>p(`/jobs/${i(e)}/discard`,g(`POST`)),retryJob:e=>p(`/jobs/${i(e)}/move-to-wait`,g(`POST`)),failJob:(e,t,n={})=>p(`/jobs/${i(e)}/fail`,g(`POST`,{error:t,...n})),updateJobData:(e,t)=>p(`/jobs/${i(e)}/data`,g(`PUT`,{data:t})),changePriority:(e,t,n)=>p(`/jobs/${i(e)}/priority`,g(`PUT`,{priority:t,...n===void 0?{}:{lifo:n}})),changeDelay:(e,t)=>p(`/jobs/${i(e)}/delay`,g(`PUT`,{delay:t})),moveToDelayed:(e,t)=>p(`/jobs/${i(e)}/move-to-delayed`,g(`POST`,{delay:t})),addJobLog:(e,t,n)=>p(`/jobs/${i(e)}/logs`,g(`POST`,{message:t,level:n})),clearJobLogs:e=>p(`/jobs/${i(e)}/logs`,{method:`DELETE`}),setJobProgress:(e,t,n)=>p(`/jobs/${i(e)}/progress`,g(`POST`,{progress:t,message:n}))};function X(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw new l(`Malformed ${t} response.`,200);return e}function Z(e,t){let n=X(e,t);if(n.ok!==!0)throw new l(`Malformed ${t} response.`,200);return n}var Q=e=>typeof e==`number`&&Number.isSafeInteger(e)&&e>=0;function $(e,t){if(e!==void 0)return Z(e,t)}function Fe(e,t){let n={...S(e)},r=(r,i,a=d())=>{let o=t?{...i,signal:i?.signal?AbortSignal.any([i.signal,t]):t}:i;return f(e.baseUrl,r,n,o,!0,`server`,[],a)};return Object.freeze({queuesSummary:async()=>F(await r(`/queues/summary`)),overview:()=>r(`/dashboard`),counts:async e=>{let t=X(Z(await r(`/queues/${c(e)}/counts`),`queue counts`).counts,`queue counts`);if(!Object.values(t).every(Q))throw new l(`Malformed queue counts response.`,200);return{ok:!0,counts:t}},jobsList:async(e,t,n=50,i=0)=>{let a=new URLSearchParams;t?.length&&a.set(`states`,t.join(`,`)),a.set(`limit`,String(n)),a.set(`offset`,String(i));let o=Z(await r(`/queues/${c(e)}/jobs/list?${a}`),`jobs list`);if(!Array.isArray(o.jobs)||!o.jobs.every(t=>{let n=t;return typeof n==`object`&&!!n&&!Array.isArray(n)&&typeof n.id==`string`&&n.id.length>0&&(n.queue===void 0||n.queue===e)}))throw new l(`Malformed jobs list response.`,200);return{ok:!0,jobs:o.jobs}},job:async e=>{let t=X(Z(await r(`/jobs/${i(e)}`),`job`).job,`job`);if(t.id!==e)throw new l(`Malformed job response.`,200);return{ok:!0,job:t}},dlqStats:async e=>{let t=X(Z(await r(`/queues/${c(e)}/dlq/stats`),`DLQ stats`).stats,`DLQ stats`);if(!Q(t.total))throw new l(`Malformed DLQ stats response.`,200);return{ok:!0,stats:t}},dlq:async(e,t=100,n=0)=>{let i=Z(await r(`/queues/${c(e)}/dlq?limit=${t}&offset=${n}`),`DLQ list`);if(!Array.isArray(i.entries)||!Q(i.total))throw new l(`Malformed DLQ list response.`,200);for(let e of i.entries){let t=X(X(e,`DLQ list`).job,`DLQ list`);if(typeof t.id!=`string`||!t.id)throw new l(`Malformed DLQ list response.`,200)}return{ok:!0,entries:i.entries,total:i.total}},health:async()=>X(await f(e.baseUrl,`/health`,n,t?{signal:t}:void 0,!1,`server`,[503]),`health`),stats:async()=>{let e=await r(`/stats`);return X(Z(e,`server stats`).stats,`server stats`),e},workers:async()=>I(await r(`/workers`)),crons:async()=>{let e=Z(await r(`/crons`),`crons`);if(!Array.isArray(e.crons)||!e.crons.every(e=>{let t=e;return typeof t==`object`&&!!t&&!Array.isArray(t)&&typeof t.name==`string`&&!!t.name&&typeof t.queue==`string`&&!!t.queue}))throw new l(`Malformed crons response.`,200);return{ok:!0,crons:e.crons}},addJobsBulk:async(e,t)=>(Me(t),r(`/queues/${c(e)}/jobs/bulk`,{method:`POST`,body:Y(t)},_)),pullBatch:(e,t,n)=>r(`/queues/${c(e)}/jobs/pull-batch`,g(`POST`,{count:t,...n?{owner:n}:{}})),heartbeatBatch:(e,t)=>r(`/jobs/heartbeat-batch`,g(`POST`,{ids:e,...t?{tokens:t}:{}})),ackBatch:(e,t)=>r(`/jobs/ack-batch`,g(`POST`,{ids:e,...t?{tokens:t}:{}})),retryJob:(e,t)=>r(`/jobs/${i(e)}/move-to-wait`,g(`POST`,t?{token:t}:{})),promoteJob:async e=>$(await r(`/jobs/${i(e)}/promote`,g(`POST`)),`promote job`),pause:async e=>$(await r(`/queues/${c(e)}/pause`,g(`POST`)),`pause queue`),resume:async e=>$(await r(`/queues/${c(e)}/resume`,g(`POST`)),`resume queue`),clean:(e,t={})=>r(`/queues/${c(e)}/clean`,g(`POST`,t))})}var Ie={...Ne,captureServerRequestTarget:b,createServerTargetClient:Fe,getJobAtTarget:w,captureAgentRequestTarget:x,getDbRowsAtTarget:ce,getDbExportAtTarget:pe,...Pe,...me,queueOperations:he,...we,db:te,get agentBase(){return m()},control:ne,workflows:re};Object.defineProperty(Ie,"agentBase",{configurable:!1});export{l as a,f as c,w as d,ae as i,x as l,V as n,C as o,je as r,h as s,Ie as t,b as u};
1
+ import{a as e,i as t,n,r}from"./connectionStore-DdLzJyut.js";import{a as i,i as a,n as o,r as s,s as c}from"./upstreamPaths-DQeKSxGc.js";var l=class extends Error{status;constructor(e,t){super(e),this.status=t,this.name=`BqError`}},u=3e4,d=()=>u;async function f(e,t,n,r,i=!0,a=`server`,o=[],s=u){let c=AbortSignal.timeout(s),d=r?.signal?AbortSignal.any([r.signal,c]):c,f=new Headers(n);r?.headers&&new Headers(r.headers).forEach((e,t)=>{f.set(t,e)}),r?.body!=null&&!f.has(`Content-Type`)&&f.set(`Content-Type`,`application/json`);let p;try{p=await fetch(e+t,{...r,headers:f,signal:d})}catch(e){throw c.aborted&&!r?.signal?.aborted||e?.name===`TimeoutError`?new l(`Request timed out`,0):e}if(!p.ok&&!o.includes(p.status)){let t=`HTTP ${p.status}`;try{let e=await p.json();e?.error&&(t=e.error)}catch{}throw p.status===401&&typeof window<`u`&&window.dispatchEvent(new CustomEvent(`auth:required`,{detail:{scope:a,auth:f.get(`Authorization`)??void 0,target:e}})),new l(t,p.status)}if(p.status===204)return;let m;try{m=await p.text()}catch(e){throw c.aborted&&!r?.signal?.aborted?new l(`Request timed out`,0):e}if(!m)return;let h;try{h=JSON.parse(m)}catch{throw new l(`Invalid JSON response (HTTP ${p.status})`,p.status)}if(i&&h&&typeof h==`object`&&h.ok===!1)throw new l(h.error??`Operation failed`,p.status);return h}var p=(n,r,i=!0,a=[],o=u)=>f(e(),n,t(),r,i,`server`,a,o),m=()=>r(),h=(e,t,r=u)=>f(m(),e,n(),t,!0,`agent`,[],r),g=(e,t)=>({method:e,body:t===void 0?void 0:JSON.stringify(t)}),_=3e5,ee=(e,t)=>g(e,t),v=new WeakMap,y=new WeakMap;function b(){let n=Object.freeze({baseUrl:e()});return v.set(n,Object.freeze({...t()})),n}function x(){let e=Object.freeze({baseUrl:m()});return y.set(e,Object.freeze({...n()})),e}function S(e){let t=v.get(e);if(!t)throw TypeError(`Invalid server request target.`);return t}function C(e){let t=y.get(e);if(!t)throw TypeError(`Invalid agent request target.`);return t}async function w(e,t,n){n?.throwIfAborted();let r=await f(e.baseUrl,`/jobs/${i(t)}`,{...S(e)},n?{signal:n}:void 0);return n?.throwIfAborted(),r}var T=encodeURIComponent,te={info:()=>h(`/db/info`),tables:()=>h(`/db/tables`),schema:e=>h(`/db/tables/${o(e,`Database table`)}/schema`),rows:(e,t=50,n=0,r,i=`asc`,a)=>h(`/db/tables/${o(e,`Database table`)}?limit=${t}&offset=${n}${r?`&orderBy=${T(r)}&dir=${i}`:``}${a?.value?`&fcol=${T(a.column)}&fop=${a.op}&fval=${T(a.value)}`:``}`),cell:(e,t,n)=>h(`/db/tables/${o(e,`Database table`)}/cell?rowid=${T(String(t))}&column=${T(n)}`),query:e=>h(`/db/query`,g(`POST`,{sql:e}))},ne={status:()=>h(`/control/status`),start:()=>h(`/control/start`,{method:`POST`}),stop:()=>h(`/control/stop`,{method:`POST`}),restart:()=>h(`/control/restart`,{method:`POST`}),logs:()=>h(`/control/logs`),getConfig:()=>h(`/control/config`),setConfig:(e,t)=>h(`/control/config`,g(`PUT`,{...e,...t===void 0?{}:{expectedRevision:t}}))},re={stats:()=>h(`/workflows/stats`),list:(e={})=>{let t=new URLSearchParams;return e.kind&&t.set(`kind`,e.kind),e.workflowName&&t.set(`workflowName`,e.workflowName),e.state&&t.set(`state`,e.state),e.limit!==void 0&&t.set(`limit`,String(e.limit)),e.offset!==void 0&&t.set(`offset`,String(e.offset)),h(`/workflows${t.size?`?${t}`:``}`)},get:(e,t=`active`)=>h(`/workflows/${o(e,`Workflow execution id`)}?kind=${t}`)},ie=2e5,ae=16*1024*1024,oe=12e4,se=64*1024,E=encodeURIComponent;async function ce(e,t,n=50,r=0,i,a=`asc`,s,c){c?.throwIfAborted();let l=await f(e.baseUrl,`/db/tables/${o(t,`Database table`)}?limit=${n}&offset=${r}${i?`&orderBy=${E(i)}&dir=${a}`:``}${s?.value?`&fcol=${E(s.column)}&fop=${s.op}&fval=${E(s.value)}`:``}`,{...C(e)},c?{signal:c}:void 0,!0,`agent`);return c?.throwIfAborted(),l}function D(e,t,n,r=!0){let i=e.get(t);if(!i||!/^\d+$/.test(i))throw new l(`Malformed database export response: invalid ${t} header.`,200);let a=Number(i);if(!Number.isSafeInteger(a)||a>n||!r&&a===0)throw new l(`Malformed database export response: invalid ${t} header.`,200);return a}async function le(e){if(!e.body)return``;let t=e.body.getReader(),n=new Uint8Array(se),r=0;try{for(;;){let e=await t.read();if(e.done)break;if(r+e.value.byteLength>n.byteLength)return t.cancel().catch(()=>void 0),``;n.set(e.value,r),r+=e.value.byteLength}}finally{t.releaseLock()}return new TextDecoder().decode(n.subarray(0,r))}async function ue(e,t,n){if(!e.body)throw new l(`Malformed database export response: missing CSV body.`,200);let r=new Uint8Array(t),i=e.body.getReader(),a=0;try{for(;;){n?.throwIfAborted();let e=await i.read();if(e.done)break;if(a+e.value.byteLength>t)throw i.cancel().catch(()=>void 0),new l(`Malformed database export response: body exceeds declared ${t} bytes.`,200);r.set(e.value,a),a+=e.value.byteLength}}finally{i.releaseLock()}if(n?.throwIfAborted(),a!==t)throw new l(`Malformed database export response: received ${a} of ${t} declared bytes.`,200);return r}function de(e){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`Invalid database export request.`);if(typeof e.table!=`string`||!e.table)throw TypeError(`Database export table must not be empty.`);if(e.dir!==`asc`&&e.dir!==`desc`)throw TypeError(`Invalid database export sort direction.`);if(e.orderBy!==void 0&&(typeof e.orderBy!=`string`||!e.orderBy))throw TypeError(`Database export sort column must not be empty.`);let t=e.filter;if(t&&(typeof t!=`object`||Array.isArray(t)||typeof t.column!=`string`||!t.column||typeof t.value!=`string`||!t.value||![`contains`,`eq`,`ne`].includes(t.op)))throw TypeError(`Invalid database export filter.`);return Object.freeze({table:e.table,orderBy:e.orderBy,dir:e.dir,filter:t?Object.freeze({...t}):void 0})}async function fe(e,t,n){e.status===401&&typeof window<`u`&&window.dispatchEvent(new CustomEvent(`auth:required`,{detail:{scope:`agent`,auth:new Headers(n).get(`Authorization`)??void 0,target:t.baseUrl}}));let r=`HTTP ${e.status}`,i=await le(e);if(i)try{let e=JSON.parse(i);typeof e?.error==`string`&&(r=e.error)}catch{}return new l(r,e.status)}async function pe(e,t,n){n?.throwIfAborted();let r={...C(e)},i=de(t),a=new URLSearchParams;i.orderBy&&a.set(`orderBy`,i.orderBy),a.set(`dir`,i.dir),i.filter&&(a.set(`fcol`,i.filter.column),a.set(`fop`,i.filter.op),a.set(`fval`,i.filter.value));let s=`/db/tables/${o(i.table,`Database table`)}/export?${a}`,c=AbortSignal.timeout(oe),u=n?AbortSignal.any([n,c]):c;try{let t=await fetch(e.baseUrl+s,{headers:r,signal:u});if(!t.ok)throw await fe(t,e,r);if(t.headers.get(`X-Bunqueue-Db-Export-Version`)!==`1`)throw new l(`Malformed database export response: unsupported contract version.`,200);if(!/^text\/csv(?:;|$)/i.test(t.headers.get(`Content-Type`)??``))throw new l(`Malformed database export response: expected CSV content.`,200);let a;try{let e=t.headers.get(`X-Bunqueue-Db-Export-Table`);if(!e)throw Error(`missing`);a=decodeURIComponent(e)}catch{throw new l(`Malformed database export response: invalid table identity.`,200)}if(a!==i.table)throw new l(`Database export target changed: requested "${i.table}", received "${a}".`,200);let o=D(t.headers,`X-Bunqueue-Db-Export-Rows`,ie),c=D(t.headers,`X-Bunqueue-Db-Export-Bytes`,ae,!1);if(D(t.headers,`Content-Length`,16777216,!1)!==c)throw new l(`Malformed database export response: Content-Length does not match X-Bunqueue-Db-Export-Bytes.`,200);let d=t.headers.get(`X-Bunqueue-Db-Export-Cap`);if(d!==`none`&&d!==`rows`&&d!==`bytes`)throw new l(`Malformed database export response: invalid export cap.`,200);if(d===`rows`&&o!==2e5)throw new l(`Malformed database export response: inconsistent row cap.`,200);let f=await ue(t,c,u);return n?.throwIfAborted(),{table:a,content:f,rowCount:o,bytes:c,cap:d===`none`?null:d}}catch(e){throw c.aborted&&!n?.aborted?new l(`Database export timed out`,0):e}}var me={counts:e=>p(`/queues/${c(e)}/counts`),pause:e=>p(`/queues/${c(e)}/pause`,g(`POST`)),resume:e=>p(`/queues/${c(e)}/resume`,g(`POST`)),drain:e=>p(`/queues/${c(e)}/drain`,ee(`POST`),!0,[],_),obliterate:e=>p(`/queues/${c(e)}/obliterate`,ee(`POST`),!0,[],_),clean:(e,t={})=>p(`/queues/${c(e)}/clean`,g(`POST`,t)),promoteJobs:(e,t)=>p(`/queues/${c(e)}/promote-jobs`,g(`POST`,t==null?void 0:{count:t})),retryCompleted:(e,t)=>{throw TypeError(`Completed-job requeue is unavailable in Bunqueue v2.9.3 because flow dependency registration is not rebuilt.`)},setRateLimit:(e,t,n,r)=>p(`/queues/${c(e)}/rate-limit`,g(`PUT`,{limit:t,...n===void 0?{}:{duration:n},...r===void 0?{}:{ttl:r}})),clearRateLimit:e=>p(`/queues/${c(e)}/rate-limit`,{method:`DELETE`}),setConcurrency:(e,t)=>p(`/queues/${c(e)}/concurrency`,g(`PUT`,{concurrency:t})),clearConcurrency:e=>p(`/queues/${c(e)}/concurrency`,{method:`DELETE`}),getStallConfig:e=>p(`/queues/${c(e)}/stall-config`),setStallConfig:(e,t)=>p(`/queues/${c(e)}/stall-config`,g(`PUT`,{config:t})),getDlqConfig:e=>p(`/queues/${c(e)}/dlq-config`),setDlqConfig:(e,t)=>{if(t.autoRetry===!0)throw TypeError(`DLQ auto-retry is unavailable: Bunqueue v2.9.3 does not rebuild flow dependency registration.`);if(t.maxAge!==void 0||t.maxEntries!==void 0)throw TypeError(`DLQ retention is read-only: maxAge/maxEntries can destructively expire or evict flow jobs without an atomic dependency check.`);return p(`/queues/${c(e)}/dlq-config`,g(`PUT`,{config:t}))},dlq:(e,t=100,n=0)=>p(`/queues/${c(e)}/dlq?limit=${t}&offset=${n}`),dlqStats:e=>p(`/queues/${c(e)}/dlq/stats`),retryDlq:(e,t)=>{throw TypeError(`DLQ retry is unavailable in Bunqueue v2.9.3 because the endpoint has no atomic job-generation, state, or flow-topology precondition.`)},purgeDlq:e=>p(`/queues/${c(e)}/dlq/purge`,g(`POST`))},O=()=>encodeURIComponent(e()),he={limits:(e,t)=>{let n=t===void 0?``:`&maxJobs=${t}`;return h(`/queue-operations/${c(e)}/limits?target=${O()}${n}`)},group:(t,n,r,i,a,o)=>{let s=new URLSearchParams({target:e(),groupId:n});return r!==void 0&&s.set(`maxJobs`,String(r)),i!==void 0&&s.set(`maxCount`,String(i)),a!==void 0&&s.set(`start`,String(a)),o!==void 0&&s.set(`end`,String(o)),h(`/queue-operations/${c(t)}/groups?${s}`)},setGroupRateLimit:(e,t,n,r)=>h(`/queue-operations/${c(e)}/groups/rate-limit?target=${O()}`,g(`POST`,{groupId:t,max:n,duration:r})),removeGroupRateLimit:(e,t)=>h(`/queue-operations/${c(e)}/groups/rate-limit/remove?target=${O()}`,g(`POST`,{groupId:t})),setGroupConcurrency:(e,t,n)=>h(`/queue-operations/${c(e)}/groups/concurrency?target=${O()}`,g(`POST`,{groupId:t,concurrency:n})),removeGroupConcurrency:(e,t)=>h(`/queue-operations/${c(e)}/groups/concurrency/remove?target=${O()}`,g(`POST`,{groupId:t})),pauseGroup:(e,t)=>h(`/queue-operations/${c(e)}/groups/pause?target=${O()}`,g(`POST`,{groupId:t})),resumeGroup:(e,t)=>h(`/queue-operations/${c(e)}/groups/resume?target=${O()}`,g(`POST`,{groupId:t})),deduplicationJobId:(t,n)=>h(`/queue-operations/${c(t)}/deduplication?${new URLSearchParams({target:e(),deduplicationId:n})}`),removeDeduplicationKey:(e,t)=>h(`/queue-operations/${c(e)}/deduplication/remove?target=${O()}`,g(`POST`,{deduplicationId:t})),metrics:(t,n,r,i)=>h(`/queue-operations/${c(t)}/metrics?${new URLSearchParams({target:e(),type:n,start:String(r),end:String(i)})}`),trimEvents:(e,t)=>h(`/queue-operations/${c(e)}/events/trim?target=${O()}`,g(`POST`,{maxLength:t}))},k=1e4,ge=1e3,_e=864e13,ve=new Set([`job.pushed`,`job.started`,`job.completed`,`job.failed`,`job.progress`,`job.stalled`]);function A(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function j(e,t,n=!1){if(typeof e!=`string`||e.length>t||!n&&e.length===0)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n<32||n===127)return!1}return!0}function M(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function ye(e){return typeof e==`number`&&Number.isFinite(e)}function N(e){return M(e)&&e<=_e}function be(e,t){return e===null||j(e,t)}function xe(e,t,n){if(!Array.isArray(e)||e.length>t)return!1;let r=new Set;for(let t of e){if(!j(t,n)||r.has(t))return!1;r.add(t)}return!0}function P(e,t){let n=A(e),r=n&&A(n.data);if(n?.ok!==!0||!r)throw Error(`Malformed ${t} response.`);return r}function F(e){if(!Array.isArray(e))throw Error(`Malformed queue summary response.`);let t=new Set,n=[];for(let r of e){let e=A(r),i=e&&A(e.counts);if(!e||!j(e.name,256)||t.has(e.name)||typeof e.paused!=`boolean`||!i||!M(i.waiting)||!M(i.prioritized)||!M(i.active)||!M(i.completed)||!M(i.failed)||!M(i.delayed))throw Error(`Malformed queue summary response.`);t.add(e.name),n.push(r)}return n}function I(e){let t=P(e,`workers`);if(!Array.isArray(t.workers)||t.workers.length>k)throw Error(`Malformed workers response.`);let n=new Set,r=[],i=[];for(let e=0;e<t.workers.length;e++){let a=t.workers[e],o=A(a),s=o&&typeof o.id==`string`?o.id:null,c=[];if(o?(j(o.id,1024)?n.has(o.id)&&c.push(`duplicate id`):c.push(`id`),j(o.name,512,!0)||c.push(`name`),xe(o.queues,ge,256)||c.push(`queues`),(!M(o.concurrency)||o.concurrency<1)&&c.push(`concurrency`),j(o.hostname,512,!0)||c.push(`hostname`),M(o.pid)||c.push(`pid`),o.status!==`active`&&o.status!==`stale`&&c.push(`status`),N(o.registeredAt)||c.push(`registeredAt`),N(o.lastSeen)||c.push(`lastSeen`),M(o.activeJobs)||c.push(`activeJobs`),M(o.processedJobs)||c.push(`processedJobs`),M(o.failedJobs)||c.push(`failedJobs`),be(o.currentJob,1024)||c.push(`currentJob`),ye(o.uptime)||c.push(`uptime`)):c.push(`entry is not an object`),s&&n.add(s),c.length>0){i.push({index:e,id:s,reason:c.join(`, `)});continue}r.push(a)}return{ok:!0,data:{workers:r,quarantinedWorkers:i,...Object.hasOwn(t,`stats`)?{stats:t.stats}:{}}}}function Se(e){if(!j(e,2048))return!1;try{let t=new URL(e);return t.protocol===`http:`||t.protocol===`https:`}catch{return!1}}function Ce(e){let t=P(e,`webhooks`);if(!Array.isArray(t.webhooks)||t.webhooks.length>k)throw Error(`Malformed webhooks response.`);let n=new Set,r=[];for(let e of t.webhooks){let t=A(e);if(!t||!j(t.id,1024)||n.has(t.id)||!Se(t.url)||!Array.isArray(t.events)||!t.events.every(e=>ve.has(e))||!(t.queue===null||typeof t.queue==`string`)||!N(t.createdAt)||!(t.lastTriggered===null||N(t.lastTriggered))||!M(t.successCount)||!M(t.failureCount)||typeof t.enabled!=`boolean`)throw Error(`Malformed webhooks response.`);n.add(t.id),r.push(e)}return{ok:!0,data:{webhooks:r,...Object.hasOwn(t,`stats`)?{stats:t.stats}:{}}}}var we={crons:()=>p(`/crons`),createCron:e=>p(`/crons`,g(`POST`,e)),deleteCron:e=>p(`/crons/${o(e,`Cron name`,256)}`,{method:`DELETE`}),webhooks:async()=>Ce(await p(`/webhooks`)),addWebhook:e=>p(`/webhooks`,g(`POST`,e)),removeWebhook:e=>p(`/webhooks/${i(e)}`,{method:`DELETE`}),setWebhookEnabled:(e,t)=>p(`/webhooks/${i(e)}/enabled`,g(`PUT`,{enabled:t})),workers:async()=>I(await p(`/workers`)),unregisterWorker:e=>p(`/workers/${i(e)}`,{method:`DELETE`}),eventsUrl:t=>e()+(t?`/events/queues/${s(t)}`:`/events`)},L=365*24*60*60*1e3,R=2097151,z=64*1024*1024,B=1e4,Te=[`childrenIds`,`parentId`,`failParentOnFailure`,`removeDependencyOnFailure`,`continueParentOnFailure`,`ignoreDependencyOnFailure`,`keepLogs`,`sizeLimit`,`debounceId`,`debounceTtl`],V=[`__parentId`,`__parentQueue`,`__childrenIds`,`__flowParentId`,`__flowParentIds`];function H(e){if(e===void 0)return;if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError(`Repeat must be an object with a positive "every" interval`);let t=Object.keys(e).filter(e=>e!==`every`&&e!==`limit`);if(t.length)throw TypeError(`Unsupported repeat option(s): ${t.join(`, `)}. bunqueue v2.9.3 pattern repeats are unsafe; use the Cron API instead.`);if(!Number.isSafeInteger(e.every)||e.every<1||e.every>L)throw TypeError(`Repeat "every" must be a whole number from 1 to ${L} ms`);if(e.limit!==void 0&&(!Number.isSafeInteger(e.limit)||e.limit<1))throw TypeError(`Repeat "limit" must be a whole number of at least 1`)}function U(e){if(e!==void 0&&(typeof e!=`string`||!e||e.length>256))throw TypeError(`Job name must be a non-empty string of at most 256 characters`)}function W(e){let t=e,n=Te.filter(e=>t[e]!==void 0);if(n.length)throw TypeError(`Unsupported Bunqueue v2.9.3 enqueue option(s): ${n.join(`, `)}. Flow topology must use the atomic flow API; inert compatibility fields are not sent.`)}function G(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=V.filter(t=>Object.hasOwn(e,t));if(t.length)throw TypeError(`Job data must not contain broker-owned flow metadata: ${t.join(`, `)}. A plain enqueue with these keys would be misread as a flow child; use the atomic flow API for topology.`)}function K(e){let t=e.groupId;if(t!==void 0&&(typeof t!=`string`||!t||t.length>256||t.includes(`\0`)))throw TypeError(`groupId must be a non-empty string of at most 256 characters without NUL`);if(e.groupMaxSize!==void 0){if(t===void 0)throw TypeError(`groupMaxSize requires groupId`);if(!Number.isSafeInteger(e.groupMaxSize)||e.groupMaxSize<1)throw TypeError(`groupMaxSize must be a positive safe integer`)}if(t!==void 0&&e.priority!==void 0&&(!Number.isSafeInteger(e.priority)||e.priority<0||e.priority>R))throw TypeError(`Grouped priority must be an integer from 0 to ${R}`)}function q(e,t){let n=a(t);if(n)throw TypeError(`${e}: ${n}. The job would not be manageable through v2.9.3 HTTP.`)}function Ee(e){if(U(e.name),H(e.repeat),W(e),G(e.data),K(e),e.groupMaxSize!==void 0)throw TypeError(`groupMaxSize is not forwarded by Bunqueue 2.9.3 single-job HTTP; use the bulk transport`);if(e.dependsOn!==void 0&&(!Array.isArray(e.dependsOn)||!e.dependsOn.every(e=>typeof e==`string`)))throw TypeError(`dependsOn must be an array of job ID strings`);e.jobId!==void 0&&q(`jobId`,e.jobId);for(let t of e.dependsOn??[])q(`dependsOn`,t)}function De(e){let t;try{t=JSON.stringify(e)}catch{throw TypeError(`Job payload must be JSON serializable`)}if(t===void 0)throw TypeError(`Job payload must be JSON serializable`);let n;try{n=JSON.parse(t)}catch{throw TypeError(`Job payload encoding failed`)}if(typeof n!=`object`||!n||Array.isArray(n))throw TypeError(`Job payload must serialize to a JSON object`);return Ee(n),t}function Oe({jobId:e,...t}){return e===void 0?t:{...t,customId:e}}function ke(e){let t=JSON.parse(e);if(typeof t!=`object`||!t||Array.isArray(t))throw TypeError(`must serialize to a JSON object`);let n=t;if(n.jobId!==void 0)throw TypeError(`serialized jobId is invalid; the bulk transport requires customId`);if(U(n.name),H(n.repeat),W(n),G(n.data),K(n),n.customId!==void 0){if(typeof n.customId!=`string`)throw TypeError(`customId must be a string`);q(`customId`,n.customId)}if(n.dependsOn!==void 0){if(!Array.isArray(n.dependsOn)||!n.dependsOn.every(e=>typeof e==`string`))throw TypeError(`dependsOn must be an array of job ID strings`);for(let e of n.dependsOn)q(`dependsOn`,e)}}function Ae(e,t){let n=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);if(i<=127?n+=1:i<=2047?n+=2:i>=55296&&i<=56319&&r+1<e.length&&e.charCodeAt(r+1)>=56320&&e.charCodeAt(r+1)<=57343?(n+=4,r+=1):n+=3,n>t)return n}return n}function J(e,t,n){if(!Array.isArray(e)||e.length>1e4)return{ok:!1,error:`Bulk request must contain at most ${B} jobs`};if(!Number.isSafeInteger(t)||t<0)return{ok:!1,error:`Bulk request payload limit is invalid`};let r=11,i=n?Array(e.length):null;for(let a=0;a<e.length;a++){if(a&&(r+=1),r>t)return{ok:!1,error:`Bulk request payload exceeds the 64 MiB UTF-8 safety limit`};let o;try{o=JSON.stringify(Oe(e[a]))}catch{return{ok:!1,error:`Bulk request payload must be JSON serializable`}}if(o===void 0)return{ok:!1,error:`Bulk request payload must be JSON serializable`};if(r+=Ae(o,t-r),r>t)return{ok:!1,error:`Bulk request payload exceeds the 64 MiB UTF-8 safety limit`};if(n)try{ke(o)}catch(e){return{ok:!1,error:`Bulk job ${a+1}: ${e instanceof Error?e.message:String(e)}`}}i&&(i[a]=o)}return{ok:!0,bytes:r,body:i?`{"jobs":[${i.join(`,`)}]}`:void 0}}function je(e,t=z){let n=J(e,t,!1);return n.ok?null:n.error}function Y(e){let t=J(e,z,!0);if(!t.ok)throw TypeError(t.error);if(t.body===void 0)throw TypeError(`Bulk request payload encoding failed`);return t.body}function Me(e){if(!Array.isArray(e)||e.length>1e4)throw TypeError(`Bulk request must contain at most ${B} jobs`)}var Ne={overview:e=>p(`/dashboard`,e),queues:(e=500,t=0)=>p(`/dashboard/queues?limit=${e}&offset=${t}`),queuesSummary:async()=>F(await p(`/queues/summary`)),queueDetail:(e,t=!0)=>p(`/dashboard/queues/${c(e)}?includeJobs=${t}`),stats:e=>p(`/stats`,e),storage:()=>p(`/storage`,void 0,!1),health:()=>p(`/health`,void 0,!1,[503]),ping:()=>p(`/ping`),prometheusUrl:()=>`${e()}/prometheus`,gc:()=>p(`/gc`,g(`POST`)),heapStats:()=>p(`/heapstats`)},Pe={jobsList:(e,t,n=50,r=0)=>{let i=new URLSearchParams;return t?.length&&i.set(`states`,t.join(`,`)),i.set(`limit`,String(n)),i.set(`offset`,String(r)),p(`/queues/${c(e)}/jobs/list?${i}`)},job:e=>p(`/jobs/${i(e)}`),jobByCustomId:e=>p(`/jobs/custom/${o(e,`Custom job ID`)}`),jobResult:e=>p(`/jobs/${i(e)}/result`),jobLogs:e=>p(`/jobs/${i(e)}/logs`),jobChildren:e=>p(`/jobs/${i(e)}/children`),addJob:async(e,t)=>p(`/queues/${c(e)}/jobs`,{method:`POST`,body:De(t)}),addJobsBulk:async(e,t)=>(Me(t),p(`/queues/${c(e)}/jobs/bulk`,{method:`POST`,body:Y(t)},!0,[],_)),pullBatch:(e,t,n)=>p(`/queues/${c(e)}/jobs/pull-batch`,g(`POST`,{count:t,...n?{owner:n}:{}})),ackBatch:(e,t)=>p(`/jobs/ack-batch`,g(`POST`,{ids:e,...t?{tokens:t}:{}})),cancelJob:e=>p(`/jobs/${i(e)}`,{method:`DELETE`}),promoteJob:e=>p(`/jobs/${i(e)}/promote`,g(`POST`)),discardJob:e=>p(`/jobs/${i(e)}/discard`,g(`POST`)),retryJob:e=>p(`/jobs/${i(e)}/move-to-wait`,g(`POST`)),failJob:(e,t,n={})=>p(`/jobs/${i(e)}/fail`,g(`POST`,{error:t,...n})),updateJobData:(e,t)=>p(`/jobs/${i(e)}/data`,g(`PUT`,{data:t})),changePriority:(e,t,n)=>p(`/jobs/${i(e)}/priority`,g(`PUT`,{priority:t,...n===void 0?{}:{lifo:n}})),changeDelay:(e,t)=>p(`/jobs/${i(e)}/delay`,g(`PUT`,{delay:t})),moveToDelayed:(e,t)=>p(`/jobs/${i(e)}/move-to-delayed`,g(`POST`,{delay:t})),addJobLog:(e,t,n)=>p(`/jobs/${i(e)}/logs`,g(`POST`,{message:t,level:n})),clearJobLogs:e=>p(`/jobs/${i(e)}/logs`,{method:`DELETE`}),setJobProgress:(e,t,n)=>p(`/jobs/${i(e)}/progress`,g(`POST`,{progress:t,message:n}))};function X(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw new l(`Malformed ${t} response.`,200);return e}function Z(e,t){let n=X(e,t);if(n.ok!==!0)throw new l(`Malformed ${t} response.`,200);return n}var Q=e=>typeof e==`number`&&Number.isSafeInteger(e)&&e>=0;function $(e,t){if(e!==void 0)return Z(e,t)}function Fe(e,t){let n={...S(e)},r=(r,i,a=d())=>{let o=t?{...i,signal:i?.signal?AbortSignal.any([i.signal,t]):t}:i;return f(e.baseUrl,r,n,o,!0,`server`,[],a)};return Object.freeze({queuesSummary:async()=>F(await r(`/queues/summary`)),overview:()=>r(`/dashboard`),counts:async e=>{let t=X(Z(await r(`/queues/${c(e)}/counts`),`queue counts`).counts,`queue counts`);if(!Object.values(t).every(Q))throw new l(`Malformed queue counts response.`,200);return{ok:!0,counts:t}},jobsList:async(e,t,n=50,i=0)=>{let a=new URLSearchParams;t?.length&&a.set(`states`,t.join(`,`)),a.set(`limit`,String(n)),a.set(`offset`,String(i));let o=Z(await r(`/queues/${c(e)}/jobs/list?${a}`),`jobs list`);if(!Array.isArray(o.jobs)||!o.jobs.every(t=>{let n=t;return typeof n==`object`&&!!n&&!Array.isArray(n)&&typeof n.id==`string`&&n.id.length>0&&(n.queue===void 0||n.queue===e)}))throw new l(`Malformed jobs list response.`,200);return{ok:!0,jobs:o.jobs}},job:async e=>{let t=X(Z(await r(`/jobs/${i(e)}`),`job`).job,`job`);if(t.id!==e)throw new l(`Malformed job response.`,200);return{ok:!0,job:t}},dlqStats:async e=>{let t=X(Z(await r(`/queues/${c(e)}/dlq/stats`),`DLQ stats`).stats,`DLQ stats`);if(!Q(t.total))throw new l(`Malformed DLQ stats response.`,200);return{ok:!0,stats:t}},dlq:async(e,t=100,n=0)=>{let i=Z(await r(`/queues/${c(e)}/dlq?limit=${t}&offset=${n}`),`DLQ list`);if(!Array.isArray(i.entries)||!Q(i.total))throw new l(`Malformed DLQ list response.`,200);for(let e of i.entries){let t=X(X(e,`DLQ list`).job,`DLQ list`);if(typeof t.id!=`string`||!t.id)throw new l(`Malformed DLQ list response.`,200)}return{ok:!0,entries:i.entries,total:i.total}},health:async()=>X(await f(e.baseUrl,`/health`,n,t?{signal:t}:void 0,!1,`server`,[503]),`health`),stats:async()=>{let e=await r(`/stats`);return X(Z(e,`server stats`).stats,`server stats`),e},workers:async()=>I(await r(`/workers`)),crons:async()=>{let e=Z(await r(`/crons`),`crons`);if(!Array.isArray(e.crons)||!e.crons.every(e=>{let t=e;return typeof t==`object`&&!!t&&!Array.isArray(t)&&typeof t.name==`string`&&!!t.name&&typeof t.queue==`string`&&!!t.queue}))throw new l(`Malformed crons response.`,200);return{ok:!0,crons:e.crons}},addJobsBulk:async(e,t)=>(Me(t),r(`/queues/${c(e)}/jobs/bulk`,{method:`POST`,body:Y(t)},_)),pullBatch:(e,t,n)=>r(`/queues/${c(e)}/jobs/pull-batch`,g(`POST`,{count:t,...n?{owner:n}:{}})),heartbeatBatch:(e,t)=>r(`/jobs/heartbeat-batch`,g(`POST`,{ids:e,...t?{tokens:t}:{}})),ackBatch:(e,t)=>r(`/jobs/ack-batch`,g(`POST`,{ids:e,...t?{tokens:t}:{}})),retryJob:(e,t)=>r(`/jobs/${i(e)}/move-to-wait`,g(`POST`,t?{token:t}:{})),promoteJob:async e=>$(await r(`/jobs/${i(e)}/promote`,g(`POST`)),`promote job`),pause:async e=>$(await r(`/queues/${c(e)}/pause`,g(`POST`)),`pause queue`),resume:async e=>$(await r(`/queues/${c(e)}/resume`,g(`POST`)),`resume queue`),clean:(e,t={})=>r(`/queues/${c(e)}/clean`,g(`POST`,t))})}var Ie={...Ne,captureServerRequestTarget:b,createServerTargetClient:Fe,getJobAtTarget:w,captureAgentRequestTarget:x,getDbRowsAtTarget:ce,getDbExportAtTarget:pe,...Pe,...me,queueOperations:he,...we,db:te,get agentBase(){return m()},control:ne,workflows:re};Object.defineProperty(Ie,"agentBase",{configurable:!1});export{l as a,f as c,w as d,ae as i,x as l,V as n,C as o,je as r,h as s,Ie as t,b as u};
@@ -1 +1 @@
1
- import{t as e}from"./api-D9aT0ND7.js";var t=`__all__`,n=[`all`,`waiting`,`active`,`completed`,`failed`],r=500,i=20,a=r*i;function o(e,t,n){if(typeof e!=`object`||!e||e.ok!==!0||!Array.isArray(e.queues)||!Number.isSafeInteger(e.total)||e.total<0||e.total>a||n!==null&&e.total!==n||e.offset!==t||e.limit!==r||e.queues.length!==Math.min(r,e.total-t)||e.queues.length>r||e.queues.some(e=>typeof e!=`object`||!e||typeof e.name!=`string`||e.name.length===0||e.name.length>256||!/^[a-zA-Z0-9_\-.:]+$/.test(e.name)))throw Error(`Queue discovery returned a malformed or unsafe page`)}async function s(){let t=await e.queues(r,0);o(t,0,null);let n=[...t.queues],s=new Set;for(let e of n){if(s.has(e.name))throw Error(`Queue discovery returned duplicate queue ${e.name}`);s.add(e.name)}let c=t.total,l=1;for(;n.length<c;){if(l>=i||n.length>=a)throw Error(`Queue discovery exceeds the safety limit of ${a}`);let t=n.length,u=await e.queues(r,t);o(u,t,c);for(let e of u.queues){if(s.has(e.name))throw Error(`Queue discovery pages overlap at queue ${e.name}`);s.add(e.name),n.push(e)}l+=1}return{...t,queues:n,total:c,limit:n.length,offset:0}}function c(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e.name;return typeof t==`string`&&t.length>0?t:null}export{c as i,n,s as r,t};
1
+ import{t as e}from"./api-Bbo86MB6.js";var t=`__all__`,n=[`all`,`waiting`,`active`,`completed`,`failed`],r=500,i=20,a=r*i;function o(e,t,n){if(typeof e!=`object`||!e||e.ok!==!0||!Array.isArray(e.queues)||!Number.isSafeInteger(e.total)||e.total<0||e.total>a||n!==null&&e.total!==n||e.offset!==t||e.limit!==r||e.queues.length!==Math.min(r,e.total-t)||e.queues.length>r||e.queues.some(e=>typeof e!=`object`||!e||typeof e.name!=`string`||e.name.length===0||e.name.length>256||!/^[a-zA-Z0-9_\-.:]+$/.test(e.name)))throw Error(`Queue discovery returned a malformed or unsafe page`)}async function s(){let t=await e.queues(r,0);o(t,0,null);let n=[...t.queues],s=new Set;for(let e of n){if(s.has(e.name))throw Error(`Queue discovery returned duplicate queue ${e.name}`);s.add(e.name)}let c=t.total,l=1;for(;n.length<c;){if(l>=i||n.length>=a)throw Error(`Queue discovery exceeds the safety limit of ${a}`);let t=n.length,u=await e.queues(r,t);o(u,t,c);for(let e of u.queues){if(s.has(e.name))throw Error(`Queue discovery pages overlap at queue ${e.name}`);s.add(e.name),n.push(e)}l+=1}return{...t,queues:n,total:c,limit:n.length,offset:0}}function c(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e.name;return typeof t==`string`&&t.length>0?t:null}export{c as i,n,s as r,t};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{g as t}from"./react-vendor-CFL9l8LK.js";var n=e(t(),1),r=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},i=(e=>e?r(e):r),a=e=>e;function o(e,t=a){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r}var s=e=>{let t=i(e),n=e=>o(t,e);return Object.assign(n,t),n},c=(e=>e?s(e):s);function l(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var u=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return u(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return u(t)(e)}}}},d=(e,t)=>(n,r,i)=>{let a={storage:l(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,d=new Set,f=a.storage;if(!f)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let p=()=>{let e=a.partialize({...r()});return f.setItem(a.name,{state:e,version:a.version})},m=i.setState;i.setState=(e,t)=>(m(e,t),p());let h=e((...e)=>(n(...e),p()),r,i);i.getInitialState=()=>h;let g,_=()=>{if(!f)return;let e=++s;o=!1,c.forEach(e=>e(r()??h));let t=a.onRehydrateStorage?.call(a,r()??h)||void 0;return u(f.getItem.bind(f))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(g=a.merge(o,r()??h),n(g,!0),i)return p()}).then(()=>{e===s&&(t?.(r(),void 0),g=r(),o=!0,d.forEach(e=>e(g)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(f=e.storage)},clearStorage:()=>{f?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>_(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(d.add(e),()=>{d.delete(e)})},a.skipHydration||_(),g||h},f=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function p(e,t=!1){try{let n=globalThis.localStorage??null;return!n&&t&&e.reportMissingWrites&&e.onError?.(Error(`localStorage is unavailable`)),n}catch(t){return e.onError?.(t),null}}function m(e,t){try{let n=JSON.parse(e),r=f(n)?n:{},i=typeof r.version==`number`?r.version:void 0,a=t.sanitizeState(`state`in r?r.state:r,i);return{hydration:JSON.stringify({state:a,...i===void 0?{}:{version:i}}),canonical:JSON.stringify({state:a,version:t.version})}}catch(e){return t.onError?.(e),null}}function h(e){let t=t=>e.onError?.(t);return{getItem(n){let r=p(e);if(!r)return null;let i;try{i=r.getItem(n)}catch(e){return t(e),null}if(i===null||n!==e.key)return i;let a=m(i,e);if(!a){try{r.removeItem(n)}catch(e){t(e)}return null}if(i!==a.canonical)try{r.setItem(n,a.canonical)}catch(e){t(e);try{r.removeItem(n)}catch(e){t(e)}}return a.hydration},setItem(n,r){let i=p(e,!0);if(i)try{i.setItem(n,r)}catch(e){t(e)}},removeItem(n){let r=p(e);if(r)try{r.removeItem(n)}catch(e){t(e)}}}}var g=/^\/(?:[A-Za-z0-9._~-]+(?:\/[A-Za-z0-9._~-]+)*)?\/?$/;function _(e){try{return globalThis[e]}catch{return}}function v(e){if(typeof e!=`string`)return null;let t=e.trim();return!g.test(t)||t.split(`/`).some(e=>e===`.`||e===`..`)?null:t.replace(/\/+$/,``)||`/`}function y(e,t){return v(e)??v(t)??`/`}var b=`Use an http(s) URL without credentials, query, or fragment, or a non-root path starting with '/'.`,x=`https://bunqueue-dashboard.invalid`,ee=/\s/u;function te(e){return[...e].some(e=>{let t=e.charCodeAt(0);return e===`\\`||ee.test(e)||t<32||t===127})}function S(e){if(typeof e!=`string`)return null;let t=e.trim();if(!t||t.includes(`?`)||t.includes(`#`)||te(t))return null;if(t.startsWith(`/`)){if(t.startsWith(`//`))return null;try{let e=new URL(t,x),n=e.pathname.replace(/\/+$/,``);return e.origin!==x||!n||n===`/`||n.startsWith(`//`)?null:n}catch{return null}}let n=t.match(/^https?:\/\//i)?.[0];if(!n)return null;let r=t.slice(n.length).split(`/`,1)[0];if(!r||r.includes(`@`))return null;try{let e=new URL(t);if(e.protocol!==`http:`&&e.protocol!==`https:`||!e.hostname||e.username||e.password)return null;let n=e.pathname.replace(/\/+$/,``);return n.startsWith(`//`)?null:`${e.origin}${n}`}catch{return null}}function C(e,t){return S(e)??S(t)??`/api`}function w(e,t){return S(e)??S(t)??`http://localhost:6800`}function T(e,t){return S(e)??t}function E(e){return typeof e==`string`?e.trim():``}var ne=`default`,re=64,D=/^[a-zA-Z0-9_-]{1,64}$/u;function O(e){return{id:ne,name:`Local Bunqueue`,baseUrl:e.baseUrl,agentBaseUrl:e.agentBaseUrl}}function k(e,t){if(typeof e!=`string`)return t;let n=[...e].map(e=>{let t=e.codePointAt(0)??0;return t<=31||t===127?` `:e}).join(``).trim();return n?[...n].slice(0,re).join(``):t}function A(e,t){return typeof e==`string`&&D.test(e)?e:t}function j(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return null;let r=e,i=S(r.baseUrl);return i?{id:A(r.id,`profile-${t+1}`),name:k(r.name,`Bunqueue ${t+1}`),baseUrl:i,agentBaseUrl:T(r.agentBaseUrl,n.agentBaseUrl)}:null}function M(e,t){if(!Array.isArray(e))return[O(t)];let n=[],r=new Set;for(let[i,a]of e.slice(0,32).entries()){let e=j(a,i,t);!e||r.has(e.id)||(r.add(e.id),n.push(e))}return n.length?n:[O(t)]}function N(e,t,n){let r=e&&typeof e==`object`&&!Array.isArray(e)?e:{},i=M(r.profiles,t),a=typeof r.activeProfileId==`string`?r.activeProfileId:``;return{profiles:i,activeProfileId:i.some(e=>e.id===a)?a:i[0].id,refreshMs:n(r.refreshMs)}}function P(e,t,n){let r=e&&typeof e==`object`&&!Array.isArray(e)?e:{};if(Array.isArray(r.profiles))return N(r,t,n);let i=O({...t,baseUrl:T(r.baseUrl,t.baseUrl)});return{profiles:[i],activeProfileId:i.id,refreshMs:n(r.refreshMs)}}function ie(e){let t=new Set(e.map(e=>e.id)),n=globalThis.crypto?.randomUUID?.().replaceAll(`-`,``).slice(0,16)||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`,r=`node-${n}`,i=2;for(;t.has(r);)r=`node-${n}-${i++}`;return r}var F=`bq-dash-connection`,I=3e3,ae=500,oe=6e4,L={baseUrl:C(void 0,_(`__BUNQUEUE_API_URL__`)),agentBaseUrl:w(_(`__BUNQUEUE_AGENT_URL__`),void 0),refreshMs:I},R=O(L);function z(e){return typeof e!=`number`||!Number.isFinite(e)?I:Math.min(oe,Math.max(ae,Math.round(e)))}function B(e){let t=e;return N({profiles:t?.profiles??(t?.baseUrl?[{...R,baseUrl:t.baseUrl}]:void 0),activeProfileId:t?.activeProfileId,refreshMs:t?.refreshMs},L,z)}function V(e,t){if(t!==void 0&&t<4)return H(e,t);let n=e;return Array.isArray(n?.profiles)?N(e,L,z):P(e,L,z)}function H(e,t,n=L.baseUrl){let r={...L,baseUrl:C(void 0,n)},i=e&&typeof e==`object`&&!Array.isArray(e)?e:{},a=t<3&&i.baseUrl===`/api`?{...i,baseUrl:r.baseUrl}:e;return t<4?P(a,r,z):N(e,r,z)}var U=null;function W(e){U=e instanceof Error?e:Error(String(e))}function G(){U=null}function K(){return U?{persisted:!1,error:`${U.name&&U.name!==`Error`?`${U.name}: `:``}${U.message}`}:{persisted:!0}}var se=l(()=>h({key:F,version:4,sanitizeState:V,onError:W,reportMissingWrites:!0})),q=new Map;function J(e){return e.profiles.find(t=>t.id===e.activeProfileId)??e.profiles[0]??R}function Y(e,t){let n=J(e),r={...n,...t,id:n.id};return e.profiles.map(e=>e.id===n.id?r:e)}function X(e,t,n){q.set(e,{token:E(t),agentToken:E(n)})}var Z=c()(d((e,t)=>({profiles:[R],activeProfileId:R.id,baseUrl:R.baseUrl,agentBaseUrl:R.agentBaseUrl,token:``,agentToken:``,refreshMs:L.refreshMs,saveConnection:n=>{G();let r=t(),i=J(r),a={...i,name:k(n.name,i.name),baseUrl:T(n.baseUrl,L.baseUrl),agentBaseUrl:T(n.agentBaseUrl??i.agentBaseUrl,L.agentBaseUrl)};return X(i.id,n.token,n.agentToken),e({profiles:Y(r,a),baseUrl:a.baseUrl,agentBaseUrl:a.agentBaseUrl,token:E(n.token),agentToken:E(n.agentToken)}),K()},addProfile:n=>{let r=t();if(r.profiles.length>=32)return{persisted:!1,error:`At most 32 Bunqueue nodes are supported.`};G();let i=ie(r.profiles),a={id:i,name:k(n.name,`Bunqueue ${r.profiles.length+1}`),baseUrl:T(n.baseUrl,L.baseUrl),agentBaseUrl:T(n.agentBaseUrl,L.agentBaseUrl)};return X(i,n.token,n.agentToken),e({profiles:[...r.profiles,a],activeProfileId:i,baseUrl:a.baseUrl,agentBaseUrl:a.agentBaseUrl,token:E(n.token),agentToken:E(n.agentToken)}),{...K(),id:i}},activateProfile:n=>{let r=t(),i=r.profiles.find(e=>e.id===n);if(!i)return!1;X(r.activeProfileId,r.token,r.agentToken);let a=q.get(n)??{token:``,agentToken:``};return e({activeProfileId:n,baseUrl:i.baseUrl,agentBaseUrl:i.agentBaseUrl,...a}),!0},removeProfile:n=>{let r=t();if(r.profiles.length===1||!r.profiles.some(e=>e.id===n))return!1;q.delete(n);let i=r.profiles.filter(e=>e.id!==n);if(n!==r.activeProfileId)return e({profiles:i}),!0;let a=i[0],o=q.get(a.id)??{token:``,agentToken:``};return e({profiles:i,activeProfileId:a.id,baseUrl:a.baseUrl,agentBaseUrl:a.agentBaseUrl,...o}),!0},setBaseUrl:t=>e(e=>{let n=T(t,L.baseUrl);return{baseUrl:n,profiles:Y(e,{baseUrl:n})}}),setAgentBaseUrl:t=>e(e=>{let n=T(t,L.agentBaseUrl);return{agentBaseUrl:n,profiles:Y(e,{agentBaseUrl:n})}}),setToken:t=>e(e=>{let n=E(t);return X(e.activeProfileId,n,e.agentToken),{token:n}}),setAgentToken:t=>e(e=>{let n=E(t);return X(e.activeProfileId,e.token,n),{agentToken:n}}),setRefreshMs:t=>e({refreshMs:z(t)})}),{name:F,storage:se,version:4,partialize:B,migrate:H,merge:(e,t)=>{q.clear();let n=V(e),r=n.profiles.find(e=>e.id===n.activeProfileId)??n.profiles[0];return{...t,...n,baseUrl:r.baseUrl,agentBaseUrl:r.agentBaseUrl,token:``,agentToken:``}}}));function ce(e){let t=Z.getState(),n=t.profiles.find(t=>t.id===e);if(!n)return null;let r=e===t.activeProfileId?{token:E(t.token),agentToken:E(t.agentToken)}:q.get(e)??{token:``,agentToken:``};return Object.freeze({...n,...r})}var le=()=>T(Z.getState().baseUrl,L.baseUrl),ue=()=>T(Z.getState().agentBaseUrl,L.agentBaseUrl),Q=()=>$(Z.getState().token),de=()=>$(Z.getState().agentToken);function $(e){let t=E(e);return t?{Authorization:`Bearer ${t}`}:{}}export{le as a,S as c,h as d,l as f,Q as i,y as l,c as m,de as n,Z as o,d as p,ue as r,b as s,ce as t,_ as u};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{g as t}from"./react-vendor-DfC0iyIS.js";var n=e(t(),1),r=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e))},o=t=e(r,i,a);return a},i=(e=>e?r(e):r),a=e=>e;function o(e,t=a){let r=n.useSyncExternalStore(e.subscribe,n.useCallback(()=>t(e.getState()),[e,t]),n.useCallback(()=>t(e.getInitialState()),[e,t]));return n.useDebugValue(r),r}var s=e=>{let t=i(e),n=e=>o(t,e);return Object.assign(n,t),n},c=(e=>e?s(e):s);function l(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var u=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return u(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return u(t)(e)}}}},d=(e,t)=>(n,r,i)=>{let a={storage:l(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,d=new Set,f=a.storage;if(!f)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let p=()=>{let e=a.partialize({...r()});return f.setItem(a.name,{state:e,version:a.version})},m=i.setState;i.setState=(e,t)=>(m(e,t),p());let h=e((...e)=>(n(...e),p()),r,i);i.getInitialState=()=>h;let g,_=()=>{if(!f)return;let e=++s;o=!1,c.forEach(e=>e(r()??h));let t=a.onRehydrateStorage?.call(a,r()??h)||void 0;return u(f.getItem.bind(f))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(g=a.merge(o,r()??h),n(g,!0),i)return p()}).then(()=>{e===s&&(t?.(r(),void 0),g=r(),o=!0,d.forEach(e=>e(g)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(f=e.storage)},clearStorage:()=>{f?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>_(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(d.add(e),()=>{d.delete(e)})},a.skipHydration||_(),g||h},f=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function p(e,t=!1){try{let n=globalThis.localStorage??null;return!n&&t&&e.reportMissingWrites&&e.onError?.(Error(`localStorage is unavailable`)),n}catch(t){return e.onError?.(t),null}}function m(e,t){try{let n=JSON.parse(e),r=f(n)?n:{},i=typeof r.version==`number`?r.version:void 0,a=t.sanitizeState(`state`in r?r.state:r,i);return{hydration:JSON.stringify({state:a,...i===void 0?{}:{version:i}}),canonical:JSON.stringify({state:a,version:t.version})}}catch(e){return t.onError?.(e),null}}function h(e){let t=t=>e.onError?.(t);return{getItem(n){let r=p(e);if(!r)return null;let i;try{i=r.getItem(n)}catch(e){return t(e),null}if(i===null||n!==e.key)return i;let a=m(i,e);if(!a){try{r.removeItem(n)}catch(e){t(e)}return null}if(i!==a.canonical)try{r.setItem(n,a.canonical)}catch(e){t(e);try{r.removeItem(n)}catch(e){t(e)}}return a.hydration},setItem(n,r){let i=p(e,!0);if(i)try{i.setItem(n,r)}catch(e){t(e)}},removeItem(n){let r=p(e);if(r)try{r.removeItem(n)}catch(e){t(e)}}}}var g=/^\/(?:[A-Za-z0-9._~-]+(?:\/[A-Za-z0-9._~-]+)*)?\/?$/;function _(e){try{return globalThis[e]}catch{return}}function v(e){if(typeof e!=`string`)return null;let t=e.trim();return!g.test(t)||t.split(`/`).some(e=>e===`.`||e===`..`)?null:t.replace(/\/+$/,``)||`/`}function y(e,t){return v(e)??v(t)??`/`}var b=`Use an http(s) URL without credentials, query, or fragment, or a non-root path starting with '/'.`,x=`https://bunqueue-dashboard.invalid`,ee=/\s/u;function te(e){return[...e].some(e=>{let t=e.charCodeAt(0);return e===`\\`||ee.test(e)||t<32||t===127})}function S(e){if(typeof e!=`string`)return null;let t=e.trim();if(!t||t.includes(`?`)||t.includes(`#`)||te(t))return null;if(t.startsWith(`/`)){if(t.startsWith(`//`))return null;try{let e=new URL(t,x),n=e.pathname.replace(/\/+$/,``);return e.origin!==x||!n||n===`/`||n.startsWith(`//`)?null:n}catch{return null}}let n=t.match(/^https?:\/\//i)?.[0];if(!n)return null;let r=t.slice(n.length).split(`/`,1)[0];if(!r||r.includes(`@`))return null;try{let e=new URL(t);if(e.protocol!==`http:`&&e.protocol!==`https:`||!e.hostname||e.username||e.password)return null;let n=e.pathname.replace(/\/+$/,``);return n.startsWith(`//`)?null:`${e.origin}${n}`}catch{return null}}function C(e,t){return S(e)??S(t)??`/api`}function w(e,t){return S(e)??S(t)??`http://localhost:6800`}function T(e,t){return S(e)??t}function E(e){return typeof e==`string`?e.trim():``}var ne=`default`,re=64,D=/^[a-zA-Z0-9_-]{1,64}$/u;function O(e){return{id:ne,name:`Local Bunqueue`,baseUrl:e.baseUrl,agentBaseUrl:e.agentBaseUrl}}function k(e,t){if(typeof e!=`string`)return t;let n=[...e].map(e=>{let t=e.codePointAt(0)??0;return t<=31||t===127?` `:e}).join(``).trim();return n?[...n].slice(0,re).join(``):t}function A(e,t){return typeof e==`string`&&D.test(e)?e:t}function j(e,t,n){if(!e||typeof e!=`object`||Array.isArray(e))return null;let r=e,i=S(r.baseUrl);return i?{id:A(r.id,`profile-${t+1}`),name:k(r.name,`Bunqueue ${t+1}`),baseUrl:i,agentBaseUrl:T(r.agentBaseUrl,n.agentBaseUrl)}:null}function M(e,t){if(!Array.isArray(e))return[O(t)];let n=[],r=new Set;for(let[i,a]of e.slice(0,32).entries()){let e=j(a,i,t);!e||r.has(e.id)||(r.add(e.id),n.push(e))}return n.length?n:[O(t)]}function N(e,t,n){let r=e&&typeof e==`object`&&!Array.isArray(e)?e:{},i=M(r.profiles,t),a=typeof r.activeProfileId==`string`?r.activeProfileId:``;return{profiles:i,activeProfileId:i.some(e=>e.id===a)?a:i[0].id,refreshMs:n(r.refreshMs)}}function P(e,t,n){let r=e&&typeof e==`object`&&!Array.isArray(e)?e:{};if(Array.isArray(r.profiles))return N(r,t,n);let i=O({...t,baseUrl:T(r.baseUrl,t.baseUrl)});return{profiles:[i],activeProfileId:i.id,refreshMs:n(r.refreshMs)}}function ie(e){let t=new Set(e.map(e=>e.id)),n=globalThis.crypto?.randomUUID?.().replaceAll(`-`,``).slice(0,16)||`${Date.now().toString(36)}${Math.random().toString(36).slice(2,8)}`,r=`node-${n}`,i=2;for(;t.has(r);)r=`node-${n}-${i++}`;return r}var F=`bq-dash-connection`,I=3e3,ae=500,oe=6e4,L={baseUrl:C(void 0,_(`__BUNQUEUE_API_URL__`)),agentBaseUrl:w(_(`__BUNQUEUE_AGENT_URL__`),void 0),refreshMs:I},R=O(L);function z(e){return typeof e!=`number`||!Number.isFinite(e)?I:Math.min(oe,Math.max(ae,Math.round(e)))}function B(e){let t=e;return N({profiles:t?.profiles??(t?.baseUrl?[{...R,baseUrl:t.baseUrl}]:void 0),activeProfileId:t?.activeProfileId,refreshMs:t?.refreshMs},L,z)}function V(e,t){if(t!==void 0&&t<4)return H(e,t);let n=e;return Array.isArray(n?.profiles)?N(e,L,z):P(e,L,z)}function H(e,t,n=L.baseUrl){let r={...L,baseUrl:C(void 0,n)},i=e&&typeof e==`object`&&!Array.isArray(e)?e:{},a=t<3&&i.baseUrl===`/api`?{...i,baseUrl:r.baseUrl}:e;return t<4?P(a,r,z):N(e,r,z)}var U=null;function W(e){U=e instanceof Error?e:Error(String(e))}function G(){U=null}function K(){return U?{persisted:!1,error:`${U.name&&U.name!==`Error`?`${U.name}: `:``}${U.message}`}:{persisted:!0}}var se=l(()=>h({key:F,version:4,sanitizeState:V,onError:W,reportMissingWrites:!0})),q=new Map;function J(e){return e.profiles.find(t=>t.id===e.activeProfileId)??e.profiles[0]??R}function Y(e,t){let n=J(e),r={...n,...t,id:n.id};return e.profiles.map(e=>e.id===n.id?r:e)}function X(e,t,n){q.set(e,{token:E(t),agentToken:E(n)})}var Z=c()(d((e,t)=>({profiles:[R],activeProfileId:R.id,baseUrl:R.baseUrl,agentBaseUrl:R.agentBaseUrl,token:``,agentToken:``,refreshMs:L.refreshMs,saveConnection:n=>{G();let r=t(),i=J(r),a={...i,name:k(n.name,i.name),baseUrl:T(n.baseUrl,L.baseUrl),agentBaseUrl:T(n.agentBaseUrl??i.agentBaseUrl,L.agentBaseUrl)};return X(i.id,n.token,n.agentToken),e({profiles:Y(r,a),baseUrl:a.baseUrl,agentBaseUrl:a.agentBaseUrl,token:E(n.token),agentToken:E(n.agentToken)}),K()},addProfile:n=>{let r=t();if(r.profiles.length>=32)return{persisted:!1,error:`At most 32 Bunqueue nodes are supported.`};G();let i=ie(r.profiles),a={id:i,name:k(n.name,`Bunqueue ${r.profiles.length+1}`),baseUrl:T(n.baseUrl,L.baseUrl),agentBaseUrl:T(n.agentBaseUrl,L.agentBaseUrl)};return X(i,n.token,n.agentToken),e({profiles:[...r.profiles,a],activeProfileId:i,baseUrl:a.baseUrl,agentBaseUrl:a.agentBaseUrl,token:E(n.token),agentToken:E(n.agentToken)}),{...K(),id:i}},activateProfile:n=>{let r=t(),i=r.profiles.find(e=>e.id===n);if(!i)return!1;X(r.activeProfileId,r.token,r.agentToken);let a=q.get(n)??{token:``,agentToken:``};return e({activeProfileId:n,baseUrl:i.baseUrl,agentBaseUrl:i.agentBaseUrl,...a}),!0},removeProfile:n=>{let r=t();if(r.profiles.length===1||!r.profiles.some(e=>e.id===n))return!1;q.delete(n);let i=r.profiles.filter(e=>e.id!==n);if(n!==r.activeProfileId)return e({profiles:i}),!0;let a=i[0],o=q.get(a.id)??{token:``,agentToken:``};return e({profiles:i,activeProfileId:a.id,baseUrl:a.baseUrl,agentBaseUrl:a.agentBaseUrl,...o}),!0},setBaseUrl:t=>e(e=>{let n=T(t,L.baseUrl);return{baseUrl:n,profiles:Y(e,{baseUrl:n})}}),setAgentBaseUrl:t=>e(e=>{let n=T(t,L.agentBaseUrl);return{agentBaseUrl:n,profiles:Y(e,{agentBaseUrl:n})}}),setToken:t=>e(e=>{let n=E(t);return X(e.activeProfileId,n,e.agentToken),{token:n}}),setAgentToken:t=>e(e=>{let n=E(t);return X(e.activeProfileId,e.token,n),{agentToken:n}}),setRefreshMs:t=>e({refreshMs:z(t)})}),{name:F,storage:se,version:4,partialize:B,migrate:H,merge:(e,t)=>{q.clear();let n=V(e),r=n.profiles.find(e=>e.id===n.activeProfileId)??n.profiles[0];return{...t,...n,baseUrl:r.baseUrl,agentBaseUrl:r.agentBaseUrl,token:``,agentToken:``}}}));function ce(e){let t=Z.getState(),n=t.profiles.find(t=>t.id===e);if(!n)return null;let r=e===t.activeProfileId?{token:E(t.token),agentToken:E(t.agentToken)}:q.get(e)??{token:``,agentToken:``};return Object.freeze({...n,...r})}var le=()=>T(Z.getState().baseUrl,L.baseUrl),ue=()=>T(Z.getState().agentBaseUrl,L.agentBaseUrl),Q=()=>$(Z.getState().token),de=()=>$(Z.getState().agentToken);function $(e){let t=E(e);return t?{Authorization:`Bearer ${t}`}:{}}export{le as a,S as c,h as d,l as f,Q as i,y as l,c as m,de as n,Z as o,d as p,ue as r,b as s,ce as t,_ as u};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{g as t}from"./react-vendor-CFL9l8LK.js";import{o as n}from"./connectionStore-CVjQyIZv.js";var r=e(t(),1),i=0,a=new Set;n.subscribe((e,t)=>{if(!(e.baseUrl===t.baseUrl&&e.agentBaseUrl===t.agentBaseUrl&&e.activeProfileId===t.activeProfileId&&e.token===t.token&&e.agentToken===t.agentToken)){i+=1;for(let e of a)e()}});function o(){return i}function s(){return(0,r.useSyncExternalStore)(c,o,o)}function c(e){return a.add(e),()=>a.delete(e)}export{s as n,o as t};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{g as t}from"./react-vendor-DfC0iyIS.js";import{o as n}from"./connectionStore-DdLzJyut.js";var r=e(t(),1),i=0,a=new Set;n.subscribe((e,t)=>{if(!(e.baseUrl===t.baseUrl&&e.agentBaseUrl===t.agentBaseUrl&&e.activeProfileId===t.activeProfileId&&e.token===t.token&&e.agentToken===t.agentToken)){i+=1;for(let e of a)e()}});function o(){return i}function s(){return(0,r.useSyncExternalStore)(c,o,o)}function c(e){return a.add(e),()=>a.delete(e)}export{s as n,o as t};
@@ -1 +1 @@
1
- import{t as e}from"./react-vendor-CFL9l8LK.js";import{r as t}from"./StatusBadge-DereLzOj.js";var n=e();function r({className:e,decorative:r=!1}){let i=t(`inline-block size-4 animate-spin rounded-full border-2 border-current border-t-transparent`,e);return r?(0,n.jsx)(`span`,{className:i,"aria-hidden":`true`}):(0,n.jsx)(`span`,{className:i,role:`status`,"aria-label":`Loading`})}function i({label:e=`Loading…`}){return(0,n.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`flex items-center justify-center gap-3 py-16 text-sm text-muted`,children:[(0,n.jsx)(r,{decorative:!0}),e]})}function a({icon:e,title:t,hint:r,action:i}){return(0,n.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-xl border border-dashed border-line py-14 text-center`,children:[e&&(0,n.jsx)(`div`,{className:`text-faint [&>svg]:size-8`,children:e}),(0,n.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t}),r&&(0,n.jsx)(`div`,{className:`max-w-sm text-xs text-faint`,children:r}),i&&(0,n.jsx)(`div`,{className:`mt-2`,children:i})]})}function o({onRetry:e,message:t=`Could not refresh bunqueue data — the view may be unavailable or stale.`}){return(0,n.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`mb-4 flex flex-wrap items-center gap-3 rounded-lg border border-amber-500/25 bg-amber-500/[0.06] px-4 py-2.5 text-sm`,children:[(0,n.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-amber-400`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`text-amber-300/90 light:text-amber-700`,children:t}),e&&(0,n.jsx)(`button`,{type:`button`,onClick:e,className:`ml-auto shrink-0 rounded-md border border-amber-500/30 px-2.5 py-1 text-xs font-medium text-amber-200 light:text-amber-700 hover:border-amber-400/50 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent`,children:`Retry`})]})}function s({error:e,onRetry:t}){return(0,n.jsxs)(`div`,{role:`alert`,"aria-atomic":`true`,className:`flex flex-col items-center justify-center gap-3 rounded-xl border border-red-500/20 bg-red-500/5 py-14 text-center`,children:[(0,n.jsx)(`div`,{className:`text-sm font-medium text-danger`,children:`Something went wrong`}),(0,n.jsx)(`div`,{className:`max-w-md text-xs text-faint`,children:e.message}),t&&(0,n.jsx)(`button`,{type:`button`,onClick:t,className:`mt-1 rounded-lg border border-line bg-surface-2 px-3 py-1.5 text-xs font-medium text-fg hover:border-line-strong focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent`,children:`Retry`})]})}export{o as i,s as n,i as r,a as t};
1
+ import{t as e}from"./react-vendor-DfC0iyIS.js";import{r as t}from"./StatusBadge-cYUkK-4P.js";var n=e();function r({className:e,decorative:r=!1}){let i=t(`inline-block size-4 animate-spin rounded-full border-2 border-current border-t-transparent`,e);return r?(0,n.jsx)(`span`,{className:i,"aria-hidden":`true`}):(0,n.jsx)(`span`,{className:i,role:`status`,"aria-label":`Loading`})}function i({label:e=`Loading…`}){return(0,n.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`flex items-center justify-center gap-3 py-16 text-sm text-muted`,children:[(0,n.jsx)(r,{decorative:!0}),e]})}function a({icon:e,title:t,hint:r,action:i}){return(0,n.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-2 rounded-xl border border-dashed border-line py-14 text-center`,children:[e&&(0,n.jsx)(`div`,{className:`text-faint [&>svg]:size-8`,children:e}),(0,n.jsx)(`div`,{className:`text-sm font-medium text-fg`,children:t}),r&&(0,n.jsx)(`div`,{className:`max-w-sm text-xs text-faint`,children:r}),i&&(0,n.jsx)(`div`,{className:`mt-2`,children:i})]})}function o({onRetry:e,message:t=`Could not refresh bunqueue data — the view may be unavailable or stale.`}){return(0,n.jsxs)(`div`,{role:`status`,"aria-live":`polite`,"aria-atomic":`true`,className:`mb-4 flex flex-wrap items-center gap-3 rounded-lg border border-amber-500/25 bg-amber-500/[0.06] px-4 py-2.5 text-sm`,children:[(0,n.jsx)(`span`,{className:`size-2 shrink-0 rounded-full bg-amber-400`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`text-amber-300/90 light:text-amber-700`,children:t}),e&&(0,n.jsx)(`button`,{type:`button`,onClick:e,className:`ml-auto shrink-0 rounded-md border border-amber-500/30 px-2.5 py-1 text-xs font-medium text-amber-200 light:text-amber-700 hover:border-amber-400/50 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent`,children:`Retry`})]})}function s({error:e,onRetry:t}){return(0,n.jsxs)(`div`,{role:`alert`,"aria-atomic":`true`,className:`flex flex-col items-center justify-center gap-3 rounded-xl border border-red-500/20 bg-red-500/5 py-14 text-center`,children:[(0,n.jsx)(`div`,{className:`text-sm font-medium text-danger`,children:`Something went wrong`}),(0,n.jsx)(`div`,{className:`max-w-md text-xs text-faint`,children:e.message}),t&&(0,n.jsx)(`button`,{type:`button`,onClick:t,className:`mt-1 rounded-lg border border-line bg-surface-2 px-3 py-1.5 text-xs font-medium text-fg hover:border-line-strong focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent`,children:`Retry`})]})}export{o as i,s as n,i as r,a as t};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{g as t,t as n}from"./react-vendor-CFL9l8LK.js";import{r}from"./StatusBadge-DereLzOj.js";var i=e(t(),1),a=n();function o({children:e,htmlFor:t}){return(0,a.jsx)(`label`,{htmlFor:t,className:`text-[11px] font-medium uppercase tracking-wider text-faint`,children:e})}function s({label:e,hint:t,htmlFor:n,children:r}){let s=(0,i.useId)(),c=r,d=n;if(!n&&(0,i.isValidElement)(r)){let e=r;(typeof e.type==`string`&&[`input`,`select`,`textarea`].includes(e.type)||e.type===l||e.type===u)&&(d=e.props.id??s,c=e.props.id?e:(0,i.cloneElement)(e,{id:s}))}return(0,a.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,a.jsx)(o,{htmlFor:d,children:e}),c,t&&(0,a.jsx)(`p`,{className:`text-xs leading-relaxed text-faint`,children:t})]})}var c=`h-9 rounded-lg border border-line bg-surface-2 px-3 text-sm text-fg placeholder:text-faint transition-colors focus-visible:border-accent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent`;function l({className:e,...t}){return(0,a.jsx)(`input`,{className:r(c,`w-full`,e),...t})}function u({className:e,children:t,...n}){return(0,a.jsx)(`select`,{className:r(c,`w-full cursor-pointer pr-8`,e),...n,children:t})}function d({checked:e,onChange:t,label:n,disabled:i}){return(0,a.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":n,disabled:i,onClick:()=>t(!e),className:r(`relative inline-flex h-6 w-11 items-center rounded-full transition-colors`,`focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent`,e?`bg-accent`:`bg-surface-2 border border-line`,i&&`opacity-40`),children:(0,a.jsx)(`span`,{className:r(`inline-block size-4 transform rounded-full bg-white shadow transition-transform`,e?`translate-x-6`:`translate-x-1`)})})}function f({options:e,value:t,onChange:n,disabled:i,label:o=`View options`}){return(0,a.jsxs)(`fieldset`,{className:`inline-flex items-center gap-1 rounded-lg border border-line bg-surface p-1`,children:[(0,a.jsx)(`legend`,{className:`sr-only`,children:o}),e.map(e=>(0,a.jsx)(`button`,{type:`button`,"aria-pressed":t===e,disabled:i,onClick:()=>n(e),className:r(`rounded-md px-3 py-1 text-xs font-medium capitalize transition-colors`,`focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent`,t===e?`bg-surface-2 text-fg`:`text-muted hover:text-fg`,i&&`opacity-40`),children:e},e))]})}export{u as a,f as i,l as n,d as o,o as r,s as t};
1
+ import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{g as t,t as n}from"./react-vendor-DfC0iyIS.js";import{r}from"./StatusBadge-cYUkK-4P.js";var i=e(t(),1),a=n();function o({children:e,htmlFor:t}){return(0,a.jsx)(`label`,{htmlFor:t,className:`text-[11px] font-medium uppercase tracking-wider text-faint`,children:e})}function s({label:e,hint:t,htmlFor:n,children:r}){let s=(0,i.useId)(),c=r,d=n;if(!n&&(0,i.isValidElement)(r)){let e=r;(typeof e.type==`string`&&[`input`,`select`,`textarea`].includes(e.type)||e.type===l||e.type===u)&&(d=e.props.id??s,c=e.props.id?e:(0,i.cloneElement)(e,{id:s}))}return(0,a.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,a.jsx)(o,{htmlFor:d,children:e}),c,t&&(0,a.jsx)(`p`,{className:`text-xs leading-relaxed text-faint`,children:t})]})}var c=`h-9 rounded-lg border border-line bg-surface-2 px-3 text-sm text-fg placeholder:text-faint transition-colors focus-visible:border-accent focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent`;function l({className:e,...t}){return(0,a.jsx)(`input`,{className:r(c,`w-full`,e),...t})}function u({className:e,children:t,...n}){return(0,a.jsx)(`select`,{className:r(c,`w-full cursor-pointer pr-8`,e),...n,children:t})}function d({checked:e,onChange:t,label:n,disabled:i}){return(0,a.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":n,disabled:i,onClick:()=>t(!e),className:r(`relative inline-flex h-6 w-11 items-center rounded-full transition-colors`,`focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent`,e?`bg-accent`:`bg-surface-2 border border-line`,i&&`opacity-40`),children:(0,a.jsx)(`span`,{className:r(`inline-block size-4 transform rounded-full bg-white shadow transition-transform`,e?`translate-x-6`:`translate-x-1`)})})}function f({options:e,value:t,onChange:n,disabled:i,label:o=`View options`}){return(0,a.jsxs)(`fieldset`,{className:`inline-flex items-center gap-1 rounded-lg border border-line bg-surface p-1`,children:[(0,a.jsx)(`legend`,{className:`sr-only`,children:o}),e.map(e=>(0,a.jsx)(`button`,{type:`button`,"aria-pressed":t===e,disabled:i,onClick:()=>n(e),className:r(`rounded-md px-3 py-1 text-xs font-medium capitalize transition-colors`,`focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent`,t===e?`bg-surface-2 text-fg`:`text-muted hover:text-fg`,i&&`opacity-40`),children:e},e))]})}export{u as a,f as i,l as n,d as o,o as r,s as t};
@@ -1 +1 @@
1
- import{t as e}from"./react-vendor-CFL9l8LK.js";var t=e();function n({children:e,...n}){return(0,t.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.75`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n,children:e})}var r=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M3 3v18h18`}),(0,t.jsx)(`rect`,{x:`7`,y:`12`,width:`3`,height:`6`}),(0,t.jsx)(`rect`,{x:`12`,y:`8`,width:`3`,height:`10`}),(0,t.jsx)(`rect`,{x:`17`,y:`5`,width:`3`,height:`13`})]}),i=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`line`,{x1:`8`,y1:`6`,x2:`21`,y2:`6`}),(0,t.jsx)(`line`,{x1:`8`,y1:`12`,x2:`21`,y2:`12`}),(0,t.jsx)(`line`,{x1:`8`,y1:`18`,x2:`21`,y2:`18`}),(0,t.jsx)(`line`,{x1:`3`,y1:`6`,x2:`3.01`,y2:`6`}),(0,t.jsx)(`line`,{x1:`3`,y1:`12`,x2:`3.01`,y2:`12`}),(0,t.jsx)(`line`,{x1:`3`,y1:`18`,x2:`3.01`,y2:`18`})]}),a=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`rect`,{x:`2`,y:`7`,width:`20`,height:`14`,rx:`2`}),(0,t.jsx)(`path`,{d:`M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`})]}),o=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0Z`}),(0,t.jsx)(`line`,{x1:`12`,y1:`9`,x2:`12`,y2:`13`}),(0,t.jsx)(`line`,{x1:`12`,y1:`17`,x2:`12.01`,y2:`17`})]}),s=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,t.jsx)(`polyline`,{points:`12 7 12 12 15 14`})]}),c=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M3 3v18h18`}),(0,t.jsx)(`path`,{d:`m19 9-5 5-4-4-3 3`})]}),l=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`rect`,{x:`4`,y:`4`,width:`16`,height:`8`,rx:`2`}),(0,t.jsx)(`rect`,{x:`4`,y:`14`,width:`16`,height:`6`,rx:`2`}),(0,t.jsx)(`line`,{x1:`8`,y1:`8`,x2:`8.01`,y2:`8`}),(0,t.jsx)(`line`,{x1:`8`,y1:`17`,x2:`8.01`,y2:`17`})]}),u=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9`}),(0,t.jsx)(`path`,{d:`M13.73 21a2 2 0 0 1-3.46 0`})]}),d=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`line`,{x1:`8`,y1:`6`,x2:`21`,y2:`6`}),(0,t.jsx)(`line`,{x1:`8`,y1:`12`,x2:`21`,y2:`12`}),(0,t.jsx)(`line`,{x1:`8`,y1:`18`,x2:`21`,y2:`18`}),(0,t.jsx)(`path`,{d:`M3 6h.01M3 12h.01M3 18h.01`})]}),f=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M12 20V10`}),(0,t.jsx)(`path`,{d:`M18 20V4`}),(0,t.jsx)(`path`,{d:`M6 20v-4`})]}),p=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`ellipse`,{cx:`12`,cy:`5`,rx:`8`,ry:`3`}),(0,t.jsx)(`path`,{d:`M4 5v6c0 1.66 3.58 3 8 3s8-1.34 8-3V5`}),(0,t.jsx)(`path`,{d:`M4 11v6c0 1.66 3.58 3 8 3s8-1.34 8-3v-6`})]}),m=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,t.jsx)(`path`,{d:`M3 10h18`}),(0,t.jsx)(`path`,{d:`M9 10v10`})]}),h=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`}),(0,t.jsx)(`path`,{d:`M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1Z`})]}),g=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,t.jsx)(`path`,{d:`M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41`})]}),_=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`path`,{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z`})}),v=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`polyline`,{points:`15 18 9 12 15 6`})}),y=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`polyline`,{points:`9 18 15 12 9 6`})}),b=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`polygon`,{points:`5 3 19 12 5 21 5 3`})}),x=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`rect`,{x:`6`,y:`4`,width:`4`,height:`16`}),(0,t.jsx)(`rect`,{x:`14`,y:`4`,width:`4`,height:`16`})]}),S=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,t.jsx)(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})]}),C=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`polyline`,{points:`23 4 23 10 17 10`}),(0,t.jsx)(`polyline`,{points:`1 20 1 14 7 14`}),(0,t.jsx)(`path`,{d:`M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15`})]}),w=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,t.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]}),T=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8Z`}),(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`})]}),E=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`polygon`,{points:`13 2 3 14 12 14 11 22 21 10 12 10 13 2`})}),D=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,t.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]}),O=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}),k=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,t.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]}),A=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`rect`,{x:`9`,y:`9`,width:`13`,height:`13`,rx:`2`}),(0,t.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),j=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`line`,{x1:`3`,y1:`6`,x2:`21`,y2:`6`}),(0,t.jsx)(`line`,{x1:`3`,y1:`12`,x2:`21`,y2:`12`}),(0,t.jsx)(`line`,{x1:`3`,y1:`18`,x2:`21`,y2:`18`})]}),M=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,t.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,t.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]});export{l as A,C,g as D,h as E,S as O,i as S,w as T,c as _,y as a,x as b,s as c,M as d,T as f,j as g,d as h,v as i,f as k,m as l,E as m,k as n,D as o,a as p,O as r,A as s,u as t,o as u,_ as v,p as w,b as x,r as y};
1
+ import{t as e}from"./react-vendor-DfC0iyIS.js";var t=e();function n({children:e,...n}){return(0,t.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.75`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...n,children:e})}var r=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M3 3v18h18`}),(0,t.jsx)(`rect`,{x:`7`,y:`12`,width:`3`,height:`6`}),(0,t.jsx)(`rect`,{x:`12`,y:`8`,width:`3`,height:`10`}),(0,t.jsx)(`rect`,{x:`17`,y:`5`,width:`3`,height:`13`})]}),i=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`line`,{x1:`8`,y1:`6`,x2:`21`,y2:`6`}),(0,t.jsx)(`line`,{x1:`8`,y1:`12`,x2:`21`,y2:`12`}),(0,t.jsx)(`line`,{x1:`8`,y1:`18`,x2:`21`,y2:`18`}),(0,t.jsx)(`line`,{x1:`3`,y1:`6`,x2:`3.01`,y2:`6`}),(0,t.jsx)(`line`,{x1:`3`,y1:`12`,x2:`3.01`,y2:`12`}),(0,t.jsx)(`line`,{x1:`3`,y1:`18`,x2:`3.01`,y2:`18`})]}),a=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`rect`,{x:`2`,y:`7`,width:`20`,height:`14`,rx:`2`}),(0,t.jsx)(`path`,{d:`M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2`})]}),o=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0Z`}),(0,t.jsx)(`line`,{x1:`12`,y1:`9`,x2:`12`,y2:`13`}),(0,t.jsx)(`line`,{x1:`12`,y1:`17`,x2:`12.01`,y2:`17`})]}),s=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,t.jsx)(`polyline`,{points:`12 7 12 12 15 14`})]}),c=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M3 3v18h18`}),(0,t.jsx)(`path`,{d:`m19 9-5 5-4-4-3 3`})]}),l=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`rect`,{x:`4`,y:`4`,width:`16`,height:`8`,rx:`2`}),(0,t.jsx)(`rect`,{x:`4`,y:`14`,width:`16`,height:`6`,rx:`2`}),(0,t.jsx)(`line`,{x1:`8`,y1:`8`,x2:`8.01`,y2:`8`}),(0,t.jsx)(`line`,{x1:`8`,y1:`17`,x2:`8.01`,y2:`17`})]}),u=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9`}),(0,t.jsx)(`path`,{d:`M13.73 21a2 2 0 0 1-3.46 0`})]}),d=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`line`,{x1:`8`,y1:`6`,x2:`21`,y2:`6`}),(0,t.jsx)(`line`,{x1:`8`,y1:`12`,x2:`21`,y2:`12`}),(0,t.jsx)(`line`,{x1:`8`,y1:`18`,x2:`21`,y2:`18`}),(0,t.jsx)(`path`,{d:`M3 6h.01M3 12h.01M3 18h.01`})]}),f=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M12 20V10`}),(0,t.jsx)(`path`,{d:`M18 20V4`}),(0,t.jsx)(`path`,{d:`M6 20v-4`})]}),p=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`ellipse`,{cx:`12`,cy:`5`,rx:`8`,ry:`3`}),(0,t.jsx)(`path`,{d:`M4 5v6c0 1.66 3.58 3 8 3s8-1.34 8-3V5`}),(0,t.jsx)(`path`,{d:`M4 11v6c0 1.66 3.58 3 8 3s8-1.34 8-3v-6`})]}),m=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,t.jsx)(`path`,{d:`M3 10h18`}),(0,t.jsx)(`path`,{d:`M9 10v10`})]}),h=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`}),(0,t.jsx)(`path`,{d:`M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1Z`})]}),g=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4`}),(0,t.jsx)(`path`,{d:`M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41`})]}),_=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`path`,{d:`M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79Z`})}),v=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`polyline`,{points:`15 18 9 12 15 6`})}),y=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`polyline`,{points:`9 18 15 12 9 6`})}),b=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`polygon`,{points:`5 3 19 12 5 21 5 3`})}),x=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`rect`,{x:`6`,y:`4`,width:`4`,height:`16`}),(0,t.jsx)(`rect`,{x:`14`,y:`4`,width:`4`,height:`16`})]}),S=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`polyline`,{points:`3 6 5 6 21 6`}),(0,t.jsx)(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})]}),C=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`polyline`,{points:`23 4 23 10 17 10`}),(0,t.jsx)(`polyline`,{points:`1 20 1 14 7 14`}),(0,t.jsx)(`path`,{d:`M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15`})]}),w=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,t.jsx)(`line`,{x1:`21`,y1:`21`,x2:`16.65`,y2:`16.65`})]}),T=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8Z`}),(0,t.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`})]}),E=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`polygon`,{points:`13 2 3 14 12 14 11 22 21 10 12 10 13 2`})}),D=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),(0,t.jsx)(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})]}),O=e=>(0,t.jsx)(n,{...e,children:(0,t.jsx)(`polyline`,{points:`20 6 9 17 4 12`})}),k=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`line`,{x1:`5`,y1:`12`,x2:`19`,y2:`12`}),(0,t.jsx)(`polyline`,{points:`12 5 19 12 12 19`})]}),A=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`rect`,{x:`9`,y:`9`,width:`13`,height:`13`,rx:`2`}),(0,t.jsx)(`path`,{d:`M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1`})]}),j=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`line`,{x1:`3`,y1:`6`,x2:`21`,y2:`6`}),(0,t.jsx)(`line`,{x1:`3`,y1:`12`,x2:`21`,y2:`12`}),(0,t.jsx)(`line`,{x1:`3`,y1:`18`,x2:`21`,y2:`18`})]}),M=e=>(0,t.jsxs)(n,{...e,children:[(0,t.jsx)(`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),(0,t.jsx)(`polyline`,{points:`7 10 12 15 17 10`}),(0,t.jsx)(`line`,{x1:`12`,y1:`15`,x2:`12`,y2:`3`})]});export{l as A,C,g as D,h as E,S as O,i as S,w as T,c as _,y as a,x as b,s as c,M as d,T as f,j as g,d as h,v as i,f as k,m as l,E as m,k as n,D as o,a as p,O as r,A as s,u as t,o as u,_ as v,p as w,b as x,r as y};