@omnixal/openclaw-nats-plugin 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/PLUGIN.md +94 -0
  2. package/bin/cli.ts +75 -0
  3. package/cli/bun-setup.ts +133 -0
  4. package/cli/detect-runtime.ts +40 -0
  5. package/cli/docker-setup.ts +54 -0
  6. package/cli/download-nats.ts +110 -0
  7. package/cli/env-writer.ts +58 -0
  8. package/cli/lifecycle.ts +109 -0
  9. package/cli/nats-config.ts +32 -0
  10. package/cli/paths.ts +20 -0
  11. package/cli/service-units.ts +168 -0
  12. package/cli/setup.ts +23 -0
  13. package/dashboard/dist/assets/index-CafgidIc.css +2 -0
  14. package/dashboard/dist/assets/index-OUWnIZmb.js +15 -0
  15. package/dashboard/dist/index.html +13 -0
  16. package/docker/docker-compose.yml +48 -0
  17. package/hooks/command-publisher/HOOK.md +13 -0
  18. package/hooks/command-publisher/handler.ts +23 -0
  19. package/hooks/gateway-startup/HOOK.md +13 -0
  20. package/hooks/gateway-startup/handler.ts +31 -0
  21. package/hooks/lifecycle-publisher/HOOK.md +12 -0
  22. package/hooks/lifecycle-publisher/handler.ts +20 -0
  23. package/hooks/shared/sidecar-client.ts +23 -0
  24. package/index.ts +3 -0
  25. package/openclaw.plugin.json +8 -0
  26. package/package.json +48 -0
  27. package/plugins/nats-context-engine/PLUGIN.md +14 -0
  28. package/plugins/nats-context-engine/http-handler.ts +131 -0
  29. package/plugins/nats-context-engine/index.ts +89 -0
  30. package/sidecar/Dockerfile +11 -0
  31. package/sidecar/bun.lock +212 -0
  32. package/sidecar/drizzle.config.ts +10 -0
  33. package/sidecar/package.json +28 -0
  34. package/sidecar/src/app.module.ts +33 -0
  35. package/sidecar/src/auth/api-key.middleware.ts +39 -0
  36. package/sidecar/src/config.ts +40 -0
  37. package/sidecar/src/consumer/consumer.module.ts +12 -0
  38. package/sidecar/src/consumer/consumer.service.ts +113 -0
  39. package/sidecar/src/db/migrations/0000_complete_mulholland_black.sql +5 -0
  40. package/sidecar/src/db/migrations/0001_high_psylocke.sql +9 -0
  41. package/sidecar/src/db/migrations/0002_common_stellaris.sql +1 -0
  42. package/sidecar/src/db/migrations/meta/0000_snapshot.json +49 -0
  43. package/sidecar/src/db/migrations/meta/0001_snapshot.json +109 -0
  44. package/sidecar/src/db/migrations/meta/0002_snapshot.json +117 -0
  45. package/sidecar/src/db/migrations/meta/_journal.json +27 -0
  46. package/sidecar/src/db/schema.ts +22 -0
  47. package/sidecar/src/dedup/dedup.module.ts +9 -0
  48. package/sidecar/src/dedup/dedup.repository.ts +29 -0
  49. package/sidecar/src/dedup/dedup.service.ts +38 -0
  50. package/sidecar/src/gateway/gateway-client.module.ts +8 -0
  51. package/sidecar/src/gateway/gateway-client.service.ts +131 -0
  52. package/sidecar/src/health/health.controller.ts +15 -0
  53. package/sidecar/src/health/health.module.ts +13 -0
  54. package/sidecar/src/health/health.service.ts +51 -0
  55. package/sidecar/src/index.ts +21 -0
  56. package/sidecar/src/nats-streams/nats-adapter.service.ts +133 -0
  57. package/sidecar/src/nats-streams/nats-streams.module.ts +8 -0
  58. package/sidecar/src/pending/pending.controller.ts +24 -0
  59. package/sidecar/src/pending/pending.module.ts +11 -0
  60. package/sidecar/src/pending/pending.repository.ts +62 -0
  61. package/sidecar/src/pending/pending.service.ts +38 -0
  62. package/sidecar/src/pre-handlers/dedup.handler.ts +22 -0
  63. package/sidecar/src/pre-handlers/enrich.handler.ts +14 -0
  64. package/sidecar/src/pre-handlers/filter.handler.ts +39 -0
  65. package/sidecar/src/pre-handlers/pipeline.service.ts +38 -0
  66. package/sidecar/src/pre-handlers/pre-handler.interface.ts +10 -0
  67. package/sidecar/src/pre-handlers/pre-handlers.module.ts +14 -0
  68. package/sidecar/src/pre-handlers/priority.handler.ts +14 -0
  69. package/sidecar/src/publisher/envelope.ts +36 -0
  70. package/sidecar/src/publisher/publisher.controller.ts +21 -0
  71. package/sidecar/src/publisher/publisher.module.ts +12 -0
  72. package/sidecar/src/publisher/publisher.service.ts +20 -0
  73. package/sidecar/src/validation/schemas.ts +19 -0
  74. package/sidecar/tsconfig.json +16 -0
@@ -0,0 +1,15 @@
1
+ (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})(),typeof window<`u`&&((window.__svelte??={}).v??=new Set).add(`5`);var e={},t=Symbol(),n=Symbol(`filename`),r=`http://www.w3.org/1999/xhtml`,i=`http://www.w3.org/2000/svg`,a=Array.isArray,o=Array.prototype.indexOf,s=Array.prototype.includes,c=Array.from;Object.keys;var l=Object.defineProperty,u=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyDescriptors,f=Object.prototype,p=Array.prototype,m=Object.getPrototypeOf,h=Object.isExtensible,g=()=>{};function _(e){for(var t=0;t<e.length;t++)e[t]()}function v(){var e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var y=1<<24,b=1024,x=2048,ee=4096,te=8192,S=16384,C=32768,ne=1<<25,re=65536,ie=1<<19,ae=1<<20,oe=1<<25,se=65536,ce=1<<21,le=1<<22,ue=1<<23,de=Symbol(`$state`),w=Symbol(`legacy props`),fe=Symbol(``),pe=Symbol(`proxy path`),me=new class extends Error{name=`StaleReactionError`;message="The reaction that called `getAbortSignal()` was re-run or destroyed"},he=!!globalThis.document?.contentType&&globalThis.document.contentType.includes(`xml`);function ge(e){{let t=Error(`lifecycle_outside_component\n\`${e}(...)\` can only be used during component initialisation\nhttps://svelte.dev/e/lifecycle_outside_component`);throw t.name=`Svelte error`,t}}function _e(){{let e=Error("snippet_without_render_tag\nAttempted to render a snippet without a `{@render}` block. This would cause the snippet code to be stringified instead of its content being rendered to the DOM. To fix this, change `{snippet}` to `{@render snippet()}`.\nhttps://svelte.dev/e/snippet_without_render_tag");throw e.name=`Svelte error`,e}}function ve(){{let e=Error("svelte_element_invalid_this_value\nThe `this` prop on `<svelte:element>` must be a string, if defined\nhttps://svelte.dev/e/svelte_element_invalid_this_value");throw e.name=`Svelte error`,e}}function ye(){{let e=Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw e.name=`Svelte error`,e}}function be(e,t){{let n=Error(`component_api_changed\nCalling \`${e}\` on a component instance (of ${t}) is no longer valid in Svelte 5\nhttps://svelte.dev/e/component_api_changed`);throw n.name=`Svelte error`,n}}function xe(e,t){{let n=Error(`component_api_invalid_new\nAttempted to instantiate ${e} with \`new ${t}\`, which is no longer valid in Svelte 5. If this component is not under your control, set the \`compatibility.componentApi\` compiler option to \`4\` to keep it working.\nhttps://svelte.dev/e/component_api_invalid_new`);throw n.name=`Svelte error`,n}}function Se(){{let e=Error(`derived_references_self
2
+ A derived value cannot reference itself recursively
3
+ https://svelte.dev/e/derived_references_self`);throw e.name=`Svelte error`,e}}function Ce(e,t,n){{let r=Error(`each_key_duplicate\n${n?`Keyed each block has duplicate key \`${n}\` at indexes ${e} and ${t}`:`Keyed each block has duplicate key at indexes ${e} and ${t}`}\nhttps://svelte.dev/e/each_key_duplicate`);throw r.name=`Svelte error`,r}}function we(e,t,n){{let r=Error(`each_key_volatile\nKeyed each block has key that is not idempotent — the key for item at index ${e} was \`${t}\` but is now \`${n}\`. Keys must be the same each time for a given item\nhttps://svelte.dev/e/each_key_volatile`);throw r.name=`Svelte error`,r}}function Te(e){{let t=Error(`effect_in_teardown\n\`${e}\` cannot be used inside an effect cleanup function\nhttps://svelte.dev/e/effect_in_teardown`);throw t.name=`Svelte error`,t}}function Ee(){{let e=Error(`effect_in_unowned_derived
4
+ Effect cannot be created inside a \`$derived\` value that was not itself created inside an effect
5
+ https://svelte.dev/e/effect_in_unowned_derived`);throw e.name=`Svelte error`,e}}function De(e){{let t=Error(`effect_orphan\n\`${e}\` can only be used inside an effect (e.g. during component initialisation)\nhttps://svelte.dev/e/effect_orphan`);throw t.name=`Svelte error`,t}}function Oe(){{let e=Error(`effect_update_depth_exceeded
6
+ Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state
7
+ https://svelte.dev/e/effect_update_depth_exceeded`);throw e.name=`Svelte error`,e}}function ke(){{let e=Error("invalid_snippet\nCould not `{@render}` snippet due to the expression being `null` or `undefined`. Consider using optional chaining `{@render snippet?.()}`\nhttps://svelte.dev/e/invalid_snippet");throw e.name=`Svelte error`,e}}function Ae(e){{let t=Error(`props_invalid_value\nCannot do \`bind:${e}={undefined}\` when \`${e}\` has a fallback value\nhttps://svelte.dev/e/props_invalid_value`);throw t.name=`Svelte error`,t}}function je(e){{let t=Error(`props_rest_readonly\nRest element properties of \`$props()\` such as \`${e}\` are readonly\nhttps://svelte.dev/e/props_rest_readonly`);throw t.name=`Svelte error`,t}}function Me(e){{let t=Error(`rune_outside_svelte\nThe \`${e}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files\nhttps://svelte.dev/e/rune_outside_svelte`);throw t.name=`Svelte error`,t}}function Ne(){{let e=Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw e.name=`Svelte error`,e}}function Pe(){{let e=Error(`state_prototype_fixed
8
+ Cannot set prototype of \`$state\` object
9
+ https://svelte.dev/e/state_prototype_fixed`);throw e.name=`Svelte error`,e}}function Fe(){{let e=Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw e.name=`Svelte error`,e}}function Ie(){{let e=Error("svelte_boundary_reset_onerror\nA `<svelte:boundary>` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw e.name=`Svelte error`,e}}var Le=`font-weight: bold`,Re=`font-weight: normal`;function ze(e,t){console.warn(`%c[svelte] await_waterfall\n%cAn async derived, \`${e}\` (${t}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app\nhttps://svelte.dev/e/await_waterfall`,Le,Re)}function Be(e,t,n){console.warn(`%c[svelte] hydration_attribute_changed\n%cThe \`${e}\` attribute on \`${t}\` changed its value between server and client renders. The client value, \`${n}\`, will be ignored in favour of the server value\nhttps://svelte.dev/e/hydration_attribute_changed`,Le,Re)}function Ve(e){console.warn(`%c[svelte] hydration_mismatch\n%c${e?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${e}`:`Hydration failed because the initial UI does not match what was rendered on the server`}\nhttps://svelte.dev/e/hydration_mismatch`,Le,Re)}function He(){console.warn("%c[svelte] select_multiple_invalid_value\n%cThe `value` property of a `<select multiple>` element should be an array, but it received a non-array value. The selection will be kept as is.\nhttps://svelte.dev/e/select_multiple_invalid_value",Le,Re)}function Ue(e){console.warn(`%c[svelte] state_proxy_equality_mismatch\n%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${e}\` will produce unexpected results\nhttps://svelte.dev/e/state_proxy_equality_mismatch`,Le,Re)}function We(){console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `<svelte:boundary>` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",Le,Re)}var T=!1;function Ge(e){T=e}var E;function Ke(t){if(t===null)throw Ve(),e;return E=t}function qe(){return Ke(Xn(E))}function D(t){if(T){if(Xn(E)!==null)throw Ve(),e;E=t}}function Je(e=1){if(T){for(var t=e,n=E;t--;)n=Xn(n);E=n}}function Ye(e=!0){for(var t=0,n=E;;){if(n.nodeType===8){var r=n.data;if(r===`]`){if(t===0)return n;--t}else (r===`[`||r===`[!`||r[0]===`[`&&!isNaN(Number(r.slice(1))))&&(t+=1)}var i=Xn(n);e&&n.remove(),n=i}}function Xe(t){if(!t||t.nodeType!==8)throw Ve(),e;return t.data}function Ze(e){return e===this.v}function Qe(e,t){return e==e?e!==t||typeof e==`object`&&!!e||typeof e==`function`:t==t}function $e(e){return!Qe(e,this.v)}var et=!1,tt=!1,nt=!1,rt=`font-weight: bold`,it=`font-weight: normal`;function at(e){console.warn(`%c[svelte] dynamic_void_element_content\n%c\`<svelte:element this="${e}">\` is a void element — it cannot have content\nhttps://svelte.dev/e/dynamic_void_element_content`,rt,it)}var ot=null;function st(e,t){return e.label=t,ct(e.v,t),e}function ct(e,t){return e?.[pe]?.(t),e}function lt(e){let t=Error(),n=ut();return n.length===0?null:(n.unshift(`
10
+ `),l(t,`stack`,{value:n.join(`
11
+ `)}),l(t,`name`,{value:e}),t)}function ut(){let e=Error.stackTraceLimit;Error.stackTraceLimit=1/0;let t=Error().stack;if(Error.stackTraceLimit=e,!t)return[];let n=t.split(`
12
+ `),r=[];for(let e=0;e<n.length;e++){let t=n[e],i=t.replaceAll(`\\`,`/`);if(t.trim()!==`Error`){if(t.includes(`validate_each_keys`))return[];i.includes(`svelte/src/internal`)||i.includes(`node_modules/.vite`)||r.push(t)}}return r}var O=null;function dt(e){O=e}var ft=null;function pt(e){ft=e}function k(e,t,r,i,a,o){let s=ft;ft={type:t,file:r[n],line:i,column:a,parent:s,...o};try{return e()}finally{ft=s}}var mt=null;function ht(e){mt=e}function A(e,t=!1,n){O={p:O,i:!1,c:null,e:null,s:e,x:null,r:R,l:tt&&!t?{s:null,u:null,$:[]}:null},O.function=n,mt=n}function j(e){var t=O,n=t.e;if(n!==null){t.e=null;for(var r of n)dr(r)}return e!==void 0&&(t.x=e),t.i=!0,O=t.p,mt=O?.function??null,e??{}}function gt(){return!tt||O!==null&&O.l===null}var _t=[];function vt(){var e=_t;_t=[],_(e)}function yt(e){if(_t.length===0&&!Ft){var t=_t;queueMicrotask(()=>{t===_t&&vt()})}_t.push(e)}var bt=new WeakMap;function xt(e){var t=R;if(t===null)return L.f|=ue,e;if(e instanceof Error&&!bt.has(e)&&bt.set(e,Ct(e,t)),!(t.f&32768)&&!(t.f&4))throw!t.parent&&e instanceof Error&&wt(e),e;St(e,t)}function St(e,t){for(;t!==null;){if(t.f&128){if(!(t.f&32768))throw e;try{t.b.error(e);return}catch(t){e=t}}t=t.parent}throw e instanceof Error&&wt(e),e}function Ct(e,t){let r=u(e,`message`);if(!(r&&!r.configurable)){for(var i=Wn?` `:` `,a=`\n${i}in ${t.fn?.name||`<unknown>`}`,o=t.ctx;o!==null;)a+=`\n${i}in ${o.function?.[n].split(`/`).pop()}`,o=o.p;return{message:e.message+`\n${a}\n`,stack:e.stack?.split(`
13
+ `).filter(e=>!e.includes(`svelte/src/internal`)).join(`
14
+ `)}}}function wt(e){let t=bt.get(e);t&&(l(e,`message`,{value:t.message}),l(e,`stack`,{value:t.stack}))}var Tt=~(x|ee|b);function M(e,t){e.f=e.f&Tt|t}function Et(e){e.f&512||e.deps===null?M(e,b):M(e,ee)}function Dt(e){if(e!==null)for(let t of e)!(t.f&2)||!(t.f&65536)||(t.f^=se,Dt(t.deps))}function Ot(e,t,n){e.f&2048?t.add(e):e.f&4096&&n.add(e),Dt(e.deps),M(e,b)}var kt=!1,At=!1;function jt(e){var t=At;try{return At=!1,[e(),At]}finally{At=t}}var Mt=new Set,N=null,Nt=null,Pt=null,Ft=!1,It=!1,Lt=null,Rt=null,zt=0,Bt=new Set,Vt=1,Ht=class e{id=Vt++;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=0;#r=0;#i=null;#a=[];#o=new Set;#s=new Set;#c=new Map;is_fork=!1;#l=!1;#u(){return this.is_fork||this.#r>0}skip_effect(e){this.#c.has(e)||this.#c.set(e,{d:[],m:[]})}unskip_effect(e){var t=this.#c.get(e);if(t){this.#c.delete(e);for(var n of t.d)M(n,x),this.schedule(n);for(n of t.m)M(n,ee),this.schedule(n)}}#d(){zt++>1e3&&Ut();let t=this.#a;this.#a=[],this.apply();var n=Lt=[],r=[],i=Rt=[];for(let e of t)try{this.#f(e,n,r)}catch(t){throw Xt(e),t}if(N=null,i.length>0){var a=e.ensure();for(let e of i)a.schedule(e)}if(Lt=null,Rt=null,this.#u()){this.#p(r),this.#p(n);for(let[e,t]of this.#c)Yt(e,t)}else{this.#n===0&&Mt.delete(this),this.#o.clear(),this.#s.clear();for(let e of this.#e)e(this);this.#e.clear(),Gt(r),Gt(n),this.#i?.resolve()}var o=N;if(this.#a.length>0){let e=o??=this;e.#a.push(...this.#a.filter(t=>!e.#a.includes(t)))}if(o!==null){Mt.add(o);for(let e of this.current.keys())Bt.add(e);o.#d()}Mt.has(this)||this.#m()}#f(e,t,n){e.f^=b;for(var r=e.first;r!==null;){var i=r.f,a=(i&96)!=0;if(!(a&&i&1024||i&8192||this.#c.has(r))&&r.fn!==null){a?r.f^=b:i&4?t.push(r):et&&i&16777224?n.push(r):Yr(r)&&(i&16&&this.#s.add(r),ei(r));var o=r.first;if(o!==null){r=o;continue}}for(;r!==null;){var s=r.next;if(s!==null){r=s;break}r=r.parent}}}#p(e){for(var t=0;t<e.length;t+=1)Ot(e[t],this.#o,this.#s)}capture(e,n){n!==t&&!this.previous.has(e)&&this.previous.set(e,n),e.f&8388608||(this.current.set(e,e.v),Nt?.set(e,e.v))}activate(){N=this}deactivate(){N=null,Nt=null}flush(){var e=new Set;try{if(It=!0,N=this,!this.#u()){for(let e of this.#o)this.#s.delete(e),M(e,x),this.schedule(e);for(let e of this.#s)M(e,ee),this.schedule(e)}this.#d()}finally{zt=0,Pt=null,Lt=null,Rt=null,It=!1,N=null,Nt=null,Sn.clear();for(let t of e)t.updated=null}}discard(){for(let e of this.#t)e(this);this.#t.clear()}#m(){for(let s of Mt){var e=s.id<this.id,t=[];for(let[n,r]of this.current){if(s.current.has(n))if(e&&r!==s.current.get(n))s.current.set(n,r);else continue;t.push(n)}if(t.length!==0){var n=[...s.current.keys()].filter(e=>!this.current.has(e));if(n.length>0){s.activate();var r=new Set,i=new Map;for(var a of t)Kt(a,n,r,i);if(s.#a.length>0){s.apply();for(var o of s.#a)s.#f(o,[],[])}s.deactivate()}}}}increment(e){this.#n+=1,e&&(this.#r+=1)}decrement(e,t){--this.#n,e&&--this.#r,!(this.#l||t)&&(this.#l=!0,yt(()=>{this.#l=!1,this.flush()}))}oncommit(e){this.#e.add(e)}ondiscard(e){this.#t.add(e)}settled(){return(this.#i??=v()).promise}static ensure(){if(N===null){let t=N=new e;It||(Mt.add(N),Ft||yt(()=>{N===t&&t.flush()}))}return N}apply(){if(!et||!this.is_fork&&Mt.size===1){Nt=null;return}Nt=new Map(this.current);for(let e of Mt)if(e!==this)for(let[t,n]of e.previous)Nt.has(t)||Nt.set(t,n)}schedule(e){if(Pt=e,e.b?.is_pending&&e.f&16777228&&!(e.f&32768)){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var n=t.f;if(Lt!==null&&t===R&&(et||(L===null||!(L.f&2))&&!kt))return;if(n&96){if(!(n&1024))return;t.f^=b}}this.#a.push(t)}};function Ut(){var e=new Map;for(let n of N.current.keys())for(let[r,i]of n.updated??[]){var t=e.get(r);t||(t={error:i.error,count:0},e.set(r,t)),t.count+=i.count}for(let t of e.values())t.error&&console.error(t.error);try{Oe()}catch(e){l(e,`stack`,{value:``}),St(e,Pt)}}var Wt=null;function Gt(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&24576)&&Yr(r)&&(Wt=new Set,ei(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Tr(r),Wt?.size>0)){Sn.clear();for(let e of Wt){if(e.f&24576)continue;let t=[e],n=e.parent;for(;n!==null;)Wt.has(n)&&(Wt.delete(n),t.push(n)),n=n.parent;for(let e=t.length-1;e>=0;e--){let n=t[e];n.f&24576||ei(n)}}Wt.clear()}}Wt=null}}function Kt(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(let i of e.reactions){let e=i.f;e&2?Kt(i,t,n,r):e&4194320&&!(e&2048)&&qt(i,t,r)&&(M(i,x),Jt(i))}}function qt(e,t,n){let r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(let r of e.deps){if(s.call(t,r))return!0;if(r.f&2&&qt(r,t,n))return n.set(r,!0),!0}return n.set(e,!1),!1}function Jt(e){N.schedule(e)}function Yt(e,t){if(!(e.f&32&&e.f&1024)){e.f&2048?t.d.push(e):e.f&4096&&t.m.push(e),M(e,b);for(var n=e.first;n!==null;)Yt(n,t),n=n.next}}function Xt(e){M(e,b);for(var t=e.first;t!==null;)Xt(t),t=t.next}function Zt(e){let t=0,n=En(0),r;return st(n,`createSubscriber version`),()=>{cr()&&(z(n),hr(()=>(t===0&&(r=ri(()=>e(()=>Mn(n)))),t+=1,()=>{yt(()=>{--t,t===0&&(r?.(),r=void 0,Mn(n))})})))}}var Qt=re|ie;function $t(e,t,n,r){new en(e,t,n,r)}var en=class{parent;is_pending=!1;transform_error;#e;#t=T?E:null;#n;#r;#i;#a=null;#o=null;#s=null;#c=null;#l=0;#u=0;#d=!1;#f=new Set;#p=new Set;#m=null;#h=Zt(()=>(this.#m=En(this.#l),st(this.#m,`$effect.pending()`),()=>{this.#m=null}));constructor(e,t,n,r){this.#e=e,this.#n=t,this.#r=e=>{var t=R;t.b=this,t.f|=128,n(e)},this.parent=R.b,this.transform_error=r??this.parent?.transform_error??(e=>e),this.#i=_r(()=>{if(T){let e=this.#t;qe();let t=e.data===`[!`;if(e.data.startsWith(`[?`)){let t=JSON.parse(e.data.slice(2));this.#_(t)}else t?this.#v():this.#g()}else this.#y()},Qt),T&&(this.#e=E)}#g(){try{this.#a=yr(()=>this.#r(this.#e))}catch(e){this.error(e)}}#_(e){let t=this.#n.failed;t&&(this.#s=yr(()=>{t(this.#e,()=>e,()=>()=>{})}))}#v(){let e=this.#n.pending;e&&(this.is_pending=!0,this.#o=yr(()=>e(this.#e)),yt(()=>{var e=this.#c=document.createDocumentFragment(),t=Jn();e.append(t),this.#a=this.#x(()=>yr(()=>this.#r(t))),this.#u===0&&(this.#e.before(e),this.#c=null,Er(this.#o,()=>{this.#o=null}),this.#b(N))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#u=0,this.#l=0,this.#a=yr(()=>{this.#r(this.#e)}),this.#u>0){var e=this.#c=document.createDocumentFragment();Ar(this.#a,e);let t=this.#n.pending;this.#o=yr(()=>t(this.#e))}else this.#b(N)}catch(e){this.error(e)}}#b(e){this.is_pending=!1;for(let t of this.#f)M(t,x),e.schedule(t);for(let t of this.#p)M(t,ee),e.schedule(t);this.#f.clear(),this.#p.clear()}defer_effect(e){Ot(e,this.#f,this.#p)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#x(e){var t=R,n=L,r=O;Lr(this.#i),Ir(this.#i),dt(this.#i.ctx);try{return Ht.ensure(),e()}catch(e){return xt(e),null}finally{Lr(t),Ir(n),dt(r)}}#S(e,t){if(!this.has_pending_snippet()){this.parent&&this.parent.#S(e,t);return}this.#u+=e,this.#u===0&&(this.#b(t),this.#o&&Er(this.#o,()=>{this.#o=null}),this.#c&&=(this.#e.before(this.#c),null))}update_pending_count(e,t){this.#S(e,t),this.#l+=e,!(!this.#m||this.#d)&&(this.#d=!0,yt(()=>{this.#d=!1,this.#m&&An(this.#m,this.#l)}))}get_effect_pending(){return this.#h(),z(this.#m)}error(e){var t=this.#n.onerror;let n=this.#n.failed;if(!t&&!n)throw e;this.#a&&=(Cr(this.#a),null),this.#o&&=(Cr(this.#o),null),this.#s&&=(Cr(this.#s),null),T&&(Ke(this.#t),Je(),Ke(Ye()));var r=!1,i=!1;let a=()=>{if(r){We();return}r=!0,i&&Ie(),this.#s!==null&&Er(this.#s,()=>{this.#s=null}),this.#x(()=>{this.#y()})},o=e=>{try{i=!0,t?.(e,a),i=!1}catch(e){St(e,this.#i&&this.#i.parent)}n&&(this.#s=this.#x(()=>{try{return yr(()=>{var t=R;t.b=this,t.f|=128,n(this.#e,()=>e,()=>a)})}catch(e){return St(e,this.#i.parent),null}}))};yt(()=>{var t;try{t=this.transform_error(e)}catch(e){St(e,this.#i&&this.#i.parent);return}typeof t==`object`&&t&&typeof t.then==`function`?t.then(o,e=>St(e,this.#i&&this.#i.parent)):o(t)})}};function tn(e,t,n,r){let i=gt()?un:pn;var a=e.filter(e=>!e.settled);if(n.length===0&&a.length===0){r(t.map(i));return}var o=R,s=nn(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(e=>e.promise)):null;function l(e){s();try{r(e)}catch(e){o.f&16384||St(e,o)}an()}if(n.length===0){c.then(()=>l(t.map(i)));return}var u=on();function d(){Promise.all(n.map(e=>dn(e))).then(e=>l([...t.map(i),...e])).catch(e=>St(e,o)).finally(()=>u())}c?c.then(()=>{s(),d(),an()}):d()}function nn(){var e=R,t=L,n=O,r=N,i=ft;return function(a=!0){Lr(e),Ir(t),dt(n),a&&!(e.f&16384)&&(r?.activate(),r?.apply()),cn(null),pt(i)}}async function rn(e){var t=sn,n=await e;return()=>(cn(t),n)}function an(e=!0){Lr(null),Ir(null),dt(null),e&&N?.deactivate(),cn(null),pt(null)}function on(){var e=R.b,t=N,n=e.is_rendered();return e.update_pending_count(1,t),t.increment(n),(r=!1)=>{e.update_pending_count(-1,t),t.decrement(n,r)}}var sn=null;function cn(e){sn=e}var ln=new Set;function un(e){var n=2|x,r=L!==null&&L.f&2?L:null;R!==null&&(R.f|=ie);let i={ctx:O,deps:null,effects:null,equals:Ze,f:n,fn:e,reactions:null,rv:0,v:t,wv:0,parent:r??R,ac:null};return nt&&(i.created=lt(`created at`)),i}function dn(e,n,r){let i=R;i===null&&ye();var a=void 0,o=En(t);o.label=n;var s=!L,c=new Map;return mr(()=>{sn=R;var t=R,n=v();a=n.promise;try{Promise.resolve(e()).then(n.resolve,n.reject).finally(an)}catch(e){n.reject(e),an()}sn=null;var l=N;if(s){if(t.f&32768)var u=on();if(i.b.is_rendered())c.get(l)?.reject(me),c.delete(l);else{for(let e of c.values())e.reject(me);c.clear()}c.set(l,n)}let d=(e,n=void 0)=>{if(sn=null,u&&u(n===me),!(n===me||t.f&16384)){if(l.activate(),n)o.f|=ue,An(o,n);else{o.f&8388608&&(o.f^=ue),An(o,e);for(let[e,t]of c){if(c.delete(e),e===l)break;t.reject(me)}r!==void 0&&(ln.add(o),setTimeout(()=>{ln.has(o)&&(ze(o.label,r),ln.delete(o))}))}l.deactivate()}};n.promise.then(d,e=>d(null,e||`unknown`))}),lr(()=>{for(let e of c.values())e.reject(me)}),o.f|=le,new Promise(e=>{function t(n){function r(){n===a?e(o):t(a)}n.then(r,r)}t(a)})}function fn(e){let t=un(e);return et||zr(t),t}function pn(e){let t=un(e);return t.equals=$e,t}function mn(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Cr(t[n])}}var hn=[];function gn(e){for(var t=e.parent;t!==null;){if(!(t.f&2))return t.f&16384?null:t;t=t.parent}return null}function _n(e){var t,n=R;Lr(gn(e));{let r=xn;Cn(new Set);try{s.call(hn,e)&&Se(),hn.push(e),e.f&=~se,mn(e),t=Zr(e)}finally{Lr(n),Cn(r),hn.pop()}}return t}function vn(e){var t=_n(e);if(!e.equals(t)&&(e.wv=Jr(),(!N?.is_fork||e.deps===null)&&(e.v=t,e.deps===null))){M(e,b);return}Nr||(Nt===null?Et(e):(cr()||N?.is_fork)&&Nt.set(e,t))}function yn(e){if(e.effects!==null)for(let t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(me),t.teardown=g,t.ac=null,$r(t,0),xr(t))}function bn(e){if(e.effects!==null)for(let t of e.effects)t.teardown&&ei(t)}var xn=new Set,Sn=new Map;function Cn(e){xn=e}var wn=!1;function Tn(){wn=!0}function En(e,t){var n={f:0,v:e,reactions:null,equals:Ze,rv:0,wv:0};return nt&&(n.created=t??lt(`created at`),n.updated=null,n.set_during_effect=!1,n.trace=null),n}function Dn(e,t){let n=En(e,t);return zr(n),n}function On(e,t=!1,n=!0){let r=En(e);return t||(r.equals=$e),tt&&n&&O!==null&&O.l!==null&&(O.l.s??=[]).push(r),r}function kn(e,t,n=!1){L!==null&&(!Fr||L.f&131072)&&gt()&&L.f&4325394&&(Rr===null||!s.call(Rr,e))&&Fe();let r=n?Fn(t):t;return ct(r,e.label),An(e,r,Rt)}function An(e,t,n=null){if(!e.equals(t)){var r=e.v;Nr?Sn.set(e,t):Sn.set(e,r),e.v=t;var i=Ht.ensure();if(i.capture(e,r),nt||R!==null){e.updated??=new Map;let t=(e.updated.get(``)?.count??0)+1;if(e.updated.set(``,{error:null,count:t}),nt||t>5){let t=lt(`updated at`);if(t!==null){let n=e.updated.get(t.stack);n||(n={error:t,count:0},e.updated.set(t.stack,n)),n.count++}}}if(R!==null&&(e.set_during_effect=!0),e.f&2){let t=e;e.f&2048&&_n(t),Et(t)}e.wv=Jr(),Nn(e,x,n),gt()&&R!==null&&R.f&1024&&!(R.f&96)&&(Hr===null?Ur([e]):Hr.push(e)),!i.is_fork&&xn.size>0&&!wn&&jn()}return t}function jn(){wn=!1;for(let e of xn)e.f&1024&&M(e,ee),Yr(e)&&ei(e);xn.clear()}function Mn(e){kn(e,e.v+1)}function Nn(e,t,n){var r=e.reactions;if(r!==null)for(var i=gt(),a=r.length,o=0;o<a;o++){var s=r[o],c=s.f;if(!(!i&&s===R)){if(c&131072){xn.add(s);continue}var l=(c&x)===0;if(l&&M(s,t),c&2){var u=s;Nt?.delete(u),c&65536||(c&512&&(s.f|=se),Nn(u,ee,n))}else if(l){var d=s;c&16&&Wt!==null&&Wt.add(d),n===null?Jt(d):n.push(d)}}}}var Pn=/^[a-zA-Z_$][a-zA-Z_$0-9]*$/;function Fn(e){if(typeof e!=`object`||!e||de in e)return e;let n=m(e);if(n!==f&&n!==p)return e;var r=new Map,i=a(e),o=Dn(0),s=nt?lt(`created at`):null,c=Kr,l=e=>{if(Kr===c)return e();var t=L,n=Kr;Ir(null),qr(c);var r=e();return Ir(t),qr(n),r};i&&(r.set(`length`,Dn(e.length,s)),e=Bn(e));var d=``;let h=!1;function g(e){if(!h){h=!0,d=e,st(o,`${d} version`);for(let[e,t]of r)st(t,In(d,e));h=!1}}return new Proxy(e,{defineProperty(e,t,n){(!(`value`in n)||n.configurable===!1||n.enumerable===!1||n.writable===!1)&&Ne();var i=r.get(t);return i===void 0?l(()=>{var e=Dn(n.value,s);return r.set(t,e),typeof t==`string`&&st(e,In(d,t)),e}):kn(i,n.value,!0),!0},deleteProperty(e,n){var i=r.get(n);if(i===void 0){if(n in e){let e=l(()=>Dn(t,s));r.set(n,e),Mn(o),st(e,In(d,n))}}else kn(i,t),Mn(o);return!0},get(n,i,a){if(i===de)return e;if(i===pe)return g;var o=r.get(i),c=i in n;if(o===void 0&&(!c||u(n,i)?.writable)&&(o=l(()=>{var e=Dn(Fn(c?n[i]:t),s);return st(e,In(d,i)),e}),r.set(i,o)),o!==void 0){var f=z(o);return f===t?void 0:f}return Reflect.get(n,i,a)},getOwnPropertyDescriptor(e,n){var i=Reflect.getOwnPropertyDescriptor(e,n);if(i&&`value`in i){var a=r.get(n);a&&(i.value=z(a))}else if(i===void 0){var o=r.get(n),s=o?.v;if(o!==void 0&&s!==t)return{enumerable:!0,configurable:!0,value:s,writable:!0}}return i},has(e,n){if(n===de)return!0;var i=r.get(n),a=i!==void 0&&i.v!==t||Reflect.has(e,n);return(i!==void 0||R!==null&&(!a||u(e,n)?.writable))&&(i===void 0&&(i=l(()=>{var r=Dn(a?Fn(e[n]):t,s);return st(r,In(d,n)),r}),r.set(n,i)),z(i)===t)?!1:a},set(e,n,a,c){var f=r.get(n),p=n in e;if(i&&n===`length`)for(var m=a;m<f.v;m+=1){var h=r.get(m+``);h===void 0?m in e&&(h=l(()=>Dn(t,s)),r.set(m+``,h),st(h,In(d,m))):kn(h,t)}if(f===void 0)(!p||u(e,n)?.writable)&&(f=l(()=>Dn(void 0,s)),st(f,In(d,n)),kn(f,Fn(a)),r.set(n,f));else{p=f.v!==t;var g=l(()=>Fn(a));kn(f,g)}var _=Reflect.getOwnPropertyDescriptor(e,n);if(_?.set&&_.set.call(c,a),!p){if(i&&typeof n==`string`){var v=r.get(`length`),y=Number(n);Number.isInteger(y)&&y>=v.v&&kn(v,y+1)}Mn(o)}return!0},ownKeys(e){z(o);var n=Reflect.ownKeys(e).filter(e=>{var n=r.get(e);return n===void 0||n.v!==t});for(var[i,a]of r)a.v!==t&&!(i in e)&&n.push(i);return n},setPrototypeOf(){Pe()}})}function In(e,t){return typeof t==`symbol`?`${e}[Symbol(${t.description??``})]`:Pn.test(t)?`${e}.${t}`:/^\d+$/.test(t)?`${e}[${t}]`:`${e}['${t}']`}function Ln(e){try{if(typeof e==`object`&&e&&de in e)return e[de]}catch{}return e}function Rn(e,t){return Object.is(Ln(e),Ln(t))}var zn=new Set([`copyWithin`,`fill`,`pop`,`push`,`reverse`,`shift`,`sort`,`splice`,`unshift`]);function Bn(e){return new Proxy(e,{get(e,t,n){var r=Reflect.get(e,t,n);return zn.has(t)?function(...e){Tn();var t=r.apply(this,e);return jn(),t}:r}})}function Vn(){let e=Array.prototype,t=Array.__svelte_cleanup;t&&t();let{indexOf:n,lastIndexOf:r,includes:i}=e;e.indexOf=function(e,t){let r=n.call(this,e,t);if(r===-1){for(let n=t??0;n<this.length;n+=1)if(Ln(this[n])===e){Ue(`array.indexOf(...)`);break}}return r},e.lastIndexOf=function(e,t){let n=r.call(this,e,t??this.length-1);if(n===-1){for(let n=0;n<=(t??this.length-1);n+=1)if(Ln(this[n])===e){Ue(`array.lastIndexOf(...)`);break}}return n},e.includes=function(e,t){let n=i.call(this,e,t);if(!n){for(let t=0;t<this.length;t+=1)if(Ln(this[t])===e){Ue(`array.includes(...)`);break}}return n},Array.__svelte_cleanup=()=>{e.indexOf=n,e.lastIndexOf=r,e.includes=i}}function Hn(e,t,n=!0){try{e===t!=(Ln(e)===Ln(t))&&Ue(n?`===`:`!==`)}catch{}return e===t===n}var Un,Wn,Gn,Kn;function qn(){if(Un===void 0){Un=window,document,Wn=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Gn=u(t,`firstChild`).get,Kn=u(t,`nextSibling`).get,h(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),h(n)&&(n.__t=void 0),e.__svelte_meta=null,Vn()}}function Jn(e=``){return document.createTextNode(e)}function Yn(e){return Gn.call(e)}function Xn(e){return Kn.call(e)}function P(e,t){if(!T)return Yn(e);var n=Yn(E);if(n===null)n=E.appendChild(Jn());else if(t&&n.nodeType!==3){var r=Jn();return n?.before(r),Ke(r),r}return t&&er(n),Ke(n),n}function F(e,t=!1){if(!T){var n=Yn(e);return n instanceof Comment&&n.data===``?Xn(n):n}if(t){if(E?.nodeType!==3){var r=Jn();return E?.before(r),Ke(r),r}er(E)}return E}function I(e,t=1,n=!1){let r=T?E:e;for(var i;t--;)i=r,r=Xn(r);if(!T)return r;if(n){if(r?.nodeType!==3){var a=Jn();return r===null?i?.after(a):r.before(a),Ke(a),a}er(r)}return Ke(r),r}function Zn(e){e.textContent=``}function Qn(){return!et||Wt!==null?!1:(R.f&C)!==0}function $n(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??`http://www.w3.org/1999/xhtml`,e,r)}function er(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===3;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function tr(e,t){if(t){let t=document.body;e.autofocus=!0,yt(()=>{document.activeElement===t&&e.focus()})}}var nr=!1;function rr(){nr||(nr=!0,document.addEventListener(`reset`,e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(let t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function ir(e){var t=L,n=R;Ir(null),Lr(null);try{return e()}finally{Ir(t),Lr(n)}}function ar(e){R===null&&(L===null&&De(e),Ee()),Nr&&Te(e)}function or(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function sr(e,t){for(var n=R;n!==null&&n.f&131072;)n=n.parent;n!==null&&n.f&8192&&(e|=te);var r={ctx:O,deps:null,nodes:null,f:e|x|512,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};r.component_function=mt;var i=r;if(e&4)Lt===null?Ht.ensure().schedule(r):Lt.push(r);else if(t!==null){try{ei(r)}catch(e){throw Cr(r),e}i.deps===null&&i.teardown===null&&i.nodes===null&&i.first===i.last&&!(i.f&524288)&&(i=i.first,e&16&&e&65536&&i!==null&&(i.f|=re))}if(i!==null&&(i.parent=n,n!==null&&or(i,n),L!==null&&L.f&2&&!(e&64))){var a=L;(a.effects??=[]).push(i)}return r}function cr(){return L!==null&&!Fr}function lr(e){let t=sr(8,null);return M(t,b),t.teardown=e,t}function ur(e){ar(`$effect`),l(e,`name`,{value:`$effect`});var t=R.f;if(!L&&t&32&&!(t&32768)){var n=O;(n.e??=[]).push(e)}else return dr(e)}function dr(e){return sr(4|ae,e)}function fr(e){Ht.ensure();let t=sr(64|ie,e);return(e={})=>new Promise(n=>{e.outro?Er(t,()=>{Cr(t),n(void 0)}):(Cr(t),n(void 0))})}function pr(e){return sr(4,e)}function mr(e){return sr(le|ie,e)}function hr(e,t=0){return sr(8|t,e)}function gr(e,t=[],n=[],r=[]){tn(r,t,n,t=>{sr(8,()=>e(...t.map(z)))})}function _r(e,t=0){var n=sr(16|t,e);return n.dev_stack=ft,n}function vr(e,t=0){var n=sr(y|t,e);return n.dev_stack=ft,n}function yr(e){return sr(32|ie,e)}function br(e){var t=e.teardown;if(t!==null){let e=Nr,n=L;Pr(!0),Ir(null);try{t.call(null)}finally{Pr(e),Ir(n)}}}function xr(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){let e=n.ac;e!==null&&ir(()=>{e.abort(me)});var r=n.next;n.f&64?n.parent=null:Cr(n,t),n=r}}function Sr(e){for(var t=e.first;t!==null;){var n=t.next;t.f&32||Cr(t),t=n}}function Cr(e,t=!0){var n=!1;(t||e.f&262144)&&e.nodes!==null&&e.nodes.end!==null&&(wr(e.nodes.start,e.nodes.end),n=!0),M(e,ne),xr(e,t&&!n),$r(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)e.stop();br(e),e.f^=ne,e.f|=S;var i=e.parent;i!==null&&i.first!==null&&Tr(e),e.component_function=null,e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function wr(e,t){for(;e!==null;){var n=e===t?null:Xn(e);e.remove(),e=n}}function Tr(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Er(e,t,n=!0){var r=[];Dr(e,r,!0);var i=()=>{n&&Cr(e),t&&t()},a=r.length;if(a>0){var o=()=>--a||i();for(var s of r)s.out(o)}else i()}function Dr(e,t,n){if(!(e.f&8192)){e.f^=te;var r=e.nodes&&e.nodes.t;if(r!==null)for(let e of r)(e.is_global||n)&&t.push(e);for(var i=e.first;i!==null;){var a=i.next,o=(i.f&65536)!=0||(i.f&32)!=0&&(e.f&16)!=0;Dr(i,t,o?n:!1),i=a}}}function Or(e){kr(e,!0)}function kr(e,t){if(e.f&8192){e.f^=te,e.f&1024||(M(e,x),Ht.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&65536)!=0||(n.f&32)!=0;kr(n,i?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(let e of a)(e.is_global||t)&&e.in()}}function Ar(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var i=n===r?null:Xn(n);t.append(n),n=i}}var jr=null,Mr=!1,Nr=!1;function Pr(e){Nr=e}var L=null,Fr=!1;function Ir(e){L=e}var R=null;function Lr(e){R=e}var Rr=null;function zr(e){L!==null&&(!et||L.f&2)&&(Rr===null?Rr=[e]:Rr.push(e))}var Br=null,Vr=0,Hr=null;function Ur(e){Hr=e}var Wr=1,Gr=0,Kr=Gr;function qr(e){Kr=e}function Jr(){return++Wr}function Yr(e){var t=e.f;if(t&2048)return!0;if(t&2&&(e.f&=~se),t&4096){for(var n=e.deps,r=n.length,i=0;i<r;i++){var a=n[i];if(Yr(a)&&vn(a),a.wv>e.wv)return!0}t&512&&Nt===null&&M(e,b)}return!1}function Xr(e,t,n=!0){var r=e.reactions;if(r!==null&&!(!et&&Rr!==null&&s.call(Rr,e)))for(var i=0;i<r.length;i++){var a=r[i];a.f&2?Xr(a,t,!1):t===a&&(n?M(a,x):a.f&1024&&M(a,ee),Jt(a))}}function Zr(e){var t=Br,n=Vr,r=Hr,i=L,a=Rr,o=O,s=Fr,c=Kr,l=e.f;Br=null,Vr=0,Hr=null,L=l&96?null:e,Rr=null,dt(e.ctx),Fr=!1,Kr=++Gr,e.ac!==null&&(ir(()=>{e.ac.abort(me)}),e.ac=null);try{e.f|=ce;var u=e.fn,d=u();e.f|=C;var f=e.deps,p=N?.is_fork;if(Br!==null){var m;if(p||$r(e,Vr),f!==null&&Vr>0)for(f.length=Vr+Br.length,m=0;m<Br.length;m++)f[Vr+m]=Br[m];else e.deps=f=Br;if(cr()&&e.f&512)for(m=Vr;m<f.length;m++)(f[m].reactions??=[]).push(e)}else !p&&f!==null&&Vr<f.length&&($r(e,Vr),f.length=Vr);if(gt()&&Hr!==null&&!Fr&&f!==null&&!(e.f&6146))for(m=0;m<Hr.length;m++)Xr(Hr[m],e);if(i!==null&&i!==e){if(Gr++,i.deps!==null)for(let e=0;e<n;e+=1)i.deps[e].rv=Gr;if(t!==null)for(let e of t)e.rv=Gr;Hr!==null&&(r===null?r=Hr:r.push(...Hr))}return e.f&8388608&&(e.f^=ue),d}catch(e){return xt(e)}finally{e.f^=ce,Br=t,Vr=n,Hr=r,L=i,Rr=a,dt(o),Fr=s,Kr=c}}function Qr(e,t){let n=t.reactions;if(n!==null){var r=o.call(n,e);if(r!==-1){var i=n.length-1;i===0?n=t.reactions=null:(n[r]=n[i],n.pop())}}if(n===null&&t.f&2&&(Br===null||!s.call(Br,t))){var a=t;a.f&512&&(a.f^=512,a.f&=~se),Et(a),yn(a),$r(a,0)}}function $r(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Qr(e,n[r])}function ei(e){var t=e.f;if(!(t&16384)){M(e,b);var n=R,r=Mr;R=e,Mr=!0;var i=mt;ht(e.component_function);var a=ft;pt(e.dev_stack??ft);try{t&16777232?Sr(e):xr(e),br(e);var o=Zr(e);if(e.teardown=typeof o==`function`?o:null,e.wv=Wr,nt&&e.f&2048&&e.deps!==null)for(var s of e.deps)s.set_during_effect&&=(s.wv=Jr(),!1)}finally{Mr=r,R=n,ht(i),pt(a)}}}function z(e){var t=(e.f&2)!=0;if(jr?.add(e),L!==null&&!Fr&&!(R!==null&&R.f&16384)&&(Rr===null||!s.call(Rr,e))){var n=L.deps;if(L.f&2097152)e.rv<Gr&&(e.rv=Gr,Br===null&&n!==null&&n[Vr]===e?Vr++:Br===null?Br=[e]:Br.push(e));else{(L.deps??=[]).push(e);var r=e.reactions;r===null?e.reactions=[L]:s.call(r,L)||r.push(L)}}if(ln.delete(e),nt&&!Fr&&ot!==null&&L!==null&&ot.reaction===L)if(e.trace)e.trace();else{var i=lt(`traced at`);if(i){var a=ot.entries.get(e);a===void 0&&(a={traces:[]},ot.entries.set(e,a));var o=a.traces[a.traces.length-1];i.stack!==o?.stack&&a.traces.push(i)}}if(Nr&&Sn.has(e))return Sn.get(e);if(t){var c=e;if(Nr){var l=c.v;return(!(c.f&1024)&&c.reactions!==null||ni(c))&&(l=_n(c)),Sn.set(c,l),l}var u=(c.f&512)==0&&!Fr&&L!==null&&(Mr||(L.f&512)!=0),d=(c.f&C)===0;Yr(c)&&(u&&(c.f|=512),vn(c)),u&&!d&&(bn(c),ti(c))}if(Nt?.has(e))return Nt.get(e);if(e.f&8388608)throw e.v;return e.v}function ti(e){if(e.f|=512,e.deps!==null)for(let t of e.deps)(t.reactions??=[]).push(e),t.f&2&&!(t.f&512)&&(bn(t),ti(t))}function ni(e){if(e.v===t)return!0;if(e.deps===null)return!1;for(let t of e.deps)if(Sn.has(t)||t.f&2&&ni(t))return!0;return!1}function ri(e){var t=Fr;try{return Fr=!0,e()}finally{Fr=t}}var ii=Symbol(`events`),ai=new Set,oi=new Set;function si(e,t,n,r={}){function i(e){if(r.capture||di.call(t,e),!e.cancelBubble)return ir(()=>n?.call(this,e))}return e.startsWith(`pointer`)||e.startsWith(`touch`)||e===`wheel`?yt(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function ci(e,t,n){(t[ii]??={})[e]=n}function li(e){for(var t=0;t<e.length;t++)ai.add(e[t]);for(var n of oi)n(e)}var ui=null;function di(e){var t=this,n=t.ownerDocument,r=e.type,i=e.composedPath?.()||[],a=i[0]||e.target;ui=e;var o=0,s=ui===e&&e[ii];if(s){var c=i.indexOf(s);if(c!==-1&&(t===document||t===window)){e[ii]=t;return}var u=i.indexOf(t);if(u===-1)return;c<=u&&(o=c)}if(a=i[o]||e.target,a!==t){l(e,`currentTarget`,{configurable:!0,get(){return a||n}});var d=L,f=R;Ir(null),Lr(null);try{for(var p,m=[];a!==null;){var h=a.assignedSlot||a.parentNode||a.host||null;try{var g=a[ii]?.[r];g!=null&&(!a.disabled||e.target===a)&&g.call(a,e)}catch(e){p?m.push(e):p=e}if(e.cancelBubble||h===t||h===null)break;a=h}if(p){for(let e of m)queueMicrotask(()=>{throw e});throw p}}finally{e[ii]=t,delete e.currentTarget,Ir(d),Lr(f)}}}var fi=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy(`svelte-trusted-html`,{createHTML:e=>e});function pi(e){return fi?.createHTML(e)??e}function mi(e){var t=$n(`template`);return t.innerHTML=pi(e.replaceAll(`<!>`,`<!---->`)),t.content}function hi(e,t){var n=R;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function B(e,t){var n=(t&1)!=0,r=(t&2)!=0,i,a=!e.startsWith(`<!>`);return()=>{if(T)return hi(E,null),E;i===void 0&&(i=mi(a?e:`<!>`+e),n||(i=Yn(i)));var t=r||Wn?document.importNode(i,!0):i.cloneNode(!0);if(n){var o=Yn(t),s=t.lastChild;hi(o,s)}else hi(t,t);return t}}function gi(e=``){if(!T){var t=Jn(e+``);return hi(t,t),t}var n=E;return n.nodeType===3?er(n):(n.before(n=Jn()),Ke(n)),hi(n,n),n}function _i(){if(T)return hi(E,null),E;var e=document.createDocumentFragment(),t=document.createComment(``),n=Jn();return e.append(t,n),hi(t,n),e}function V(e,t){if(T){var n=R;(!(n.f&32768)||n.nodes.end===null)&&(n.nodes.end=E),qe();return}e!==null&&e.before(t)}var vi=[`area`,`base`,`br`,`col`,`command`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`];function yi(e){return vi.includes(e)||e.toLowerCase()===`!doctype`}function bi(e){return e.endsWith(`capture`)&&e!==`gotpointercapture`&&e!==`lostpointercapture`}var xi=[`beforeinput`,`click`,`change`,`dblclick`,`contextmenu`,`focusin`,`focusout`,`input`,`keydown`,`keyup`,`mousedown`,`mousemove`,`mouseout`,`mouseover`,`mouseup`,`pointerdown`,`pointermove`,`pointerout`,`pointerover`,`pointerup`,`touchend`,`touchmove`,`touchstart`];function Si(e){return xi.includes(e)}var Ci=`allowfullscreen.async.autofocus.autoplay.checked.controls.default.disabled.formnovalidate.indeterminate.inert.ismap.loop.multiple.muted.nomodule.novalidate.open.playsinline.readonly.required.reversed.seamless.selected.webkitdirectory.defer.disablepictureinpicture.disableremoteplayback`.split(`.`),wi={formnovalidate:`formNoValidate`,ismap:`isMap`,nomodule:`noModule`,playsinline:`playsInline`,readonly:`readOnly`,defaultvalue:`defaultValue`,defaultchecked:`defaultChecked`,srcobject:`srcObject`,novalidate:`noValidate`,allowfullscreen:`allowFullscreen`,disablepictureinpicture:`disablePictureInPicture`,disableremoteplayback:`disableRemotePlayback`};function Ti(e){return e=e.toLowerCase(),wi[e]??e}[...Ci];var Ei=[`touchstart`,`touchmove`];function Di(e){return Ei.includes(e)}var Oi=[`textarea`,`script`,`style`,`title`];function ki(e){return Oi.includes(e)}function Ai(e,t){var n=t==null?``:typeof t==`object`?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function ji(e,t){return Ni(e,t)}var Mi=new Map;function Ni(t,{target:n,anchor:r,props:i={},events:a,context:o,intro:s=!0,transformError:l}){qn();var u=void 0,d=fr(()=>{var s=r??n.appendChild(Jn());$t(s,{pending:()=>{}},n=>{A({});var r=O;if(o&&(r.c=o),a&&(i.$$events=a),T&&hi(n,null),u=t(n,i)||{},T&&(R.nodes.end=E,E===null||E.nodeType!==8||E.data!==`]`))throw Ve(),e;j()},l);var d=new Set,f=e=>{for(var t=0;t<e.length;t++){var r=e[t];if(!d.has(r)){d.add(r);var i=Di(r);for(let e of[n,document]){var a=Mi.get(e);a===void 0&&(a=new Map,Mi.set(e,a));var o=a.get(r);o===void 0?(e.addEventListener(r,di,{passive:i}),a.set(r,1)):a.set(r,o+1)}}}};return f(c(ai)),oi.add(f),()=>{for(var e of d)for(let r of[n,document]){var t=Mi.get(r),i=t.get(e);--i==0?(r.removeEventListener(e,di),t.delete(e),t.size===0&&Mi.delete(r)):t.set(e,i)}oi.delete(f),s!==r&&s.parentNode?.removeChild(s)}});return Pi.set(u,d),u}var Pi=new WeakMap;function Fi(e){let t=e();t&&yi(t)&&at(t)}function Ii(e){let t=e();t&&typeof t!=`string`&&ve()}function Li(e){return e.toString=()=>(_e(),``),e}var Ri=class{anchor;#e=new Map;#t=new Map;#n=new Map;#r=new Set;#i=!0;constructor(e,t=!0){this.anchor=e,this.#i=t}#a=e=>{if(this.#e.has(e)){var t=this.#e.get(e),n=this.#t.get(t);if(n)Or(n),this.#r.delete(t);else{var r=this.#n.get(t);r&&(this.#t.set(t,r.effect),this.#n.delete(t),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),n=r.effect)}for(let[t,n]of this.#e){if(this.#e.delete(t),t===e)break;let r=this.#n.get(n);r&&(Cr(r.effect),this.#n.delete(n))}for(let[e,r]of this.#t){if(e===t||this.#r.has(e))continue;let i=()=>{if(Array.from(this.#e.values()).includes(e)){var t=document.createDocumentFragment();Ar(r,t),t.append(Jn()),this.#n.set(e,{effect:r,fragment:t})}else Cr(r);this.#r.delete(e),this.#t.delete(e)};this.#i||!n?(this.#r.add(e),Er(r,i,!1)):i()}}};#o=e=>{this.#e.delete(e);let t=Array.from(this.#e.values());for(let[e,n]of this.#n)t.includes(e)||(Cr(n.effect),this.#n.delete(e))};ensure(e,t){var n=N,r=Qn();if(t&&!this.#t.has(e)&&!this.#n.has(e))if(r){var i=document.createDocumentFragment(),a=Jn();i.append(a),this.#n.set(e,{effect:yr(()=>t(a)),fragment:i})}else this.#t.set(e,yr(()=>t(this.anchor)));if(this.#e.set(n,e),r){for(let[t,r]of this.#t)t===e?n.unskip_effect(r):n.skip_effect(r);for(let[t,r]of this.#n)t===e?n.unskip_effect(r.effect):n.skip_effect(r.effect);n.oncommit(this.#a),n.ondiscard(this.#o)}else T&&(this.anchor=E),this.#a(n)}};function zi(e,t,...n){var r=new Ri(e);_r(()=>{let e=t()??null;e??ke(),r.ensure(e,e&&(t=>e(t,...n)))},re)}function H(e,t){let n=(n,...r)=>{var i=mt;ht(e);try{return t(n,...r)}finally{ht(i)}};return Li(n),n}{function e(e){if(!(e in globalThis)){let t;Object.defineProperty(globalThis,e,{configurable:!0,get:()=>{if(t!==void 0)return t;Me(e)},set:e=>{t=e}})}}e(`$state`),e(`$effect`),e(`$derived`),e(`$inspect`),e(`$props`),e(`$bindable`)}function Bi(e){O===null&&ge(`onMount`),tt&&O.l!==null?Vi(O).m.push(e):ur(()=>{let t=ri(e);if(typeof t==`function`)return t})}function Vi(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}function U(e,t,n){return(...r)=>{let i=e(...r);return Ui(T?i:i.nodeType===11?i.firstChild:i,t,n),i}}function Hi(e,t,n){e.__svelte_meta={parent:ft,loc:{file:t,line:n[0],column:n[1]}},n[2]&&Ui(e.firstChild,t,n[2])}function Ui(e,t,n){for(var r=0,i=0;e&&r<n.length;){if(T&&e.nodeType===8){var a=e;a.data[0]===`[`?i+=1:a.data[0]===`]`&&--i}i===0&&e.nodeType===1&&Hi(e,t,n[r++]),e=e.nextSibling}}function W(e){e&&xe(e[n]??`a component`,e.name)}function G(){let e=O?.function;function t(t){be(t,e[n])}return{$destroy:()=>t(`$destroy()`),$on:()=>t(`$on(...)`),$set:()=>t(`$set(...)`)}}function Wi(e,t,n=!1){var r;T&&(r=E,qe());var i=new Ri(e),a=n?re:0;function o(e,t){if(T){var n=Xe(r);if(e!==parseInt(n.substring(1))){var a=Ye();Ke(a),i.anchor=a,Ge(!1),i.ensure(e,t),Ge(!0);return}}i.ensure(e,t)}_r(()=>{var e=!1;t((t,n=0)=>{e=!0,o(n,t)}),e||o(-1,null)},a)}function Gi(e,t){return t}function Ki(e,t,n){for(var r=[],i=t.length,a,o=t.length,s=0;s<i;s++){let n=t[s];Er(n,()=>{if(a){if(a.pending.delete(n),a.done.add(n),a.pending.size===0){var t=e.outrogroups;qi(e,c(a.done)),t.delete(a),t.size===0&&(e.outrogroups=null)}}else --o},!1)}if(o===0){var l=r.length===0&&n!==null;if(l){var u=n,d=u.parentNode;Zn(d),d.append(u),e.items.clear()}qi(e,t,!l)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function qi(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(let t of e.pending.values())for(let n of t)r.add(e.items.get(n).e)}for(var i=0;i<t.length;i++){var a=t[i];r?.has(a)?(a.f|=oe,Ar(a,document.createDocumentFragment())):Cr(t[i],n)}}var Ji;function Yi(e,t,n,r,i,o=null){var s=e,l=new Map;if(t&4){var u=e;s=T?Ke(Yn(u)):u.appendChild(Jn())}T&&qe();var d=null,f=pn(()=>{var e=n();return a(e)?e:e==null?[]:c(e)}),p,m=new Map,h=!0;function g(e){v.effect.f&16384||(v.pending.delete(e),v.fallback=d,Zi(v,p,s,t,r),d!==null&&(p.length===0?d.f&33554432?(d.f^=oe,$i(d,null,s)):Or(d):Er(d,()=>{d=null})))}function _(e){v.pending.delete(e)}var v={effect:_r(()=>{p=z(f);var e=p.length;let a=!1;T&&Xe(s)===`[!`!=(e===0)&&(s=Ye(),Ke(s),Ge(!1),a=!0);for(var c=new Set,u=N,v=Qn(),y=0;y<e;y+=1){T&&E.nodeType===8&&E.data===`]`&&(s=E,a=!0,Ge(!1));var b=p[y],x=r(b,y),ee=r(b,y);x!==ee&&we(String(y),String(x),String(ee));var te=h?null:l.get(x);te?(te.v&&An(te.v,b),te.i&&An(te.i,y),v&&u.unskip_effect(te.e)):(te=Qi(l,h?s:Ji??=Jn(),b,x,y,i,t,n),h||(te.e.f|=oe),l.set(x,te)),c.add(x)}if(e===0&&o&&!d&&(h?d=yr(()=>o(s)):(d=yr(()=>o(Ji??=Jn())),d.f|=oe)),e>c.size&&ta(p,r),T&&e>0&&Ke(Ye()),!h)if(m.set(u,c),v){for(let[e,t]of l)c.has(e)||u.skip_effect(t.e);u.oncommit(g),u.ondiscard(_)}else g(u);a&&Ge(!0),z(f)}),flags:t,items:l,pending:m,outrogroups:null,fallback:d};h=!1,T&&(s=E)}function Xi(e){for(;e!==null&&!(e.f&32);)e=e.next;return e}function Zi(e,t,n,r,i){var a=(r&8)!=0,o=t.length,s=e.items,l=Xi(e.effect.first),u,d=null,f,p=[],m=[],h,g,_,v;if(a)for(v=0;v<o;v+=1)h=t[v],g=i(h,v),_=s.get(g).e,_.f&33554432||(_.nodes?.a?.measure(),(f??=new Set).add(_));for(v=0;v<o;v+=1){if(h=t[v],g=i(h,v),_=s.get(g).e,e.outrogroups!==null)for(let t of e.outrogroups)t.pending.delete(_),t.done.delete(_);if(_.f&33554432)if(_.f^=oe,_===l)$i(_,null,n);else{var y=d?d.next:l;_===e.effect.last&&(e.effect.last=_.prev),_.prev&&(_.prev.next=_.next),_.next&&(_.next.prev=_.prev),ea(e,d,_),ea(e,_,y),$i(_,y,n),d=_,p=[],m=[],l=Xi(d.next);continue}if(_.f&8192&&(Or(_),a&&(_.nodes?.a?.unfix(),(f??=new Set).delete(_))),_!==l){if(u!==void 0&&u.has(_)){if(p.length<m.length){var b=m[0],x;d=b.prev;var ee=p[0],te=p[p.length-1];for(x=0;x<p.length;x+=1)$i(p[x],b,n);for(x=0;x<m.length;x+=1)u.delete(m[x]);ea(e,ee.prev,te.next),ea(e,d,ee),ea(e,te,b),l=b,d=te,--v,p=[],m=[]}else u.delete(_),$i(_,l,n),ea(e,_.prev,_.next),ea(e,_,d===null?e.effect.first:d.next),ea(e,d,_),d=_;continue}for(p=[],m=[];l!==null&&l!==_;)(u??=new Set).add(l),m.push(l),l=Xi(l.next);if(l===null)continue}_.f&33554432||p.push(_),d=_,l=Xi(_.next)}if(e.outrogroups!==null){for(let t of e.outrogroups)t.pending.size===0&&(qi(e,c(t.done)),e.outrogroups?.delete(t));e.outrogroups.size===0&&(e.outrogroups=null)}if(l!==null||u!==void 0){var S=[];if(u!==void 0)for(_ of u)_.f&8192||S.push(_);for(;l!==null;)!(l.f&8192)&&l!==e.fallback&&S.push(l),l=Xi(l.next);var C=S.length;if(C>0){var ne=r&4&&o===0?n:null;if(a){for(v=0;v<C;v+=1)S[v].nodes?.a?.measure();for(v=0;v<C;v+=1)S[v].nodes?.a?.fix()}Ki(e,S,ne)}}a&&yt(()=>{if(f!==void 0)for(_ of f)_.nodes?.a?.apply()})}function Qi(e,t,n,r,i,a,o,s){var c=o&1?o&16?En(n):On(n,!1,!1):null,l=o&2?En(i):null;return c&&(c.trace=()=>{s()[l?.v??i]}),{v:c,i:l,e:yr(()=>(a(t,c??n,l??i,s),()=>{e.delete(r)}))}}function $i(e,t,n){if(e.nodes)for(var r=e.nodes.start,i=e.nodes.end,a=t&&!(t.f&33554432)?t.nodes.start:n;r!==null;){var o=Xn(r);if(a.before(r),r===i)return;r=o}}function ea(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function ta(e,t){let n=new Map,r=e.length;for(let i=0;i<r;i++){let r=t(e[i],i);if(n.has(r)){let e=String(n.get(r)),t=String(i),a=String(r);a.startsWith(`[object `)&&(a=null),Ce(e,t,a)}n.set(r,i)}}function K(e,t,n){var r;T&&(r=E,qe());var i=new Ri(e);_r(()=>{var e=t()??null;if(T&&Xe(r)===`[`!=(e!==null)){var a=Ye();Ke(a),i.anchor=a,Ge(!1),i.ensure(e,e&&(t=>n(t,e))),Ge(!0);return}i.ensure(e,e&&(t=>n(t,e)))},re)}function na(e,t,r,a,o,s){let c=T;T&&qe();var l=s&&O?.function[n],u=null;T&&E.nodeType===1&&(u=E,qe());var d=T?E:e,f=new Ri(d,!1);_r(()=>{let e=t()||null;var n=o?o():r||e===`svg`?i:void 0;if(e===null){f.ensure(null,null);return}return f.ensure(e,t=>{if(e){if(u=T?u:$n(e,n),s&&(u.__svelte_meta={parent:ft,loc:{file:l,line:s[0],column:s[1]}}),hi(u,u),a){T&&ki(e)&&u.append(document.createComment(``));var r=T?Yn(u):u.appendChild(Jn());T&&(r===null?Ge(!1):Ke(r)),a(u,r)}R.nodes.end=u,t.before(u)}T&&Ke(t)}),()=>{}},re),lr(()=>{}),c&&(Ge(!0),Ke(d))}function ra(e,t){var n=void 0,r;vr(()=>{n!==(n=t())&&(r&&=(Cr(r),null),n&&(r=yr(()=>{pr(()=>n(e))})))})}function ia(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=ia(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function aa(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=ia(e))&&(r&&(r+=` `),r+=t);return r}function oa(e){return typeof e==`object`?aa(e):e??``}var sa=[...`
15
+ \r\f\xA0\v`];function ca(e,t,n){var r=e==null?``:``+e;if(t&&(r=r?r+` `+t:t),n){for(var i of Object.keys(n))if(n[i])r=r?r+` `+i:i;else if(r.length)for(var a=i.length,o=0;(o=r.indexOf(i,o))>=0;){var s=o+a;(o===0||sa.includes(r[o-1]))&&(s===r.length||sa.includes(r[s]))?r=(o===0?``:r.substring(0,o))+r.substring(s+1):o=s}}return r===``?null:r}function la(e,t=!1){var n=t?` !important;`:`;`,r=``;for(var i of Object.keys(e)){var a=e[i];a!=null&&a!==``&&(r+=` `+i+`: `+a+n)}return r}function ua(e){return e[0]!==`-`||e[1]!==`-`?e.toLowerCase():e}function da(e,t){if(t){var n=``,r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,``).trim();var a=!1,o=0,s=!1,c=[];r&&c.push(...Object.keys(r).map(ua)),i&&c.push(...Object.keys(i).map(ua));var l=0,u=-1;let t=e.length;for(var d=0;d<t;d++){var f=e[d];if(s?f===`/`&&e[d-1]===`*`&&(s=!1):a?a===f&&(a=!1):f===`/`&&e[d+1]===`*`?s=!0:f===`"`||f===`'`?a=f:f===`(`?o++:f===`)`&&o--,!s&&a===!1&&o===0){if(f===`:`&&u===-1)u=d;else if(f===`;`||d===t-1){if(u!==-1){var p=ua(e.substring(l,u).trim());if(!c.includes(p)){f!==`;`&&d++;var m=e.substring(l,d).trim();n+=` `+m+`;`}}l=d+1,u=-1}}}}return r&&(n+=la(r)),i&&(n+=la(i,!0)),n=n.trim(),n===``?null:n}return e==null?null:String(e)}function fa(e,t,n,r,i,a){var o=e.__className;if(T||o!==n||o===void 0){var s=ca(n,r,a);(!T||s!==e.getAttribute(`class`))&&(s==null?e.removeAttribute(`class`):t?e.className=s:e.setAttribute(`class`,s)),e.__className=n}else if(a&&i!==a)for(var c in a){var l=!!a[c];(i==null||l!==!!i[c])&&e.classList.toggle(c,l)}return a}function pa(e,t={},n,r){for(var i in n){var a=n[i];t[i]!==a&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,a,r))}}function ma(e,t,n,r){var i=e.__style;if(T||i!==t){var a=da(t,r);(!T||a!==e.getAttribute(`style`))&&(a==null?e.removeAttribute(`style`):e.style.cssText=a),e.__style=t}else r&&(Array.isArray(r)?(pa(e,n?.[0],r[0]),pa(e,n?.[1],r[1],`important`)):pa(e,n,r));return r}function ha(e,t,n=!1){if(e.multiple){if(t==null)return;if(!a(t))return He();for(var r of e.options)r.selected=t.includes(_a(r));return}for(r of e.options)if(Rn(_a(r),t)){r.selected=!0;return}(!n||t!==void 0)&&(e.selectedIndex=-1)}function ga(e){var t=new MutationObserver(()=>{ha(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`value`]}),lr(()=>{t.disconnect()})}function _a(e){return`__value`in e?e.__value:e.value}var va=Symbol(`class`),ya=Symbol(`style`),ba=Symbol(`is custom element`),xa=Symbol(`is html`),Sa=he?`link`:`LINK`,Ca=he?`input`:`INPUT`,wa=he?`option`:`OPTION`,Ta=he?`select`:`SELECT`;function Ea(e){if(T){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute(`value`)){var n=e.value;Oa(e,`value`,null),e.value=n}if(e.hasAttribute(`checked`)){var r=e.checked;Oa(e,`checked`,null),e.checked=r}}};e.__on_r=n,yt(n),rr()}}function Da(e,t){t?e.hasAttribute(`selected`)||e.setAttribute(`selected`,``):e.removeAttribute(`selected`)}function Oa(e,t,n,r){var i=ja(e);if(T&&(i[t]=e.getAttribute(t),t===`src`||t===`srcset`||t===`href`&&e.nodeName===Sa)){r||Pa(e,t,n??``);return}i[t]!==(i[t]=n)&&(t===`loading`&&(e[fe]=n),n==null?e.removeAttribute(t):typeof n!=`string`&&Na(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function ka(e,n,r,i,a=!1,o=!1){if(T&&a&&e.nodeName===Ca){var s=e;(s.type===`checkbox`?`defaultChecked`:`defaultValue`)in r||Ea(s)}var c=ja(e),l=c[ba],u=!c[xa];let d=T&&l;d&&Ge(!1);var f=n||{},p=e.nodeName===wa;for(var m in n)m in r||(r[m]=null);r.class?r.class=oa(r.class):(i||r[va])&&(r.class=null),r[ya]&&(r.style??=null);var h=Na(e);for(let a in r){let s=r[a];if(p&&a===`value`&&s==null){e.value=e.__value=``,f[a]=s;continue}if(a===`class`){fa(e,e.namespaceURI===`http://www.w3.org/1999/xhtml`,s,i,n?.[va],r[va]),f[a]=s,f[va]=r[va];continue}if(a===`style`){ma(e,s,n?.[ya],r[ya]),f[a]=s,f[ya]=r[ya];continue}var g=f[a];if(!(s===g&&!(s===void 0&&e.hasAttribute(a)))){f[a]=s;var _=a[0]+a[1];if(_!==`$$`)if(_===`on`){let t={},n=`$$`+a,r=a.slice(2);var v=Si(r);if(bi(r)&&(r=r.slice(0,-7),t.capture=!0),!v&&g){if(s!=null)continue;e.removeEventListener(r,f[n],t),f[n]=null}if(v)ci(r,e,s),li([r]);else if(s!=null){function i(e){f[a].call(this,e)}f[n]=si(r,e,i,t)}}else if(a===`style`)Oa(e,a,s);else if(a===`autofocus`)tr(e,!!s);else if(!l&&(a===`__value`||a===`value`&&s!=null))e.value=e.__value=s;else if(a===`selected`&&p)Da(e,s);else{var y=a;u||(y=Ti(y));var b=y===`defaultValue`||y===`defaultChecked`;if(s==null&&!l&&!b)if(c[a]=null,y===`value`||y===`checked`){let t=e,r=n===void 0;if(y===`value`){let e=t.defaultValue;t.removeAttribute(y),t.defaultValue=e,t.value=t.__value=r?e:null}else{let e=t.defaultChecked;t.removeAttribute(y),t.defaultChecked=e,t.checked=r?e:!1}}else e.removeAttribute(a);else b||h.includes(y)&&(l||typeof s!=`string`)?(e[y]=s,y in c&&(c[y]=t)):typeof s!=`function`&&Oa(e,y,s,o)}}}return d&&Ge(!0),f}function Aa(e,t,n=[],r=[],i=[],a,o=!1,s=!1){tn(i,n,r,n=>{var r=void 0,i={},c=e.nodeName===Ta,l=!1;if(vr(()=>{var u=t(...n.map(z)),d=ka(e,r,u,a,o,s);l&&c&&`value`in u&&ha(e,u.value);for(let e of Object.getOwnPropertySymbols(i))u[e]||Cr(i[e]);for(let t of Object.getOwnPropertySymbols(u)){var f=u[t];t.description===`@attach`&&(!r||f!==r[t])&&(i[t]&&Cr(i[t]),i[t]=yr(()=>ra(e,()=>f))),d[t]=f}r=d}),c){var u=e;pr(()=>{ha(u,r.value,!0),ga(u)})}l=!0})}function ja(e){return e.__attributes??={[ba]:e.nodeName.includes(`-`),[xa]:e.namespaceURI===r}}var Ma=new Map;function Na(e){var t=e.getAttribute(`is`)||e.nodeName,n=Ma.get(t);if(n)return n;Ma.set(t,n=[]);for(var r,i=e,a=Element.prototype;a!==i;){for(var o in r=d(i),r)r[o].set&&n.push(o);i=m(i)}return n}function Pa(e,t,n){t===`srcset`&&La(e,n)||Fa(e.getAttribute(t)??``,n)||Be(t,e.outerHTML.replace(e.innerHTML,e.innerHTML&&`...`),String(n))}function Fa(e,t){return e===t?!0:new URL(e,document.baseURI).href===new URL(t,document.baseURI).href}function Ia(e){return e.split(`,`).map(e=>e.trim().split(` `).filter(Boolean))}function La(e,t){var n=Ia(e.srcset),r=Ia(t);return r.length===n.length&&r.every(([e,t],r)=>t===n[r][1]&&(Fa(n[r][0],e)||Fa(e,n[r][0])))}function Ra(e,t){return e===t||e?.[de]===t}function za(e={},t,n,r){var i=O.r,a=R;return pr(()=>{var o,s;return hr(()=>{o=s,s=r?.()||[],ri(()=>{e!==n(...s)&&(t(e,...s),o&&Ra(n(...o),e)&&t(null,...o))})}),()=>{let r=a;for(;r!==i&&r.parent!==null&&r.parent.f&33554432;)r=r.parent;let o=()=>{s&&Ra(n(...s),e)&&t(null,...s)},c=r.teardown;r.teardown=()=>{o(),c?.()}}}),e}var Ba={get(e,t){if(!e.exclude.includes(t))return e.props[t]},set(e,t){return je(`${e.name}.${String(t)}`),!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function Va(e,t,n){return new Proxy({props:e,exclude:t,name:n,other:{},to_proxy:[]},Ba)}function q(e,t,n,r){var i=!tt||(n&2)!=0,a=(n&8)!=0,o=(n&16)!=0,s=r,c=!0,l=()=>(c&&(c=!1,s=o?ri(r):r),s);let d;if(a){var f=de in e||w in e;d=u(e,t)?.set??(f&&t in e?n=>e[t]=n:void 0)}var p,m=!1;a?[p,m]=jt(()=>e[t]):p=e[t],p===void 0&&r!==void 0&&(p=l(),d&&(i&&Ae(t),d(p)));var h=i?()=>{var n=e[t];return n===void 0?l():(c=!0,n)}:()=>{var n=e[t];return n!==void 0&&(s=void 0),n===void 0?s:n};if(i&&!(n&4))return h;if(d){var g=e.$$legacy;return(function(e,t){return arguments.length>0?((!i||!t||g||m)&&d(t?h():e),e):h()})}var _=!1,v=(n&1?un:pn)(()=>(_=!1,h()));v.label=t,a&&z(v);var y=R;return(function(e,t){if(arguments.length>0){let n=t?z(v):i&&a?Fn(e):e;return kn(v,n),_=!0,s!==void 0&&(s=n),e}return Nr&&_||y.f&16384?v.v:z(v)})}var Ha=`/nats-dashboard/api`;async function Ua(e,t){let n=await fetch(`${Ha}${e}`,t);if(!n.ok)throw Error(`API error: ${n.status}`);let r=await n.json();return r.result??r}async function Wa(){return Ua(`/health`)}async function Ga(e){return Ua(`/pending/${encodeURIComponent(e)}`)}async function Ka(e){await Ua(`/pending/mark-delivered`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({ids:e})})}var qa=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Ja=(e,t)=>({classGroupId:e,validator:t}),Ya=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Xa=`-`,Za=[],Qa=`arbitrary..`,$a=e=>{let t=no(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return to(e);let n=e.split(Xa);return eo(n,n[0]===``&&n.length>1?1:0,t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?qa(i,t):t:i||Za}return n[e]||Za}}},eo=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=eo(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Xa):e.slice(t).join(Xa),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},to=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Qa+r:void 0})(),no=e=>{let{theme:t,classGroups:n}=e;return ro(n,t)},ro=(e,t)=>{let n=Ya();for(let r in e){let i=e[r];io(i,n,r,t)}return n},io=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];ao(i,t,n,r)}},ao=(e,t,n,r)=>{if(typeof e==`string`){oo(e,t,n);return}if(typeof e==`function`){so(e,t,n,r);return}co(e,t,n,r)},oo=(e,t,n)=>{let r=e===``?t:lo(t,e);r.classGroupId=n},so=(e,t,n,r)=>{if(uo(e)){io(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ja(n,e))},co=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];io(o,lo(t,a),n,r)}},lo=(e,t)=>{let n=e,r=t.split(Xa),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=Ya(),n.nextPart.set(t,i)),n=i}return n},uo=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,fo=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},po=`!`,mo=`:`,ho=[],go=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),_o=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===mo){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(po)?(c=s.slice(0,-1),l=!0):s.startsWith(po)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return go(t,l,c,u)};if(t){let e=t+mo,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):go(ho,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},vo=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},yo=e=>({cache:fo(e.cacheSize),parseClassName:_o(e),sortModifiers:vo(e),...$a(e)}),bo=/\s+/,xo=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(bo),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let g=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),_=d?g+po:g,v=_+h;if(o.indexOf(v)>-1)continue;o.push(v);let y=i(h,m);for(let e=0;e<y.length;++e){let t=y[e];o.push(_+t)}c=t+(c.length>0?` `+c:c)}return c},So=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Co(n))&&(i&&(i+=` `),i+=r);return i},Co=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Co(e[r]))&&(n&&(n+=` `),n+=t);return n},wo=(e,...t)=>{let n,r,i,a,o=o=>(n=yo(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=xo(e,n);return i(e,a),a};return a=o,(...e)=>a(So(...e))},To=[],J=e=>{let t=t=>t[e]||To;return t.isThemeGetter=!0,t},Eo=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Do=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Oo=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ko=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ao=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,jo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Mo=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,No=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Po=e=>Oo.test(e),Y=e=>!!e&&!Number.isNaN(Number(e)),Fo=e=>!!e&&Number.isInteger(Number(e)),Io=e=>e.endsWith(`%`)&&Y(e.slice(0,-1)),Lo=e=>ko.test(e),Ro=()=>!0,zo=e=>Ao.test(e)&&!jo.test(e),Bo=()=>!1,Vo=e=>Mo.test(e),Ho=e=>No.test(e),Uo=e=>!X(e)&&!Z(e),Wo=e=>as(e,ls,Bo),X=e=>Eo.test(e),Go=e=>as(e,us,zo),Ko=e=>as(e,ds,Y),qo=e=>as(e,ps,Ro),Jo=e=>as(e,fs,Bo),Yo=e=>as(e,ss,Bo),Xo=e=>as(e,cs,Ho),Zo=e=>as(e,ms,Vo),Z=e=>Do.test(e),Qo=e=>os(e,us),$o=e=>os(e,fs),es=e=>os(e,ss),ts=e=>os(e,ls),ns=e=>os(e,cs),rs=e=>os(e,ms,!0),is=e=>os(e,ps,!0),as=(e,t,n)=>{let r=Eo.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},os=(e,t,n=!1)=>{let r=Do.exec(e);return r?r[1]?t(r[1]):n:!1},ss=e=>e===`position`||e===`percentage`,cs=e=>e===`image`||e===`url`,ls=e=>e===`length`||e===`size`||e===`bg-size`,us=e=>e===`length`,ds=e=>e===`number`,fs=e=>e===`family-name`,ps=e=>e===`number`||e===`weight`,ms=e=>e===`shadow`,hs=()=>{let e=J(`color`),t=J(`font`),n=J(`text`),r=J(`font-weight`),i=J(`tracking`),a=J(`leading`),o=J(`breakpoint`),s=J(`container`),c=J(`spacing`),l=J(`radius`),u=J(`shadow`),d=J(`inset-shadow`),f=J(`text-shadow`),p=J(`drop-shadow`),m=J(`blur`),h=J(`perspective`),g=J(`aspect`),_=J(`ease`),v=J(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Z,X],ee=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],te=()=>[`auto`,`contain`,`none`],S=()=>[Z,X,c],C=()=>[Po,`full`,`auto`,...S()],ne=()=>[Fo,`none`,`subgrid`,Z,X],re=()=>[`auto`,{span:[`full`,Fo,Z,X]},Fo,Z,X],ie=()=>[Fo,`auto`,Z,X],ae=()=>[`auto`,`min`,`max`,`fr`,Z,X],oe=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],se=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],ce=()=>[`auto`,...S()],le=()=>[Po,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...S()],ue=()=>[Po,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...S()],de=()=>[Po,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...S()],w=()=>[e,Z,X],fe=()=>[...b(),es,Yo,{position:[Z,X]}],pe=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],me=()=>[`auto`,`cover`,`contain`,ts,Wo,{size:[Z,X]}],he=()=>[Io,Qo,Go],ge=()=>[``,`none`,`full`,l,Z,X],_e=()=>[``,Y,Qo,Go],ve=()=>[`solid`,`dashed`,`dotted`,`double`],ye=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],be=()=>[Y,Io,es,Yo],xe=()=>[``,`none`,m,Z,X],Se=()=>[`none`,Y,Z,X],Ce=()=>[`none`,Y,Z,X],we=()=>[Y,Z,X],Te=()=>[Po,`full`,...S()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Lo],breakpoint:[Lo],color:[Ro],container:[Lo],"drop-shadow":[Lo],ease:[`in`,`out`,`in-out`],font:[Uo],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Lo],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Lo],shadow:[Lo],spacing:[`px`,Y],text:[Lo],"text-shadow":[Lo],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Po,X,Z,g]}],container:[`container`],columns:[{columns:[Y,X,Z,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:ee()}],"overflow-x":[{"overflow-x":ee()}],"overflow-y":[{"overflow-y":ee()}],overscroll:[{overscroll:te()}],"overscroll-x":[{"overscroll-x":te()}],"overscroll-y":[{"overscroll-y":te()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{"inset-s":C(),start:C()}],end:[{"inset-e":C(),end:C()}],"inset-bs":[{"inset-bs":C()}],"inset-be":[{"inset-be":C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Fo,`auto`,Z,X]}],basis:[{basis:[Po,`full`,`auto`,s,...S()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[Y,Po,`auto`,`initial`,`none`,X]}],grow:[{grow:[``,Y,Z,X]}],shrink:[{shrink:[``,Y,Z,X]}],order:[{order:[Fo,`first`,`last`,`none`,Z,X]}],"grid-cols":[{"grid-cols":ne()}],"col-start-end":[{col:re()}],"col-start":[{"col-start":ie()}],"col-end":[{"col-end":ie()}],"grid-rows":[{"grid-rows":ne()}],"row-start-end":[{row:re()}],"row-start":[{"row-start":ie()}],"row-end":[{"row-end":ie()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ae()}],"auto-rows":[{"auto-rows":ae()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...oe(),`normal`]}],"justify-items":[{"justify-items":[...se(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...se()]}],"align-content":[{content:[`normal`,...oe()]}],"align-items":[{items:[...se(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...se(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":oe()}],"place-items":[{"place-items":[...se(),`baseline`]}],"place-self":[{"place-self":[`auto`,...se()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:ce()}],mx:[{mx:ce()}],my:[{my:ce()}],ms:[{ms:ce()}],me:[{me:ce()}],mbs:[{mbs:ce()}],mbe:[{mbe:ce()}],mt:[{mt:ce()}],mr:[{mr:ce()}],mb:[{mb:ce()}],ml:[{ml:ce()}],"space-x":[{"space-x":S()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":S()}],"space-y-reverse":[`space-y-reverse`],size:[{size:le()}],"inline-size":[{inline:[`auto`,...ue()]}],"min-inline-size":[{"min-inline":[`auto`,...ue()]}],"max-inline-size":[{"max-inline":[`none`,...ue()]}],"block-size":[{block:[`auto`,...de()]}],"min-block-size":[{"min-block":[`auto`,...de()]}],"max-block-size":[{"max-block":[`none`,...de()]}],w:[{w:[s,`screen`,...le()]}],"min-w":[{"min-w":[s,`screen`,`none`,...le()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...le()]}],h:[{h:[`screen`,`lh`,...le()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...le()]}],"max-h":[{"max-h":[`screen`,`lh`,...le()]}],"font-size":[{text:[`base`,n,Qo,Go]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,is,qo]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Io,X]}],"font-family":[{font:[$o,Jo,t]}],"font-features":[{"font-features":[X]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Z,X]}],"line-clamp":[{"line-clamp":[Y,`none`,Z,Ko]}],leading:[{leading:[a,...S()]}],"list-image":[{"list-image":[`none`,Z,X]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Z,X]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:w()}],"text-color":[{text:w()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...ve(),`wavy`]}],"text-decoration-thickness":[{decoration:[Y,`from-font`,`auto`,Z,Go]}],"text-decoration-color":[{decoration:w()}],"underline-offset":[{"underline-offset":[Y,`auto`,Z,X]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:S()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Z,X]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Z,X]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:fe()}],"bg-repeat":[{bg:pe()}],"bg-size":[{bg:me()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Fo,Z,X],radial:[``,Z,X],conic:[Fo,Z,X]},ns,Xo]}],"bg-color":[{bg:w()}],"gradient-from-pos":[{from:he()}],"gradient-via-pos":[{via:he()}],"gradient-to-pos":[{to:he()}],"gradient-from":[{from:w()}],"gradient-via":[{via:w()}],"gradient-to":[{to:w()}],rounded:[{rounded:ge()}],"rounded-s":[{"rounded-s":ge()}],"rounded-e":[{"rounded-e":ge()}],"rounded-t":[{"rounded-t":ge()}],"rounded-r":[{"rounded-r":ge()}],"rounded-b":[{"rounded-b":ge()}],"rounded-l":[{"rounded-l":ge()}],"rounded-ss":[{"rounded-ss":ge()}],"rounded-se":[{"rounded-se":ge()}],"rounded-ee":[{"rounded-ee":ge()}],"rounded-es":[{"rounded-es":ge()}],"rounded-tl":[{"rounded-tl":ge()}],"rounded-tr":[{"rounded-tr":ge()}],"rounded-br":[{"rounded-br":ge()}],"rounded-bl":[{"rounded-bl":ge()}],"border-w":[{border:_e()}],"border-w-x":[{"border-x":_e()}],"border-w-y":[{"border-y":_e()}],"border-w-s":[{"border-s":_e()}],"border-w-e":[{"border-e":_e()}],"border-w-bs":[{"border-bs":_e()}],"border-w-be":[{"border-be":_e()}],"border-w-t":[{"border-t":_e()}],"border-w-r":[{"border-r":_e()}],"border-w-b":[{"border-b":_e()}],"border-w-l":[{"border-l":_e()}],"divide-x":[{"divide-x":_e()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":_e()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...ve(),`hidden`,`none`]}],"divide-style":[{divide:[...ve(),`hidden`,`none`]}],"border-color":[{border:w()}],"border-color-x":[{"border-x":w()}],"border-color-y":[{"border-y":w()}],"border-color-s":[{"border-s":w()}],"border-color-e":[{"border-e":w()}],"border-color-bs":[{"border-bs":w()}],"border-color-be":[{"border-be":w()}],"border-color-t":[{"border-t":w()}],"border-color-r":[{"border-r":w()}],"border-color-b":[{"border-b":w()}],"border-color-l":[{"border-l":w()}],"divide-color":[{divide:w()}],"outline-style":[{outline:[...ve(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[Y,Z,X]}],"outline-w":[{outline:[``,Y,Qo,Go]}],"outline-color":[{outline:w()}],shadow:[{shadow:[``,`none`,u,rs,Zo]}],"shadow-color":[{shadow:w()}],"inset-shadow":[{"inset-shadow":[`none`,d,rs,Zo]}],"inset-shadow-color":[{"inset-shadow":w()}],"ring-w":[{ring:_e()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:w()}],"ring-offset-w":[{"ring-offset":[Y,Go]}],"ring-offset-color":[{"ring-offset":w()}],"inset-ring-w":[{"inset-ring":_e()}],"inset-ring-color":[{"inset-ring":w()}],"text-shadow":[{"text-shadow":[`none`,f,rs,Zo]}],"text-shadow-color":[{"text-shadow":w()}],opacity:[{opacity:[Y,Z,X]}],"mix-blend":[{"mix-blend":[...ye(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ye()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[Y]}],"mask-image-linear-from-pos":[{"mask-linear-from":be()}],"mask-image-linear-to-pos":[{"mask-linear-to":be()}],"mask-image-linear-from-color":[{"mask-linear-from":w()}],"mask-image-linear-to-color":[{"mask-linear-to":w()}],"mask-image-t-from-pos":[{"mask-t-from":be()}],"mask-image-t-to-pos":[{"mask-t-to":be()}],"mask-image-t-from-color":[{"mask-t-from":w()}],"mask-image-t-to-color":[{"mask-t-to":w()}],"mask-image-r-from-pos":[{"mask-r-from":be()}],"mask-image-r-to-pos":[{"mask-r-to":be()}],"mask-image-r-from-color":[{"mask-r-from":w()}],"mask-image-r-to-color":[{"mask-r-to":w()}],"mask-image-b-from-pos":[{"mask-b-from":be()}],"mask-image-b-to-pos":[{"mask-b-to":be()}],"mask-image-b-from-color":[{"mask-b-from":w()}],"mask-image-b-to-color":[{"mask-b-to":w()}],"mask-image-l-from-pos":[{"mask-l-from":be()}],"mask-image-l-to-pos":[{"mask-l-to":be()}],"mask-image-l-from-color":[{"mask-l-from":w()}],"mask-image-l-to-color":[{"mask-l-to":w()}],"mask-image-x-from-pos":[{"mask-x-from":be()}],"mask-image-x-to-pos":[{"mask-x-to":be()}],"mask-image-x-from-color":[{"mask-x-from":w()}],"mask-image-x-to-color":[{"mask-x-to":w()}],"mask-image-y-from-pos":[{"mask-y-from":be()}],"mask-image-y-to-pos":[{"mask-y-to":be()}],"mask-image-y-from-color":[{"mask-y-from":w()}],"mask-image-y-to-color":[{"mask-y-to":w()}],"mask-image-radial":[{"mask-radial":[Z,X]}],"mask-image-radial-from-pos":[{"mask-radial-from":be()}],"mask-image-radial-to-pos":[{"mask-radial-to":be()}],"mask-image-radial-from-color":[{"mask-radial-from":w()}],"mask-image-radial-to-color":[{"mask-radial-to":w()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[Y]}],"mask-image-conic-from-pos":[{"mask-conic-from":be()}],"mask-image-conic-to-pos":[{"mask-conic-to":be()}],"mask-image-conic-from-color":[{"mask-conic-from":w()}],"mask-image-conic-to-color":[{"mask-conic-to":w()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:fe()}],"mask-repeat":[{mask:pe()}],"mask-size":[{mask:me()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,X]}],filter:[{filter:[``,`none`,Z,X]}],blur:[{blur:xe()}],brightness:[{brightness:[Y,Z,X]}],contrast:[{contrast:[Y,Z,X]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,rs,Zo]}],"drop-shadow-color":[{"drop-shadow":w()}],grayscale:[{grayscale:[``,Y,Z,X]}],"hue-rotate":[{"hue-rotate":[Y,Z,X]}],invert:[{invert:[``,Y,Z,X]}],saturate:[{saturate:[Y,Z,X]}],sepia:[{sepia:[``,Y,Z,X]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,X]}],"backdrop-blur":[{"backdrop-blur":xe()}],"backdrop-brightness":[{"backdrop-brightness":[Y,Z,X]}],"backdrop-contrast":[{"backdrop-contrast":[Y,Z,X]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,Y,Z,X]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Y,Z,X]}],"backdrop-invert":[{"backdrop-invert":[``,Y,Z,X]}],"backdrop-opacity":[{"backdrop-opacity":[Y,Z,X]}],"backdrop-saturate":[{"backdrop-saturate":[Y,Z,X]}],"backdrop-sepia":[{"backdrop-sepia":[``,Y,Z,X]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Z,X]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[Y,`initial`,Z,X]}],ease:[{ease:[`linear`,`initial`,_,Z,X]}],delay:[{delay:[Y,Z,X]}],animate:[{animate:[`none`,v,Z,X]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Z,X]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:Se()}],"rotate-x":[{"rotate-x":Se()}],"rotate-y":[{"rotate-y":Se()}],"rotate-z":[{"rotate-z":Se()}],scale:[{scale:Ce()}],"scale-x":[{"scale-x":Ce()}],"scale-y":[{"scale-y":Ce()}],"scale-z":[{"scale-z":Ce()}],"scale-3d":[`scale-3d`],skew:[{skew:we()}],"skew-x":[{"skew-x":we()}],"skew-y":[{"skew-y":we()}],transform:[{transform:[Z,X,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:Te()}],"translate-x":[{"translate-x":Te()}],"translate-y":[{"translate-y":Te()}],"translate-z":[{"translate-z":Te()}],"translate-none":[`translate-none`],accent:[{accent:w()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:w()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Z,X]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Z,X]}],fill:[{fill:[`none`,...w()]}],"stroke-w":[{stroke:[Y,Qo,Go,Ko]}],stroke:[{stroke:[`none`,...w()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}},gs=(e,{cacheSize:t,prefix:n,experimentalParseClassName:r,extend:i={},override:a={}})=>(_s(e,`cacheSize`,t),_s(e,`prefix`,n),_s(e,`experimentalParseClassName`,r),vs(e.theme,a.theme),vs(e.classGroups,a.classGroups),vs(e.conflictingClassGroups,a.conflictingClassGroups),vs(e.conflictingClassGroupModifiers,a.conflictingClassGroupModifiers),_s(e,`orderSensitiveModifiers`,a.orderSensitiveModifiers),ys(e.theme,i.theme),ys(e.classGroups,i.classGroups),ys(e.conflictingClassGroups,i.conflictingClassGroups),ys(e.conflictingClassGroupModifiers,i.conflictingClassGroupModifiers),bs(e,i,`orderSensitiveModifiers`),e),_s=(e,t,n)=>{n!==void 0&&(e[t]=n)},vs=(e,t)=>{if(t)for(let n in t)_s(e,n,t[n])},ys=(e,t)=>{if(t)for(let n in t)bs(e,t,n)},bs=(e,t,n)=>{let r=t[n];r!==void 0&&(e[n]=e[n]?e[n].concat(r):r)},xs=(e,...t)=>typeof e==`function`?wo(hs,e,...t):wo(()=>gs(hs(),e),...t),Ss=wo(hs);function Cs(...e){return Ss(aa(e))}Ts[n]=`src/lib/components/ui/card/card.svelte`;var ws=U(B(`<div><!></div>`),Ts[n],[[13,0]]);function Ts(e,t){W(new.target),A(t,!0,Ts);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=ws();Aa(a,e=>({"data-slot":`card`,class:e,...r}),[()=>Cs(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,Ts,22,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}Ds[n]=`src/lib/components/ui/card/card-content.svelte`;var Es=U(B(`<div><!></div>`),Ds[n],[[13,0]]);function Ds(e,t){W(new.target),A(t,!0,Ds);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=Es();Aa(a,e=>({"data-slot":`card-content`,class:e,...r}),[()=>Cs(`px-6`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,Ds,14,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}ks[n]=`src/lib/components/ui/card/card-description.svelte`;var Os=U(B(`<p><!></p>`),ks[n],[[13,0]]);function ks(e,t){W(new.target),A(t,!0,ks);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=Os();Aa(a,e=>({"data-slot":`card-description`,class:e,...r}),[()=>Cs(`text-muted-foreground text-sm`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,ks,19,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}js[n]=`src/lib/components/ui/card/card-footer.svelte`;var As=U(B(`<div><!></div>`),js[n],[[13,0]]);function js(e,t){W(new.target),A(t,!0,js);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=As();Aa(a,e=>({"data-slot":`card-footer`,class:e,...r}),[()=>Cs(`flex items-center px-6 [.border-t]:pt-6`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,js,19,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}Ns[n]=`src/lib/components/ui/card/card-header.svelte`;var Ms=U(B(`<div><!></div>`),Ns[n],[[13,0]]);function Ns(e,t){W(new.target),A(t,!0,Ns);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=Ms();Aa(a,e=>({"data-slot":`card-header`,class:e,...r}),[()=>Cs(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,Ns,22,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}Fs[n]=`src/lib/components/ui/card/card-title.svelte`;var Ps=U(B(`<div><!></div>`),Fs[n],[[13,0]]);function Fs(e,t){W(new.target),A(t,!0,Fs);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=Ps();Aa(a,e=>({"data-slot":`card-title`,class:e,...r}),[()=>Cs(`leading-none font-semibold`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,Fs,19,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}Ls[n]=`src/lib/components/ui/card/card-action.svelte`;var Is=U(B(`<div><!></div>`),Ls[n],[[13,0]]);function Ls(e,t){W(new.target),A(t,!0,Ls);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=Is();Aa(a,e=>({"data-slot":`card-action`,class:e,...r}),[()=>Cs(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,Ls,19,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}var Rs=/\s+/g,zs=e=>typeof e!=`string`||!e?e:e.replace(Rs,` `).trim(),Bs=(...e)=>{let t=[],n=e=>{if(!e&&e!==0&&e!==0n)return;if(Array.isArray(e)){for(let t=0,r=e.length;t<r;t++)n(e[t]);return}let r=typeof e;if(r===`string`||r===`number`||r===`bigint`){if(r===`number`&&e!==e)return;t.push(String(e))}else if(r===`object`){let n=Object.keys(e);for(let r=0,i=n.length;r<i;r++){let i=n[r];e[i]&&t.push(i)}}};for(let t=0,r=e.length;t<r;t++){let r=e[t];r!=null&&n(r)}return t.length>0?zs(t.join(` `)):void 0},Vs=e=>e===!1?`false`:e===!0?`true`:e===0?`0`:e,Hs=e=>{if(!e||typeof e!=`object`)return!0;for(let t in e)return!1;return!0},Us=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i=0;i<n.length;i++){let a=n[i];if(!r.includes(a)||e[a]!==t[a])return!1}return!0},Ws=(e,t)=>{for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let r=t[n];n in e?e[n]=Bs(e[n],r):e[n]=r}return e},Gs=(e,t)=>{for(let n=0;n<e.length;n++){let r=e[n];Array.isArray(r)?Gs(r,t):r&&t.push(r)}},Ks=(...e)=>{let t=[];Gs(e,t);let n=[];for(let e=0;e<t.length;e++)t[e]&&n.push(t[e]);return n},qs=(e,t)=>{let n={};for(let r in e){let i=e[r];if(r in t){let e=t[r];Array.isArray(i)||Array.isArray(e)?n[r]=Ks(e,i):typeof i==`object`&&typeof e==`object`&&i&&e?n[r]=qs(i,e):n[r]=e+` `+i}else n[r]=i}for(let r in t)r in e||(n[r]=t[r]);return n},Js={twMerge:!0,twMergeConfig:{}};function Ys(){let e=null,t={},n=!1;return{get cachedTwMerge(){return e},set cachedTwMerge(t){e=t},get cachedTwMergeConfig(){return t},set cachedTwMergeConfig(e){t=e},get didTwMergeConfigChange(){return n},set didTwMergeConfigChange(e){n=e},reset(){e=null,t={},n=!1}}}var Xs=Ys(),Zs=e=>{let t=(t,n)=>{let{extend:r=null,slots:i={},variants:a={},compoundVariants:o=[],compoundSlots:s=[],defaultVariants:c={}}=t,l={...Js,...n},u=r?.base?Bs(r.base,t?.base):t?.base,d=r?.variants&&!Hs(r.variants)?qs(a,r.variants):a,f=r?.defaultVariants&&!Hs(r.defaultVariants)?{...r.defaultVariants,...c}:c;!Hs(l.twMergeConfig)&&!Us(l.twMergeConfig,Xs.cachedTwMergeConfig)&&(Xs.didTwMergeConfigChange=!0,Xs.cachedTwMergeConfig=l.twMergeConfig);let p=Hs(r?.slots),m=Hs(i)?{}:{base:Bs(t?.base,p&&r?.base),...i},h=p?m:Ws({...r?.slots},Hs(m)?{base:t?.base}:m),g=Hs(r?.compoundVariants)?o:Ks(r?.compoundVariants,o),_=t=>{if(Hs(d)&&Hs(i)&&p)return e(u,t?.class,t?.className)(l);if(g&&!Array.isArray(g))throw TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof g}`);if(s&&!Array.isArray(s))throw TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof s}`);let n=(e,n=d,r=null,i=null)=>{let a=n[e];if(!a||Hs(a))return null;let o=i?.[e]??t?.[e];if(o===null)return null;let s=Vs(o);if(typeof s==`object`)return null;let c=f?.[e];return a[(s??Vs(c))||`false`]},r=()=>{if(!d)return null;let e=Object.keys(d),t=[];for(let r=0;r<e.length;r++){let i=n(e[r],d);i&&t.push(i)}return t},a=(e,t)=>{if(!d||typeof d!=`object`)return null;let r=[];for(let i in d){let a=n(i,d,e,t),o=e===`base`&&typeof a==`string`?a:a&&a[e];o&&r.push(o)}return r},o={};for(let e in t){let n=t[e];n!==void 0&&(o[e]=n)}let c=(e,n)=>{let r=typeof t?.[e]==`object`?{[e]:t[e]?.initial}:{};return{...f,...o,...r,...n}},m=(e=[],t)=>{let n=[],r=e.length;for(let i=0;i<r;i++){let{class:r,className:a,...o}=e[i],s=!0,l=c(null,t);for(let e in o){let t=o[e],n=l[e];if(Array.isArray(t)){if(!t.includes(n)){s=!1;break}}else{if((t==null||t===!1)&&(n==null||n===!1))continue;if(n!==t){s=!1;break}}}s&&(r&&n.push(r),a&&n.push(a))}return n},_=t=>{let n=m(g,t);if(!Array.isArray(n))return n;let r={},i=e;for(let e=0;e<n.length;e++){let t=n[e];if(typeof t==`string`)r.base=i(r.base,t)(l);else if(typeof t==`object`)for(let e in t)r[e]=i(r[e],t[e])(l)}return r},v=e=>{if(s.length<1)return null;let t={},n=c(null,e);for(let e=0;e<s.length;e++){let{slots:r=[],class:i,className:a,...o}=s[e];if(!Hs(o)){let e=!0;for(let t in o){let r=n[t],i=o[t];if(r===void 0||(Array.isArray(i)?!i.includes(r):i!==r)){e=!1;break}}if(!e)continue}for(let e=0;e<r.length;e++){let n=r[e];t[n]||(t[n]=[]),t[n].push([i,a])}}return t};if(!Hs(i)||!p){let t={};if(typeof h==`object`&&!Hs(h)){let n=e;for(let e in h)t[e]=t=>{let r=_(t),i=v(t);return n(h[e],a(e,t),r?r[e]:void 0,i?i[e]:void 0,t?.class,t?.className)(l)}}return t}return e(u,r(),m(g),t?.class,t?.className)(l)};return _.variantKeys=(()=>{if(!(!d||typeof d!=`object`))return Object.keys(d)})(),_.extend=r,_.base=u,_.slots=h,_.variants=d,_.defaultVariants=f,_.compoundSlots=s,_.compoundVariants=g,_};return{tv:t,createTV:e=>(n,r)=>t(n,r?qs(e,r):e)}},Qs=e=>Hs(e)?Ss:xs({...e,extend:{theme:e.theme,classGroups:e.classGroups,conflictingClassGroupModifiers:e.conflictingClassGroupModifiers,conflictingClassGroups:e.conflictingClassGroups,...e.extend}}),$s=(e,t)=>{let n=Bs(e);return!n||!(t?.twMerge??!0)?n:((!Xs.cachedTwMerge||Xs.didTwMergeConfigChange)&&(Xs.didTwMergeConfigChange=!1,Xs.cachedTwMerge=Qs(Xs.cachedTwMergeConfig)),Xs.cachedTwMerge(n)||void 0)},{createTV:ec,tv:tc}=Zs((...e)=>t=>$s(e,t));rc[n]=`src/lib/components/ui/badge/badge.svelte`;var nc=tc({base:`focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] [&>svg]:pointer-events-none [&>svg]:size-3`,variants:{variant:{default:`bg-primary text-primary-foreground [a&]:hover:bg-primary/90 border-transparent`,secondary:`bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90 border-transparent`,destructive:`bg-destructive [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/70 border-transparent text-white`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});function rc(e,t){W(new.target),A(t,!0,rc);let n=q(t,`ref`,15,null),r=q(t,`variant`,3,`default`),i=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`href`,`class`,`variant`,`children`],`restProps`);var a={...G()},o=_i(),s=F(o);return Ii(()=>t.href?`a`:`span`),Fi(()=>t.href?`a`:`span`),na(s,()=>t.href?`a`:`span`,!1,(e,a)=>{za(e,e=>n(e),()=>n()),Aa(e,e=>({"data-slot":`badge`,href:t.href,class:e,...i}),[()=>Cs(nc({variant:r()}),t.class)]);var o=_i(),s=F(o);k(()=>zi(s,()=>t.children??g),`render`,rc,49,1),V(a,o)},void 0,[41,0]),V(e,o),j(a)}Q[n]=`src/lib/HealthCards.svelte`;var ic=U(B(`<!> <p class="text-xs text-muted-foreground mt-2"> </p>`,1),Q[n],[[30,8]]),ac=U(B(`<p class="text-sm text-muted-foreground">Loading...</p>`),Q[n],[[32,8]]),oc=U(B(`<!> <!>`,1),Q[n],[]),sc=U(B(`<!> <p class="text-xs text-muted-foreground mt-2"> </p>`,1),Q[n],[[46,8]]),cc=U(B(`<p class="text-sm text-muted-foreground">Loading...</p>`),Q[n],[[48,8]]),lc=U(B(`<!> <!>`,1),Q[n],[]),uc=U(B(`<!> <p class="text-xs text-muted-foreground mt-2"> </p>`,1),Q[n],[[60,8]]),dc=U(B(`<!> <!>`,1),Q[n],[]),fc=U(B(`<div class="grid grid-cols-1 md:grid-cols-3 gap-4"><!> <!> <!></div>`),Q[n],[[20,0]]);function Q(e,t){W(new.target),A(t,!0,Q);function n(e){let t=Math.floor(e/3600),n=Math.floor(e%3600/60);return t>0?`${t}h ${n}m`:`${n}m`}var r={...G()},i=fc(),a=P(i);k(()=>K(a,()=>Ts,(e,n)=>{n(e,{children:H(Q,(e,n)=>{var r=oc(),i=F(r);k(()=>K(i,()=>Ns,(e,t)=>{t(e,{class:`pb-2`,children:H(Q,(e,t)=>{var n=_i(),r=F(n);k(()=>K(r,()=>Fs,(e,t)=>{t(e,{class:`text-sm font-medium`,children:H(Q,(e,t)=>{Je(),V(e,gi(`NATS Server`))}),$$slots:{default:!0}})}),`component`,Q,23,6,{componentTag:`Card.Title`}),V(e,n)}),$$slots:{default:!0}})}),`component`,Q,22,4,{componentTag:`Card.Header`});var a=I(i,2);k(()=>K(a,()=>Ds,(e,n)=>{n(e,{children:H(Q,(e,n)=>{var r=_i(),i=F(r),a=e=>{var n=ic(),r=F(n);{let e=fn(()=>t.health.nats.connected?`default`:`destructive`);k(()=>rc(r,{get variant(){return z(e)},children:H(Q,(e,n)=>{Je();var r=gi();gr(()=>Ai(r,t.health.nats.connected?`Connected`:`Disconnected`)),V(e,r)}),$$slots:{default:!0}}),`component`,Q,27,8,{componentTag:`Badge`})}var i=I(r,2),a=P(i,!0);D(i),gr(()=>Ai(a,t.health.nats.url)),V(e,n)},o=e=>{V(e,ac())};k(()=>Wi(i,e=>{t.health?e(a):e(o,-1)}),`if`,Q,26,6),V(e,r)}),$$slots:{default:!0}})}),`component`,Q,25,4,{componentTag:`Card.Content`}),V(e,r)}),$$slots:{default:!0}})}),`component`,Q,21,2,{componentTag:`Card.Root`});var o=I(a,2);k(()=>K(o,()=>Ts,(e,n)=>{n(e,{children:H(Q,(e,n)=>{var r=lc(),i=F(r);k(()=>K(i,()=>Ns,(e,t)=>{t(e,{class:`pb-2`,children:H(Q,(e,t)=>{var n=_i(),r=F(n);k(()=>K(r,()=>Fs,(e,t)=>{t(e,{class:`text-sm font-medium`,children:H(Q,(e,t)=>{Je(),V(e,gi(`Gateway WebSocket`))}),$$slots:{default:!0}})}),`component`,Q,39,6,{componentTag:`Card.Title`}),V(e,n)}),$$slots:{default:!0}})}),`component`,Q,38,4,{componentTag:`Card.Header`});var a=I(i,2);k(()=>K(a,()=>Ds,(e,n)=>{n(e,{children:H(Q,(e,n)=>{var r=_i(),i=F(r),a=e=>{var n=sc(),r=F(n);{let e=fn(()=>t.health.gateway.connected?`default`:`destructive`);k(()=>rc(r,{get variant(){return z(e)},children:H(Q,(e,n)=>{Je();var r=gi();gr(()=>Ai(r,t.health.gateway.connected?`Connected`:`Disconnected`)),V(e,r)}),$$slots:{default:!0}}),`component`,Q,43,8,{componentTag:`Badge`})}var i=I(r,2),a=P(i,!0);D(i),gr(()=>Ai(a,t.health.gateway.url)),V(e,n)},o=e=>{V(e,cc())};k(()=>Wi(i,e=>{t.health?e(a):e(o,-1)}),`if`,Q,42,6),V(e,r)}),$$slots:{default:!0}})}),`component`,Q,41,4,{componentTag:`Card.Content`}),V(e,r)}),$$slots:{default:!0}})}),`component`,Q,37,2,{componentTag:`Card.Root`});var s=I(o,2);return k(()=>K(s,()=>Ts,(e,r)=>{r(e,{children:H(Q,(e,r)=>{var i=dc(),a=F(i);k(()=>K(a,()=>Ns,(e,t)=>{t(e,{class:`pb-2`,children:H(Q,(e,t)=>{var n=_i(),r=F(n);k(()=>K(r,()=>Fs,(e,t)=>{t(e,{class:`text-sm font-medium`,children:H(Q,(e,t)=>{Je(),V(e,gi(`Sidecar`))}),$$slots:{default:!0}})}),`component`,Q,55,6,{componentTag:`Card.Title`}),V(e,n)}),$$slots:{default:!0}})}),`component`,Q,54,4,{componentTag:`Card.Header`});var o=I(a,2);k(()=>K(o,()=>Ds,(e,r)=>{r(e,{children:H(Q,(e,r)=>{var i=_i(),a=F(i),o=e=>{var r=uc(),i=F(r);k(()=>rc(i,{variant:`default`,children:H(Q,(e,t)=>{Je(),V(e,gi(`Running`))}),$$slots:{default:!0}}),`component`,Q,59,8,{componentTag:`Badge`});var a=I(i,2),o=P(a);D(a),gr(e=>Ai(o,`Uptime: ${e??``} · Pending: ${t.health.pendingCount??``}`),[()=>n(t.health.uptimeSeconds)]),V(e,r)},s=e=>{k(()=>rc(e,{variant:`destructive`,children:H(Q,(e,t)=>{Je(),V(e,gi(`Unreachable`))}),$$slots:{default:!0}}),`component`,Q,64,8,{componentTag:`Badge`})};k(()=>Wi(a,e=>{t.health?e(o):e(s,-1)}),`if`,Q,58,6),V(e,i)}),$$slots:{default:!0}})}),`component`,Q,57,4,{componentTag:`Card.Content`}),V(e,i)}),$$slots:{default:!0}})}),`component`,Q,53,2,{componentTag:`Card.Root`}),D(i),V(e,i),j(r)}mc[n]=`src/lib/components/ui/table/table.svelte`;var pc=U(B(`<div data-slot="table-container" class="relative w-full overflow-x-auto"><table><!></table></div>`),mc[n],[[13,0,[[14,1]]]]);function mc(e,t){W(new.target),A(t,!0,mc);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=pc(),o=P(a);Aa(o,e=>({"data-slot":`table`,class:e,...r}),[()=>Cs(`w-full caption-bottom text-sm`,t.class)]);var s=P(o);return k(()=>zi(s,()=>t.children??g),`render`,mc,20,2),D(o),za(o,e=>n(e),()=>n()),D(a),V(e,a),j(i)}gc[n]=`src/lib/components/ui/table/table-body.svelte`;var hc=U(B(`<tbody><!></tbody>`),gc[n],[[13,0]]);function gc(e,t){W(new.target),A(t,!0,gc);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=hc();Aa(a,e=>({"data-slot":`table-body`,class:e,...r}),[()=>Cs(`[&_tr:last-child]:border-0`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,gc,19,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}vc[n]=`src/lib/components/ui/table/table-caption.svelte`;var _c=U(B(`<caption><!></caption>`),vc[n],[[13,0]]);function vc(e,t){W(new.target),A(t,!0,vc);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=_c();Aa(a,e=>({"data-slot":`table-caption`,class:e,...r}),[()=>Cs(`text-muted-foreground mt-4 text-sm`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,vc,19,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}bc[n]=`src/lib/components/ui/table/table-cell.svelte`;var yc=U(B(`<td><!></td>`),bc[n],[[13,0]]);function bc(e,t){W(new.target),A(t,!0,bc);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=yc();Aa(a,e=>({"data-slot":`table-cell`,class:e,...r}),[()=>Cs(`bg-clip-padding p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pe-0`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,bc,22,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}Sc[n]=`src/lib/components/ui/table/table-footer.svelte`;var xc=U(B(`<tfoot><!></tfoot>`),Sc[n],[[13,0]]);function Sc(e,t){W(new.target),A(t,!0,Sc);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=xc();Aa(a,e=>({"data-slot":`table-footer`,class:e,...r}),[()=>Cs(`bg-muted/50 border-t font-medium [&>tr]:last:border-b-0`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,Sc,19,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}wc[n]=`src/lib/components/ui/table/table-head.svelte`;var Cc=U(B(`<th><!></th>`),wc[n],[[13,0]]);function wc(e,t){W(new.target),A(t,!0,wc);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=Cc();Aa(a,e=>({"data-slot":`table-head`,class:e,...r}),[()=>Cs(`text-foreground h-10 bg-clip-padding px-2 text-start align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pe-0`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,wc,22,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}Ec[n]=`src/lib/components/ui/table/table-header.svelte`;var Tc=U(B(`<thead><!></thead>`),Ec[n],[[13,0]]);function Ec(e,t){W(new.target),A(t,!0,Ec);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=Tc();Aa(a,e=>({"data-slot":`table-header`,class:e,...r}),[()=>Cs(`[&_tr]:border-b`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,Ec,19,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}Oc[n]=`src/lib/components/ui/table/table-row.svelte`;var Dc=U(B(`<tr><!></tr>`),Oc[n],[[13,0]]);function Oc(e,t){W(new.target),A(t,!0,Oc);let n=q(t,`ref`,15,null),r=Va(t,[`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`children`],`restProps`);var i={...G()},a=Dc();Aa(a,e=>({"data-slot":`table-row`,class:e,...r}),[()=>Cs(`hover:[&,&>svelte-css-wrapper]:[&>th,td]:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,t.class)]);var o=P(a);return k(()=>zi(o,()=>t.children??g),`render`,Oc,22,1),D(a),za(a,e=>n(e),()=>n()),V(e,a),j(i)}Mc[n]=`src/lib/components/ui/button/button.svelte`;var kc=tc({base:`focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90 shadow-xs`,destructive:`bg-destructive hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 text-white shadow-xs`,outline:`bg-background hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border shadow-xs`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80 shadow-xs`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}}),Ac=U(B(`<a><!></a>`),Mc[n],[[59,1]]),jc=U(B(`<button><!></button>`),Mc[n],[[72,1]]);function Mc(e,t){W(new.target),A(t,!0,Mc);let n=q(t,`variant`,3,`default`),r=q(t,`size`,3,`default`),i=q(t,`ref`,15,null),a=q(t,`href`,3,void 0),o=q(t,`type`,3,`button`),s=Va(t,[`$$slots`,`$$events`,`$$legacy`,`class`,`variant`,`size`,`ref`,`href`,`type`,`disabled`,`children`],`restProps`);var c={...G()},l=_i(),u=F(l),d=e=>{var o=Ac();Aa(o,e=>({"data-slot":`button`,class:e,href:t.disabled?void 0:a(),"aria-disabled":t.disabled,role:t.disabled?`link`:void 0,tabindex:t.disabled?-1:void 0,...s}),[()=>Cs(kc({variant:n(),size:r()}),t.class)]);var c=P(o);k(()=>zi(c,()=>t.children??g),`render`,Mc,69,2),D(o),za(o,e=>i(e),()=>i()),V(e,o)},f=e=>{var a=jc();Aa(a,e=>({"data-slot":`button`,class:e,type:o(),disabled:t.disabled,...s}),[()=>Cs(kc({variant:n(),size:r()}),t.class)]);var c=P(a);k(()=>zi(c,()=>t.children??g),`render`,Mc,80,2),D(a),za(a,e=>i(e),()=>i()),V(e,a)};return k(()=>Wi(u,e=>{a()?e(d):e(f,-1)}),`if`,Mc,58,0),V(e,l),j(c)}$[n]=`src/lib/PendingTable.svelte`;var Nc=U(B(`<div class="rounded-md bg-destructive/10 p-2 text-xs text-destructive mb-2"> </div>`),$[n],[[41,2]]),Pc=U(B(`<p class="text-sm text-muted-foreground py-4">No pending events</p>`),$[n],[[45,2]]),Fc=U(B(`<!> <!> <!> <!>`,1),$[n],[]),Ic=U(B(`<!> <!> <!> <!>`,1),$[n],[]),Lc=U(B(`<!> <!>`,1),$[n],[]),Rc=U(B(`<!> <!>`,1),$[n],[]);function $(e,t){W(new.target),A(t,!0,$);function n(e){let t=Math.floor((Date.now()-e)/1e3);return t<60?`${t}s ago`:t<3600?`${Math.floor(t/60)}m ago`:`${Math.floor(t/3600)}h ago`}function r(e){return e>=8?`destructive`:e>=5?`default`:`secondary`}let i=st(Dn(null),`ackError`);async function a(e){try{kn(i,null),(await rn(Ka([e])))(),t.onRefresh()}catch(e){kn(i,e.message,!0)}}var o={...G()},s=Rc(),c=F(s),l=e=>{var t=Nc(),n=P(t,!0);D(t),gr(()=>Ai(n,z(i))),V(e,t)};k(()=>Wi(c,e=>{z(i)&&e(l)}),`if`,$,40,0);var u=I(c,2),d=e=>{V(e,Pc())},f=e=>{var i=_i(),o=F(i);k(()=>K(o,()=>mc,(e,i)=>{i(e,{children:H($,(e,i)=>{var o=Lc(),s=F(o);k(()=>K(s,()=>Ec,(e,t)=>{t(e,{children:H($,(e,t)=>{var n=_i(),r=F(n);k(()=>K(r,()=>Oc,(e,t)=>{t(e,{children:H($,(e,t)=>{var n=Fc(),r=F(n);k(()=>K(r,()=>wc,(e,t)=>{t(e,{children:H($,(e,t)=>{Je(),V(e,gi(`Subject`))}),$$slots:{default:!0}})}),`component`,$,50,8,{componentTag:`Table.Head`});var i=I(r,2);k(()=>K(i,()=>wc,(e,t)=>{t(e,{children:H($,(e,t)=>{Je(),V(e,gi(`Priority`))}),$$slots:{default:!0}})}),`component`,$,51,8,{componentTag:`Table.Head`});var a=I(i,2);k(()=>K(a,()=>wc,(e,t)=>{t(e,{children:H($,(e,t)=>{Je(),V(e,gi(`Age`))}),$$slots:{default:!0}})}),`component`,$,52,8,{componentTag:`Table.Head`});var o=I(a,2);k(()=>K(o,()=>wc,(e,t)=>{t(e,{class:`w-16`})}),`component`,$,53,8,{componentTag:`Table.Head`}),V(e,n)}),$$slots:{default:!0}})}),`component`,$,49,6,{componentTag:`Table.Row`}),V(e,n)}),$$slots:{default:!0}})}),`component`,$,48,4,{componentTag:`Table.Header`});var c=I(s,2);k(()=>K(c,()=>gc,(e,i)=>{i(e,{children:H($,(e,i)=>{var o=_i(),s=F(o);k(()=>Yi(s,17,()=>t.events,Gi,(e,t)=>{var i=_i(),o=F(i);k(()=>K(o,()=>Oc,(e,i)=>{i(e,{children:H($,(e,i)=>{var o=Ic(),s=F(o);k(()=>K(s,()=>bc,(e,n)=>{n(e,{class:`font-mono text-xs`,children:H($,(e,n)=>{Je();var r=gi();gr(()=>Ai(r,z(t).subject)),V(e,r)}),$$slots:{default:!0}})}),`component`,$,59,10,{componentTag:`Table.Cell`});var c=I(s,2);k(()=>K(c,()=>bc,(e,n)=>{n(e,{children:H($,(e,n)=>{{let n=fn(()=>r(z(t).priority));k(()=>rc(e,{get variant(){return z(n)},children:H($,(e,n)=>{Je();var r=gi();gr(()=>Ai(r,z(t).priority)),V(e,r)}),$$slots:{default:!0}}),`component`,$,61,12,{componentTag:`Badge`})}}),$$slots:{default:!0}})}),`component`,$,60,10,{componentTag:`Table.Cell`});var l=I(c,2);k(()=>K(l,()=>bc,(e,r)=>{r(e,{class:`text-xs text-muted-foreground`,children:H($,(e,r)=>{Je();var i=gi();gr(e=>Ai(i,e),[()=>n(z(t).createdAt)]),V(e,i)}),$$slots:{default:!0}})}),`component`,$,63,10,{componentTag:`Table.Cell`});var u=I(l,2);k(()=>K(u,()=>bc,(e,n)=>{n(e,{children:H($,(e,n)=>{k(()=>Mc(e,{variant:`ghost`,size:`sm`,onclick:()=>a(z(t).id),children:H($,(e,t)=>{Je(),V(e,gi(`Ack`))}),$$slots:{default:!0}}),`component`,$,67,12,{componentTag:`Button`})}),$$slots:{default:!0}})}),`component`,$,66,10,{componentTag:`Table.Cell`}),V(e,o)}),$$slots:{default:!0}})}),`component`,$,58,8,{componentTag:`Table.Row`}),V(e,i)}),`each`,$,57,6),V(e,o)}),$$slots:{default:!0}})}),`component`,$,56,4,{componentTag:`Table.Body`}),V(e,o)}),$$slots:{default:!0}})}),`component`,$,47,2,{componentTag:`Table.Root`}),V(e,i)};return k(()=>Wi(u,e=>{Hn(t.events.length,0)?e(d):e(f,-1)}),`if`,$,44,0),V(e,s),j(o)}Vc[n]=`src/lib/ConfigPanel.svelte`;var zc=U(B(`<div><span class="text-muted-foreground">Streams:</span> <!></div> <div><span class="text-muted-foreground">Consumer:</span> <code class="ml-1"> </code></div> <div><span class="text-muted-foreground">Dedup TTL:</span> <code class="ml-1"> </code></div>`,1),Vc[n],[[19,6,[[20,8]]],[25,6,[[26,8],[27,8]]],[29,6,[[30,8],[31,8]]]]),Bc=U(B(`<!> <!>`,1),Vc[n],[]);function Vc(e,t){W(new.target),A(t,!0,Vc);var n={...G()},r=_i(),i=F(r),a=e=>{var n=_i(),r=F(n);k(()=>K(r,()=>Ts,(e,n)=>{n(e,{children:H(Vc,(e,n)=>{var r=Bc(),i=F(r);k(()=>K(i,()=>Ns,(e,t)=>{t(e,{class:`pb-2`,children:H(Vc,(e,t)=>{var n=_i(),r=F(n);k(()=>K(r,()=>Fs,(e,t)=>{t(e,{class:`text-sm font-medium`,children:H(Vc,(e,t)=>{Je(),V(e,gi(`Configuration`))}),$$slots:{default:!0}})}),`component`,Vc,16,6,{componentTag:`Card.Title`}),V(e,n)}),$$slots:{default:!0}})}),`component`,Vc,15,4,{componentTag:`Card.Header`});var a=I(i,2);k(()=>K(a,()=>Ds,(e,n)=>{n(e,{class:`space-y-2 text-sm`,children:H(Vc,(e,n)=>{var r=zc(),i=F(r),a=I(P(i),2);k(()=>Yi(a,17,()=>t.health.config.streams,Gi,(e,t)=>{k(()=>rc(e,{variant:`secondary`,class:`ml-1`,children:H(Vc,(e,n)=>{Je();var r=gi();gr(()=>Ai(r,z(t))),V(e,r)}),$$slots:{default:!0}}),`component`,Vc,22,10,{componentTag:`Badge`})}),`each`,Vc,21,8),D(i);var o=I(i,2),s=I(P(o),2),c=P(s,!0);D(s),D(o);var l=I(o,2),u=I(P(l),2),d=P(u);D(u),D(l),gr(()=>{Ai(c,t.health.config.consumerName),Ai(d,`${t.health.config.dedupTtlSeconds??``}s`)}),V(e,r)}),$$slots:{default:!0}})}),`component`,Vc,18,4,{componentTag:`Card.Content`}),V(e,r)}),$$slots:{default:!0}})}),`component`,Vc,14,2,{componentTag:`Card.Root`}),V(e,n)};return k(()=>Wi(i,e=>{t.health&&e(a)}),`if`,Vc,13,0),V(e,r),j(n)}Wc[n]=`src/App.svelte`;var Hc=U(B(`<div class="rounded-md bg-destructive/10 p-3 text-sm text-destructive mb-4"> </div>`),Wc[n],[[45,4]]),Uc=U(B(`<main class="min-h-screen bg-background p-6 max-w-4xl mx-auto"><div class="flex items-center justify-between mb-6"><h1 class="text-2xl font-bold">NATS Dashboard</h1> <button class="text-sm text-muted-foreground hover:text-foreground">Refresh</button></div> <!> <div class="space-y-6"><!> <div><h2 class="text-lg font-semibold mb-3">Pending Events</h2> <!></div> <!></div></main>`),Wc[n],[[33,0,[[34,2,[[35,4],[36,4]]],[50,2,[[53,4,[[54,6]]]]]]]]);function Wc(e,t){W(new.target),A(t,!0,Wc);let n=st(Dn(null),`health`),r=st(Dn(Fn([])),`pending`),i=st(Dn(null),`error`);async function a(){try{kn(i,null);let[e,t]=(await rn(Promise.all([Wa(),Ga(`default`)])))();kn(n,e,!0),kn(r,t,!0)}catch(e){kn(i,e.message,!0)}}Bi(()=>{a();let e=setInterval(a,5e3);return()=>clearInterval(e)});var o={...G()},s=Uc(),c=P(s),l=I(P(c),2);D(c);var u=I(c,2),d=e=>{var t=Hc(),n=P(t,!0);D(t),gr(()=>Ai(n,z(i))),V(e,t)};k(()=>Wi(u,e=>{z(i)&&e(d)}),`if`,Wc,44,2);var f=I(u,2),p=P(f);k(()=>Q(p,{get health(){return z(n)}}),`component`,Wc,51,4,{componentTag:`HealthCards`});var m=I(p,2),h=I(P(m),2);k(()=>$(h,{get events(){return z(r)},onRefresh:a}),`component`,Wc,55,6,{componentTag:`PendingTable`}),D(m);var g=I(m,2);return k(()=>Vc(g,{get health(){return z(n)}}),`component`,Wc,58,4,{componentTag:`ConfigPanel`}),D(f),D(s),ci(`click`,l,a),V(e,s),j(o)}li([`click`]),ji(Wc,{target:document.getElementById(`app`)});
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>NATS Dashboard</title>
7
+ <script type="module" crossorigin src="/nats-dashboard/assets/index-OUWnIZmb.js"></script>
8
+ <link rel="stylesheet" crossorigin href="/nats-dashboard/assets/index-CafgidIc.css">
9
+ </head>
10
+ <body>
11
+ <div id="app"></div>
12
+ </body>
13
+ </html>
@@ -0,0 +1,48 @@
1
+ # Auto-generated by @omnixal/openclaw-nats-plugin
2
+ # Do not edit manually — regenerated on setup
3
+
4
+ services:
5
+ nats:
6
+ image: nats:2.10-alpine
7
+ container_name: openclaw-nats
8
+ command: ["-js", "-sd", "/data", "-m", "8222"]
9
+ ports:
10
+ - "127.0.0.1:4222:4222"
11
+ - "127.0.0.1:8222:8222"
12
+ volumes:
13
+ - nats-data:/data
14
+ restart: unless-stopped
15
+ healthcheck:
16
+ test: ["CMD", "wget", "--spider", "-q", "http://localhost:8222/healthz"]
17
+ interval: 15s
18
+ timeout: 5s
19
+ retries: 3
20
+
21
+ nats-sidecar:
22
+ build:
23
+ context: ./sidecar
24
+ dockerfile: Dockerfile
25
+ container_name: openclaw-nats-sidecar
26
+ ports:
27
+ - "127.0.0.1:3104:3104"
28
+ environment:
29
+ - PORT=3104
30
+ - DB_PATH=/app/data/nats-sidecar.db
31
+ - NATS_SERVERS=nats://nats:4222
32
+ - OPENCLAW_WS_URL=ws://host.docker.internal:18789
33
+ - NATS_PLUGIN_API_KEY=${NATS_PLUGIN_API_KEY}
34
+ volumes:
35
+ - sidecar-data:/app/data
36
+ restart: unless-stopped
37
+ depends_on:
38
+ nats:
39
+ condition: service_healthy
40
+ healthcheck:
41
+ test: ["CMD", "bun", "-e", "fetch('http://localhost:3104/metrics').then(r => process.exit(r.ok ? 0 : 1))"]
42
+ interval: 15s
43
+ timeout: 5s
44
+ retries: 3
45
+
46
+ volumes:
47
+ nats-data:
48
+ sidecar-data:
@@ -0,0 +1,13 @@
1
+ ---
2
+ metadata:
3
+ openclaw:
4
+ events: ["command:new", "command:reset", "command:stop"]
5
+ ---
6
+
7
+ # Command Publisher Hook
8
+
9
+ Publishes session command events to NATS via sidecar:
10
+
11
+ - `/new` → `agent.events.session.new`
12
+ - `/reset` → `agent.events.session.reset`
13
+ - `/stop` → `agent.events.session.stop`
@@ -0,0 +1,23 @@
1
+ import { publishToSidecar } from '../shared/sidecar-client';
2
+
3
+ const COMMAND_SUBJECTS: Record<string, string> = {
4
+ new: 'agent.events.session.new',
5
+ reset: 'agent.events.session.reset',
6
+ stop: 'agent.events.session.stop',
7
+ };
8
+
9
+ const handler = async (event: any) => {
10
+ if (event.type !== 'command') return;
11
+
12
+ const subject = COMMAND_SUBJECTS[event.action];
13
+ if (!subject) return;
14
+
15
+ // fire-and-forget
16
+ void publishToSidecar(subject, {
17
+ sessionKey: event.sessionKey,
18
+ command: event.action,
19
+ timestamp: new Date().toISOString(),
20
+ });
21
+ };
22
+
23
+ export default handler;
@@ -0,0 +1,13 @@
1
+ ---
2
+ metadata:
3
+ openclaw:
4
+ events: ["gateway:startup"]
5
+ env:
6
+ NATS_SIDECAR_URL: optional
7
+ NATS_PLUGIN_API_KEY: optional
8
+ ---
9
+
10
+ # Gateway Startup Hook
11
+
12
+ Publishes `agent.events.gateway.startup` event to NATS via sidecar when the OpenClaw Gateway starts.
13
+ Also verifies sidecar connectivity.
@@ -0,0 +1,31 @@
1
+ import { publishToSidecar } from '../shared/sidecar-client';
2
+
3
+ // TODO: Add gateway:shutdown hook to publish agent.events.gateway.shutdown
4
+ // Pending OpenClaw core support for the gateway:shutdown lifecycle event.
5
+
6
+ const handler = async (event: any) => {
7
+ if (event.type !== 'gateway' || event.action !== 'startup') return;
8
+
9
+ const sidecarUrl = process.env.NATS_SIDECAR_URL || 'http://127.0.0.1:3104';
10
+
11
+ try {
12
+ const healthRes = await fetch(`${sidecarUrl}/metrics`, {
13
+ signal: AbortSignal.timeout(5000),
14
+ });
15
+
16
+ if (healthRes.ok) {
17
+ const published = await publishToSidecar('agent.events.gateway.startup', {
18
+ sessionKey: event.sessionKey,
19
+ timestamp: new Date().toISOString(),
20
+ });
21
+
22
+ if (published) {
23
+ event.messages.push('NATS JetStream connected via sidecar');
24
+ }
25
+ }
26
+ } catch {
27
+ console.warn('[nats-plugin] Sidecar unavailable at startup');
28
+ }
29
+ };
30
+
31
+ export default handler;
@@ -0,0 +1,12 @@
1
+ ---
2
+ metadata:
3
+ openclaw:
4
+ events: ["tool_result_persist"]
5
+ ---
6
+
7
+ # Lifecycle Publisher Hook
8
+
9
+ Publishes tool completion/failure events to NATS via sidecar.
10
+
11
+ - `agent.events.tool.{toolName}.completed` — when a tool succeeds
12
+ - `agent.events.tool.{toolName}.failed` — when a tool fails
@@ -0,0 +1,20 @@
1
+ import { publishToSidecar } from '../shared/sidecar-client';
2
+
3
+ const handler = async (event: any) => {
4
+ if (event.type !== 'tool_result_persist') return undefined;
5
+
6
+ const subject = event.isError
7
+ ? `agent.events.tool.${event.toolName}.failed`
8
+ : `agent.events.tool.${event.toolName}.completed`;
9
+
10
+ // fire-and-forget — don't block tool result persist
11
+ void publishToSidecar(subject, {
12
+ sessionKey: event.sessionKey,
13
+ toolName: event.toolName,
14
+ durationMs: event.durationMs,
15
+ });
16
+
17
+ return undefined; // don't mutate result
18
+ };
19
+
20
+ export default handler;
@@ -0,0 +1,23 @@
1
+ const SIDECAR_URL = process.env.NATS_SIDECAR_URL || 'http://127.0.0.1:3104';
2
+ const API_KEY = process.env.NATS_PLUGIN_API_KEY || 'dev-nats-plugin-key';
3
+
4
+ export async function publishToSidecar(
5
+ subject: string,
6
+ payload: unknown,
7
+ meta?: Record<string, unknown>,
8
+ ): Promise<boolean> {
9
+ try {
10
+ const res = await fetch(`${SIDECAR_URL}/api/publish`, {
11
+ method: 'POST',
12
+ headers: {
13
+ 'Content-Type': 'application/json',
14
+ 'Authorization': `Bearer ${API_KEY}`,
15
+ },
16
+ body: JSON.stringify({ subject, payload, meta }),
17
+ signal: AbortSignal.timeout(5000),
18
+ });
19
+ return res.ok;
20
+ } catch {
21
+ return false;
22
+ }
23
+ }
package/index.ts ADDED
@@ -0,0 +1,3 @@
1
+ // OpenClaw plugin entry point
2
+ // Re-exports the register function from nats-context-engine
3
+ export { default } from './plugins/nats-context-engine/index';
@@ -0,0 +1,8 @@
1
+ {
2
+ "id": "nats-plugin",
3
+ "configSchema": {
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "properties": {}
7
+ }
8
+ }
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@omnixal/openclaw-nats-plugin",
3
+ "version": "0.1.0",
4
+ "description": "NATS JetStream event-driven plugin for OpenClaw",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./index.ts",
8
+ "bin": {
9
+ "nats-plugin": "./bin/cli.ts"
10
+ },
11
+ "scripts": {
12
+ "build:dashboard": "cd dashboard && bun run build",
13
+ "prepublishOnly": "bun run build:dashboard"
14
+ },
15
+ "files": [
16
+ "index.ts",
17
+ "bin/",
18
+ "cli/",
19
+ "hooks/",
20
+ "plugins/",
21
+ "sidecar/",
22
+ "docker/",
23
+ "dashboard/dist/",
24
+ "openclaw.plugin.json",
25
+ "PLUGIN.md",
26
+ "!**/*.test.ts",
27
+ "!**/node_modules",
28
+ "!sidecar/data"
29
+ ],
30
+ "publishConfig": {
31
+ "access": "public",
32
+ "registry": "https://registry.npmjs.org/"
33
+ },
34
+ "engines": {
35
+ "node": ">=22"
36
+ },
37
+ "openclaw": {
38
+ "hooks": [
39
+ "./hooks/gateway-startup",
40
+ "./hooks/lifecycle-publisher",
41
+ "./hooks/command-publisher"
42
+ ],
43
+ "plugins": [
44
+ "./plugins/nats-context-engine"
45
+ ]
46
+ },
47
+ "dependencies": {}
48
+ }
@@ -0,0 +1,14 @@
1
+ # NATS Context Engine Plugin
2
+
3
+ Publishes subagent lifecycle events to NATS via the sidecar service.
4
+
5
+ ## Events Published
6
+
7
+ - `agent.events.subagent.spawned` — when a subagent is spawned
8
+ - `agent.events.subagent.ended` — when a subagent completes
9
+
10
+ ## Configuration
11
+
12
+ Uses the same environment variables as hooks:
13
+ - `NATS_SIDECAR_URL` — sidecar URL (default: `http://nats-sidecar:3104`)
14
+ - `NATS_PLUGIN_API_KEY` — authentication key