microui-wc 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +71 -71
- package/CHANGELOG.md +1 -1
- package/README.md +14 -9
- package/dist/AGENTS.md +71 -71
- package/dist/README.md +14 -9
- package/dist/microui.css +1 -1
- package/dist/microui.esm.js.map +1 -1
- package/dist/microui.min.js.map +1 -1
- package/docs/getting-started.md +3 -3
- package/package.json +39 -11
- package/src/components/mu-schema-form.js +1 -1
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -40
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -33
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -28
- package/.github/workflows/ci.yml +0 -42
- package/.github/workflows/deploy-pages.yml +0 -112
- package/CODE_OF_CONDUCT.md +0 -59
- package/CONTRIBUTING.md +0 -156
- package/SECURITY.md +0 -58
- package/app/.generated/routes/alerts.js +0 -8
- package/app/.generated/routes/avatars.js +0 -8
- package/app/.generated/routes/badges.js +0 -8
- package/app/.generated/routes/buttons.js +0 -10
- package/app/.generated/routes/cards.js +0 -10
- package/app/.generated/routes/checkboxes.js +0 -9
- package/app/.generated/routes/chips.js +0 -8
- package/app/.generated/routes/dropdowns.js +0 -9
- package/app/.generated/routes/home.js +0 -7
- package/app/.generated/routes/icons.js +0 -9
- package/app/.generated/routes/inputs.js +0 -10
- package/app/.generated/routes/installation.js +0 -7
- package/app/.generated/routes/layout.js +0 -9
- package/app/.generated/routes/modals.js +0 -9
- package/app/.generated/routes/navbar.js +0 -7
- package/app/.generated/routes/progress.js +0 -9
- package/app/.generated/routes/radios.js +0 -9
- package/app/.generated/routes/switches.js +0 -9
- package/app/.generated/routes/tabs.js +0 -8
- package/app/.generated/routes/toasts.js +0 -9
- package/app/index.html +0 -67
- package/app/pages/alerts.html +0 -23
- package/app/pages/avatars.html +0 -22
- package/app/pages/badges.html +0 -22
- package/app/pages/buttons.html +0 -71
- package/app/pages/cards.html +0 -54
- package/app/pages/checkboxes.html +0 -39
- package/app/pages/chips.html +0 -23
- package/app/pages/dropdowns.html +0 -41
- package/app/pages/home.html +0 -59
- package/app/pages/icons.html +0 -29
- package/app/pages/inputs.html +0 -66
- package/app/pages/installation.html +0 -34
- package/app/pages/layout.html +0 -30
- package/app/pages/modals.html +0 -21
- package/app/pages/navbar.html +0 -22
- package/app/pages/progress.html +0 -35
- package/app/pages/radios.html +0 -40
- package/app/pages/switches.html +0 -39
- package/app/pages/tabs.html +0 -30
- package/app/pages/toasts.html +0 -22
- package/app-dist/index.html +0 -67
- package/app-dist/pages/alerts.html +0 -23
- package/app-dist/pages/avatars.html +0 -22
- package/app-dist/pages/badges.html +0 -22
- package/app-dist/pages/buttons.html +0 -71
- package/app-dist/pages/cards.html +0 -54
- package/app-dist/pages/checkboxes.html +0 -39
- package/app-dist/pages/chips.html +0 -23
- package/app-dist/pages/dropdowns.html +0 -41
- package/app-dist/pages/home.html +0 -59
- package/app-dist/pages/icons.html +0 -29
- package/app-dist/pages/inputs.html +0 -66
- package/app-dist/pages/installation.html +0 -34
- package/app-dist/pages/layout.html +0 -30
- package/app-dist/pages/modals.html +0 -21
- package/app-dist/pages/navbar.html +0 -22
- package/app-dist/pages/progress.html +0 -35
- package/app-dist/pages/radios.html +0 -40
- package/app-dist/pages/switches.html +0 -39
- package/app-dist/pages/tabs.html +0 -30
- package/app-dist/pages/toasts.html +0 -22
- package/app-dist/pages.json +0 -217
- package/app-dist/routes/alerts.js +0 -5
- package/app-dist/routes/avatars.js +0 -1
- package/app-dist/routes/badges.js +0 -1
- package/app-dist/routes/buttons.js +0 -1
- package/app-dist/routes/cards.js +0 -1
- package/app-dist/routes/checkboxes.js +0 -9
- package/app-dist/routes/chips.js +0 -4
- package/app-dist/routes/chunk-019e5e2f.js +0 -5
- package/app-dist/routes/chunk-0m4j19yd.js +0 -2
- package/app-dist/routes/chunk-0tmmp5q0.js +0 -1
- package/app-dist/routes/chunk-10xn709r.js +0 -1
- package/app-dist/routes/chunk-15m2qcda.js +0 -2
- package/app-dist/routes/chunk-1bh8g23n.js +0 -1
- package/app-dist/routes/chunk-1vg0v937.js +0 -1
- package/app-dist/routes/chunk-1zvcgy3j.js +0 -1
- package/app-dist/routes/chunk-2afb0861.js +0 -1
- package/app-dist/routes/chunk-2c6ttpzt.js +0 -5
- package/app-dist/routes/chunk-3dy30fhs.js +0 -1
- package/app-dist/routes/chunk-426dnces.js +0 -13
- package/app-dist/routes/chunk-44kgxery.js +0 -1
- package/app-dist/routes/chunk-47fdnejd.js +0 -33
- package/app-dist/routes/chunk-49a6t2vq.js +0 -1
- package/app-dist/routes/chunk-4fe1rm5b.js +0 -1
- package/app-dist/routes/chunk-4ggmvkta.js +0 -33
- package/app-dist/routes/chunk-4vkz81q7.js +0 -33
- package/app-dist/routes/chunk-4w4tmj8f.js +0 -31
- package/app-dist/routes/chunk-532s62kr.js +0 -31
- package/app-dist/routes/chunk-5hm3bssy.js +0 -33
- package/app-dist/routes/chunk-5vrh24hc.js +0 -1
- package/app-dist/routes/chunk-61pcg25a.js +0 -1
- package/app-dist/routes/chunk-6nfhygvf.js +0 -1
- package/app-dist/routes/chunk-700e7je6.js +0 -33
- package/app-dist/routes/chunk-7fsn17kg.js +0 -1
- package/app-dist/routes/chunk-7k789b32.js +0 -1
- package/app-dist/routes/chunk-7r46q0ys.js +0 -36
- package/app-dist/routes/chunk-86fmc1fr.js +0 -5
- package/app-dist/routes/chunk-8qth37vw.js +0 -1
- package/app-dist/routes/chunk-924wv8n0.js +0 -1
- package/app-dist/routes/chunk-9mbhgxk9.js +0 -1
- package/app-dist/routes/chunk-a216hyd9.js +0 -1
- package/app-dist/routes/chunk-akzxykh9.js +0 -33
- package/app-dist/routes/chunk-b3dcvy8c.js +0 -1
- package/app-dist/routes/chunk-b74zahz5.js +0 -31
- package/app-dist/routes/chunk-bftj53p2.js +0 -5
- package/app-dist/routes/chunk-c01hnz3e.js +0 -1
- package/app-dist/routes/chunk-d8pvv5km.js +0 -1
- package/app-dist/routes/chunk-dev0aezr.js +0 -2
- package/app-dist/routes/chunk-dh6vnv0e.js +0 -1
- package/app-dist/routes/chunk-dn2cbpva.js +0 -36
- package/app-dist/routes/chunk-dvn0my90.js +0 -1
- package/app-dist/routes/chunk-dvq8mnve.js +0 -36
- package/app-dist/routes/chunk-e8c2gc4d.js +0 -5
- package/app-dist/routes/chunk-ejf9ak2x.js +0 -1
- package/app-dist/routes/chunk-f083m55s.js +0 -1
- package/app-dist/routes/chunk-fnrj28s1.js +0 -31
- package/app-dist/routes/chunk-fvg3yjdp.js +0 -31
- package/app-dist/routes/chunk-g7k381n1.js +0 -1
- package/app-dist/routes/chunk-h01kq2ae.js +0 -13
- package/app-dist/routes/chunk-h4dk761v.js +0 -5
- package/app-dist/routes/chunk-hmx91z2x.js +0 -5
- package/app-dist/routes/chunk-hxbg4m42.js +0 -36
- package/app-dist/routes/chunk-jbjnfp2b.js +0 -2
- package/app-dist/routes/chunk-jxtz5vv6.js +0 -36
- package/app-dist/routes/chunk-jxzcs0ey.js +0 -36
- package/app-dist/routes/chunk-kt7wwhcx.js +0 -1
- package/app-dist/routes/chunk-kzptszyc.js +0 -33
- package/app-dist/routes/chunk-mhgca4w4.js +0 -2
- package/app-dist/routes/chunk-mhswxa20.js +0 -1
- package/app-dist/routes/chunk-n8zfeex6.js +0 -1
- package/app-dist/routes/chunk-pee47b2r.js +0 -1
- package/app-dist/routes/chunk-pesmw829.js +0 -1
- package/app-dist/routes/chunk-pgc4c6f3.js +0 -36
- package/app-dist/routes/chunk-q8egegm1.js +0 -1
- package/app-dist/routes/chunk-q9mn2qyq.js +0 -36
- package/app-dist/routes/chunk-qh0rtaf3.js +0 -5
- package/app-dist/routes/chunk-qqhmk6ye.js +0 -2
- package/app-dist/routes/chunk-qrxygmf7.js +0 -33
- package/app-dist/routes/chunk-r46yzksx.js +0 -36
- package/app-dist/routes/chunk-rgpbw2w0.js +0 -5
- package/app-dist/routes/chunk-rnpzv3d8.js +0 -2
- package/app-dist/routes/chunk-s5v8cv05.js +0 -2
- package/app-dist/routes/chunk-sbwn5bpc.js +0 -1
- package/app-dist/routes/chunk-sqbg8jbt.js +0 -33
- package/app-dist/routes/chunk-sv8dqnf7.js +0 -1
- package/app-dist/routes/chunk-t67sw3za.js +0 -1
- package/app-dist/routes/chunk-tjdpqwdf.js +0 -31
- package/app-dist/routes/chunk-tq2mfghg.js +0 -1
- package/app-dist/routes/chunk-ttn10vt6.js +0 -1
- package/app-dist/routes/chunk-v2hzpjxr.js +0 -1
- package/app-dist/routes/chunk-wfjjkw9y.js +0 -1
- package/app-dist/routes/chunk-wt8cxzmf.js +0 -31
- package/app-dist/routes/chunk-x45d372k.js +0 -5
- package/app-dist/routes/chunk-y3wsazkt.js +0 -1
- package/app-dist/routes/chunk-y7pmgc7t.js +0 -33
- package/app-dist/routes/chunk-zefdt2q3.js +0 -31
- package/app-dist/routes/dropdowns.js +0 -6
- package/app-dist/routes/home.js +0 -1
- package/app-dist/routes/icons.js +0 -1
- package/app-dist/routes/inputs.js +0 -12
- package/app-dist/routes/installation.js +0 -1
- package/app-dist/routes/layout.js +0 -1
- package/app-dist/routes/modals.js +0 -7
- package/app-dist/routes/navbar.js +0 -1
- package/app-dist/routes/progress.js +0 -1
- package/app-dist/routes/radios.js +0 -6
- package/app-dist/routes/switches.js +0 -6
- package/app-dist/routes/tabs.js +0 -1
- package/app-dist/routes/toasts.js +0 -16
- package/assets/fonts/material-symbols-mini.woff2 +0 -0
- package/assets/fonts/material-symbols.woff2 +0 -0
- package/assets/fonts/roboto-400.woff2 +0 -0
- package/assets/fonts/roboto-500.woff2 +0 -0
- package/assets/fonts/roboto-700.woff2 +0 -0
- package/assets/logo-banner-400.jpg +0 -0
- package/assets/logo-banner-400.webp +0 -0
- package/assets/logo-banner-800.webp +0 -0
- package/assets/logo-banner.jpg +0 -0
- package/assets/logo-icon-64.jpg +0 -0
- package/assets/logo-icon-64.webp +0 -0
- package/assets/logo-icon.jpg +0 -0
- package/assets/logo-square.jpg +0 -0
- package/bun.lock +0 -312
- package/bunfig.toml +0 -4
- package/custom-elements.json +0 -1916
- package/demo/api/sample-data.json +0 -38
- package/demo/content/alerts.html +0 -115
- package/demo/content/avatars.html +0 -70
- package/demo/content/badges.html +0 -65
- package/demo/content/buttons.html +0 -188
- package/demo/content/callouts.html +0 -91
- package/demo/content/cards.html +0 -121
- package/demo/content/checkboxes.html +0 -178
- package/demo/content/chips.html +0 -67
- package/demo/content/codeblocks.html +0 -101
- package/demo/content/confirms.html +0 -115
- package/demo/content/datatables.html +0 -149
- package/demo/content/dividers.html +0 -119
- package/demo/content/dropdowns.html +0 -89
- package/demo/content/enterprise.html +0 -252
- package/demo/content/home.html +0 -149
- package/demo/content/icons.html +0 -89
- package/demo/content/inputs.html +0 -135
- package/demo/content/installation.html +0 -16
- package/demo/content/layout.html +0 -136
- package/demo/content/modals.html +0 -141
- package/demo/content/navbar.html +0 -70
- package/demo/content/progress.html +0 -119
- package/demo/content/radios.html +0 -88
- package/demo/content/skeletons.html +0 -109
- package/demo/content/spinners.html +0 -96
- package/demo/content/switches.html +0 -84
- package/demo/content/tables.html +0 -124
- package/demo/content/tabs.html +0 -85
- package/demo/content/toasts.html +0 -116
- package/demo/content/tooltips.html +0 -107
- package/demo/content/virtual-lists.html +0 -233
- package/demo/favicon.ico +0 -0
- package/demo/favicon.png +0 -0
- package/demo/full.html +0 -52
- package/demo/iife.html +0 -46
- package/demo/manifest.json +0 -34
- package/demo/pages/datatable-demo.html +0 -237
- package/demo/pages/prompt-ui-demo.html +0 -218
- package/demo/pages/responsive-demo.html +0 -122
- package/demo/pages/schema-form-demo.html +0 -270
- package/demo/robots.txt +0 -6
- package/demo/shell.html +0 -712
- package/demo/sw.js +0 -387
- package/lighthouse-audit.mjs +0 -113
- package/scripts/analyze-components.js +0 -105
- package/scripts/build-app.js +0 -193
- package/scripts/build-framework.js +0 -444
- package/scripts/build-utils.js +0 -101
- package/scripts/test-isolated.js +0 -151
- package/server.js +0 -256
- package/tests/agents/agent-integration.test.js +0 -76
- package/tests/benchmark.html +0 -296
- package/tests/build/scan-components.test.js +0 -173
- package/tests/components/all-components.test.js +0 -245
- package/tests/components/all-missing-components.test.js +0 -574
- package/tests/components/mu-alert.test.js +0 -113
- package/tests/components/mu-avatar.test.js +0 -148
- package/tests/components/mu-badge.test.js +0 -92
- package/tests/components/mu-button.test.js +0 -112
- package/tests/components/mu-card.test.js +0 -89
- package/tests/components/mu-checkbox.test.js +0 -158
- package/tests/components/mu-chip.test.js +0 -118
- package/tests/components/mu-container.test.js +0 -120
- package/tests/components/mu-divider.test.js +0 -98
- package/tests/components/mu-drawer-item.test.js +0 -199
- package/tests/components/mu-drawer.test.js +0 -96
- package/tests/components/mu-dropdown.test.js +0 -125
- package/tests/components/mu-form.test.js +0 -138
- package/tests/components/mu-grid.test.js +0 -135
- package/tests/components/mu-icon.test.js +0 -110
- package/tests/components/mu-input.test.js +0 -131
- package/tests/components/mu-lazy.test.js +0 -103
- package/tests/components/mu-modal.test.js +0 -275
- package/tests/components/mu-navbar.test.js +0 -101
- package/tests/components/mu-progress.test.js +0 -115
- package/tests/components/mu-radio.test.js +0 -114
- package/tests/components/mu-repeat.test.js +0 -106
- package/tests/components/mu-sidebar.test.js +0 -126
- package/tests/components/mu-skeleton.test.js +0 -162
- package/tests/components/mu-stack.test.js +0 -143
- package/tests/components/mu-switch.test.js +0 -292
- package/tests/components/mu-table.test.js +0 -124
- package/tests/components/mu-tabs.test.js +0 -104
- package/tests/components/mu-textarea.test.js +0 -115
- package/tests/components/mu-toast.test.js +0 -321
- package/tests/components/mu-tooltip.test.js +0 -133
- package/tests/components/mu-virtual-list.test.js +0 -109
- package/tests/core/MuElement.test.js +0 -120
- package/tests/core/agent-api.test.js +0 -125
- package/tests/core/all-core-modules.test.js +0 -442
- package/tests/core/bus.test.js +0 -364
- package/tests/core/component-schema.test.js +0 -160
- package/tests/core/feature-registry.test.js +0 -198
- package/tests/core/form-state.test.js +0 -167
- package/tests/core/http.test.js +0 -119
- package/tests/core/keyboard.test.js +0 -319
- package/tests/core/layers.test.js +0 -129
- package/tests/core/namespaced-stores.test.js +0 -114
- package/tests/core/render.test.js +0 -121
- package/tests/core/ripple.test.js +0 -131
- package/tests/core/router.test.js +0 -89
- package/tests/core/scheduler.test.js +0 -121
- package/tests/core/signals.test.js +0 -128
- package/tests/core/store.test.js +0 -171
- package/tests/core/transitions.test.js +0 -82
- package/tests/e2e/accessibility-harness.html +0 -58
- package/tests/e2e/accessibility.test.js +0 -401
- package/tests/e2e/agent-features.test.js +0 -372
- package/tests/e2e/card-spacing.test.js +0 -287
- package/tests/e2e/components.test.js +0 -439
- package/tests/e2e/demo-routes.test.js +0 -478
- package/tests/e2e/layout-css-fallback.test.js +0 -334
- package/tests/e2e/mu-alert.e2e.test.js +0 -111
- package/tests/e2e/mu-checkbox.test.js +0 -489
- package/tests/e2e/mu-chip.test.js +0 -347
- package/tests/e2e/mu-form.test.js +0 -499
- package/tests/e2e/mu-icon.test.js +0 -114
- package/tests/e2e/mu-radio.test.js +0 -113
- package/tests/e2e/mu-skeleton.test.js +0 -140
- package/tests/e2e/mu-switch.test.js +0 -415
- package/tests/e2e/mu-tabs.test.js +0 -494
- package/tests/e2e/mu-textarea.test.js +0 -242
- package/tests/e2e/mu-virtual-list.test.js +0 -427
- package/tests/e2e/perf-memory.test.js +0 -161
- package/tests/e2e/puppeteer-helper.js +0 -137
- package/tests/e2e/puppeteer.test.js +0 -226
- package/tests/e2e/pwa.test.js +0 -261
- package/tests/e2e/test-harness.html +0 -319
- package/tests/manual/test-components.html +0 -120
- package/tests/memory-test.html +0 -309
- package/tests/setup-dom.js +0 -93
- package/tests/visual-test.html +0 -301
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import"./chunk-7k789b32.js";import"./chunk-h01kq2ae.js";import"./chunk-7r46q0ys.js";import"./chunk-tjdpqwdf.js";import"./chunk-1zvcgy3j.js";import{b as X,c as J}from"./chunk-rnpzv3d8.js";var f=Symbol("listeners"),z=Symbol("subCounter"),R=Symbol("maxListeners"),m=Symbol("fastCache"),P=Object.freeze({peerId:"self",origin:typeof globalThis.location<"u"?globalThis.location.origin:"unknown",type:"local"});class M{constructor(){this[f]=new Map,this[z]=0,this[R]=10,this[m]=Object.create(null)}setMaxListeners(e){return this[R]=e,this}getMaxListeners(){return this[R]}on(e,t,s={}){if(typeof e!=="string")throw TypeError("Signal name must be a string");if(typeof t!=="function")throw TypeError("Handler must be a function");let r=`sub_${++this[z]}`,i={id:r,handler:t,priority:s.priority??0,mode:s.mode??"async",once:s.once??!1,signal:s.signal??null};if(!this[f].has(e))this[f].set(e,[]);let n=this[f].get(e);if(n.length===0||i.priority<=n[n.length-1].priority)n.push(i);else{let u=0,g=n.length;while(u<g){let T=u+g>>>1;if(n[T].priority>=i.priority)u=T+1;else g=T}n.splice(u,0,i)}this[m][e]=n.map((u)=>u.handler);let o=this[R];if(o>0&&n.length>o)console.warn(`[SignalBus] Possible memory leak: ${n.length} listeners for "${e}". Use setMaxListeners(n) to increase limit.`);let l=!0,h={id:r,signalName:e,get active(){return l},unsubscribe:()=>{if(l)this.#t(e,r),l=!1}};if(i.signal)if(i.signal.aborted)this.#t(e,r),l=!1;else i.signal.addEventListener("abort",()=>{h.unsubscribe()},{once:!0});return h}once(e,t,s={}){return this.on(e,t,{...s,once:!0})}onFast(e,t){return(this[m][e]||=[]).push(t),()=>{this[m][e]=this[m][e]?.filter((s)=>s!==t)}}offFast(e,t){let s=this[m][e];if(s){let i=s.indexOf(t);if(i!==-1)s.splice(i,1)}let r=this[f].get(e);if(r){let i=r.findIndex((n)=>n.handler===t);if(i!==-1)r.splice(i,1)}}off(e,t){if(typeof e!=="string")throw TypeError("Signal name must be a string");let s=this[f].get(e);if(!s||s.length===0)return{success:!1,removedCount:0,remainingCount:0};let r=0;if(t===void 0)r=s.length,this[f].delete(e),delete this[m][e];else{let n=s.length,o=s.filter((l)=>l.handler!==t);if(r=n-o.length,o.length===0)this[f].delete(e),delete this[m][e];else this[f].set(e,o),this[m][e]=o.map((l)=>l.handler)}let i=this[f].get(e)?.length??0;return{success:r>0,removedCount:r,remainingCount:i}}emitSync(e,t){let s=this[m][e];if(!s)return 0;let r=s.length;if(r===1)return s[0](t),1;if(r===2)return s[0](t),s[1](t),2;if(r===3)return s[0](t),s[1](t),s[2](t),3;if(r===4)return s[0](t),s[1](t),s[2](t),s[3](t),4;for(let i=0;i<r;i++)s[i](t);return r}async emit(e,t,s){if(typeof e!=="string")throw TypeError("Signal name must be a string");let r=this[f].get(e),i=this[f].has("*");if(r?.length===1&&!i&&!s){let h=r[0],u={name:e,data:t,messageId:crypto.randomUUID(),timestamp:Date.now(),source:P};try{if(h.mode==="sync")await h.handler(u);else Promise.resolve().then(()=>h.handler(u))}catch(g){console.error(`[SignalBus] Handler error for "${e}":`,g)}if(h.once)this.#t(e,h.id);return 1}let n={name:e,data:t,messageId:crypto.randomUUID(),timestamp:Date.now(),source:s?{...P,...s}:P},o=this.#e(e),l=[];for(let{signalName:h,entry:u}of o){try{if(u.mode==="sync")await u.handler(n);else Promise.resolve().then(()=>u.handler(n))}catch(g){console.error(`[SignalBus] Handler error for "${e}":`,g)}if(u.once)l.push({signalName:h,id:u.id})}for(let{signalName:h,id:u}of l)this.#t(h,u);return o.length}hasListeners(e){let t=this[f].get(e);return t!==void 0&&t.length>0}listenerCount(e){return this[f].get(e)?.length??0}getSignalNames(){return Array.from(this[f].keys())}clear(){this[f].clear();for(let e in this[m])delete this[m][e]}#e(e){let t=this[f].get(e),s=this[f].get("*"),r=null,i=e.indexOf(":");if(i>0){let l=e.slice(0,i+1)+"*";r=this[f].get(l)}if(t&&!s&&!r)return t.map((l)=>({signalName:e,entry:l}));let n=[t&&{signalName:e,entries:t},s&&{signalName:"*",entries:s},r&&{signalName:e.slice(0,i+1)+"*",entries:r}].filter(Boolean);if(n.length===0)return[];if(n.length===1)return n[0].entries.map((l)=>({signalName:n[0].signalName,entry:l}));let o=[];for(let{signalName:l,entries:h}of n)for(let u of h)o.push({signalName:l,entry:u});return o.sort((l,h)=>h.entry.priority-l.entry.priority),o}#t(e,t){let s=this[f].get(e);if(!s)return;let r=s.filter((i)=>i.id!==t);if(r.length===0)this[f].delete(e),delete this[m][e];else this[f].set(e,r),this[m][e]=r.map((i)=>i.handler)}}var y="_sb",E=1,d=Object.freeze({SIGNAL:"sig",REQUEST:"req",RESPONSE:"res",ACK:"ack",HANDSHAKE:"hsk",HANDSHAKE_INIT:"hsk_init",HANDSHAKE_ACK:"hsk_ack",HANDSHAKE_COMPLETE:"hsk_done",PING:"png",PONG:"pog",BYE:"bye",BROADCAST:"bc"}),k=Object.freeze({INIT:"init",INIT_SENT:"init_sent",ACK:"ack",ACK_SENT:"ack_sent",DONE:"done"}),U=Object.freeze({CONNECTING:"connecting",CONNECTED:"connected",DISCONNECTED:"disconnected",RECONNECTING:"reconnecting",FAILED:"failed"}),Se=Object.freeze({IFRAME:"iframe",WORKER:"worker",SERVICE_WORKER:"sw",WINDOW:"window",PORT:"port"}),we=Object.freeze({LOCAL:"local",SENT:"sent",ACKED:"acked",QUEUED:"queued",TIMEOUT:"timeout",FAILED:"failed"});function b(e){return e!==null&&typeof e==="object"&&e[y]===E&&typeof e.id==="string"&&(typeof e.type==="string"||typeof e.t==="string")}function ne(e){if(e instanceof ArrayBuffer)return!0;if(e instanceof MessagePort)return!0;if(typeof ImageBitmap<"u"&&e instanceof ImageBitmap)return!0;if(typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas)return!0;if(typeof ReadableStream<"u"&&e instanceof ReadableStream)return!0;if(typeof WritableStream<"u"&&e instanceof WritableStream)return!0;if(typeof TransformStream<"u"&&e instanceof TransformStream)return!0;return!1}function D(e,t=new Set){if(e===null||e===void 0)return Array.from(t);if(ne(e))return t.add(e),Array.from(t);if(Array.isArray(e))for(let s of e)D(s,t);else if(typeof e==="object")for(let s of Object.keys(e))D(e[s],t);return Array.from(t)}function G(e,t,s={},r=null){return Object.freeze({[y]:E,version:E,id:r||crypto.randomUUID(),type:e,timestamp:Date.now(),payload:Object.freeze({...t}),meta:Object.freeze({...s})})}function ae(e,t,s,r=null){return G(d.SIGNAL,{name:e,data:t,source:s,dest:r})}function oe(e,t,s,r,i=null){return G(d.REQUEST,{name:e,data:t,source:s,dest:r},{},i)}function O(e,t,s,r=!0,i=null){return G(d.RESPONSE,{requestId:e,data:t,source:s,success:r,error:i})}var a=Object.freeze({HANDSHAKE_TIMEOUT:"ERR_HANDSHAKE_TIMEOUT",HANDSHAKE_REJECTED:"ERR_HANDSHAKE_REJECTED",ORIGIN_FORBIDDEN:"ERR_ORIGIN_FORBIDDEN",PEER_EXISTS:"ERR_PEER_EXISTS",PEER_NOT_FOUND:"ERR_PEER_NOT_FOUND",PEER_DISCONNECTED:"ERR_PEER_DISCONNECTED",RECONNECT_FAILED:"ERR_RECONNECT_FAILED",UNSUPPORTED:"ERR_UNSUPPORTED",NOT_CONNECTED:"ERR_NOT_CONNECTED",ACK_TIMEOUT:"ERR_ACK_TIMEOUT",RESPONSE_TIMEOUT:"ERR_RESPONSE_TIMEOUT",QUEUE_FULL:"ERR_QUEUE_FULL",INVALID_MESSAGE:"ERR_INVALID_MESSAGE",VERSION_MISMATCH:"ERR_VERSION_MISMATCH",CLONE_ERROR:"ERR_CLONE_ERROR",TRANSFER_ERROR:"ERR_TRANSFER_ERROR",MESSAGE_TOO_LARGE:"ERR_MESSAGE_TOO_LARGE",UNREACHABLE:"ERR_UNREACHABLE",TTL_EXCEEDED:"ERR_TTL_EXCEEDED",NO_ROUTE:"ERR_NO_ROUTE",NO_HANDLER:"ERR_NO_HANDLER",HANDLER_ERROR:"ERR_HANDLER_ERROR",HANDLER_TIMEOUT:"ERR_HANDLER_TIMEOUT",HANDLER_EXISTS:"ERR_HANDLER_EXISTS",SEND_FAILED:"ERR_SEND_FAILED",CHANNEL_FAILED:"ERR_CHANNEL_FAILED",CHANNEL_CLOSED:"ERR_CHANNEL_CLOSED",MAX_PEERS:"ERR_MAX_PEERS",MAX_PENDING:"ERR_MAX_PENDING",DESTROYED:"ERR_DESTROYED",CIRCUIT_OPEN:"ERR_CIRCUIT_OPEN",PAYLOAD_TOO_LARGE:"ERR_PAYLOAD_TOO_LARGE",RATE_LIMITED:"ERR_RATE_LIMITED",UNAUTHORIZED:"ERR_UNAUTHORIZED",INVALID_PAYLOAD:"ERR_INVALID_PAYLOAD"}),le=Object.freeze({[a.HANDSHAKE_TIMEOUT]:{message:"Handshake timed out",retryable:!0,suggestion:"Increase timeout or check if target is loaded. Use iframe.onload before connecting."},[a.HANDSHAKE_REJECTED]:{message:"Handshake rejected by peer",retryable:!1,suggestion:"Check targetOrigin matches the peer's origin. Verify peer allows your origin."},[a.ORIGIN_FORBIDDEN]:{message:"Origin not in allowed origins list",retryable:!1,suggestion:'Add your origin to allowedOrigins option or use targetOrigin: "*" for development.'},[a.PEER_EXISTS]:{message:"Peer with this ID already exists",retryable:!1,suggestion:"Use unique peerId for each context. Try: peerId: `agent-${Date.now()}`"},[a.PEER_NOT_FOUND]:{message:"Peer not found",retryable:!1,suggestion:"Check if peer is connected using bus.peers. Wait for peer connection before request."},[a.PEER_DISCONNECTED]:{message:"Peer is disconnected",retryable:!0,suggestion:'Wait for peer to reconnect. Listen for "peer:join" event before retry.'},[a.RECONNECT_FAILED]:{message:"Max reconnection attempts reached",retryable:!1,suggestion:"Check network connectivity. Consider increasing maxRetries option."},[a.UNSUPPORTED]:{message:"Operation not supported by this environment",retryable:!1,suggestion:"This feature requires a browser environment. Check for feature availability first."},[a.NOT_CONNECTED]:{message:"Transport is not connected",retryable:!0,suggestion:"Call addTransport() and wait for connection before sending messages."},[a.ACK_TIMEOUT]:{message:"ACK not received within timeout",retryable:!0,suggestion:"Increase ackTimeout option or check peer availability."},[a.RESPONSE_TIMEOUT]:{message:"Response not received within timeout",retryable:!0,suggestion:"Increase timeout in request options: { timeout: 10000 }. Check if handler exists on peer."},[a.QUEUE_FULL]:{message:"Message queue is full",retryable:!1,suggestion:"Increase maxQueueSize or wait for queue to drain. Consider using batching plugin."},[a.INVALID_MESSAGE]:{message:"Invalid message format",retryable:!1,suggestion:"Ensure message data is JSON-serializable. Avoid DOM nodes and functions."},[a.VERSION_MISMATCH]:{message:"Protocol version mismatch",retryable:!1,suggestion:"Update SignalBus to same version on both sides."},[a.CLONE_ERROR]:{message:"Data cannot be cloned (contains functions or DOM nodes)",retryable:!1,suggestion:"Remove functions, DOM nodes, and circular references from message data."},[a.TRANSFER_ERROR]:{message:"Failed to transfer object ownership",retryable:!1,suggestion:"Ensure ArrayBuffers are not detached. Each buffer can only be transferred once."},[a.MESSAGE_TOO_LARGE]:{message:"Message exceeds maximum size",retryable:!1,suggestion:"Use streaming for large payloads or increase maxMessageSize option."},[a.UNREACHABLE]:{message:"Destination peer is unreachable",retryable:!0,suggestion:"Check if peer is still connected. Use bus.peers to list available peers."},[a.TTL_EXCEEDED]:{message:"Message TTL exceeded (possible routing loop)",retryable:!1,suggestion:"Check for circular transport configurations. Increase maxTTL if needed."},[a.NO_ROUTE]:{message:"No route to destination",retryable:!1,suggestion:"Add transport connecting to target peer. Set isHub: true on orchestrator."},[a.NO_HANDLER]:{message:"No handler registered for this request",retryable:!1,suggestion:'Register handler on target: bus.handle("handlerName", fn). Check handler name spelling.'},[a.HANDLER_ERROR]:{message:"Handler threw an exception",retryable:!1,suggestion:"Check target peer logs for error. Wrap handler in try/catch."},[a.HANDLER_TIMEOUT]:{message:"Handler did not respond within timeout",retryable:!0,suggestion:"Handler is slow. Increase timeout or optimize handler performance."},[a.HANDLER_EXISTS]:{message:"Handler already registered with this name",retryable:!1,suggestion:"Use different handler name or call bus.removeHandler() first."},[a.SEND_FAILED]:{message:"Failed to send message to peer",retryable:!0,suggestion:"Check transport status. Target window may be closed or blocked."},[a.CHANNEL_FAILED]:{message:"Failed to create direct channel",retryable:!0,suggestion:"Check browser support for MessageChannel. Retry after short delay."},[a.CHANNEL_CLOSED]:{message:"Channel was closed unexpectedly",retryable:!1,suggestion:"Target context was destroyed. Check if iframe/worker still exists."},[a.MAX_PEERS]:{message:"Maximum number of peers reached",retryable:!1,suggestion:"Increase maxPeers option or disconnect unused peers first."},[a.MAX_PENDING]:{message:"Maximum pending requests reached",retryable:!1,suggestion:"Wait for pending requests to complete. Increase maxPendingRequests option."},[a.DESTROYED]:{message:"SignalBus instance has been destroyed",retryable:!1,suggestion:"Create new SignalBus instance. Do not use bus after calling destroy()."},[a.CIRCUIT_OPEN]:{message:"Circuit breaker is open",retryable:!1,suggestion:"Too many failures. Wait for circuit to reset or call circuit.reset()."},[a.PAYLOAD_TOO_LARGE]:{message:"Payload exceeds maximum allowed size",retryable:!1,suggestion:"Reduce payload size or increase maxPayloadSize option. Consider using streaming for large data."},[a.RATE_LIMITED]:{message:"Request rate limit exceeded",retryable:!0,suggestion:"Wait before retrying. Consider adding delay or using exponential backoff."},[a.UNAUTHORIZED]:{message:"Peer is not authorized to call this handler",retryable:!1,suggestion:"Add peer to handler allowedPeers list or remove peer restrictions."},[a.INVALID_PAYLOAD]:{message:"Payload validation failed",retryable:!1,suggestion:"Check payload structure against handler requirements."}});class c extends Error{code;details;retryable;cause;timestamp;constructor(e,t,s={}){let r=le[e]??{message:"Unknown error",retryable:!1};super(t??r.message);if(this.name="SignalBusError",this.code=e,this.details=s.details??{},this.retryable=s.retryable??r.retryable,this.cause=s.cause,this.timestamp=Date.now(),Error.captureStackTrace)Error.captureStackTrace(this,c)}static from(e,t={}){return new c(e,void 0,{details:t})}static wrap(e,t,s={}){return new c(e,t.message,{cause:t,details:s})}toJSON(){return{name:this.name,code:this.code,message:this.message,details:this.details,retryable:this.retryable,timestamp:this.timestamp}}toString(){return`${this.name} [${this.code}]: ${this.message}`}}function w(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e)=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function j(){if(typeof Promise.withResolvers==="function")return Promise.withResolvers();let e,t;return{promise:new Promise((s,r)=>{e=s,t=r}),resolve:e,reject:t}}function q(e,t,s="Operation timed out"){return Promise.race([e,new Promise((r,i)=>{setTimeout(()=>i(Error(s)),t)})])}class K extends M{#e=new Map;#t=0;#s=new Map;#i=Object.create(null);#r=Object.create(null);#n=[];constructor(){super()}addPeer(e,t,s={}){if(this.#e.has(e))throw c.from(a.PEER_EXISTS,{peerId:e});if(typeof t!=="function")throw TypeError("sendFn must be a function");let r={peerId:e,sendFn:t,meta:s.meta??{},origin:s.origin??"unknown",status:U.CONNECTED,connectedAt:Date.now()};this.#e.set(e,r),this.#s.set(e,0),this.#i[e]=r,this.#r[e]=t,this.#n.push(e),this.emit("peer:added",{peerId:e,meta:r.meta})}removePeer(e){let t=this.#i[e];if(!t)return!1;this.#e.delete(e),this.#s.delete(e),delete this.#i[e],delete this.#r[e];let s=this.#n.indexOf(e);if(s!==-1)this.#n.splice(s,1);return this.emit("peer:removed",{peerId:e,meta:t.meta}),!0}getPeer(e){return this.#i[e]}getPeerIds(){return this.#n.slice()}get peerCount(){return this.#e.size}route(e,t={}){let{target:s,payload:r}=e;if(s)return this.#a(s,r);else{let i=t.exclude,n=i?.length?new Set(i):null;return this.#o(r,n)}}broadcast(e,t={}){let s=t.exclude,r=s?.length?new Set(s):null,i=t.include,n=i?.length?new Set(i):null,o=0,l=[];for(let[h,u]of this.#e){if(r?.has(h))continue;if(n&&!n.has(h))continue;if(u.status!==U.CONNECTED)continue;try{let g=this.#l(h,e,d.BROADCAST);u.sendFn(g),o++}catch(g){console.error(`[Router] Failed to send to ${h}:`,g),l.push(h)}}return{success:l.length===0,delivered:o,failed:l}}getSequence(e){return this.#s.get(e)??0}setPeerStatus(e,t){let s=this.#i[e];if(s)s.status=t,this.emit("peer:status",{peerId:e,status:t})}clearPeers(){let e=this.#n.slice();for(let t of e)this.removePeer(t)}#a(e,t){let s=this.#i[e];if(!s)return{success:!1,delivered:0,failed:[e],error:a.PEER_NOT_FOUND};if(s.status!==U.CONNECTED)return{success:!1,delivered:0,failed:[e],error:a.PEER_DISCONNECTED};try{let r=t&&t._sb?t:this.#l(e,t,d.SIGNAL);return s.sendFn(r),{success:!0,delivered:1,failed:[]}}catch(r){return console.error(`[Router] Failed to send to ${e}:`,r),{success:!1,delivered:0,failed:[e]}}}#o(e,t){return this.broadcast(e,t?{exclude:Array.from(t)}:{})}#l(e,t,s){let r=(this.#s.get(e)??0)+1;return this.#s.set(e,r),{id:`msg_${++this.#t}`,t:s,ts:Date.now(),seq:r,p:t}}}class F{#e=new Map;#t=Object.create(null);#s=0;#i;#r;constructor(e={}){this.#i=e.defaultTimeout??30000,this.#r=e.maxPending??1000}create(e,t,s={}){if(this.#r>0&&this.#e.size>=this.#r)throw c.from(a.MAX_PENDING,{current:this.#e.size,max:this.#r,targetPeer:e,handlerName:t});let r=Date.now(),i=`req_${++this.#s}_${r}`,n=s.timeout??this.#i,{promise:o,resolve:l,reject:h}=j(),u={id:i,targetPeer:e,handlerName:t,createdAt:r,timeout:n,resolve:l,reject:h,defaultValue:s.defaultValue};this.#e.set(i,u),this.#t[i]=u;let g=q(o,n).catch((T)=>{if(i in this.#t){if(this.#e.delete(i),delete this.#t[i],"defaultValue"in s)return s.defaultValue;throw c.from(a.RESPONSE_TIMEOUT,{requestId:i,targetPeer:e,handlerName:t,timeout:n})}throw T});return{requestId:i,promise:g}}resolve(e,t){let s=this.#t[e];if(!s)return!1;if(this.#e.delete(e),delete this.#t[e],t.success)s.resolve(t.data);else{let r=c.from(t.error?.code??a.HANDLER_ERROR,{requestId:e,targetPeer:s.targetPeer,handlerName:s.handlerName,originalError:t.error});r.message=t.error?.message??"Handler error",s.reject(r)}return!0}reject(e,t){let s=this.#t[e];if(!s)return!1;this.#e.delete(e),delete this.#t[e];let r=t instanceof Error?t:Error(t);return s.reject(r),!0}cancel(e){let t=this.#t[e];if(!t)return!1;return this.#e.delete(e),delete this.#t[e],t.reject(Error("Request cancelled")),!0}cancelForPeer(e){let t=0;for(let[s,r]of this.#e)if(r.targetPeer===e)this.#e.delete(s),delete this.#t[s],r.reject(c.from(a.PEER_DISCONNECTED,{peerId:e,requestId:s})),t++;return t}cancelAll(){let e=this.#e.size;for(let[t,s]of this.#e)s.reject(Error("All requests cancelled"));this.#e.clear();for(let t in this.#t)delete this.#t[t];return e}has(e){return e in this.#t}get(e){return this.#t[e]}get size(){return this.#e.size}getRequestIds(){return Array.from(this.#e.keys())}getForPeer(e){let t=[];for(let s of this.#e.values())if(s.targetPeer===e)t.push(s);return t}}class Q{#e;#t;#s;#i;#r=new Map;constructor(e={}){this.#e=e.peerId??w(),this.#t=e.meta??{},this.#s=e.capabilities??[],this.#i=e.timeout??1e4}get peerId(){return this.#e}createInitMessage(){return{type:d.HANDSHAKE_INIT,handshakeId:w(),peerId:this.#e,meta:this.#t,capabilities:this.#s,timestamp:Date.now()}}createAckMessage(e,t,s){return{type:d.HANDSHAKE_ACK,handshakeId:e.handshakeId,peerId:this.#e,meta:this.#t,capabilities:this.#s,accept:t,reason:t?void 0:s,timestamp:Date.now()}}createCompleteMessage(e){return{type:d.HANDSHAKE_COMPLETE,handshakeId:e,confirmed:!0,timestamp:Date.now()}}async initiate(e){let t=this.createInitMessage(),{promise:s,resolve:r,reject:i}=j();this.#r.set(t.handshakeId,{phase:k.INIT_SENT,resolve:r,reject:i,initMsg:t,startTime:Date.now()}),e(t);try{return await q(s,this.#i)}catch(n){if(this.#r.delete(t.handshakeId),n.code===a.HANDSHAKE_TIMEOUT)return{success:!1,error:a.HANDSHAKE_TIMEOUT,reason:`Handshake timeout after ${this.#i}ms`};return{success:!1,error:a.HANDSHAKE_REJECTED,reason:n.message}}}handleMessage(e,t,s,r){switch(e.type){case d.HANDSHAKE_INIT:return this.#n(e,t,s,r);case d.HANDSHAKE_ACK:return this.#a(e,t,s);case d.HANDSHAKE_COMPLETE:return this.#o(e,t);default:return null}}hasPending(e){return this.#r.has(e)}cancel(e){let t=this.#r.get(e);if(t)t.reject(Error("Handshake cancelled")),this.#r.delete(e)}cancelAll(){for(let[e,t]of this.#r)t.reject(Error("All handshakes cancelled"));this.#r.clear()}#n(e,t,s,r){if(r&&!r(e,t)){let n=this.createAckMessage(e,!1,"Validation failed");return s(n),null}let i=this.createAckMessage(e,!0);return s(i),this.#r.set(e.handshakeId,{phase:k.ACK_SENT,remotePeer:{peerId:e.peerId,origin:t,meta:e.meta,capabilities:e.capabilities}}),null}#a(e,t,s){let r=this.#r.get(e.handshakeId);if(!r)return null;if(!e.accept)return r.reject(Error(e.reason||"Connection rejected")),this.#r.delete(e.handshakeId),null;let i=this.createCompleteMessage(e.handshakeId);s(i);let n={peerId:e.peerId,origin:t,meta:e.meta,capabilities:e.capabilities,type:"unknown",connectedAt:Date.now()};return r.resolve({success:!0,peer:n}),this.#r.delete(e.handshakeId),n}#o(e,t){let s=this.#r.get(e.handshakeId);if(!s||s.phase!==k.ACK_SENT)return null;if(!e.confirmed)return this.#r.delete(e.handshakeId),null;let r={...s.remotePeer,connectedAt:Date.now()};return this.#r.delete(e.handshakeId),r}}class Y{#e=new Set;#t=[];#s=!1;#i;constructor(e={}){if(this.#s=e.allowAll??!1,this.#i=globalThis.location?.origin,e.allowed)for(let t of e.allowed)this.#r(t)}isAllowed(e){if(this.#s)return!0;if(e==="null"||e===null)return this.#e.has("null");if(this.#e.size===0&&this.#t.length===0)return e===this.#i;if(this.#e.has(e))return!0;for(let t of this.#t)if(t.test(e))return!0;return!1}allow(e){return this.#r(e),this}disallow(e){if(this.#e.has(e))return this.#e.delete(e),!0;return!1}getAllowed(){return Array.from(this.#e)}clear(){this.#e.clear(),this.#t=[]}get selfOrigin(){return this.#i}#r(e){if(typeof e!=="string")throw TypeError("Origin must be a string");if(e==="*"){this.#s=!0;return}if(e.includes("*")){let t=this.#n(e);this.#t.push(t)}else this.#e.add(e)}#n(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,"[a-zA-Z0-9.-]{0,253}");return new RegExp(`^${t}$`)}}class B extends M{#e;#t;#s;#i;#r;#n;#a;#o=new Map;#l=[];#h=[];#d;#f;#c;#g;#u;#m;#y=new Map;#p=new Map;#S=!1;#w="[SignalBus]";#b;#E=!1;constructor(e={}){super();if(this.#e=e.peerId??w(),this.#t=e.isHub??!1,this.#d=e.meta??{},this.#f=e.capabilities??[],this.#c=e.requestTimeout??30000,this.#s=new K,this.#i=new F({defaultTimeout:this.#c}),this.#r=new Q({peerId:this.#e,meta:this.#d,capabilities:this.#f,timeout:e.handshakeTimeout??1e4}),this.#n=new Y({allowed:e.allowedOrigins??[]}),this.#a=e.contentType??"application/json",this.#g=e.maxPayloadSize??1048576,this.#u=e.maxPendingRequests??100,this.#m=e.strictMode??!1,this.#S=e.debug??!1,this.#w=e.debugPrefix??"[SignalBus]",this.#b=Date.now(),this.#D(e),this.#f.push(`serializer:${this.#a}`),this.#s.on("peer:added",(t)=>{this.emit("peer:connected",t.data)}),this.#s.on("peer:removed",(t)=>{this.emit("peer:disconnected",t.data)}),this.#s.on("peer:status",(t)=>{this.emit("peer:status",t.data)}),this.#S)this.#N("info",`Initialized (isHub: ${this.#t})`)}get peerId(){return this.#e}get isHub(){return this.#t}get peerCount(){return this.#s.peerCount}get peers(){return this.#s.getPeerIds()}getPeer(e){return this.#s.getPeer(e)}async signal(e,t,s={}){this.#T();let r=await this.#I(this.#h,t,{type:"signal",direction:"outbound"}),i=ae(e,r,this.#e),n=await this.#s.broadcast(i,s);return this.#N("out",`SIGNAL "${e}" to ${n.delivered} peers`),n}async request(e,t,s,r={}){if(this.#T(),this.#N("out",`REQUEST "${t}" to ${e}`),!this.#s.getPeer(e))throw c.from(a.PEER_NOT_FOUND,{peerId:e});let{requestId:i,promise:n}=this.#i.create(e,t,{timeout:r.timeout??this.#c}),o=await this.#I(this.#h,s,{type:"request",peerId:e,handlerName:t,direction:"outbound"}),l=oe(t,o,this.#e,e,i);if(!this.#s.route({target:e,payload:l}).success)throw this.#i.cancel(i),c.from(a.SEND_FAILED,{peerId:e});return n}async broadcastRequest(e,t,s={}){this.#T();let r=s.timeout??this.#c,i=s.ignoreErrors??!0,n=new Set(s.exclude??[]),o=new Map,l=[];for(let h of this.#s.getPeerIds()){if(n.has(h))continue;let u=this.request(h,e,t,{timeout:r}).then((g)=>{o.set(h,{success:!0,data:g})}).catch((g)=>{if(i)o.set(h,{success:!1,error:g.message});else throw g});l.push(u)}return await Promise.all(l),o}handle(e,t,s={}){if(this.#o.has(e))throw c.from(a.HANDLER_EXISTS,{handlerName:e});if(s.allowedPeers||s.rateLimit||s.validatePayload)this.#p.set(e,s);return this.#o.set(e,t),()=>{this.#o.delete(e),this.#p.delete(e)}}unhandle(e){return this.#o.delete(e)}hasHandler(e){return this.#o.has(e)}addInboundHook(e,t=10){if(typeof e!=="function")throw TypeError("hookFn must be a function");let s={fn:e,priority:t};return this.#l.push(s),this.#l.sort((r,i)=>r.priority-i.priority),()=>this.removeInboundHook(e)}addOutboundHook(e,t=10){if(typeof e!=="function")throw TypeError("hookFn must be a function");let s={fn:e,priority:t};return this.#h.push(s),this.#h.sort((r,i)=>r.priority-i.priority),()=>this.removeOutboundHook(e)}removeInboundHook(e){let t=this.#l.findIndex((s)=>s.fn===e);if(t!==-1)return this.#l.splice(t,1),!0;return!1}removeOutboundHook(e){let t=this.#h.findIndex((s)=>s.fn===e);if(t!==-1)return this.#h.splice(t,1),!0;return!1}addPeer(e,t,s={}){this.#T(),this.#s.addPeer(e,t,s)}removePeer(e){return this.#i.cancelForPeer(e),this.#s.removePeer(e)}addTransport(e,t={}){if(this.#T(),!e||typeof e.send!=="function")throw TypeError("Transport must have a send() method");let s=t.peerId||e.peerId||`transport-${w()}`,r=t.origin||"*";if(typeof e.onMessage==="function")e.onMessage((i)=>{this.handleMessage(i,r,s)});return this.addPeer(s,(i)=>{e.send(i)},t),()=>{if(this.removePeer(s),typeof e.destroy==="function")e.destroy()}}async handleMessage(e,t,s,r){if(this.#E)return;if(!this.#n.isAllowed(t)){console.warn(`[SignalBus] Blocked message from unauthorized origin: ${t}`);return}let i=e.payload??e.data??e.p,n=e.type??e.t,o=e.handler??e.name,l=i;if(e.payload&&typeof e.payload==="object"&&!e.p){if(n===d.SIGNAL||n===d.BROADCAST)o=e.payload.name,l=e.payload.data;else if(n===d.REQUEST)o=e.payload.name,l=e.payload.data;else if(n===d.RESPONSE)l=e.payload.data}else if(e.t&&!e.type&&e.p&&typeof e.p==="object"&&e.p.payload){let h=e.p;o=h.payload.name??h.name,l=h.payload.data??h.data}if(l!==void 0){let h={type:n===d.SIGNAL?"signal":n===d.REQUEST?"request":"response",peerId:s,handlerName:o,direction:"inbound"};l=await this.#I(this.#l,l,h)}switch(n){case d.BROADCAST:case d.SIGNAL:if(typeof o!=="string"){console.warn("[SignalBus] Invalid signal name type");return}await this.#R(o,l,s);break;case d.REQUEST:if(typeof o!=="string"){console.warn("[SignalBus] Invalid handler name type");return}await this.#O(e.id,o,l,s,r);break;case d.RESPONSE:{let{success:h,error:u}=e;if(e.payload&&e.payload.success!==void 0)h=e.payload.success,u=e.payload.error;this.#A(e.payload?.requestId??e.id,h,l,u);break}case d.HANDSHAKE_INIT:case d.HANDSHAKE_ACK:case d.HANDSHAKE_COMPLETE:this.#r.handleMessage(e,t,r);break;default:console.warn(`[SignalBus] Unknown message type: ${n}`)}}destroy(){if(this.#E)return;this.#E=!0,this.#i.cancelAll(),this.#o.clear(),this.#s.clearPeers(),this.clear(),this.emit("destroyed",{})}get isDestroyed(){return this.#E}async#R(e,t,s){await this.emit(e,{payload:t,source:s})}async#O(e,t,s,r,i){let n=this.#o.get(t),o;if(!n)o=O(e,null,this.#e,!1,{code:a.NO_HANDLER,message:"Handler not found"});else{let l=this.#_(t,r,s);if(!l.allowed)o=O(e,null,this.#e,!1,{code:l.error?.code??a.UNAUTHORIZED,message:l.error?.message??"Security check failed"});else try{let h=await n(s,{peerId:r,requestId:e,handlerName:t}),u=await this.#I(this.#h,h,{type:"response",peerId:r,handlerName:t,direction:"outbound"});o=O(e,u,this.#e,!0)}catch(h){o=O(e,null,this.#e,!1,{code:h.code??a.HANDLER_ERROR,message:h.message})}}if(i)i(o);else if(r)this.#s.route({target:r,payload:o})}#A(e,t,s,r){this.#i.resolve(e,{requestId:e,success:t,data:s,error:r})}#T(){if(this.#E)throw c.from(a.DESTROYED,{context:"SignalBus operation"})}async#I(e,t,s){let r=t;for(let{fn:i}of e)try{r=await i(r,s)}catch(n){console.error("[SignalBus] Hook error:",n)}return r}#D(e){if(!(typeof process<"u"?process.env?.NODE_ENV!=="production":typeof window<"u"&&window.location?.hostname==="localhost"))return;if(!e.allowedOrigins||e.allowedOrigins.length===0)console.warn(`[SignalBus Security] ⚠️ No allowedOrigins specified.
|
|
2
|
-
`+`This bus will REJECT all incoming messages from transports.
|
|
3
|
-
To receive messages, specify allowed origins:
|
|
4
|
-
allowedOrigins: ["https://trusted-domain.com"]
|
|
5
|
-
For development only: allowedOrigins: ["*"]`);if(e.allowedOrigins?.includes("*")){if(console.warn(`[SignalBus Security] ⚠️ allowedOrigins: ["*"] accepts messages from ANY origin.
|
|
6
|
-
`+`This is INSECURE in production. Use specific origins instead:
|
|
7
|
-
allowedOrigins: ["https://trusted-domain.com"]
|
|
8
|
-
For production, use:
|
|
9
|
-
SignalBus.createSecure({ allowedOrigins: ["https://..."] })
|
|
10
|
-
Suppress this warning with NODE_ENV=production`),this.#m)throw Error('strictMode: allowedOrigins: ["*"] is not allowed. Use specific origins for security.')}}#_(e,t,s){let r=this.#p.get(e);if(!r)return{allowed:!0};if(r.allowedPeers&&!r.allowedPeers.includes(t))return{allowed:!1,error:c.from(a.UNAUTHORIZED,{handler:e,peer:t,allowedPeers:r.allowedPeers})};if(r.rateLimit){let i=`${e}:${t}`;if(!this.#C(i,r.rateLimit))return{allowed:!1,error:c.from(a.RATE_LIMITED,{handler:e,peer:t,limit:r.rateLimit})}}if(r.validatePayload)try{if(!r.validatePayload(s))return{allowed:!1,error:c.from(a.INVALID_PAYLOAD,{handler:e})}}catch(i){return{allowed:!1,error:c.from(a.INVALID_PAYLOAD,{handler:e,reason:i?.message??"Validation error"})}}return{allowed:!0}}#C(e,t){let s=Date.now(),r=this.#y.get(e);if(!r||s>=r.resetAt)return this.#y.set(e,{count:1,resetAt:s+1000}),!0;if(r.count>=t)return!1;return r.count++,!0}get maxPayloadSize(){return this.#g}get strictMode(){return this.#m}get debug(){return this.#S}get uptime(){return Date.now()-this.#b}#N(e,t){if(!this.#S)return;let s=e==="out"?"→":e==="in"?"←":e==="warn"?"⚠️":e==="error"?"❌":"ℹ️";console.log(`${this.#w} ${s} ${t}`)}healthCheck(){let e=this.#s.getPeerIds(),t=e.length,s="healthy";if(this.#E)s="unhealthy";else if(t===0&&this.#t)s="degraded";let r;if(typeof process<"u"&&process.memoryUsage)try{let i=process.memoryUsage();r={heapUsed:i.heapUsed,heapTotal:i.heapTotal,rss:i.rss}}catch{}return{status:s,peerId:this.#e,isHub:this.#t,uptime:this.uptime,peers:{total:t,ids:e},handlers:Array.from(this.#o.keys()),pendingRequests:this.#i.size??0,destroyed:this.#E,...r&&{memory:r}}}static createSecure(e={}){if(!e.allowedOrigins||e.allowedOrigins.length===0)throw Error('createSecure() requires allowedOrigins to be specified. For development, use: new SignalBus({ allowedOrigins: ["*"] })');if(e.allowedOrigins.includes("*"))throw Error('createSecure() does not allow wildcard origins. Specify exact origins: allowedOrigins: ["https://example.com"]');return new B({strictMode:!0,maxPayloadSize:1048576,maxPendingRequests:100,requestTimeout:30000,...e})}diagnose(){let e=[],t=[],s=[];if(this.#E)return e.push("Instance is destroyed"),t.push("Create a new SignalBus instance"),{status:"error",issues:e,suggestions:t,warnings:s};let r=this.#s.getPeerIds().length;if(r===0)if(this.#t)s.push("Hub has no connected peers"),t.push("Add transports with addTransport() or wait for agents to connect");else e.push("Agent has no connected peers"),t.push('Add a transport to connect to hub: bus.addTransport(transport, {peerId: "hub"})');let i=this.#o.size;if(this.#t&&i===0)s.push("Hub has no registered handlers"),t.push('Register handlers with bus.handle("name", fn)');let n=this.#i.size??0;if(n>this.#u*0.8)s.push(`High pending request count: ${n}/${this.#u}`),t.push("Consider increasing maxPendingRequests or check for slow handlers");if(!this.#m)s.push("strictMode is disabled"),t.push("For production, use SignalBus.createSecure() or set strictMode: true");let o="healthy";if(e.length>0)o="error";else if(s.length>0)o="warning";return{status:o,peerId:this.#e,isHub:this.#t,peerCount:r,handlerCount:i,pendingRequests:n,uptime:this.uptime,issues:e,warnings:s,suggestions:t}}}class ${#e;#t;#s;#i;#r=0;#n=!1;#a=!1;#o;constructor(e,t,s={}){this.#e=w(),this.#t=t,this.#s=e,this.#i=s.chunkSize??64000,this.#o=s.meta??{}}get streamId(){return this.#e}get name(){return this.#t}async open(e){if(this.#a)return;this.#a=!0,await this.#l({st:"open",name:this.#t,meta:{...this.#o,...e}})}async write(e){if(this.#n)throw Error("Stream already ended");if(!this.#a)await this.open();let t,s=!1;if(e instanceof ArrayBuffer)t=this.#d(new Uint8Array(e)),s=!0;else if(e instanceof Uint8Array)t=this.#d(e),s=!0;else if(typeof e==="string"){let r=this.#h(e,this.#i);for(let i of r)await this.#l({st:"data",seq:this.#r++,d:i,b64:!1});return}else t=JSON.stringify(e);if(s){let r=this.#h(t,this.#i);for(let i of r)await this.#l({st:"data",seq:this.#r++,d:i,b64:!0})}else await this.#l({st:"data",seq:this.#r++,d:t,b64:!1})}async end(e){if(this.#n)return;this.#n=!0,await this.#l({st:"end",seq:this.#r,meta:e})}async abort(e){if(this.#n)return;this.#n=!0,await this.#l({st:"error",reason:e??"Stream aborted"})}async#l(e){let t={[y]:E,t:"stream",sid:this.#e,...e};await this.#s(t)}#h(e,t){let s=[];for(let r=0;r<e.length;r+=t)s.push(e.slice(r,r+t));return s}#d(e){let t="";for(let s=0;s<e.length;s++)t+=String.fromCharCode(e[s]);return btoa(t)}}class V{#e;#t;#s;#i=[];#r=null;#n=!1;#a=null;constructor(e,t,s={}){this.#e=e,this.#t=t,this.#s=s}get streamId(){return this.#e}get name(){return this.#t}get meta(){return this.#s}get ended(){return this.#n}push(e){if(this.#n)return;let t=e.d;if(e.b64)t=this.#o(t);if(this.#i.push(t),this.#r){let s=this.#r;this.#r=null,s()}}end(e){if(this.#n=!0,e)this.#s={...this.#s,...e};if(this.#r){let t=this.#r;this.#r=null,t()}}error(e){if(this.#n=!0,this.#a=Error(e),this.#r){let t=this.#r;this.#r=null,t()}}async*[Symbol.asyncIterator](){while(!0){while(this.#i.length>0)yield this.#i.shift();if(this.#n){if(this.#a)throw this.#a;return}await new Promise((e)=>{this.#r=e})}}async collect(){let e=[],t=!1;for await(let s of this)if(e.push(s),s instanceof Uint8Array)t=!0;if(t){let s=e.reduce((n,o)=>n+o.length,0),r=new Uint8Array(s),i=0;for(let n of e)r.set(n,i),i+=n.length;return r}else return e.join("")}#o(e){let t=atob(e),s=new Uint8Array(t.length);for(let r=0;r<t.length;r++)s[r]=t.charCodeAt(r);return s}}class he{#e=new Map;#t=new Map;#s;constructor(e){this.#s=e}createStream(e,t,s={}){return new $(async(r)=>{await this.#s(t,r)},e,s)}onStream(e,t){return this.#t.set(e,t),()=>this.#t.delete(e)}handleMessage(e,t){if(e.t!=="stream")return;let s=e.sid;switch(e.st){case"open":this.#i(s,e,t);break;case"data":this.#r(s,e);break;case"end":this.#n(s,e);break;case"error":this.#a(s,e);break}}#i(e,t,s){let r=this.#t.get(t.name);if(!r){console.warn(`[SignalBus] No handler for stream: ${t.name}`);return}let i=new V(e,t.name,t.meta);this.#e.set(e,i),r(i).catch((n)=>{console.error("[SignalBus] Stream handler error:",n)})}#r(e,t){let s=this.#e.get(e);if(!s)return;s.push(t)}#n(e,t){let s=this.#e.get(e);if(!s)return;s.end(t.meta),this.#e.delete(e)}#a(e,t){let s=this.#e.get(e);if(!s)return;s.error(t.reason),this.#e.delete(e)}get activeStreamCount(){return this.#e.size}}class ue extends M{#e;#t;#s=new Map;#i;#r;#n=null;#a=null;#o=!1;#l="online";#h={};constructor(e,t){super();if(!t.peerId)throw Error("peerId is required");if(this.#e=t.peerId,this.#t=e,this.#i=t.heartbeatInterval??15000,this.#r=t.timeout??45000,t.autoStart!==!1)this.start()}get peerId(){return this.#e}get status(){return this.#l}get onlineCount(){let e=0;for(let t of this.#s.values())if(t.status!=="offline")e++;return e}start(){if(this.#n)return;this.#u("join"),this.#n=setInterval(()=>{this.#u("heartbeat")},this.#i),this.#a=setInterval(()=>{this.#g()},this.#i)}stop(){if(this.#n)clearInterval(this.#n),this.#n=null;if(this.#a)clearInterval(this.#a),this.#a=null;this.#u("leave")}setStatus(e,t){if(this.#l=e,t)this.#h={...this.#h,...t};this.#u("update")}setMeta(e){this.#h={...this.#h,...e},this.#u("update")}getOnlinePeers(){let e=[];for(let[t,s]of this.#s)if(s.status!=="offline")e.push(t);return e}getAllPeers(){return Array.from(this.#s.values())}getPeer(e){return this.#s.get(e)}isOnline(e){let t=this.#s.get(e);return t?t.status!=="offline":!1}handleMessage(e,t){if(e.t!=="presence")return;if(t===this.#e)return;let{pt:s,status:r,meta:i}=e,n=Date.now();switch(s){case"join":this.#d(t,r,i,n),this.#u("heartbeat");break;case"leave":this.#f(t);break;case"heartbeat":case"update":this.#c(t,r,i,n);break}}#d(e,t,s,r){let i=!this.#s.has(e);if(this.#s.set(e,{peerId:e,status:t??"online",lastSeen:r,meta:s??{}}),i)this.emitSync("join",{peerId:e,meta:s})}#f(e){let t=this.#s.get(e);if(!t)return;t.status="offline",this.#s.delete(e),this.emitSync("leave",{peerId:e})}#c(e,t,s,r){let i=this.#s.get(e),n=!i||i.status==="offline";if(!i)i={peerId:e,status:t??"online",lastSeen:r,meta:s??{}},this.#s.set(e,i);else{if(i.lastSeen=r,t)i.status=t;if(s)i.meta={...i.meta,...s}}if(n&&i.status!=="offline")this.emitSync("join",{peerId:e,meta:i.meta});else this.emitSync("update",{peerId:e,peer:i})}#g(){let e=Date.now()-this.#r;for(let[t,s]of this.#s)if(s.lastSeen<e&&s.status!=="offline")s.status="offline",this.#s.delete(t),this.emitSync("leave",{peerId:t})}async#u(e){if(this.#o)return;let t={[y]:E,t:"presence",pt:e,peerId:this.#e,status:this.#l,meta:this.#h,ts:Date.now()};try{await this.#t(t)}catch(s){console.error("[SignalBus] Failed to send presence:",s)}}destroy(){if(this.#o)return;this.#o=!0,this.stop(),this.#s.clear()}get isDestroyed(){return this.#o}}var _={contentType:"application/json",serialize:(e)=>JSON.stringify(e),deserialize:(e)=>JSON.parse(e)},W=new Map;W.set(_.contentType,_);function C(e){return W.get(e)||_}class ce{#e=null;#t;#s;#i;#r;#n;#a=null;#o=null;#l=!1;static isSupported(){return typeof globalThis.postMessage==="function"||typeof Window<"u"}constructor(e,t={}){if(!this.#f(e))throw TypeError("Target must support postMessage");if(this.#e=e,this.#t=t.targetOrigin??"*",this.#s=new Set(t.allowedOrigins??[]),this.#i=t.autoTransfer??!1,this.#n=t.contentType??"application/json",this.#r=C(this.#n),(typeof process<"u"?process.env?.NODE_ENV!=="production":typeof window<"u"&&window.location?.hostname==="localhost")&&this.#t==="*")console.warn(`[SignalBus Security] ⚠️ targetOrigin: "*" broadcasts to ANY window.
|
|
11
|
-
`+`This is INSECURE in production. Use specific origin:
|
|
12
|
-
targetOrigin: "https://iframe-domain.com"
|
|
13
|
-
Suppress this warning with NODE_ENV=production`);this.#o=this.#h.bind(this),this.#u().addEventListener("message",this.#o)}send(e,t){if(this.#l)throw c.from(a.DESTROYED,{context:"PostMessageTransport.send"});if(this.#g())throw c.from(a.PEER_DISCONNECTED,{reason:"Target window is closed"});let s={[y]:E,...e},r=s;if(this.#n!=="application/json")r=this.#r.serialize(s);let i=t;if(this.#i&&!t){if(i=D(e),i.length===0)i=void 0}if(this.#c())this.#e.postMessage(r,i);else this.#e.postMessage(s,this.#t,i)}onMessage(e){if(typeof e!=="function")throw TypeError("Handler must be a function");this.#a=e}offMessage(){this.#a=null}destroy(){if(this.#l)return;if(this.#l=!0,this.#a=null,this.#o)this.#u().removeEventListener("message",this.#o),this.#o=null}get isDestroyed(){return this.#l}get targetOrigin(){return this.#t}#h(e){if(!this.#a)return;let t=e.data;if(!b(t))return;if(e.origin&&!this.#d(e.origin)){console.warn(`[SignalBus] Blocked message from unauthorized origin: ${e.origin}`);return}if(this.#e&&"postMessage"in this.#e&&!this.#c()){if(e.source!==this.#e)return}try{this.#a(t,{origin:e.origin??"worker",source:e.source??e.currentTarget})}catch(s){console.error("[SignalBus] Message handler error:",s)}}#d(e){if(this.#s.size===0)return e===globalThis.location?.origin;if(this.#s.has("*"))return!0;if(this.#s.has(e))return!0;for(let t of this.#s)if(t.includes("*")){if(new RegExp("^"+t.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\\\*/g,"[a-zA-Z0-9.-]{0,253}")+"$").test(e))return!0}return!1}#f(e){if(!e)return!1;return typeof e.postMessage==="function"}#c(){if(typeof Worker<"u"&&this.#e instanceof Worker)return!0;if(typeof ServiceWorker<"u"&&this.#e instanceof ServiceWorker)return!0;if(typeof MessagePort<"u"&&this.#e instanceof MessagePort)return!0;return!1}#g(){if(this.#c())return!1;return this.#e.closed===!0}#u(){if(typeof DedicatedWorkerGlobalScope<"u"&&globalThis instanceof DedicatedWorkerGlobalScope)return globalThis;if(this.#c())return this.#e;if(typeof window<"u")return window;return globalThis}}class Z{#e;#t;#s;#i;#r=null;#n=!1;static isSupported(){return typeof BroadcastChannel<"u"}constructor(e={}){if(!Z.isSupported())throw c.from(a.UNSUPPORTED,{api:"BroadcastChannel"});this.#t=e.channelName??"signalbus:default",this.#e=new BroadcastChannel(this.#t),this.#i=e.contentType??"application/json",this.#s=C(this.#i),this.#e.onmessage=this.#a.bind(this),this.#e.onmessageerror=this.#o.bind(this)}send(e){if(this.#n)throw c.from(a.DESTROYED,{context:"BroadcastChannelTransport.send"});let t={[y]:E,...e},s=t;if(this.#i!=="application/json")s=this.#s.serialize(t);this.#e.postMessage(s)}onMessage(e){if(typeof e!=="function")throw TypeError("Handler must be a function");this.#r=e}offMessage(){this.#r=null}destroy(){if(this.#n)return;if(this.#n=!0,this.#r=null,this.#e)this.#e.close(),this.#e=null}get channelName(){return this.#t}get isDestroyed(){return this.#n}#a(e){if(!this.#r)return;let t=e.data;if(t instanceof ArrayBuffer||t instanceof Uint8Array)try{let s=new TextDecoder().decode(t instanceof ArrayBuffer?new Uint8Array(t):t);t=_.deserialize(s)}catch(s){console.warn("[SignalBus] Failed to deserialize binary message",s);return}if(!b(t))return;try{this.#r(t,{origin:"broadcast"})}catch(s){console.error("[SignalBus] BroadcastChannel handler error:",s)}}#o(e){console.error("[SignalBus] BroadcastChannel message error:",e)}}class H{#e;#t;#s;#i;#r;#n=null;#a=!1;#o;static isSupported(){return typeof MessageChannel<"u"}static fromPort(e,t={}){if(!(e instanceof MessagePort))throw TypeError("Port must be a MessagePort");let s=Object.create(H.prototype);return s.#e=e,s.#t=null,s.#s=t.autoTransfer??!1,s.#r=t.contentType??"application/json",s.#i=C(s.#r),s.#a=!1,s.#o=!1,s.#n=null,s.#e.onmessage=s.#l.bind(s),s.#e.onmessageerror=s.#h.bind(s),s}constructor(e={}){if(!H.isSupported())throw c.from(a.UNSUPPORTED,{api:"MessageChannel"});let t=new MessageChannel;this.#e=t.port1,this.#t=t.port2,this.#s=e.autoTransfer??!1,this.#r=e.contentType??"application/json",this.#i=C(this.#r),this.#o=!0,this.#e.onmessage=this.#l.bind(this),this.#e.onmessageerror=this.#h.bind(this)}get remotePort(){return this.#t}markRemoteTransferred(){this.#t=null}get isInitiator(){return this.#o}send(e,t){if(this.#a)throw c.from(a.DESTROYED,{context:"MessageChannelTransport.send"});let s={[y]:E,...e},r=s;if(this.#r!=="application/json")r=this.#i.serialize(s);let i=t;if(this.#s&&!t){if(i=D(e),i.length===0)i=void 0}this.#e.postMessage(r,i)}onMessage(e){if(typeof e!=="function")throw TypeError("Handler must be a function");this.#n=e}offMessage(){this.#n=null}destroy(){if(this.#a)return;if(this.#a=!0,this.#n=null,this.#e)this.#e.close(),this.#e=null;if(this.#t)this.#t.close(),this.#t=null}get isDestroyed(){return this.#a}#l(e){if(!this.#n)return;let t=e.data;if(!b(t))return;try{this.#n(t,{origin:"channel"})}catch(s){console.error("[SignalBus] MessageChannel handler error:",s)}}#h(e){console.error("[SignalBus] MessageChannel error:",e)}}class ee{#e=null;#t=null;#s;#i=null;#r=!1;static isSupported(){return typeof SharedWorker<"u"}constructor(e={}){if(!ee.isSupported())throw c.from(a.UNSUPPORTED,{api:"SharedWorker"});this.#s=e.workerUrl??"/signalbus-shared-worker.js",this.#e=new SharedWorker(this.#s,e.name),this.#t=this.#e.port,this.#t.onmessage=this.#n.bind(this),this.#t.onmessageerror=this.#a.bind(this),this.#e.onerror=this.#o.bind(this),this.#t.start()}send(e,t){if(this.#r)throw c.from(a.DESTROYED,{context:"SharedWorkerTransport.send"});let s={[y]:E,...e};if(!this.#t)return;if(t&&t.length>0)this.#t.postMessage(s,t);else this.#t.postMessage(s)}onMessage(e){if(typeof e!=="function")throw TypeError("Handler must be a function");this.#i=e}offMessage(){this.#i=null}destroy(){if(this.#r)return;if(this.#r=!0,this.#i=null,this.#t)this.#t.close(),this.#t=null;this.#e=null}get workerUrl(){return this.#s}get isDestroyed(){return this.#r}#n(e){if(!this.#i)return;if(!b(e.data))return;try{this.#i(e.data,{origin:"sharedworker"})}catch(t){console.error("[SignalBus] SharedWorker handler error:",t)}}#a(e){console.error("[SignalBus] SharedWorker message error:",e)}#o(e){console.error("[SignalBus] SharedWorker error:",e.message)}}class te{#e=null;#t=null;#s=!1;#i;#r=null;static isSupported(){return typeof navigator<"u"&&"serviceWorker"in navigator}constructor(e={}){if(!te.isSupported())throw c.from(a.UNSUPPORTED,{api:"ServiceWorker"});this.#i=this.#n()}get ready(){return this.#i}async#n(){let e=await navigator.serviceWorker.ready;this.#e=e.active||navigator.serviceWorker.controller,this.#r=this.#a.bind(this),navigator.serviceWorker.addEventListener("message",this.#r)}send(e,t){if(this.#s)throw c.from(a.DESTROYED,{context:"ServiceWorkerTransport.send"});if(!this.#e)throw c.from(a.NOT_CONNECTED,{context:"ServiceWorkerTransport.send",reason:"No active ServiceWorker"});let s={[y]:E,...e};if(t&&t.length>0)this.#e.postMessage(s,t);else this.#e.postMessage(s)}onMessage(e){if(typeof e!=="function")throw TypeError("Handler must be a function");this.#t=e}offMessage(){this.#t=null}destroy(){if(this.#s)return;if(this.#s=!0,this.#t=null,this.#r)navigator.serviceWorker.removeEventListener("message",this.#r),this.#r=null;this.#e=null}get isDestroyed(){return this.#s}#a(e){if(!this.#t)return;if(!b(e.data))return;try{this.#t(e.data,{origin:"serviceworker"})}catch(t){console.error("[SignalBus] ServiceWorker handler error:",t)}}}class L{#e="none";#t;#s;#i=null;#r=!1;#n=!1;#a=[];#o;#l=null;#h;#d;#f;static detectBridge(){if(globalThis.SignalBus&&typeof globalThis.SignalBus.postMessage==="function")return"android";if(globalThis.AndroidBridge&&typeof globalThis.AndroidBridge.postMessage==="function")return"android";if(globalThis.webkit?.messageHandlers?.signalbus)return"ios";return"none"}static isSupported(){return L.detectBridge()!=="none"}constructor(e={}){this.#t=e.androidInterface??"SignalBus",this.#s=e.iosHandler??"signalbus",this.#o=e.queueWhileInit??!0,this.#h=e.heartbeatInterval??30000,this.#d=new Promise((t)=>{this.#f=t}),this.#c(e.initTimeout??5000)}async#c(e){let t=Date.now(),s=()=>{if(this.#e=L.detectBridge(),this.#e!=="none"){this.#g();return}if(Date.now()-t<e)setTimeout(s,50);else console.warn("[SignalBus] No native bridge detected after timeout"),this.#n=!0,this.#f?.()};s(),this.#u()}#g(){if(this.#n=!0,this.#f?.(),this.#y(),this.#h>0)this.#p()}#u(){globalThis.__signalbus_receive__=(e)=>{if(this.#r||!this.#i)return;try{let t=typeof e==="string"?JSON.parse(e):e;if(!b(t))return;this.#i(t,{bridgeType:this.#e})}catch(t){console.error("[SignalBus] Failed to parse native message:",t)}}}send(e){if(this.#r)throw c.from(a.DESTROYED,{context:"NativeBridgeTransport.send"});let t={[y]:E,...e};if(!this.#n&&this.#o){this.#a.push(t);return}this.#m(t)}#m(e){let t=JSON.stringify(e);try{if(this.#e==="android"){let s=globalThis[this.#t]||globalThis.AndroidBridge;if(s?.postMessage)s.postMessage(t)}else if(this.#e==="ios"){let s=globalThis.webkit?.messageHandlers?.[this.#s];if(s?.postMessage)s.postMessage(e)}}catch(s){console.error("[SignalBus] Failed to send to native:",s)}}#y(){while(this.#a.length>0){let e=this.#a.shift();this.#m(e)}}#p(){this.#l=setInterval(()=>{if(this.#r)return;this.#m({[y]:E,t:"hb",ts:Date.now()})},this.#h)}onMessage(e){if(typeof e!=="function")throw TypeError("Handler must be a function");this.#i=e}offMessage(){this.#i=null}destroy(){if(this.#r)return;if(this.#r=!0,this.#i=null,this.#a=[],this.#l)clearInterval(this.#l),this.#l=null;delete globalThis.__signalbus_receive__}get isDestroyed(){return this.#r}get bridgeType(){return this.#e}get isReady(){return this.#n}get ready(){return this.#d}}class de{#e;#t;#s=null;#i;#r;#n;#a;#o;#l=null;#h=null;#d=null;#f=null;#c="disconnected";#g=[];#u=!1;constructor(e){this.#e=e.url,this.#t=e.peerId??w(),this.#i=e.autoReconnect??!0,this.#r=e.reconnectDelayMs??1000,this.#n=e.maxReconnectDelayMs??30000,this.#a=this.#r,this.#o=e.heartbeatIntervalMs??30000}get peerId(){return this.#t}get state(){return this.#c}get isConnected(){return this.#c==="connected"&&this.#s?.readyState===WebSocket.OPEN}async connect(){if(this.#s&&this.#s.readyState===WebSocket.OPEN)return;return this.#u=!1,this.#p("connecting"),new Promise((e,t)=>{try{this.#s=new WebSocket(this.#e),this.#s.onopen=()=>{this.#p("connected"),this.#a=this.#r,this.#y(),this.#S(),e()},this.#s.onmessage=(s)=>{this.#m(s)},this.#s.onclose=(s)=>{if(this.#w(),this.#p("disconnected"),!this.#u&&this.#i)this.#b()},this.#s.onerror=(s)=>{if(this.#p("error"),this.#c==="connecting")t(Error("WebSocket connection failed"))}}catch(s){this.#p("error"),t(s)}})}disconnect(){if(this.#u=!0,this.#w(),this.#h)clearTimeout(this.#h),this.#h=null;if(this.#s)this.#s.close(1000,"Client disconnect"),this.#s=null;this.#p("disconnected")}send(e){let t={_sb:E,_m:y,id:w(),from:this.#t,timestamp:Date.now(),...e};if(this.isConnected&&this.#s)return this.#s.send(JSON.stringify(t)),!0;else return this.#g.push(t),!1}onMessage(e){this.#d=e}onStateChange(e){this.#f=e}#m(e){try{let t=JSON.parse(e.data);if(t.type==="pong")return;if(this.#d)this.#d(t)}catch(t){console.error("[WebSocketTransport] Failed to parse message:",t)}}#y(){while(this.#g.length>0&&this.isConnected&&this.#s){let e=this.#g.shift();if(e)this.#s.send(JSON.stringify(e))}}#p(e){if(this.#c!==e){if(this.#c=e,this.#f)this.#f(e)}}#S(){if(this.#o<=0)return;this.#l=setInterval(()=>{if(this.isConnected&&this.#s)this.#s.send(JSON.stringify({type:"ping",from:this.#t}))},this.#o)}#w(){if(this.#l)clearInterval(this.#l),this.#l=null}#b(){if(this.#h)return;this.#h=setTimeout(async()=>{this.#h=null;try{await this.connect()}catch{if(this.#a=Math.min(this.#a*2,this.#n),this.#i&&!this.#u)this.#b()}},this.#a)}destroy(){this.disconnect(),this.#d=null,this.#f=null,this.#g=[]}}class I{#e;#t;constructor(e,t={}){if(this.#e=e,this.#t=new Map(Object.entries(t)),!this.#t.has(e))this.#t.set(e,0)}get ownId(){return this.#e}get(e){return this.#t.get(e)??0}tick(){let e=this.get(this.#e)+1;return this.#t.set(this.#e,e),e}update(e){for(let[t,s]of e.#t){let r=this.get(t);if(s>r)this.#t.set(t,s)}}happenedBefore(e){let t=!1,s=new Set([...this.#t.keys(),...e.#t.keys()]);for(let r of s){let i=this.get(r),n=e.get(r);if(i>n)return!1;if(i<n)t=!0}return t}isConcurrentWith(e){return!this.happenedBefore(e)&&!e.happenedBefore(this)&&!this.equals(e)}equals(e){let t=new Set([...this.#t.keys(),...e.#t.keys()]);for(let s of t)if(this.get(s)!==e.get(s))return!1;return!0}canDeliver(e,t){let s=e.get(t),r=this.get(t);if(s!==r+1)return!1;for(let[i,n]of e.#t){if(i===t)continue;if(n>this.get(i))return!1}return!0}clone(){let e=Object.fromEntries(this.#t);return new I(this.#e,e)}toJSON(){return{ownId:this.#e,counters:Object.fromEntries(this.#t)}}static fromJSON(e){return new I(e.ownId,e.counters)}toString(){let e=[...this.#t.entries()].map(([t,s])=>`${t}:${s}`).join(", ");return`VectorClock(${this.#e}){${e}}`}}class fe{#e;#t;#s;#i;#r;#n;constructor(e,t={}){this.#e=e,this.#t=new I(e),this.#s=[],this.#i=t.onDeliver||(()=>{}),this.#r=t.maxBufferSize??1000,this.#n=t.onBufferOverflow||null}get ownId(){return this.#e}get bufferSize(){return this.#s.length}receive(e,t){let s=I.fromJSON(t.clock);if(this.#t.canDeliver(s,e))this.#a(e,t,s),this.#l();else this.#o(e,t,s)}#a(e,t,s){this.#t.update(s),this.#i(t)}#o(e,t,s){if(this.#s.length>=this.#r){if(this.#n)this.#n({senderId:e,message:t,bufferSize:this.#s.length});return}this.#s.push({senderId:e,message:t,clock:s})}#l(){let e=!0;while(e){e=!1;for(let t=this.#s.length-1;t>=0;t--){let{senderId:s,message:r,clock:i}=this.#s[t];if(this.#t.canDeliver(i,s))this.#s.splice(t,1),this.#a(s,r,i),e=!0}}}tick(){return this.#t.tick(),this.#t.clone()}getVectorClock(){return this.#t.clone()}clear(){this.#s=[]}}var ge="3.5.14",A="__MICROUI_SIGNALBUS__",S=typeof window<"u"?window:globalThis,pe=["ui:toast","ui:modal","ui:theme","ui:tabs","ui:dropdown","ui:form","ui:grid","ui:stack","ui:virtual-list"],me={type:"ui-framework",version:ge,description:"AI-Optimized UI Framework - Web Components Edition"};if(!S[A])S[A]=new B({peerId:"microui",isHub:!0,requestTimeout:5000,capabilities:pe,meta:me}),S[A].setMaxListeners(100);var p=S[A],x="__MICROUI_COMPONENT_REGISTRY__";if(!S[x])S[x]=new Map;var Ee=S[x],v={on(e,t){let s=p.on(e,(r)=>{t(r.data??r)});return()=>s.unsubscribe()},once(e,t){let s=this.on(e,(r)=>{s(),t(r)})},off(e,t){p.off(e,t)},emit(e,t){return p.emitSync(e,t)},async emitAsync(e,t){return p.emit(e,t)},signal(e,t){p.signal(e,t)},async request(e,t,s){return p.request(e,t,s)},async broadcastRequest(e,t){return p.broadcastRequest(e,t)},handle(e,t){return p.handle(e,t)},unhandle(e){p.unhandle(e)},destroy(){p.destroy()},setMaxListeners(e){p.setMaxListeners(e)},get peerId(){return p.peerId},get peers(){return p.peers},get peerCount(){return p.peerCount},hasListeners(e){return p.hasListeners(e)},get raw(){return p}},N={TOAST_SHOW:"ui:toast:show",TOAST_DISMISS:"ui:toast:dismiss",MODAL_OPEN:"ui:modal:open",MODAL_CLOSE:"ui:modal:close",THEME_CHANGE:"ui:theme:change",TAB_CHANGE:"ui:tab:change",DROPDOWN_SELECT:"ui:dropdown:select",FORM_SUBMIT:"ui:form:submit",FORM_VALIDATE:"ui:form:validate"},se=(e,t)=>{Ee.set(e,{...t,registeredAt:Date.now()})};class re extends X{static baseClass="mu-toast";static cssFile="snackbar";static observedAttributes=["severity","duration","position"];#e=null;#t=null;connectedCallback(){if(!this.#t&&!this.querySelector(".mu-toast__content"))this.#t=this.innerHTML;super.connectedCallback(),this.addEventListener("click",(t)=>{if(t.target.classList.contains("mu-toast__close"))this.dismiss()});let e=parseInt(this.attr("duration","3000"));if(e>0)this.#e=setTimeout(()=>this.dismiss(),e)}disconnectedCallback(){if(this.#e)clearTimeout(this.#e)}render(){if(this.querySelector(".mu-toast__content")){this.#s();return}let e=this.#t||"";this.innerHTML=`
|
|
14
|
-
<span class="mu-toast__content">${e}</span>
|
|
15
|
-
<button class="mu-toast__close" aria-label="Dismiss">✕</button>
|
|
16
|
-
`,this.#s()}update(e,t,s){this.#s()}#s(){let e=this.attr("severity","info"),t=this.attr("position","bottom-center");this.className=`mu-toast mu-toast--${e} mu-toast--${t}`}dismiss(){this.emit("mu-dismiss"),this.classList.add("is-exiting"),setTimeout(()=>this.remove(),200)}}J("mu-toast",re);class ie extends X{static baseClass="mu-toast-container";connectedCallback(){super.connectedCallback(),this.setAttribute("role","status"),this.setAttribute("aria-live","polite")}}J("mu-toast-container",ie);var ye={show(e,t={}){let s=t.position||"bottom-center",r=document.querySelector(`mu-toast-container[position="${s}"]`);if(!r)r=document.createElement("mu-toast-container"),r.setAttribute("position",s),document.body.appendChild(r);let i=document.createElement("mu-toast");if(i.textContent=e,t.severity)i.setAttribute("severity",t.severity);if(t.duration)i.setAttribute("duration",t.duration.toString());return r.appendChild(i),i}};if(typeof window<"u"&&v&&!v.hasListeners(N.TOAST_SHOW))v.on(N.TOAST_SHOW,(e)=>{ye.show(e.message,e)});se("mu-toast",{signals:[N.TOAST_SHOW,N.TOAST_DISMISS],options:{severities:["info","success","warning","error"],positions:["top-left","top-center","top-right","bottom-left","bottom-center","bottom-right"],defaultDuration:3000},description:"MD3 Snackbar/Toast Notification component"});
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/assets/logo-banner.jpg
DELETED
|
Binary file
|
package/assets/logo-icon-64.jpg
DELETED
|
Binary file
|
package/assets/logo-icon-64.webp
DELETED
|
Binary file
|
package/assets/logo-icon.jpg
DELETED
|
Binary file
|
package/assets/logo-square.jpg
DELETED
|
Binary file
|
package/bun.lock
DELETED
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"lockfileVersion": 1,
|
|
3
|
-
"configVersion": 1,
|
|
4
|
-
"workspaces": {
|
|
5
|
-
"": {
|
|
6
|
-
"name": "microui",
|
|
7
|
-
"dependencies": {
|
|
8
|
-
"cbor-x": "^1.6.0",
|
|
9
|
-
"crossbus": "^0.1.0",
|
|
10
|
-
},
|
|
11
|
-
"devDependencies": {
|
|
12
|
-
"bun-types": "latest",
|
|
13
|
-
"jsdom": "^27.4.0",
|
|
14
|
-
"linkedom": "^0.18.5",
|
|
15
|
-
"puppeteer-core": "^24.0.0",
|
|
16
|
-
},
|
|
17
|
-
},
|
|
18
|
-
},
|
|
19
|
-
"packages": {
|
|
20
|
-
"@acemir/cssom": ["@acemir/cssom@0.9.31", "", {}, "sha512-ZnR3GSaH+/vJ0YlHau21FjfLYjMpYVIzTD8M8vIEQvIGxeOXyXdzCI140rrCY862p/C/BbzWsjc1dgnM9mkoTA=="],
|
|
21
|
-
|
|
22
|
-
"@asamuzakjp/css-color": ["@asamuzakjp/css-color@4.1.1", "", { "dependencies": { "@csstools/css-calc": "^2.1.4", "@csstools/css-color-parser": "^3.1.0", "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4", "lru-cache": "^11.2.4" } }, "sha512-B0Hv6G3gWGMn0xKJ0txEi/jM5iFpT3MfDxmhZFb4W047GvytCf1DHQ1D69W3zHI4yWe2aTZAA0JnbMZ7Xc8DuQ=="],
|
|
23
|
-
|
|
24
|
-
"@asamuzakjp/dom-selector": ["@asamuzakjp/dom-selector@6.7.7", "", { "dependencies": { "@asamuzakjp/nwsapi": "^2.3.9", "bidi-js": "^1.0.3", "css-tree": "^3.1.0", "is-potential-custom-element-name": "^1.0.1", "lru-cache": "^11.2.5" } }, "sha512-8CO/UQ4tzDd7ula+/CVimJIVWez99UJlbMyIgk8xOnhAVPKLnBZmUFYVgugS441v2ZqUq5EnSh6B0Ua0liSFAA=="],
|
|
25
|
-
|
|
26
|
-
"@asamuzakjp/nwsapi": ["@asamuzakjp/nwsapi@2.3.9", "", {}, "sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q=="],
|
|
27
|
-
|
|
28
|
-
"@cbor-extract/cbor-extract-darwin-arm64": ["@cbor-extract/cbor-extract-darwin-arm64@2.2.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-P7swiOAdF7aSi0H+tHtHtr6zrpF3aAq/W9FXx5HektRvLTM2O89xCyXF3pk7pLc7QpaY7AoaE8UowVf9QBdh3w=="],
|
|
29
|
-
|
|
30
|
-
"@cbor-extract/cbor-extract-darwin-x64": ["@cbor-extract/cbor-extract-darwin-x64@2.2.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-1liF6fgowph0JxBbYnAS7ZlqNYLf000Qnj4KjqPNW4GViKrEql2MgZnAsExhY9LSy8dnvA4C0qHEBgPrll0z0w=="],
|
|
31
|
-
|
|
32
|
-
"@cbor-extract/cbor-extract-linux-arm": ["@cbor-extract/cbor-extract-linux-arm@2.2.0", "", { "os": "linux", "cpu": "arm" }, "sha512-QeBcBXk964zOytiedMPQNZr7sg0TNavZeuUCD6ON4vEOU/25+pLhNN6EDIKJ9VLTKaZ7K7EaAriyYQ1NQ05s/Q=="],
|
|
33
|
-
|
|
34
|
-
"@cbor-extract/cbor-extract-linux-arm64": ["@cbor-extract/cbor-extract-linux-arm64@2.2.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-rQvhNmDuhjTVXSPFLolmQ47/ydGOFXtbR7+wgkSY0bdOxCFept1hvg59uiLPT2fVDuJFuEy16EImo5tE2x3RsQ=="],
|
|
35
|
-
|
|
36
|
-
"@cbor-extract/cbor-extract-linux-x64": ["@cbor-extract/cbor-extract-linux-x64@2.2.0", "", { "os": "linux", "cpu": "x64" }, "sha512-cWLAWtT3kNLHSvP4RKDzSTX9o0wvQEEAj4SKvhWuOVZxiDAeQazr9A+PSiRILK1VYMLeDml89ohxCnUNQNQNCw=="],
|
|
37
|
-
|
|
38
|
-
"@cbor-extract/cbor-extract-win32-x64": ["@cbor-extract/cbor-extract-win32-x64@2.2.0", "", { "os": "win32", "cpu": "x64" }, "sha512-l2M+Z8DO2vbvADOBNLbbh9y5ST1RY5sqkWOg/58GkUPBYou/cuNZ68SGQ644f1CvZ8kcOxyZtw06+dxWHIoN/w=="],
|
|
39
|
-
|
|
40
|
-
"@csstools/color-helpers": ["@csstools/color-helpers@5.1.0", "", {}, "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA=="],
|
|
41
|
-
|
|
42
|
-
"@csstools/css-calc": ["@csstools/css-calc@2.1.4", "", { "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ=="],
|
|
43
|
-
|
|
44
|
-
"@csstools/css-color-parser": ["@csstools/css-color-parser@3.1.0", "", { "dependencies": { "@csstools/color-helpers": "^5.1.0", "@csstools/css-calc": "^2.1.4" }, "peerDependencies": { "@csstools/css-parser-algorithms": "^3.0.5", "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA=="],
|
|
45
|
-
|
|
46
|
-
"@csstools/css-parser-algorithms": ["@csstools/css-parser-algorithms@3.0.5", "", { "peerDependencies": { "@csstools/css-tokenizer": "^3.0.4" } }, "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ=="],
|
|
47
|
-
|
|
48
|
-
"@csstools/css-syntax-patches-for-csstree": ["@csstools/css-syntax-patches-for-csstree@1.0.26", "", {}, "sha512-6boXK0KkzT5u5xOgF6TKB+CLq9SOpEGmkZw0g5n9/7yg85wab3UzSxB8TxhLJ31L4SGJ6BCFRw/iftTha1CJXA=="],
|
|
49
|
-
|
|
50
|
-
"@csstools/css-tokenizer": ["@csstools/css-tokenizer@3.0.4", "", {}, "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw=="],
|
|
51
|
-
|
|
52
|
-
"@exodus/bytes": ["@exodus/bytes@1.11.0", "", { "peerDependencies": { "@noble/hashes": "^1.8.0 || ^2.0.0" }, "optionalPeers": ["@noble/hashes"] }, "sha512-wO3vd8nsEHdumsXrjGO/v4p6irbg7hy9kvIeR6i2AwylZSk4HJdWgL0FNaVquW1+AweJcdvU1IEpuIWk/WaPnA=="],
|
|
53
|
-
|
|
54
|
-
"@puppeteer/browsers": ["@puppeteer/browsers@2.11.2", "", { "dependencies": { "debug": "^4.4.3", "extract-zip": "^2.0.1", "progress": "^2.0.3", "proxy-agent": "^6.5.0", "semver": "^7.7.3", "tar-fs": "^3.1.1", "yargs": "^17.7.2" }, "bin": { "browsers": "lib/cjs/main-cli.js" } }, "sha512-GBY0+2lI9fDrjgb5dFL9+enKXqyOPok9PXg/69NVkjW3bikbK9RQrNrI3qccQXmDNN7ln4j/yL89Qgvj/tfqrw=="],
|
|
55
|
-
|
|
56
|
-
"@tootallnate/quickjs-emscripten": ["@tootallnate/quickjs-emscripten@0.23.0", "", {}, "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="],
|
|
57
|
-
|
|
58
|
-
"@types/node": ["@types/node@25.2.0", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w=="],
|
|
59
|
-
|
|
60
|
-
"@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="],
|
|
61
|
-
|
|
62
|
-
"agent-base": ["agent-base@7.1.4", "", {}, "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ=="],
|
|
63
|
-
|
|
64
|
-
"ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
|
|
65
|
-
|
|
66
|
-
"ansi-styles": ["ansi-styles@4.3.0", "", { "dependencies": { "color-convert": "^2.0.1" } }, "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="],
|
|
67
|
-
|
|
68
|
-
"ast-types": ["ast-types@0.13.4", "", { "dependencies": { "tslib": "^2.0.1" } }, "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w=="],
|
|
69
|
-
|
|
70
|
-
"b4a": ["b4a@1.7.3", "", { "peerDependencies": { "react-native-b4a": "*" }, "optionalPeers": ["react-native-b4a"] }, "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q=="],
|
|
71
|
-
|
|
72
|
-
"bare-events": ["bare-events@2.8.2", "", { "peerDependencies": { "bare-abort-controller": "*" }, "optionalPeers": ["bare-abort-controller"] }, "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ=="],
|
|
73
|
-
|
|
74
|
-
"bare-fs": ["bare-fs@4.5.3", "", { "dependencies": { "bare-events": "^2.5.4", "bare-path": "^3.0.0", "bare-stream": "^2.6.4", "bare-url": "^2.2.2", "fast-fifo": "^1.3.2" }, "peerDependencies": { "bare-buffer": "*" }, "optionalPeers": ["bare-buffer"] }, "sha512-9+kwVx8QYvt3hPWnmb19tPnh38c6Nihz8Lx3t0g9+4GoIf3/fTgYwM4Z6NxgI+B9elLQA7mLE9PpqcWtOMRDiQ=="],
|
|
75
|
-
|
|
76
|
-
"bare-os": ["bare-os@3.6.2", "", {}, "sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A=="],
|
|
77
|
-
|
|
78
|
-
"bare-path": ["bare-path@3.0.0", "", { "dependencies": { "bare-os": "^3.0.1" } }, "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw=="],
|
|
79
|
-
|
|
80
|
-
"bare-stream": ["bare-stream@2.7.0", "", { "dependencies": { "streamx": "^2.21.0" }, "peerDependencies": { "bare-buffer": "*", "bare-events": "*" }, "optionalPeers": ["bare-buffer", "bare-events"] }, "sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A=="],
|
|
81
|
-
|
|
82
|
-
"bare-url": ["bare-url@2.3.2", "", { "dependencies": { "bare-path": "^3.0.0" } }, "sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw=="],
|
|
83
|
-
|
|
84
|
-
"basic-ftp": ["basic-ftp@5.1.0", "", {}, "sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw=="],
|
|
85
|
-
|
|
86
|
-
"bidi-js": ["bidi-js@1.0.3", "", { "dependencies": { "require-from-string": "^2.0.2" } }, "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw=="],
|
|
87
|
-
|
|
88
|
-
"boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="],
|
|
89
|
-
|
|
90
|
-
"buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="],
|
|
91
|
-
|
|
92
|
-
"bun-types": ["bun-types@1.3.8", "", { "dependencies": { "@types/node": "*" } }, "sha512-fL99nxdOWvV4LqjmC+8Q9kW3M4QTtTR1eePs94v5ctGqU8OeceWrSUaRw3JYb7tU3FkMIAjkueehrHPPPGKi5Q=="],
|
|
93
|
-
|
|
94
|
-
"cbor-extract": ["cbor-extract@2.2.0", "", { "dependencies": { "node-gyp-build-optional-packages": "5.1.1" }, "optionalDependencies": { "@cbor-extract/cbor-extract-darwin-arm64": "2.2.0", "@cbor-extract/cbor-extract-darwin-x64": "2.2.0", "@cbor-extract/cbor-extract-linux-arm": "2.2.0", "@cbor-extract/cbor-extract-linux-arm64": "2.2.0", "@cbor-extract/cbor-extract-linux-x64": "2.2.0", "@cbor-extract/cbor-extract-win32-x64": "2.2.0" }, "bin": { "download-cbor-prebuilds": "bin/download-prebuilds.js" } }, "sha512-Ig1zM66BjLfTXpNgKpvBePq271BPOvu8MR0Jl080yG7Jsl+wAZunfrwiwA+9ruzm/WEdIV5QF/bjDZTqyAIVHA=="],
|
|
95
|
-
|
|
96
|
-
"cbor-x": ["cbor-x@1.6.0", "", { "optionalDependencies": { "cbor-extract": "^2.2.0" } }, "sha512-0kareyRwHSkL6ws5VXHEf8uY1liitysCVJjlmhaLG+IXLqhSaOO+t63coaso7yjwEzWZzLy8fJo06gZDVQM9Qg=="],
|
|
97
|
-
|
|
98
|
-
"chromium-bidi": ["chromium-bidi@13.0.1", "", { "dependencies": { "mitt": "^3.0.1", "zod": "^3.24.1" }, "peerDependencies": { "devtools-protocol": "*" } }, "sha512-c+RLxH0Vg2x2syS9wPw378oJgiJNXtYXUvnVAldUlt5uaHekn0CCU7gPksNgHjrH1qFhmjVXQj4esvuthuC7OQ=="],
|
|
99
|
-
|
|
100
|
-
"cliui": ["cliui@8.0.1", "", { "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" } }, "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ=="],
|
|
101
|
-
|
|
102
|
-
"color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
|
|
103
|
-
|
|
104
|
-
"color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
|
|
105
|
-
|
|
106
|
-
"crossbus": ["crossbus@0.1.0", "", {}, "sha512-2PKPTeiM1IByhmESURdL5Ugqio+n0ybrDFgXJU6lqQa2iTfHozILQhqPLQ5BFAXTT5xXRQVsgqYOblUQTpagJw=="],
|
|
107
|
-
|
|
108
|
-
"css-select": ["css-select@5.2.2", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw=="],
|
|
109
|
-
|
|
110
|
-
"css-tree": ["css-tree@3.1.0", "", { "dependencies": { "mdn-data": "2.12.2", "source-map-js": "^1.0.1" } }, "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w=="],
|
|
111
|
-
|
|
112
|
-
"css-what": ["css-what@6.2.2", "", {}, "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA=="],
|
|
113
|
-
|
|
114
|
-
"cssom": ["cssom@0.5.0", "", {}, "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw=="],
|
|
115
|
-
|
|
116
|
-
"cssstyle": ["cssstyle@5.3.7", "", { "dependencies": { "@asamuzakjp/css-color": "^4.1.1", "@csstools/css-syntax-patches-for-csstree": "^1.0.21", "css-tree": "^3.1.0", "lru-cache": "^11.2.4" } }, "sha512-7D2EPVltRrsTkhpQmksIu+LxeWAIEk6wRDMJ1qljlv+CKHJM+cJLlfhWIzNA44eAsHXSNe3+vO6DW1yCYx8SuQ=="],
|
|
117
|
-
|
|
118
|
-
"data-uri-to-buffer": ["data-uri-to-buffer@6.0.2", "", {}, "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw=="],
|
|
119
|
-
|
|
120
|
-
"data-urls": ["data-urls@6.0.1", "", { "dependencies": { "whatwg-mimetype": "^5.0.0", "whatwg-url": "^15.1.0" } }, "sha512-euIQENZg6x8mj3fO6o9+fOW8MimUI4PpD/fZBhJfeioZVy9TUpM4UY7KjQNVZFlqwJ0UdzRDzkycB997HEq1BQ=="],
|
|
121
|
-
|
|
122
|
-
"debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="],
|
|
123
|
-
|
|
124
|
-
"decimal.js": ["decimal.js@10.6.0", "", {}, "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="],
|
|
125
|
-
|
|
126
|
-
"degenerator": ["degenerator@5.0.1", "", { "dependencies": { "ast-types": "^0.13.4", "escodegen": "^2.1.0", "esprima": "^4.0.1" } }, "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ=="],
|
|
127
|
-
|
|
128
|
-
"detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="],
|
|
129
|
-
|
|
130
|
-
"devtools-protocol": ["devtools-protocol@0.0.1551306", "", {}, "sha512-CFx8QdSim8iIv+2ZcEOclBKTQY6BI1IEDa7Tm9YkwAXzEWFndTEzpTo5jAUhSnq24IC7xaDw0wvGcm96+Y3PEg=="],
|
|
131
|
-
|
|
132
|
-
"dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="],
|
|
133
|
-
|
|
134
|
-
"domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="],
|
|
135
|
-
|
|
136
|
-
"domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="],
|
|
137
|
-
|
|
138
|
-
"domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="],
|
|
139
|
-
|
|
140
|
-
"emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
|
|
141
|
-
|
|
142
|
-
"end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="],
|
|
143
|
-
|
|
144
|
-
"entities": ["entities@6.0.1", "", {}, "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g=="],
|
|
145
|
-
|
|
146
|
-
"escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
|
|
147
|
-
|
|
148
|
-
"escodegen": ["escodegen@2.1.0", "", { "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", "esutils": "^2.0.2" }, "optionalDependencies": { "source-map": "~0.6.1" }, "bin": { "esgenerate": "bin/esgenerate.js", "escodegen": "bin/escodegen.js" } }, "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w=="],
|
|
149
|
-
|
|
150
|
-
"esprima": ["esprima@4.0.1", "", { "bin": { "esparse": "./bin/esparse.js", "esvalidate": "./bin/esvalidate.js" } }, "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="],
|
|
151
|
-
|
|
152
|
-
"estraverse": ["estraverse@5.3.0", "", {}, "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="],
|
|
153
|
-
|
|
154
|
-
"esutils": ["esutils@2.0.3", "", {}, "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="],
|
|
155
|
-
|
|
156
|
-
"events-universal": ["events-universal@1.0.1", "", { "dependencies": { "bare-events": "^2.7.0" } }, "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw=="],
|
|
157
|
-
|
|
158
|
-
"extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="],
|
|
159
|
-
|
|
160
|
-
"fast-fifo": ["fast-fifo@1.3.2", "", {}, "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="],
|
|
161
|
-
|
|
162
|
-
"fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="],
|
|
163
|
-
|
|
164
|
-
"get-caller-file": ["get-caller-file@2.0.5", "", {}, "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="],
|
|
165
|
-
|
|
166
|
-
"get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="],
|
|
167
|
-
|
|
168
|
-
"get-uri": ["get-uri@6.0.5", "", { "dependencies": { "basic-ftp": "^5.0.2", "data-uri-to-buffer": "^6.0.2", "debug": "^4.3.4" } }, "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg=="],
|
|
169
|
-
|
|
170
|
-
"html-encoding-sniffer": ["html-encoding-sniffer@6.0.0", "", { "dependencies": { "@exodus/bytes": "^1.6.0" } }, "sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg=="],
|
|
171
|
-
|
|
172
|
-
"html-escaper": ["html-escaper@3.0.3", "", {}, "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ=="],
|
|
173
|
-
|
|
174
|
-
"htmlparser2": ["htmlparser2@10.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.2.2", "entities": "^7.0.1" } }, "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ=="],
|
|
175
|
-
|
|
176
|
-
"http-proxy-agent": ["http-proxy-agent@7.0.2", "", { "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig=="],
|
|
177
|
-
|
|
178
|
-
"https-proxy-agent": ["https-proxy-agent@7.0.6", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "4" } }, "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw=="],
|
|
179
|
-
|
|
180
|
-
"ip-address": ["ip-address@10.1.0", "", {}, "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q=="],
|
|
181
|
-
|
|
182
|
-
"is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
|
|
183
|
-
|
|
184
|
-
"is-potential-custom-element-name": ["is-potential-custom-element-name@1.0.1", "", {}, "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="],
|
|
185
|
-
|
|
186
|
-
"jsdom": ["jsdom@27.4.0", "", { "dependencies": { "@acemir/cssom": "^0.9.28", "@asamuzakjp/dom-selector": "^6.7.6", "@exodus/bytes": "^1.6.0", "cssstyle": "^5.3.4", "data-urls": "^6.0.0", "decimal.js": "^10.6.0", "html-encoding-sniffer": "^6.0.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.6", "is-potential-custom-element-name": "^1.0.1", "parse5": "^8.0.0", "saxes": "^6.0.0", "symbol-tree": "^3.2.4", "tough-cookie": "^6.0.0", "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^8.0.0", "whatwg-mimetype": "^4.0.0", "whatwg-url": "^15.1.0", "ws": "^8.18.3", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^3.0.0" }, "optionalPeers": ["canvas"] }, "sha512-mjzqwWRD9Y1J1KUi7W97Gja1bwOOM5Ug0EZ6UDK3xS7j7mndrkwozHtSblfomlzyB4NepioNt+B2sOSzczVgtQ=="],
|
|
187
|
-
|
|
188
|
-
"linkedom": ["linkedom@0.18.12", "", { "dependencies": { "css-select": "^5.1.0", "cssom": "^0.5.0", "html-escaper": "^3.0.3", "htmlparser2": "^10.0.0", "uhyphen": "^0.2.0" }, "peerDependencies": { "canvas": ">= 2" }, "optionalPeers": ["canvas"] }, "sha512-jalJsOwIKuQJSeTvsgzPe9iJzyfVaEJiEXl+25EkKevsULHvMJzpNqwvj1jOESWdmgKDiXObyjOYwlUqG7wo1Q=="],
|
|
189
|
-
|
|
190
|
-
"lru-cache": ["lru-cache@11.2.5", "", {}, "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw=="],
|
|
191
|
-
|
|
192
|
-
"mdn-data": ["mdn-data@2.12.2", "", {}, "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA=="],
|
|
193
|
-
|
|
194
|
-
"mitt": ["mitt@3.0.1", "", {}, "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="],
|
|
195
|
-
|
|
196
|
-
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
|
197
|
-
|
|
198
|
-
"netmask": ["netmask@2.0.2", "", {}, "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg=="],
|
|
199
|
-
|
|
200
|
-
"node-gyp-build-optional-packages": ["node-gyp-build-optional-packages@5.1.1", "", { "dependencies": { "detect-libc": "^2.0.1" }, "bin": { "node-gyp-build-optional-packages": "bin.js", "node-gyp-build-optional-packages-test": "build-test.js", "node-gyp-build-optional-packages-optional": "optional.js" } }, "sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw=="],
|
|
201
|
-
|
|
202
|
-
"nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="],
|
|
203
|
-
|
|
204
|
-
"once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="],
|
|
205
|
-
|
|
206
|
-
"pac-proxy-agent": ["pac-proxy-agent@7.2.0", "", { "dependencies": { "@tootallnate/quickjs-emscripten": "^0.23.0", "agent-base": "^7.1.2", "debug": "^4.3.4", "get-uri": "^6.0.1", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.6", "pac-resolver": "^7.0.1", "socks-proxy-agent": "^8.0.5" } }, "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA=="],
|
|
207
|
-
|
|
208
|
-
"pac-resolver": ["pac-resolver@7.0.1", "", { "dependencies": { "degenerator": "^5.0.0", "netmask": "^2.0.2" } }, "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg=="],
|
|
209
|
-
|
|
210
|
-
"parse5": ["parse5@8.0.0", "", { "dependencies": { "entities": "^6.0.0" } }, "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA=="],
|
|
211
|
-
|
|
212
|
-
"pend": ["pend@1.2.0", "", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="],
|
|
213
|
-
|
|
214
|
-
"progress": ["progress@2.0.3", "", {}, "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="],
|
|
215
|
-
|
|
216
|
-
"proxy-agent": ["proxy-agent@6.5.0", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "http-proxy-agent": "^7.0.1", "https-proxy-agent": "^7.0.6", "lru-cache": "^7.14.1", "pac-proxy-agent": "^7.1.0", "proxy-from-env": "^1.1.0", "socks-proxy-agent": "^8.0.5" } }, "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A=="],
|
|
217
|
-
|
|
218
|
-
"proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="],
|
|
219
|
-
|
|
220
|
-
"pump": ["pump@3.0.3", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA=="],
|
|
221
|
-
|
|
222
|
-
"punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
|
|
223
|
-
|
|
224
|
-
"puppeteer-core": ["puppeteer-core@24.36.1", "", { "dependencies": { "@puppeteer/browsers": "2.11.2", "chromium-bidi": "13.0.1", "debug": "^4.4.3", "devtools-protocol": "0.0.1551306", "typed-query-selector": "^2.12.0", "webdriver-bidi-protocol": "0.4.0", "ws": "^8.19.0" } }, "sha512-L7ykMWc3lQf3HS7ME3PSjp7wMIjJeW6+bKfH/RSTz5l6VUDGubnrC2BKj3UvM28Y5PMDFW0xniJOZHBZPpW1dQ=="],
|
|
225
|
-
|
|
226
|
-
"require-directory": ["require-directory@2.1.1", "", {}, "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="],
|
|
227
|
-
|
|
228
|
-
"require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="],
|
|
229
|
-
|
|
230
|
-
"saxes": ["saxes@6.0.0", "", { "dependencies": { "xmlchars": "^2.2.0" } }, "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA=="],
|
|
231
|
-
|
|
232
|
-
"semver": ["semver@7.7.3", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q=="],
|
|
233
|
-
|
|
234
|
-
"smart-buffer": ["smart-buffer@4.2.0", "", {}, "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg=="],
|
|
235
|
-
|
|
236
|
-
"socks": ["socks@2.8.7", "", { "dependencies": { "ip-address": "^10.0.1", "smart-buffer": "^4.2.0" } }, "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A=="],
|
|
237
|
-
|
|
238
|
-
"socks-proxy-agent": ["socks-proxy-agent@8.0.5", "", { "dependencies": { "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" } }, "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw=="],
|
|
239
|
-
|
|
240
|
-
"source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="],
|
|
241
|
-
|
|
242
|
-
"source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
|
|
243
|
-
|
|
244
|
-
"streamx": ["streamx@2.23.0", "", { "dependencies": { "events-universal": "^1.0.0", "fast-fifo": "^1.3.2", "text-decoder": "^1.1.0" } }, "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg=="],
|
|
245
|
-
|
|
246
|
-
"string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
|
|
247
|
-
|
|
248
|
-
"strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
|
|
249
|
-
|
|
250
|
-
"symbol-tree": ["symbol-tree@3.2.4", "", {}, "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="],
|
|
251
|
-
|
|
252
|
-
"tar-fs": ["tar-fs@3.1.1", "", { "dependencies": { "pump": "^3.0.0", "tar-stream": "^3.1.5" }, "optionalDependencies": { "bare-fs": "^4.0.1", "bare-path": "^3.0.0" } }, "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg=="],
|
|
253
|
-
|
|
254
|
-
"tar-stream": ["tar-stream@3.1.7", "", { "dependencies": { "b4a": "^1.6.4", "fast-fifo": "^1.2.0", "streamx": "^2.15.0" } }, "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ=="],
|
|
255
|
-
|
|
256
|
-
"text-decoder": ["text-decoder@1.2.3", "", { "dependencies": { "b4a": "^1.6.4" } }, "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA=="],
|
|
257
|
-
|
|
258
|
-
"tldts": ["tldts@7.0.21", "", { "dependencies": { "tldts-core": "^7.0.21" }, "bin": { "tldts": "bin/cli.js" } }, "sha512-Plu6V8fF/XU6d2k8jPtlQf5F4Xx2hAin4r2C2ca7wR8NK5MbRTo9huLUWRe28f3Uk8bYZfg74tit/dSjc18xnw=="],
|
|
259
|
-
|
|
260
|
-
"tldts-core": ["tldts-core@7.0.21", "", {}, "sha512-oVOMdHvgjqyzUZH1rOESgJP1uNe2bVrfK0jUHHmiM2rpEiRbf3j4BrsIc6JigJRbHGanQwuZv/R+LTcHsw+bLA=="],
|
|
261
|
-
|
|
262
|
-
"tough-cookie": ["tough-cookie@6.0.0", "", { "dependencies": { "tldts": "^7.0.5" } }, "sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w=="],
|
|
263
|
-
|
|
264
|
-
"tr46": ["tr46@6.0.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw=="],
|
|
265
|
-
|
|
266
|
-
"tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
|
|
267
|
-
|
|
268
|
-
"typed-query-selector": ["typed-query-selector@2.12.0", "", {}, "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg=="],
|
|
269
|
-
|
|
270
|
-
"uhyphen": ["uhyphen@0.2.0", "", {}, "sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA=="],
|
|
271
|
-
|
|
272
|
-
"undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="],
|
|
273
|
-
|
|
274
|
-
"w3c-xmlserializer": ["w3c-xmlserializer@5.0.0", "", { "dependencies": { "xml-name-validator": "^5.0.0" } }, "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA=="],
|
|
275
|
-
|
|
276
|
-
"webdriver-bidi-protocol": ["webdriver-bidi-protocol@0.4.0", "", {}, "sha512-U9VIlNRrq94d1xxR9JrCEAx5Gv/2W7ERSv8oWRoNe/QYbfccS0V3h/H6qeNeCRJxXGMhhnkqvwNrvPAYeuP9VA=="],
|
|
277
|
-
|
|
278
|
-
"webidl-conversions": ["webidl-conversions@8.0.1", "", {}, "sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ=="],
|
|
279
|
-
|
|
280
|
-
"whatwg-mimetype": ["whatwg-mimetype@4.0.0", "", {}, "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="],
|
|
281
|
-
|
|
282
|
-
"whatwg-url": ["whatwg-url@15.1.0", "", { "dependencies": { "tr46": "^6.0.0", "webidl-conversions": "^8.0.0" } }, "sha512-2ytDk0kiEj/yu90JOAp44PVPUkO9+jVhyf+SybKlRHSDlvOOZhdPIrr7xTH64l4WixO2cP+wQIcgujkGBPPz6g=="],
|
|
283
|
-
|
|
284
|
-
"wrap-ansi": ["wrap-ansi@7.0.0", "", { "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" } }, "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q=="],
|
|
285
|
-
|
|
286
|
-
"wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],
|
|
287
|
-
|
|
288
|
-
"ws": ["ws@8.19.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg=="],
|
|
289
|
-
|
|
290
|
-
"xml-name-validator": ["xml-name-validator@5.0.0", "", {}, "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg=="],
|
|
291
|
-
|
|
292
|
-
"xmlchars": ["xmlchars@2.2.0", "", {}, "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="],
|
|
293
|
-
|
|
294
|
-
"y18n": ["y18n@5.0.8", "", {}, "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="],
|
|
295
|
-
|
|
296
|
-
"yargs": ["yargs@17.7.2", "", { "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", "string-width": "^4.2.3", "y18n": "^5.0.5", "yargs-parser": "^21.1.1" } }, "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w=="],
|
|
297
|
-
|
|
298
|
-
"yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="],
|
|
299
|
-
|
|
300
|
-
"yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="],
|
|
301
|
-
|
|
302
|
-
"zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="],
|
|
303
|
-
|
|
304
|
-
"data-urls/whatwg-mimetype": ["whatwg-mimetype@5.0.0", "", {}, "sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw=="],
|
|
305
|
-
|
|
306
|
-
"dom-serializer/entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
|
|
307
|
-
|
|
308
|
-
"htmlparser2/entities": ["entities@7.0.1", "", {}, "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA=="],
|
|
309
|
-
|
|
310
|
-
"proxy-agent/lru-cache": ["lru-cache@7.18.3", "", {}, "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA=="],
|
|
311
|
-
}
|
|
312
|
-
}
|
package/bunfig.toml
DELETED