@fangorn-network/westmarch 2026.10.29 → 2026.11.4-dev
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/README.md +5 -5
- package/docs/app-to-agent.md +61 -625
- package/package.json +12 -17
- package/site/dist/assets/__vite-browser-external-D2U8RZpp.js +1 -0
- package/site/dist/assets/embed.worker-CmS57Zti.js +1 -0
- package/site/dist/assets/index-Djs8f08m.js +8 -0
- package/site/dist/assets/rolldown-runtime-COiEfhsA.js +1 -0
- package/site/dist/assets/{transformers.web-BTyOEJ0C.js → transformers.web-CwR_IYQV.js} +1 -1
- package/site/dist/index.html +3 -4
- package/site/worker.js +115 -338
- package/src/agent/agent-card.js +33 -45
- package/src/agent/mcp.js +168 -371
- package/src/agent/tools.js +2 -1
- package/src/agent/view-tools.js +4 -56
- package/src/agent/x402.js +182 -369
- package/src/core/roles.js +6 -6
- package/src/core/shard.js +4 -4
- package/src/discover/apps.js +67 -81
- package/src/discover/directory.js +2 -2
- package/src/market/reactions.js +21 -15
- package/src/publish/devnet.js +69 -18
- package/src/publish/init.js +1 -1
- package/src/publish/ship.js +74 -275
- package/src/publish/view.js +52 -53
- package/template/README.md +9 -11
- package/template/package.json +1 -1
- package/plugin/scripts/fx.mjs +0 -266
- package/site/dist/assets/AccountNotFoundScreen-C4njXc69-DyVH4CEz.js +0 -1
- package/site/dist/assets/AddFundsSelectionScreen-RAoCn7ej-Dz1--SS9.js +0 -31
- package/site/dist/assets/Address-H8kD1d9O-BdFZmRwI.js +0 -17
- package/site/dist/assets/AffirmativeConsentScreen-BG0MJxku-CxaCAisL.js +0 -6
- package/site/dist/assets/AllowlistRejectionScreen-Cae6e1Od-JGk7vndN.js +0 -1
- package/site/dist/assets/ApiController-CTLbMCcH.js +0 -5
- package/site/dist/assets/ArrowsRightLeftIcon-B8g9adpz.js +0 -1
- package/site/dist/assets/AuthenticateWithWalletScreen-CU6hIcFT-CXD9_OP8.js +0 -1
- package/site/dist/assets/AwaitingEvmToSolBridgingScreen-D0e_sZMS-BtJCglvU.js +0 -1
- package/site/dist/assets/AwaitingExternalEthereumTransferScreen-ur5HL4R7-BgC2TsqH.js +0 -1
- package/site/dist/assets/AwaitingPasswordlessCodeScreen-DRHz76mM-B9OzLeEO.js +0 -103
- package/site/dist/assets/AwaitingSolToEvmBridgingScreen-CdLRrGD2-C7r5snUL.js +0 -1
- package/site/dist/assets/BridgeNetworkSelectionView-CFGjB2nO-BTV0NRio.js +0 -68
- package/site/dist/assets/CaptchaScreen-DbpvkIGx-7rSZIuM-.js +0 -1
- package/site/dist/assets/CheckCircleIcon-B1l17ioc.js +0 -1
- package/site/dist/assets/CheckCircleIcon-BGSI8nKf.js +0 -1
- package/site/dist/assets/Checkbox-D1EDeo41-BUfq0w99.js +0 -52
- package/site/dist/assets/ChevronDownIcon-B6uJvPHu.js +0 -1
- package/site/dist/assets/Chip-CZKIKt9K-r9Nk__0-.js +0 -26
- package/site/dist/assets/CoinbaseOnrampStatusScreen-BbyCJDXL-DWWNHxmR.js +0 -16
- package/site/dist/assets/ConnectEmailForm-B-VRE0MN-CRQwS0Xu.js +0 -3
- package/site/dist/assets/ConnectLedgerScreen-DWHABGot-CZcCt31O.js +0 -10
- package/site/dist/assets/ConnectOnlyLandingScreen-CZYx9Bmp-C5IOf-SQ.js +0 -1
- package/site/dist/assets/ConnectOnlyStatusScreen-DCRzjxHx-cwg74F3A.js +0 -1
- package/site/dist/assets/ConnectOrCreateScreen-CUUYUO07-D28oeK6b.js +0 -1
- package/site/dist/assets/ConnectPhoneForm-Dek5xn4C-EEdkKeTp.js +0 -95
- package/site/dist/assets/ConnectWalletView-DqI-PTvX-C2mEzukj.js +0 -74
- package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-CH_7r8iV.js +0 -7
- package/site/dist/assets/ConnectionStatusScreen-fUfROm9m-Z33kis0B.js +0 -1
- package/site/dist/assets/ConnectorUtil-DH4NePk5.js +0 -21
- package/site/dist/assets/ConstantsUtil-DmLsRHAl.js +0 -198
- package/site/dist/assets/CopyToClipboard-i_OQSBJr-_G88JCVR.js +0 -39
- package/site/dist/assets/CopyableText-CQapvaMr-CGGfc_zM.js +0 -28
- package/site/dist/assets/CrossAppAuthScreen-CLw7ymZq-C9Okoc0V.js +0 -1
- package/site/dist/assets/CustomLandingScreenView-Cm_MBSyX-D2l6hdSl.js +0 -22
- package/site/dist/assets/DelegatedActionsConsentScreen-DYF2U4y5-Dda3KKqS.js +0 -1
- package/site/dist/assets/DelegatedActionsRevokeScreen-bPp6Uwyh-DG8kJPt1.js +0 -1
- package/site/dist/assets/DepositAddressAddressStepView-4vdkb55L-CcOUfn6f.js +0 -187
- package/site/dist/assets/DepositAddressScreen-DBLRs7aI-DeituDNh.js +0 -8
- package/site/dist/assets/DepositAddressV3Screen-CDqIEMQw-FDg6K14-.js +0 -1
- package/site/dist/assets/EmailInputForm-Cqo1mda8-BmbxvPHC.js +0 -124
- package/site/dist/assets/EmbeddedWalletConnectingScreen-D4T7DUzs-B05CQ9rx.js +0 -1
- package/site/dist/assets/EmbeddedWalletCreatedScreen-D7WhW5ve-Cxd1b9XH.js +0 -1
- package/site/dist/assets/EmbeddedWalletKeyExportScreen-CqV4NYQ3-CrJy0ViX.js +0 -23
- package/site/dist/assets/EmbeddedWalletOnAccountCreateScreen-BoKb3Q2S-Bakaa3zu.js +0 -1
- package/site/dist/assets/EmbeddedWalletPasswordUpdateScreen-D3rMlqS7-j78vKrcj.js +0 -1
- package/site/dist/assets/EmbeddedWalletPasswordUpdateSplashScreen-BPFkWJeE-D3dr7W9_.js +0 -1
- package/site/dist/assets/EnrollTotp-Dibew4dp-BXbYV8nI.js +0 -66
- package/site/dist/assets/EnvelopeIcon-DjPofnRI.js +0 -1
- package/site/dist/assets/ErrorBanner-BcpGRt0h-BhH6_V-9.js +0 -21
- package/site/dist/assets/ErrorMessage-D8VaAP5m-Bs7uX2a9.js +0 -8
- package/site/dist/assets/ErrorScreen-DipdTWzE-BgPRgnOb.js +0 -4
- package/site/dist/assets/ErrorScreen-DipdTWzE-CvxXC6pz.js +0 -1
- package/site/dist/assets/ExclamationCircleIcon-BE-WGrut.js +0 -1
- package/site/dist/assets/ExclamationTriangleIcon-Ca1Xlc_f.js +0 -1
- package/site/dist/assets/FarcasterConnectStatusScreen-51tjUxqq-De2JvZdV.js +0 -75
- package/site/dist/assets/FarcasterSignerStatusScreen-6x-Uh95G-bLp3hXoO.js +0 -28
- package/site/dist/assets/FiatOnrampScreen-BAhYeiTI-Jr6D6JiZ.js +0 -491
- package/site/dist/assets/FingerPrintIcon-DOCbS93y.js +0 -1
- package/site/dist/assets/FundSolWalletWithExternalSolanaWallet-WtLwYaOl-A_G5kfa1.js +0 -1
- package/site/dist/assets/FundWalletMethodHeader-BWNkokCT-LPv35wkD.js +0 -1
- package/site/dist/assets/FundWithBankDepositScreen-DajkHxBD-0hfGrfvf.js +0 -58
- package/site/dist/assets/FundingEditAmountScreen-CpvpiO4M-Dz0s_NWR.js +0 -1
- package/site/dist/assets/FundingMethodSelectionScreen-Db7vhRlE-ZGm-3-Io.js +0 -1
- package/site/dist/assets/GlobeAltIcon-BBRl2MMn.js +0 -1
- package/site/dist/assets/GooglePay-B53WnudL-BGiVpB8y.js +0 -1
- package/site/dist/assets/HCaptchaWrapper-CUi9LJsp-CHdfIeD_.js +0 -4
- package/site/dist/assets/InAppBrowserLoginNotPossible-BMR9br1T-Cgoiow3m.js +0 -1
- package/site/dist/assets/InfoBanner-Cb3p1z12-_YqQmRiu.js +0 -22
- package/site/dist/assets/InjectedWalletIcon-DLcYOGDj-tuIrKQHH.js +0 -1
- package/site/dist/assets/InstallWalletScreen-DTA8dwLv-BMU_wa61.js +0 -1
- package/site/dist/assets/JsonTree-BHzNC-ic-DcVr0YF0.js +0 -34
- package/site/dist/assets/LabelXs-oqZNqbm_-CNprGVQM.js +0 -6
- package/site/dist/assets/LandingScreen-CGWUoSUG-fH6rsQen.js +0 -1
- package/site/dist/assets/Layouts-BMRfo5hw-e-sepi6F.js +0 -77
- package/site/dist/assets/Link-BdDilT2T-BdwlRJch.js +0 -40
- package/site/dist/assets/LinkConflictScreen-C3ZEPsgl-BXKN2Qm5.js +0 -77
- package/site/dist/assets/LinkEmailScreen-dKo9frwc-Cyn7Q8p1.js +0 -1
- package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-CWiqnwLM.js +0 -117
- package/site/dist/assets/LinkPasskeyScreen-zbrl_AI_-YmDevJzf.js +0 -1
- package/site/dist/assets/LinkPhoneScreen-oIUpfj0w-h7shW-Ay.js +0 -1
- package/site/dist/assets/Loader-UAZqxsnw-DJEVblm1.js +0 -62
- package/site/dist/assets/LoadingSkeleton-BMsgO5PV-D2atjsP5.js +0 -17
- package/site/dist/assets/LockClosedIcon-9EFzWK1C.js +0 -1
- package/site/dist/assets/LoginFailedScreen-CN0dJV6U-By3Si77a.js +0 -1
- package/site/dist/assets/ManualTransferScreen-CHqcuqbs-BAHPY8rs.js +0 -1
- package/site/dist/assets/MfaAuthEnrollmentFlowScreen-Dj7gPTRC-CLjffFG1.js +0 -1
- package/site/dist/assets/MfaAuthVerifyFlowScreen-DbFpyWMy-BmQg1Y61.js +0 -1
- package/site/dist/assets/MfaEnrollmentFlowScreen-DhLnGgnr-DmBtTtlw.js +0 -1
- package/site/dist/assets/MfaVerifyFlowScreen-C_XPjMRP-4a683Bmf.js +0 -1
- package/site/dist/assets/ModalFooter-BCuEK_nz-C_71qsaz.js +0 -403
- package/site/dist/assets/MoonpayStatusScreen-CzTUtokc-DEHHcEf8.js +0 -16
- package/site/dist/assets/OAuthStatusScreen-ufbOa-da-BjAb_WsY.js +0 -1
- package/site/dist/assets/OpenLink-CUpJ1mOr-BLWFsPOW.js +0 -39
- package/site/dist/assets/PasskeySelectSignupOrLogin-xh2ScC_l-2PJTJxX-.js +0 -1
- package/site/dist/assets/PasskeyStatusScreen-Bla8MaOk-DCEg761l.js +0 -6
- package/site/dist/assets/PasswordRecoveryScreen-awGXZkQk-8nVjNc8k.js +0 -20
- package/site/dist/assets/PhArrowCircleDown-D97G-BOA.js +0 -14
- package/site/dist/assets/PhArrowClockwise-DVgyFuez.js +0 -14
- package/site/dist/assets/PhArrowDown-87b1BizM.js +0 -14
- package/site/dist/assets/PhArrowLeft-Da0MfnbK.js +0 -14
- package/site/dist/assets/PhArrowRight-AdrIL4DW.js +0 -14
- package/site/dist/assets/PhArrowSquareOut-Bk2CMG3I.js +0 -14
- package/site/dist/assets/PhArrowUp-4sgyKPGx.js +0 -14
- package/site/dist/assets/PhArrowUpRight-BNghD2zq.js +0 -14
- package/site/dist/assets/PhArrowsClockwise-BXRn1GEl.js +0 -14
- package/site/dist/assets/PhArrowsDownUp-DM09Jo_3.js +0 -14
- package/site/dist/assets/PhArrowsLeftRight-MuKBLUoF.js +0 -14
- package/site/dist/assets/PhBank-fHbgCqqZ.js +0 -14
- package/site/dist/assets/PhBrowser-2-9m-AkM.js +0 -14
- package/site/dist/assets/PhCaretDown-BDNabFuL.js +0 -14
- package/site/dist/assets/PhCaretLeft-CI460R-A.js +0 -14
- package/site/dist/assets/PhCaretRight-D7ZS3Ls8.js +0 -14
- package/site/dist/assets/PhCaretUp-C-iIfyvO.js +0 -14
- package/site/dist/assets/PhCheck-DxQXn57r.js +0 -14
- package/site/dist/assets/PhCircleHalf-MJZeRBGF.js +0 -14
- package/site/dist/assets/PhClock-x3MS3Mwi.js +0 -14
- package/site/dist/assets/PhCompass-hYn3HhGN.js +0 -14
- package/site/dist/assets/PhCopy-CWNYcABI.js +0 -14
- package/site/dist/assets/PhCreditCard-Fy4pzwtt.js +0 -14
- package/site/dist/assets/PhCurrencyDollar-BgiaenCi.js +0 -14
- package/site/dist/assets/PhDesktop-CxrzCSv5.js +0 -14
- package/site/dist/assets/PhDeviceMobile-CsyA5Goi.js +0 -14
- package/site/dist/assets/PhDotsThree-D-k1BiYg.js +0 -14
- package/site/dist/assets/PhEnvelope-D8kzeNox.js +0 -14
- package/site/dist/assets/PhFunnelSimple-CfQs5DAW.js +0 -14
- package/site/dist/assets/PhGlobe-DvmSc9_A.js +0 -14
- package/site/dist/assets/PhIdentificationCard-CfkZm-5K.js +0 -14
- package/site/dist/assets/PhImage-Cf0J2ZfJ.js +0 -14
- package/site/dist/assets/PhInfo-Bwi51-2X.js +0 -14
- package/site/dist/assets/PhLightbulb-C4FZV7Es.js +0 -14
- package/site/dist/assets/PhMagnifyingGlass-C9u8jSCJ.js +0 -14
- package/site/dist/assets/PhPaperPlaneRight-zxQVvPLX.js +0 -14
- package/site/dist/assets/PhPlus-C4UoW-2n.js +0 -14
- package/site/dist/assets/PhPower-CFyWDmgD.js +0 -14
- package/site/dist/assets/PhPuzzlePiece-BjoNVfST.js +0 -14
- package/site/dist/assets/PhQrCode-CP3tFauY.js +0 -14
- package/site/dist/assets/PhQuestion-wOWJBd3G.js +0 -14
- package/site/dist/assets/PhQuestionMark-CV0k9C0Y.js +0 -14
- package/site/dist/assets/PhSealCheck-vIKzREuN.js +0 -14
- package/site/dist/assets/PhSignOut-CxELV-i0.js +0 -14
- package/site/dist/assets/PhSpinner-CGDmbzUd.js +0 -14
- package/site/dist/assets/PhTrash-C9PD0SAt.js +0 -14
- package/site/dist/assets/PhUser-0sWNXQeZ.js +0 -14
- package/site/dist/assets/PhVault-6JTskUcC.js +0 -14
- package/site/dist/assets/PhWarning-CoKs3gz6.js +0 -14
- package/site/dist/assets/PhWarningCircle-BXHw1fCt.js +0 -14
- package/site/dist/assets/PhX-DX0SFIqC.js +0 -14
- package/site/dist/assets/PhoneIcon-CZ47md80.js +0 -1
- package/site/dist/assets/PinInput-DbZ0b1i1-BrTXu3Km.js +0 -247
- package/site/dist/assets/PrivyPluginContext-DA-yS5vO-CY60yubk.js +0 -1
- package/site/dist/assets/QrCode-DbnZwlkH-CcMrWV5D.js +0 -22
- package/site/dist/assets/RecoveryOAuthStatusScreen-CsgtTI2x-DgeDnHOK.js +0 -1
- package/site/dist/assets/RecoveryPasswordCreateScreen-Be-qJ-LU-CvJJwLhK.js +0 -1
- package/site/dist/assets/RecoverySelectionScreen-D1iGtpmi-CADtGtSV.js +0 -7
- package/site/dist/assets/SIWXUtil-Cpiv91-M.js +0 -1
- package/site/dist/assets/Screen-D30meWsY-vEusJ7KX.js +0 -175
- package/site/dist/assets/ScreenHeader-CHmc4-Lu-BvGTLg53.js +0 -31
- package/site/dist/assets/ScreenLayout-OwaQQcxH-cfOTmyl0.js +0 -1
- package/site/dist/assets/SelectSourceAsset-CWFog6gm-DxYklZYs.js +0 -140
- package/site/dist/assets/SetAutomaticRecoveryScreen-BO_OEqAZ-oeqeo05x.js +0 -14
- package/site/dist/assets/SetWalletPasswordForm-DwCTVtAh-BxFee9UA.js +0 -11
- package/site/dist/assets/ShieldCheckIcon-eFjsosCA.js +0 -1
- package/site/dist/assets/SignRequestScreen-BHKv32KR-z8ixfIma.js +0 -26
- package/site/dist/assets/SolanaWalletConnector-C7Lqk-Wz-Bc_lvdiF.js +0 -1
- package/site/dist/assets/StackedContainer-B2vaEl56-Do5dXB8-.js +0 -24
- package/site/dist/assets/StandardSignAndSendTransactionScreen-CfhIXVtd-DudetZAc.js +0 -20
- package/site/dist/assets/Subtitle-CV-2yKE4-DV0o1av3.js +0 -13
- package/site/dist/assets/TelegramAuthScreen-UL9zLfO8-Bo3sONvf.js +0 -1
- package/site/dist/assets/Title-BnzYV3Is-C3qOPnO_.js +0 -7
- package/site/dist/assets/TodoList-DnyULl18-BvxvubbF.js +0 -36
- package/site/dist/assets/TransactionDetails-e9nesl30-WWflkOIi.js +0 -109
- package/site/dist/assets/TransactionErrorView-BDBNqA_f-CotYKcgf.js +0 -178
- package/site/dist/assets/TransferFromWalletScreen-Qvn1Yuno-sVFlWqa8.js +0 -31
- package/site/dist/assets/TransferOrBridgeLoadingScreen-Dl1I_iIz-CV2-mY19.js +0 -6
- package/site/dist/assets/TurnstileWrapper-B7sNddys-oPbuMTQt.js +0 -1
- package/site/dist/assets/UpdateEmailScreen-DVOhPV0H-D_mjSpAy.js +0 -1
- package/site/dist/assets/UpdatePhoneScreen-CXRswTNZ-6RLG0ahv.js +0 -1
- package/site/dist/assets/UserLimitReachedScreen-5we2DHn8-CaVN0bti.js +0 -1
- package/site/dist/assets/Value-DTgR824E-Bp6WGZZm.js +0 -27
- package/site/dist/assets/WalletCards-DH1rqayz-D3cOTb9x.js +0 -1
- package/site/dist/assets/WalletIcon-DOIZhb2l.js +0 -1
- package/site/dist/assets/WalletInfoCard-sq_2wgFg-bOqfl5MA.js +0 -29
- package/site/dist/assets/WalletInterstitialScreen-Sh7LfsAh-DWaVkMCA.js +0 -1
- package/site/dist/assets/WalletLink-DK5LB5Ha-DjUZvqs-.js +0 -20
- package/site/dist/assets/WalletOverflowButton-bfCnp-9T-B6P7DQXA.js +0 -1
- package/site/dist/assets/WarningBanner-ZZqCEtZK-Bc2YKZb7.js +0 -21
- package/site/dist/assets/__vite-browser-external-NciY4Vu1.js +0 -1
- package/site/dist/assets/_esm-BZP3cXTv.js +0 -1
- package/site/dist/assets/_esm-ZmzBJpEs.js +0 -6
- package/site/dist/assets/accounts-D4AXF17G.js +0 -1
- package/site/dist/assets/accounts-IkdFx9nq.js +0 -1
- package/site/dist/assets/analytics-mkkvFRju-BRBcadka.js +0 -1
- package/site/dist/assets/baseSepolia-Bn1j1Ysw.js +0 -1
- package/site/dist/assets/basic-Cz1YiCSk.js +0 -1575
- package/site/dist/assets/capitalizeFirstLetter-DmLYqXsO-DtOXx-2n.js +0 -1
- package/site/dist/assets/ccip-B1J3oTZx.js +0 -7
- package/site/dist/assets/ccip-Bd7261zy.js +0 -1
- package/site/dist/assets/ccip-D6EHKpjI.js +0 -1
- package/site/dist/assets/chain-scefkYIH.js +0 -5
- package/site/dist/assets/check-DHnllI8N.js +0 -1
- package/site/dist/assets/chevron-down-1y-r4bGO.js +0 -1
- package/site/dist/assets/circle-alert-OwxamXUX.js +0 -1
- package/site/dist/assets/circle-check-big-3sZGVC10.js +0 -1
- package/site/dist/assets/circle-x-DQjNUV9J.js +0 -1
- package/site/dist/assets/client-B-BpRtwY.js +0 -1
- package/site/dist/assets/client-BfIR1FvH.js +0 -9
- package/site/dist/assets/coinbase-DCPC2L_R-YEuIn3jh.js +0 -3
- package/site/dist/assets/copy-DMOX_yn7.js +0 -1
- package/site/dist/assets/core-GIEmxmAa.js +0 -12
- package/site/dist/assets/createLucideIcon-BsERoFTA.js +0 -1
- package/site/dist/assets/defineChain-B-SQDLTG.js +0 -1
- package/site/dist/assets/dijkstra-CY95afk4.js +0 -1
- package/site/dist/assets/dist-CoS6E-3x.js +0 -1
- package/site/dist/assets/dist-Cp6IXeJd.js +0 -1
- package/site/dist/assets/dist-CrNxmdZj.js +0 -1
- package/site/dist/assets/dist-DYGtf4F0.js +0 -16
- package/site/dist/assets/embed.worker-Cnl4VGr3.js +0 -1
- package/site/dist/assets/errors-BQ3N-RVt-CZPAWCgC.js +0 -1
- package/site/dist/assets/esm-C3DslVJx.js +0 -1
- package/site/dist/assets/esm-Ci1ogKuK.js +0 -1
- package/site/dist/assets/esm-Co94ENUV.js +0 -37
- package/site/dist/assets/esm-bb8SANZh.js +0 -1
- package/site/dist/assets/esm-n2lWo7kz.js +0 -1
- package/site/dist/assets/ethers-zTjbodk5-Cs648CnD.js +0 -1
- package/site/dist/assets/eventemitter3-Dzc_0Uq2.js +0 -1
- package/site/dist/assets/external-link-BBPG3rG7.js +0 -1
- package/site/dist/assets/farcaster-DPlSjvF5-CzBCmgyL.js +0 -1
- package/site/dist/assets/features-CuiHbgEJ.js +0 -2
- package/site/dist/assets/fingerprint-pattern-CjLtyIxB.js +0 -1
- package/site/dist/assets/floating-ui.react-DmaCfayr.js +0 -1
- package/site/dist/assets/floating-ui.react-dom-CaoMF8mP.js +0 -1
- package/site/dist/assets/formatErc20TokenAmount-BuPk9xcy-BVqOKQif.js +0 -1
- package/site/dist/assets/formatter-CVbp4SlJ.js +0 -1
- package/site/dist/assets/get-entropy-details-for-user-dHRH5Gpi-BNiOFXbK.js +0 -1
- package/site/dist/assets/getChainName-DjpPdUSc-DUyKDrnp.js +0 -1
- package/site/dist/assets/getErc20Balance-jXNpFf0N-q4bV8kQq.js +0 -1
- package/site/dist/assets/getErc20TokenInfo-BNTrzLMP-DcnTFrXN.js +0 -1
- package/site/dist/assets/getFormattedUsdFromLamports-De3U9GlO-Gx4_wxON.js +0 -1
- package/site/dist/assets/getUsdcMintAddress-BVgm9GRo-r2UnDeEy.js +0 -1
- package/site/dist/assets/guards-BIW-GiMJ-D3tWTQAR.js +0 -1
- package/site/dist/assets/hooks.module-BYZGfwDl.js +0 -1
- package/site/dist/assets/hourglass-D_GfQdJr.js +0 -1
- package/site/dist/assets/id-UqEwL2BI-CTlvRMA5.js +0 -1
- package/site/dist/assets/index-BdEw5wyl-kLbhqLbv.js +0 -1
- package/site/dist/assets/index-C2h3EneX.js +0 -8
- package/site/dist/assets/index-CWARkn2w-DxuckIFn.js +0 -61
- package/site/dist/assets/index-DvMddJcd-CNBb4VUn.js +0 -12
- package/site/dist/assets/index-YiCw0Y_x-Czl0tWfF.js +0 -436
- package/site/dist/assets/index.browser-B-i-Lj3J.js +0 -1
- package/site/dist/assets/index.browser-BMmUcykv.js +0 -1
- package/site/dist/assets/index.es-Crd0TyUS.js +0 -2
- package/site/dist/assets/index.es-DQbup1WG.js +0 -3
- package/site/dist/assets/isPaymentRequestAvailable-Bq1cemEn-Cjf3l05I.js +0 -1
- package/site/dist/assets/jsx-runtime-CndCZlyt.js +0 -1
- package/site/dist/assets/landmark-BZPqMFEf.js +0 -1
- package/site/dist/assets/lib-DGtzi2DK.js +0 -1
- package/site/dist/assets/localBatchGatewayRequest-B71J8sQ9.js +0 -29
- package/site/dist/assets/lock-DyN_c-ud.js +0 -1
- package/site/dist/assets/logger-CsXm3oIv-B0UYpNFI.js +0 -1
- package/site/dist/assets/mail-V_mcPb64.js +0 -1
- package/site/dist/assets/modal-context-CwmSeFcv-DPWNJrfK.js +0 -1
- package/site/dist/assets/native-BKj27wfc.js +0 -1
- package/site/dist/assets/ofetch.CWycOUEr-Duby3iHT.js +0 -1
- package/site/dist/assets/parseAbi-Csg-8t59.js +0 -2
- package/site/dist/assets/parseAbiParameters-BWbIMYe4.js +0 -1
- package/site/dist/assets/parseEther-CHS0GNkM.js +0 -1
- package/site/dist/assets/pkce-DXF0yKjP-7_VY-d83.js +0 -1
- package/site/dist/assets/preload-helper-CRzLMJPS.js +0 -1
- package/site/dist/assets/privy-context-81KmsBw2-DiR6-Yq8.js +0 -2
- package/site/dist/assets/property-DuZ9DLP4.js +0 -3
- package/site/dist/assets/react-BfYA1q0G.js +0 -1
- package/site/dist/assets/react-CK2HRI1t.js +0 -1
- package/site/dist/assets/react-DxGeY8B8.js +0 -1
- package/site/dist/assets/react-auth-sHnipzbS.js +0 -1
- package/site/dist/assets/react-dom-BI2Koe4o.js +0 -1
- package/site/dist/assets/reservoir-x-nGuZkT-BguVFH3D.js +0 -1
- package/site/dist/assets/rolldown-runtime-Bjp52BOI.js +0 -1
- package/site/dist/assets/safe-url-D7SRPu33-CkMedGro.js +0 -1
- package/site/dist/assets/secp256k1-BeYL8aZl.js +0 -1
- package/site/dist/assets/secp256k1-Bh4MSkhz.js +0 -1
- package/site/dist/assets/secp256k1-Ci4cqHl0.js +0 -1
- package/site/dist/assets/secp256k1-DsxXqbXv.js +0 -1
- package/site/dist/assets/secp256k1-N9RUmafO.js +0 -1
- package/site/dist/assets/serializeAuthorizationList-DGMik9Wx.js +0 -1
- package/site/dist/assets/serializeSignature-CWKpxoab.js +0 -2
- package/site/dist/assets/sha2-C6s7zZmb.js +0 -1
- package/site/dist/assets/shared-DRZUmnL5-BewE5wK8.js +0 -193
- package/site/dist/assets/shared-FM0rljBt-CxLACri_.js +0 -21
- package/site/dist/assets/shouldProceedtoEmbeddedWalletCreationFlow-B3vyavrh-BkAKsRNi.js +0 -1
- package/site/dist/assets/simulateTransaction-CfuOrae4-PjA_tGjX.js +0 -1
- package/site/dist/assets/smartphone-3p8nFSTE.js +0 -1
- package/site/dist/assets/src-BBjkfi-Q.js +0 -1
- package/site/dist/assets/storage-Ufl800Ne-1qCR2JMO.js +0 -8
- package/site/dist/assets/stringify-DqUj9VzO.js +0 -20
- package/site/dist/assets/stripe.esm-DEi2D291.js +0 -2
- package/site/dist/assets/styles-BsotlekN-Aq27nZGc.js +0 -9
- package/site/dist/assets/styles-Cm9H63WO-p_ic_dxE.js +0 -92
- package/site/dist/assets/styles-DVyDvTdj-CjsWqAld.js +0 -74
- package/site/dist/assets/styles-hslXy6xG-D5QHIrJU.js +0 -164
- package/site/dist/assets/telegram-B-JqnkqZ-Dqkm4rDn.js +0 -1
- package/site/dist/assets/to-ui-error-DWe-qwS3-Bi1HUQI9.js +0 -4
- package/site/dist/assets/toViemAccount-B5iDGq1b-CdFZwv07.js +0 -2
- package/site/dist/assets/transaction-BNTP-bFm-M5tJx8vY.js +0 -1
- package/site/dist/assets/transfer-6YztDh-t-BVQkTvG-.js +0 -1
- package/site/dist/assets/triangle-alert-BG3Qw-Hq.js +0 -1
- package/site/dist/assets/twitch-5IOe4sIQ-CaXHFlAu.js +0 -1
- package/site/dist/assets/types-4CuOD23i.js +0 -1
- package/site/dist/assets/use-headless-crypto-deposit-Yn-QRLB3-CQqeyhGY.js +0 -1
- package/site/dist/assets/use-unlink-wallet-BKK4_5Ur-C0xQN_Lp.js +0 -1
- package/site/dist/assets/useActiveWallet-B-yZYGc6-BkK6rFBm.js +0 -123
- package/site/dist/assets/useGetSolPrice-x7gfUIHJ-CLVXqv6I.js +0 -1
- package/site/dist/assets/useGetTokenPrice-CaoUkb79-DAXXs3rs.js +0 -1
- package/site/dist/assets/useI18n-C-5n_noF-CGpkgIVy.js +0 -1
- package/site/dist/assets/useWalletBalance-CZnP5f_f-Cfd64m4n.js +0 -1
- package/site/dist/assets/useWallets-X1ndvJ_U-CAYqg7Za.js +0 -1
- package/site/dist/assets/utils-BkR7EQjg.js +0 -1
- package/site/dist/assets/utils-DJhBNOZA.js +0 -1
- package/site/dist/assets/utils-DdckVfQr.js +0 -1
- package/site/dist/assets/w3m-modal-B4H_uiPH.js +0 -1174
- package/site/dist/assets/wallet-BNI12IYk.js +0 -1
- package/site/dist/assets/wallet-CITSaPlB.js +0 -2
- package/site/dist/assets/wallet-connect-BvJtUsDt-CVlSNIXP.js +0 -1
- package/site/dist/assets/walletconnect-registry-xxG8XLCb-BpzpBq5s.js +0 -1
- package/site/dist/assets/walletconnect-v2-3frQFwbg-CzZ6oybX.js +0 -12
- package/site/dist/assets/wui-ux-by-reown-XyHdtV1O.js +0 -1147
- package/site/dist/assets/x-gjDrY2rk.js +0 -1
- package/src/discover/explore.js +0 -291
- package/src/market/settle.js +0 -165
- package/src/market/terms.js +0 -200
- package/src/publish/cli.js +0 -336
- package/src/publish/envelope.js +0 -185
- package/src/publish/manifest.js +0 -142
package/package.json
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fangorn-network/westmarch",
|
|
3
|
-
"version": "2026.
|
|
3
|
+
"version": "2026.11.4-dev",
|
|
4
4
|
"description": "all-in-one builder for fangorn apps",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"exports": {
|
|
8
8
|
"./graph": "./src/publish/graph.js",
|
|
9
|
-
"./envelope": "./src/publish/envelope.js",
|
|
10
9
|
"./enrich": "./src/publish/enrich.js",
|
|
11
10
|
"./shard": "./src/core/shard.js",
|
|
12
11
|
"./embed": "./src/core/embed.js",
|
|
13
12
|
"./rank": "./src/core/rank.js",
|
|
14
13
|
"./apps": "./src/discover/apps.js",
|
|
15
|
-
"./explore": "./src/discover/explore.js",
|
|
16
14
|
"./agent-card": "./src/agent/agent-card.js",
|
|
17
15
|
"./view": "./src/publish/view.js",
|
|
18
16
|
"./roles": "./src/core/roles.js",
|
|
@@ -21,13 +19,10 @@
|
|
|
21
19
|
"./corpora": "./src/discover/corpora.js",
|
|
22
20
|
"./ui": "./src/agent/ui.js",
|
|
23
21
|
"./lint": "./src/publish/lint.js",
|
|
24
|
-
"./terms": "./src/market/terms.js",
|
|
25
22
|
"./reactions": "./src/market/reactions.js",
|
|
26
23
|
"./cohort": "./src/market/cohort.js",
|
|
27
24
|
"./vault": "./src/taste/vault.js",
|
|
28
25
|
"./taste-doc": "./src/taste/taste-doc.js",
|
|
29
|
-
"./settle": "./src/market/settle.js",
|
|
30
|
-
"./manifest": "./src/publish/manifest.js",
|
|
31
26
|
"./demand": "./src/market/demand.js",
|
|
32
27
|
"./steam": "./src/taste/steam.js",
|
|
33
28
|
"./tools": "./src/agent/tools.js",
|
|
@@ -39,43 +34,44 @@
|
|
|
39
34
|
"prepare": "tsc -p .",
|
|
40
35
|
"test": "node scripts/test.js",
|
|
41
36
|
"lint": "node src/publish/lint.js",
|
|
42
|
-
"e2e:worker": "node scripts/e2e-worker.mjs"
|
|
37
|
+
"e2e:worker": "node scripts/e2e-worker.mjs",
|
|
38
|
+
"e2e:paid": "node scripts/e2e-paid.mjs"
|
|
43
39
|
},
|
|
44
40
|
"dependencies": {
|
|
45
41
|
"@fangorn-network/markov": "^0.1.0"
|
|
46
42
|
},
|
|
47
43
|
"peerDependencies": {
|
|
48
|
-
"@fangorn-network/sdk": "^2026.
|
|
44
|
+
"@fangorn-network/sdk": "^2026.11.4-dev",
|
|
49
45
|
"@huggingface/transformers": "^4.2.0",
|
|
50
46
|
"@noble/curves": "^1.9.1",
|
|
47
|
+
"@semaphore-protocol/core": "^4.14.5",
|
|
51
48
|
"viem": "^2.55.1"
|
|
52
49
|
},
|
|
53
50
|
"peerDependenciesMeta": {
|
|
54
51
|
"@huggingface/transformers": {
|
|
55
52
|
"optional": true
|
|
53
|
+
},
|
|
54
|
+
"@semaphore-protocol/core": {
|
|
55
|
+
"optional": true
|
|
56
56
|
}
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@fangorn-network/sdk": "
|
|
59
|
+
"@fangorn-network/sdk": "2026.11.4-dev",
|
|
60
60
|
"@huggingface/transformers": "^4.2.0",
|
|
61
61
|
"@noble/curves": "^1.9.1",
|
|
62
|
-
"@
|
|
62
|
+
"@semaphore-protocol/core": "^4.14.5",
|
|
63
63
|
"@stripe/stripe-js": "^10.0.0",
|
|
64
64
|
"graphql": "^16.14.2",
|
|
65
|
-
"react": "^19.3.0",
|
|
66
|
-
"react-dom": "^19.3.0",
|
|
67
65
|
"typescript": "^5.9.3",
|
|
68
66
|
"viem": "^2.56.3"
|
|
69
67
|
},
|
|
70
68
|
"bin": {
|
|
71
69
|
"westmarch": "./src/publish/init.js",
|
|
72
|
-
"westmarch-publish": "./src/publish/cli.js",
|
|
73
70
|
"westmarch-view": "./src/publish/view-cli.js",
|
|
74
71
|
"westmarch-ship": "./src/publish/ship.js",
|
|
75
72
|
"westmarch-eval": "./dist/ts/eval.js",
|
|
76
73
|
"westmarch-lint": "./src/publish/lint.js",
|
|
77
|
-
"fangorn-mcp": "./src/agent/mcp.js"
|
|
78
|
-
"fangorn-fx": "./plugin/scripts/fx.mjs"
|
|
74
|
+
"fangorn-mcp": "./src/agent/mcp.js"
|
|
79
75
|
},
|
|
80
76
|
"files": [
|
|
81
77
|
"src",
|
|
@@ -87,8 +83,7 @@
|
|
|
87
83
|
"site/worker.js",
|
|
88
84
|
"site/no-model.js",
|
|
89
85
|
"site/store.js",
|
|
90
|
-
"dist/ts"
|
|
91
|
-
"plugin/scripts/fx.mjs"
|
|
86
|
+
"dist/ts"
|
|
92
87
|
],
|
|
93
88
|
"engines": {
|
|
94
89
|
"node": ">=20"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-COiEfhsA.js";var t=e(((e,t)=>{t.exports={}}));export default t();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=`onnx-community/embeddinggemma-300m-ONNX`,t={}.WESTMARCH_EMBED_DTYPE??`q8`;let n=null;const r=()=>n??=(async()=>{let{AutoModel:n,AutoTokenizer:r}=await import(`./transformers.web-CUZUFjAK.js`),a={}.WESTMARCH_EMBED_DEVICE,o=e=>void 0,[s,c]=await Promise.all([r.from_pretrained(e,{progress_callback:o}),n.from_pretrained(e,{dtype:t,progress_callback:o,...a&&{device:a}})]);return async e=>{let{sentence_embedding:t}=await c(await s(e,{padding:!0,truncation:!0})),n=t.dims.at(-1);return e.map((e,r)=>i(t.data.slice(r*n,(r+1)*n)))}})();function i(e,t=256){let n=Array.from(e.slice(0,t),Number),r=0;for(let e of n)r+=e*e;if(r=Math.sqrt(r),r)for(let e=0;e<n.length;e++)n[e]/=r;return n}async function a(e){let[t]=await(await r())([`task: search result | query: `+e]);return t}function o(e){return new Promise((t,n)=>{c.push({text:e,resolve:t,reject:n}),c.length===1&&setTimeout(l,0)})}const s=t===`q8`?1:32;let c=[];async function l(){let e=c;c=[];try{let t=await u(e.map(e=>`title: none | text: `+e.text));e.forEach((e,n)=>e.resolve(t[n]))}catch(t){for(let n of e)n.reject(t)}}async function u(e){let t=await r(),n=[];for(let r=0;r<e.length;r+=s)n.push(...await t(e.slice(r,r+s)));return n}const d=()=>r().then(()=>{});function f(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let r=Math.round(Math.max(-1,Math.min(1,e[n]))*127);t[n]=r<0?r+256:r}let n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n)}function p(e){try{let t=atob(e),n=new(globalThis.Float16Array??Float32Array)(t.length);for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);n[e]=(r>127?r-256:r)/127}return n.length?n:null}catch{return null}}function m(e){let t=new Uint8Array(Math.ceil(e.length/8));for(let n=0;n<e.length;n++)e[n]>=0&&(t[n>>3]|=128>>(n&7));let n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n)}function h(e){try{let t=atob(e.padEnd(Math.ceil(e.length/4)*4,`=`)),n=new Float32Array(t.length*8);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e>>3)>>7-(e&7)&1?1:-1;return n.length?n:null}catch{return null}}if(typeof process<`u`&&import.meta.url===`file://${process.argv[1]}`&&process.argv[1].endsWith(`/embed.js`)){let e=i(Array.from({length:768},(e,t)=>Math.sin(t))),t=0;for(let n of e)t+=n*n;if(Math.abs(Math.sqrt(t)-1)>1e-6)throw Error(`matryoshka must L2-normalize`);if(e.length!==256)throw Error(`matryoshka must truncate to 256`);let n=p(f(e));if(n.length!==e.length)throw Error(`pack/unpack changed the dimension`);let r=0,a=0;for(let t=0;t<e.length;t++)r+=e[t]*n[t],a+=n[t]*n[t];let o=r/Math.sqrt(a);if(o<.999)throw Error(`int8 round-trip cosine ${o} — too lossy to rank with`);let s=p(f([-1,-.5,0,.5,1]));if(s[0]>-.99||s[1]>-.49||s[1]<-.51)throw Error(`negative components corrupted: ${[...s]}`);if(p(`!!!not base64!!!`)!==null)throw Error(`malformed vector must return null, not throw`);let c=m(e);if(c.length>48)throw Error(`sign bits must stay link-sized, got ${c.length} chars`);let l=h(c);if(l.length!==e.length)throw Error(`sign round-trip changed the dimension`);for(let t=0;t<e.length;t++)if(Math.sign(l[t])!==(e[t]<0?-1:1))throw Error(`sign flipped at ${t}`);if(m(l)!==c)throw Error(`sign packing must be idempotent`);if(h(`!!!not base64!!!`)!==null)throw Error(`malformed bits must return null, not throw`);console.log(`embed.js self-check ok — matryoshka norm, int8 round-trip, negatives, malformed input, sign bits`)}const g={query:a,document:o};self.onmessage=async({data:{id:e,kind:t,text:n}})=>{try{if(t===`warm`)return await d(),self.postMessage({id:e,vec:null});self.postMessage({id:e,vec:await g[t](n)})}catch(t){self.postMessage({id:e,error:t?.message??String(t)})}};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./transformers.web-CwR_IYQV.js","./rolldown-runtime-COiEfhsA.js","./__vite-browser-external-D2U8RZpp.js","./roles-BDPDWrwo.js","./roles-DKPW79Ca.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{c as t,d as n,f as r,g as i,h as a,m as o,n as s,p as c,r as l,s as u}from"./roles-DKPW79Ca.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var d=`modulepreload`,f=function(e,t){return new URL(e,t).href},p={},m=function(e){return e.pathname.endsWith(`.css`)},h=function(e,t,n){if(t in e)return e[t];let r=n();if(!r){e[t]=void 0;return}let i=r.then(()=>{e[t]=void 0},n=>{throw e[t]=void 0,n});return e[t]=i,i},g=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e,i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?new URL(import.meta.resolve(e)):new URL(e,import.meta.url)}r=o(t.map(t=>{t=f(t,n);let r=s(t),i=m(r);return h(p,r.href,()=>{if(e===void 0){e={all:new Set,styles:new Set};let t=document.getElementsByTagName(`link`);for(let n=t.length-1;n>=0;n--){let r=t[n];e.all.add(r.href),r.rel===`stylesheet`&&e.styles.add(r.href)}}if((i?e.styles:e.all).has(r.href))return;let t=document.createElement(`link`);if(t.rel=i?`stylesheet`:d,i||(t.as=`script`),t.crossOrigin=``,t.href=r.href,a&&t.setAttribute(`nonce`,a),document.head.appendChild(t),i)return new Promise((e,n)=>{t.addEventListener(`load`,e),t.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${r}`)))})})}).filter(e=>e!==void 0))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},_=`onnx-community/embeddinggemma-300m-ONNX`,v=256,ee=`task: search result | query: `,y={}.WESTMARCH_EMBED_DTYPE??`q8`;`${v}`;var te=null,b=null,ne=()=>te??=(async()=>{let{AutoModel:e,AutoTokenizer:t}=await g(async()=>{let{AutoModel:e,AutoTokenizer:t}=await import(`./transformers.web-CwR_IYQV.js`);return{AutoModel:e,AutoTokenizer:t}},__vite__mapDeps([0,1]),import.meta.url),n={}.WESTMARCH_EMBED_DEVICE,r=e=>b?.(e),[i,a]=await Promise.all([t.from_pretrained(_,{progress_callback:r}),e.from_pretrained(_,{dtype:y,progress_callback:r,...n&&{device:n}})]);return async e=>{let{sentence_embedding:t}=await a(await i(e,{padding:!0,truncation:!0})),n=t.dims.at(-1);return e.map((e,r)=>re(t.data.slice(r*n,(r+1)*n)))}})();function re(e,t=v){let n=Array.from(e.slice(0,t),Number),r=0;for(let e of n)r+=e*e;if(r=Math.sqrt(r),r)for(let e=0;e<n.length;e++)n[e]/=r;return n}async function ie(e){let[t]=await(await ne())([ee+e]);return t}var x=()=>typeof window<`u`&&typeof Worker<`u`,S=null,ae=0,oe=new Map;function se(){return S||(S=new Worker(new URL(new URL(`embed.worker-CmS57Zti.js`,import.meta.url).href,``+import.meta.url),{type:`module`}),S.onmessage=({data:e})=>{let t=oe.get(e.id);t&&(oe.delete(e.id),e.error?t.reject(Error(e.error)):t.resolve(e.vec))},S.onerror=e=>{for(let t of oe.values())t.reject(Error(`embed worker: ${e?.message??`failed to start`}`));oe.clear(),S=null},S)}var ce=(e,t)=>new Promise((n,r)=>{let i=++ae;oe.set(i,{resolve:n,reject:r}),se().postMessage({id:i,kind:e,text:t})}),le=e=>x()?ce(`query`,e):ie(e);function ue(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++){let r=Math.round(Math.max(-1,Math.min(1,e[n]))*127);t[n]=r<0?r+256:r}let n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n)}function C(e){try{let t=atob(e),n=new(globalThis.Float16Array??Float32Array)(t.length);for(let e=0;e<t.length;e++){let r=t.charCodeAt(e);n[e]=(r>127?r-256:r)/127}return n.length?n:null}catch{return null}}function de(e){let t=new Uint8Array(Math.ceil(e.length/8));for(let n=0;n<e.length;n++)e[n]>=0&&(t[n>>3]|=128>>(n&7));let n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n)}function fe(e){try{let t=atob(e.padEnd(Math.ceil(e.length/4)*4,`=`)),n=new Float32Array(t.length*8);for(let e=0;e<n.length;e++)n[e]=t.charCodeAt(e>>3)>>7-(e&7)&1?1:-1;return n.length?n:null}catch{return null}}if(typeof process<`u`&&import.meta.url===`file://${process.argv[1]}`&&process.argv[1].endsWith(`/embed.js`)){let e=re(Array.from({length:768},(e,t)=>Math.sin(t))),t=0;for(let n of e)t+=n*n;if(Math.abs(Math.sqrt(t)-1)>1e-6)throw Error(`matryoshka must L2-normalize`);if(e.length!==v)throw Error(`matryoshka must truncate to ${v}`);let n=C(ue(e));if(n.length!==e.length)throw Error(`pack/unpack changed the dimension`);let r=0,i=0;for(let t=0;t<e.length;t++)r+=e[t]*n[t],i+=n[t]*n[t];let a=r/Math.sqrt(i);if(a<.999)throw Error(`int8 round-trip cosine ${a} — too lossy to rank with`);let o=C(ue([-1,-.5,0,.5,1]));if(o[0]>-.99||o[1]>-.49||o[1]<-.51)throw Error(`negative components corrupted: ${[...o]}`);if(C(`!!!not base64!!!`)!==null)throw Error(`malformed vector must return null, not throw`);let s=de(e);if(s.length>48)throw Error(`sign bits must stay link-sized, got ${s.length} chars`);let c=fe(s);if(c.length!==e.length)throw Error(`sign round-trip changed the dimension`);for(let t=0;t<e.length;t++)if(Math.sign(c[t])!==(e[t]<0?-1:1))throw Error(`sign flipped at ${t}`);if(de(c)!==s)throw Error(`sign packing must be idempotent`);if(fe(`!!!not base64!!!`)!==null)throw Error(`malformed bits must return null, not throw`);console.log(`embed.js self-check ok — matryoshka norm, int8 round-trip, negatives, malformed input, sign bits`)}var w=(e,t,n)=>{let r=0;for(let n=0;n<t.length&&n<e.vector.length;n++)r+=e.vector[n]*t[n];return r/(e.norm*n)},T=e=>{let t=0;for(let n of e)t+=n*n;return Math.sqrt(t)||1};function pe(e,t=1){if(e.length<3)return-1/0;let n=e.reduce((e,t)=>e+t,0)/e.length,r=Math.sqrt(e.reduce((e,t)=>e+(t-n)**2,0)/e.length);return r>1e-6?n+t*r:-1/0}function me(e,{limit:t=10,lambda:n=.7,key:r=`s`}={}){if(n>=1||e.length<=1)return e.slice(0,t);let i=e.slice(0,Math.max(t*6,30)),a=[];for(;a.length<t&&i.length;){let e=0,t=-1/0;for(let o=0;o<i.length;o++){let s=0;for(let e of a){if(!i[o].row?.vector||!e.row?.vector)continue;let t=w(i[o].row,e.row.vector,e.row.norm);t>s&&(s=t)}let c=n*i[o][r]-(1-n)*s;c>t&&(t=c,e=o)}a.push(i.splice(e,1)[0])}return a}var he=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),ge=e=>RegExp(`\\b${he(e)}\\b`);function E(e,t){let n=String(e.text??``).toLowerCase();if(!n)return 0;let r=t.split(/\s+/).filter(Boolean);if(!r.length)return 0;let i=0;for(let e of r)ge(e).test(n)&&i++;if(!i)return 0;let a=n.indexOf(t);return Math.min(1,.5*(i/r.length)+(ge(t).test(n)?.35:0)+(a>=0?.15*(1-a/n.length):0))}function _e(e,t){let n=e[0],r=0;for(let i of e){let e=E({text:i.text},t);e>r&&(r=e,n=i)}return n}function ve(e=[],t){let n=T(t);return e.map(e=>{let r=e.coverage;if(!r?.vectors?.length)return{...e,affinity:null};let i=-1;for(let e of r.vectors){let r=0,a=0;for(let n=0;n<e.length&&n<t.length;n++)r+=e[n]*t[n],a+=e[n]*e[n];let o=r/((Math.sqrt(a)||1)*n);o>i&&(i=o)}return{...e,affinity:i}}).sort((e,t)=>(t.affinity??-1/0)-(e.affinity??-1/0))}if(typeof process<`u`&&import.meta.url===`file://${process.argv[1]}`&&process.argv[1].endsWith(`/rank.js`)){if(E({text:`intoxicated education`},`cat`)!==0)throw Error(`substring matched — word boundaries lost`);if(E({text:`a cat sat`},`cat`)<=0)throw Error(`whole word must match`);let e=E({text:`cold war submarines`},`cold war`),t=E({text:`cold nights, the war ended`},`cold war`);if(!(e>t))throw Error(`phrase bonus lost: ${e} vs ${t}`);if(E({text:`what is c++`},`c++`)===void 0)throw Error(`must not throw on regex metachars`);if(Math.abs(w({vector:[1,0,0,0],norm:1},[1,0],1)-1)>1e-9)throw Error(`cosine must truncate to the query`);if(pe([.5,.5,.5,.5])!==-1/0)throw Error(`no spread must admit everything, not nothing`);if(pe([.4,.4])!==-1/0)throw Error(`too few rows to have a distribution`);let n=pe([.4,.41,.42,.9]);if(!(.9>=n&&.42<n))throw Error(`floor did not separate the outlier: ${n}`);let r=[{text:`opening titles`},{text:`the submarine dives`}];if(_e(r,`submarine`).text!==`the submarine dives`)throw Error(`wrong passage quoted`);if(_e(r,`nothing here`).text!==`opening titles`)throw Error(`must fall back to the first passage`);{let e=(e,t)=>({vector:[e,t],norm:Math.sqrt(e*e+t*t)||1}),t=[{row:{id:`ep1`,...e(1,0)},s:.9},{row:{id:`ep2`,...e(1,.01)},s:.89},{row:{id:`ep3`,...e(1,.02)},s:.88},{row:{id:`other`,...e(0,1)},s:.7}],n=me(t,{limit:2,lambda:1}).map(e=>e.row.id);if(n.join()!==`ep1,ep2`)throw Error(`lambda 1 must be the old behaviour: ${n}`);let r=me(t,{limit:2,lambda:.7}).map(e=>e.row.id);if(r.join()!==`ep1,other`)throw Error(`MMR must not return the same episode twice: ${r}`);if(me(t,{limit:4,lambda:.5})[0].row.id!==`ep1`)throw Error(`the top hit must survive`);if(me([{row:{id:`a`},s:1}],{limit:3}).length!==1)throw Error(`vectorless rows must pass through`)}let i=ve([{name:`old`,coverage:null},{name:`far`,coverage:{vectors:[[0,1]]}},{name:`near`,coverage:{vectors:[[1,0]]}}],[1,0]);if(i.map(e=>e.name).join(`,`)!==`near,far,old`)throw Error(`domains misranked: ${i.map(e=>e.name)}`);if(i[2].affinity!==null)throw Error(`an unmeasured domain must be null, not 0`);console.log(`rank.js self-check ok — word boundaries, matryoshka cosine, z-floor, MMR drops near-duplicates without moving the top hit, passage pick, domain affinity`)}var ye=null,be=null,xe=null,Se=new Map,Ce=new Map,we=new Map,Te=e=>[e.name,e.path,e.desc].filter(Boolean).join(` `),Ee=e=>fetch(e),De=null,Oe=null;function D({resolveView:e,rowText:t,onManifests:n,fetch:r}={}){e&&(De=e),r&&(Ee=r),t&&(Te=t),n&&(Oe=n)}var ke=()=>{Se.clear(),Ce.clear(),we.clear(),ye=null,be=null,xe=null};function Ae(e){be=e?Me(e):null}var je=()=>be,Me=e=>String(e).replace(/\/+$/,``).replace(/\/(stream|cdn)$/,``);function Ne(){return De?ye??=Promise.resolve().then(()=>De()).then(e=>e?Me(e):null).catch(e=>{throw ye=null,e}):Promise.resolve(null)}function Pe(e){let t=(Array.isArray(e)?e:String(e??``).split(`,`)).map(e=>String(e).trim()).filter(Boolean);xe=t.length?t:null}var Fe=e=>!xe||xe.some(t=>e===t||e.split(`/`).pop()===t||e.startsWith(t)),Ie=`no quickbeam view configured — pass a view base, or wire one with configure({ resolveView })`;async function O(e,t){let n=e??be??await Ne();if(!n)throw Error(Ie);let r=Ce.get(n);r||Ce.set(n,r=new Set),t&&r.add(t);let i=Se.get(n);if(i)return i;let a=We(n,e=>{for(let t of r)try{t(e)}catch{}}).finally(()=>Ce.delete(n)).catch(e=>{throw Se.delete(n),e});return Se.set(n,a),a}async function Le(e){let t=await Ee(e);if(!t.ok)throw Error(`shard: HTTP ${t.status} for ${e}`);return Re(new Uint8Array(await t.arrayBuffer()))}var Re=async e=>e[0]===31&&e[1]===139?await new Response(new Blob([e]).stream().pipeThrough(new DecompressionStream(`gzip`))).text():new TextDecoder().decode(e);function ze(e,t){let n=e.fields??{},r=typeof e.v==`string`?C(e.v):Array.isArray(e.embedding)?e.embedding:typeof n.embed?.vec==`string`?C(n.embed.vec):null,i=0;if(r)for(let e of r)i+=e*e;return{id:e.track_id,owner:e.owner,...n,text:Te(n,t),vector:r,norm:Math.sqrt(i)||1}}async function Be(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return[...new Uint8Array(await crypto.subtle.digest(`SHA-256`,n))].map(e=>e.toString(16).padStart(2,`0`)).join(``)}async function Ve(e,t,n,r){if(!t)return;if(!r){console.warn(`shard: cannot verify ${e} — the transport decoded it (Content-Encoding), and the manifest digest is over the gzipped bytes`);return}let i=await Be(n);if(i!==t)throw Error(`shard: ${e} does not match the digest in its manifest (expected ${t.slice(0,12)}…, got ${i.slice(0,12)}…)`)}async function He(e,t,n){let r=await Ee(e);if(!r.ok)throw Error(`shard: HTTP ${r.status} for ${e}`);if(!r.body){let i=new Uint8Array(await r.arrayBuffer());await Ve(e,n,[i],i[0]===31&&i[1]===139);for(let e of(await Re(i)).split(`
|
|
3
|
+
`))t(e);return}let i=r.body.getReader(),a=await i.read(),o=a.value??new Uint8Array,s=n?[]:null,c=new ReadableStream({start(e){o.length&&(s?.push(o),e.enqueue(o)),a.done&&e.close()},async pull(e){let{done:t,value:n}=await i.read();t?e.close():(s?.push(n),e.enqueue(n))},cancel(e){return i.cancel(e)}}),l=o[0]===31&&o[1]===139,u=l?c.pipeThrough(new DecompressionStream(`gzip`)):c,d=new TextDecoder,f=``;for(let r=u.getReader();;){let{done:i,value:a}=await r.read();f+=i?d.decode():d.decode(a,{stream:!0});let o=f.split(`
|
|
4
|
+
`);f=i?``:o.pop();for(let e of o)t(e);if(i){f&&t(f),await Ve(e,n,s,l);return}}}var Ue=250;async function We(e,t){let n=`${e}/cdn`,{domains:r=[]}=JSON.parse(await Le(`${n}/catalog`)),i=r.filter(e=>Fe(e.name));xe&&i.length!==r.length&&console.info(`shard: pulling ${i.length} of ${r.length} domains (allowlist: ${xe.join(`,`)})`),xe&&!i.length&&console.warn(`shard: allowlist ${xe.join(`,`)} matched none of ${r.map(e=>e.name).join(`, `)} — nothing will load`),i.length||console.warn(`shard: quickbeam view ${n} has no baked domains yet — nothing to read until the watcher bakes one.`);let a=new Map,o=new Set,s=await Promise.all(i.map(async e=>{let t=`${n}/domains/${encodeURIComponent(e.name)}`,r=JSON.parse(await Le(`${t}/manifest`));for(let e of r.tombstones??[])o.add(e);return{at:t,manifest:r,shards:r.shards??[]}})),c=s.map(e=>e.manifest);we.set(e,c);try{Oe?.(c,e)}catch(e){console.warn(`shard: onManifests threw, continuing with the default rowText —`,e)}let l=Date.now(),u=e=>{!t||!e&&Date.now()-l<Ue||(t([...a.values()]),l=Date.now())};return await Promise.all(s.map(async({at:t,shards:n})=>{for(let r of n)await He(`${t}/shards/${r.file}`,t=>{if(!t.trim())return;let n=ze(JSON.parse(t),e);o.has(n.id)||a.set(n.id,n),u()},r.sha256),u(!0)})),[...a.values()]}function Ge(e,t){let n=null,r=!1;return(async()=>{let i=t??be??await Ne();if(!i||r)return;n=new EventSource(`${i}/stream`);let a=()=>{ke(),e()};n.addEventListener(`added`,a),n.addEventListener(`change`,a)})().catch(()=>{}),()=>{r=!0,n?.close()}}async function Ke(e,{url:t}={}){let n=t??be??await Ne();if(!n)throw Error(Ie);let{domains:r=[]}=JSON.parse(await Le(`${n}/cdn/catalog`));return ve(r,e)}if(typeof process<`u`&&import.meta.url===`file://${process.argv[1]}`&&process.argv[1].endsWith(`/shard.js`)){let{gzipSync:t}=await g(async()=>{let{gzipSync:t}=await import(`./__vite-browser-external-D2U8RZpp.js`).then(t=>e(t.default,1));return{gzipSync:t}},__vite__mapDeps([2,1]),import.meta.url),n=console.warn,r=console.info;console.warn=console.info=()=>{};let i=(e,t,n={},r)=>({track_id:`${e}:${t}`,owner:e,...r?{embedding:r}:{},fields:{entityType:`file`,name:t.split(`/`).pop(),path:t,...n}}),a=e=>e.map(e=>JSON.stringify(e)).join(`
|
|
5
|
+
`),o=`https://registry.test/q/qb_test`,s=e=>{let t=Buffer.from(e),n=Math.max(1,Math.floor(t.length/2));return{ok:!0,headers:new Headers,arrayBuffer:async()=>t,body:new ReadableStream({start(e){e.enqueue(new Uint8Array(t.subarray(0,n))),e.enqueue(new Uint8Array(t.subarray(n))),e.close()}})}},c=async e=>[...new Uint8Array(await crypto.subtle.digest(`SHA-256`,e))].map(e=>e.toString(16).padStart(2,`0`)).join(``),l=async(e,{tombstones:n={},gzipped:r=!0,keep:i=!1,coverage:l={},digest:u=!1,corrupt:d=!1}={})=>{let f=new Map;for(let[r,i]of Object.entries(e)){let e=i.map((e,t)=>`shard-000${t}-${r}.ndjson.gz`),o=new Map(e.map((e,t)=>[e,a(i[t])])),s=u?await Promise.all(e.map(async e=>c(t(Buffer.from(d?o.get(e)+`
|
|
6
|
+
`:o.get(e)))))):e.map(()=>void 0);f.set(r,{manifest:JSON.stringify({name:r,shards:e.map((e,t)=>({file:e,...s[t]?{sha256:s[t]}:{}})),tombstones:n[r]??[]}),bodies:o})}globalThis.fetch=async e=>{let{pathname:n}=new URL(String(e),`https://app.test`);if(n.includes(`/stream/`))return{ok:!1,status:404};if(n.endsWith(`/cdn/catalog`))return s(JSON.stringify({domains:[...f.keys()].map(e=>({name:e,...l[e]?{coverage:l[e]}:{}}))}));let i=n.match(/\/cdn\/domains\/([^/]+)\/manifest$/);if(i)return f.has(i[1])?s(f.get(i[1]).manifest):{ok:!1,status:404};if(i=n.match(/\/cdn\/domains\/([^/]+)\/shards\/([^/]+)$/),i){let e=f.get(i[1])?.bodies.get(i[2]);return e===void 0?{ok:!1,status:404}:s(r?t(Buffer.from(e)):Buffer.from(e))}return{ok:!1,status:404}},i||ke(),D({resolveView:()=>`${o}/stream`})},u=async(e,t={})=>l({d0:e},{...t,tombstones:{d0:t.tombstones??[]}}),d=e=>e.map(e=>e.path).sort().join(`,`);if(await u([[i(`0xa`,`a.md`)]]),d(await O())!==`a.md`)throw Error(`resolveView never reached the loader`);if(await u([[i(`0xa`,`plain.md`)]],{gzipped:!1}),d(await O())!==`plain.md`)throw Error(`an already-decoded body must still parse`);if(await u([[i(`0xa`,`signed.md`)]],{digest:!0}),d(await O())!==`signed.md`)throw Error(`a shard matching its digest must load`);await u([[i(`0xa`,`tampered.md`)]],{digest:!0,corrupt:!0});let f=null;try{await O()}catch(e){f=e}if(!f)throw Error(`a shard that does not match its digest must fail the load`);if(!/does not match the digest/.test(f.message))throw Error(`wrong error: ${f.message}`);f=null;try{await O()}catch(e){f=e}if(!f)throw Error(`a failed verification must not leave the rows in the cache`);let p=``;if(console.warn=e=>{p+=e},await u([[i(`0xa`,`unverifiable.md`)]],{digest:!0,gzipped:!1}),d(await O())!==`unverifiable.md`)throw Error(`an unverifiable body must still load`);if(!/cannot verify/.test(p))throw Error(`an unverifiable shard must say so, not pass silently`);if(console.warn=()=>{},await l({aaa:[[i(`0xa`,`a.md`,{desc:`alpha`}),i(`0xa`,`gone.md`,{desc:`retracted`})]],bbb:[[i(`0xb`,`b.md`,{desc:`beta`})]]},{tombstones:{aaa:[`0xa:gone.md`]}}),d(await O())!==`a.md,b.md`)throw Error(`domains must merge and tombstones retract`);for(let e of[`bbb`,[`bbb`],`bb`])if(await l({aaa:[[i(`0xa`,`a.md`)]],bbb:[[i(`0xb`,`b.md`)]]}),Pe(e),d(await O())!==`b.md`)throw Error(`allowlist ${JSON.stringify(e)} did not narrow the load`);if(await l({aaa:[[i(`0xa`,`a.md`)]]}),Pe(null),d(await O())!==`a.md`)throw Error(`a null allowlist must pull everything`);await u([[i(`0xa`,`a.md`),i(`0xa`,`gone.md`)],[i(`0xa`,`b.md`)]],{tombstones:[`0xa:gone.md`]});{let e=[],t=await O(void 0,t=>e.push(t.length));if(e.length!==2||e[0]!==1||e[1]!==2)throw Error(`must emit per shard, got ${e}`);if(t.length!==2)throw Error(`the final rows must still be whole`);if(e.some(e=>e>2))throw Error(`a tombstoned row must never surface in a partial emit`)}await u([[i(`0xa`,`a.md`)],[i(`0xa`,`b.md`)]]);{let e=[],t=[],n=O(void 0,t=>e.push(t.length)),r=O(void 0,e=>t.push(e.length));if(await Promise.all([n,r]),!e.length)throw Error(`the starting caller must still receive partials`);if(!t.length)throw Error(`a caller that joins an in-flight load must receive partials too`)}if(ke(),D({resolveView:()=>`${o}/stream`}),globalThis.fetch=async()=>({ok:!1,status:500}),await O().then(()=>{throw Error(`a 500 must reject`)},()=>{}),await u([[i(`0xa`,`a.md`)]],{keep:!0}),d(await O())!==`a.md`)throw Error(`a failed load poisoned the cache — the next read must retry`);{let e=[];await l({d0:[[i(`0xa`,`a.md`,{blurb:`declared prose`})]]}),D({onManifests:t=>e.push(`manifests:${t[0]?.name}`),rowText:t=>(e.push(`rowText`),t.blurb??``)});let t=await O();if(e[0]!==`manifests:d0`)throw Error(`onManifests must fire first, got ${e}`);if(!e.includes(`rowText`))throw Error(`rowText never ran`);if(t[0].text!==`declared prose`)throw Error(`the manifest-derived rowText did not reach toRow`);if(ke(),D({resolveView:()=>`${o}/stream`,onManifests:()=>{throw Error(`boom`)}}),(await O()).length!==1)throw Error(`a throwing onManifests must not fail the load`);D({onManifests:()=>{}})}if(await u([[i(`0xa`,`ep1.md`,{cues:[{text:`the submarine dives`}]})]]),(await O())[0].text.includes(`submarine`))throw Error(`the default rowText must not know about cues`);if(D({rowText:e=>e.cues?.length?e.cues.map(e=>e.text).join(` `):[e.name,e.path,e.desc].filter(Boolean).join(` `)}),ke(),D({resolveView:()=>`${o}/stream`}),!(await O())[0].text.includes(`submarine`))throw Error(`a configured rowText must reach toRow`);{let e=new Set;if(D({rowText:(t,n)=>(e.add(n),t.name??``),onManifests:(t,n)=>{e.add(`m:${n}`)}}),ke(),D({resolveView:()=>`${o}/stream`}),await O(),!e.has(o))throw Error(`rowText must receive its trimmed view base, saw ${[...e]}`);if(!e.has(`m:${o}`))throw Error(`onManifests must receive its view`);D({rowText:e=>[e.name,e.path,e.desc].filter(Boolean).join(` `),onManifests:()=>{}})}await u([[i(`0xa`,`v.md`,{},[3,4]),i(`0xa`,`packed.md`,{embed:{vec:`fwA=`}}),i(`0xa`,`none.md`)]]);{let e=new Map((await O()).map(e=>[e.path,e]));if(Math.abs(e.get(`v.md`).norm-5)>1e-9)throw Error(`norm must be precomputed from the plain float array`);if(!e.get(`packed.md`).vector)throw Error(`the base64 int8 form a publisher commits must unpack`);if(e.get(`none.md`).vector!==null)throw Error(`a row with no vector must be null, and rank lexically`);if(e.get(`none.md`).norm!==1)throw Error(`a zero norm would divide search by zero`)}{await l({d0:[[{track_id:`p1`,owner:`0xa`,v:`AH+B`,fields:{entityType:`file`,name:`packed.md`,path:`packed.md`}},{track_id:`p2`,owner:`0xa`,embedding:[0,1,-1],fields:{entityType:`file`,name:`old.md`,path:`old.md`}}]]});let e=new Map((await O()).map(e=>[e.path,e])),t=e.get(`packed.md`).vector,n=e.get(`old.md`).vector;if(!t)throw Error("the bake's `v` key must unpack");for(let e=0;e<3;e++)if(Math.abs(t[e]-n[e])>1/127)throw Error(`packed and float forms disagree at ${e}: ${t[e]} vs ${n[e]}`);if(Math.abs(e.get(`packed.md`).norm-e.get(`old.md`).norm)>.02)throw Error(`norm must match across wire forms`)}await l({near:[[i(`0xa`,`a.md`)]],far:[[i(`0xb`,`b.md`)]],old:[[i(`0xc`,`c.md`)]]},{coverage:{near:{vectors:[[1,0]]},far:{vectors:[[0,1]]}}});{let e=await Ke([1,0]);if(e.map(e=>e.name).join(`,`)!==`near,far,old`)throw Error(`suggestDomains misranked: ${e.map(e=>e.name)}`)}await u([[i(`0xa`,`before.md`)]]);{let e=new Map,t=``,n=!1;globalThis.EventSource=class{constructor(e){t=e}addEventListener(t,n){e.set(t,n)}close(){n=!0}};let r=0,a=Ge(()=>{r++});if(await new Promise(e=>setTimeout(e,0)),t!==`${o}/stream`)throw Error(`watchShard must open the view's SSE stream, got ${t}`);if(e.has(`snapshot`))throw Error(`snapshot is the connect-time census, not a change`);if(d(await O())!==`before.md`)throw Error(`watchShard fixture never loaded`);if(await u([[i(`0xa`,`after.md`)]],{keep:!0}),e.get(`change`)(),r!==1)throw Error("a `change` event must reach the caller");if(d(await O())!==`after.md`)throw Error("a `change` must drop the cache so the next read re-pulls");if(a(),!n)throw Error(`the unsubscribe must close the stream`)}if(await l({d0:[[i(`0xa`,`home.md`)]],other:[[i(`0xb`,`guest.md`)]]}),await O(),Ae(`${o}/cdn`),je()!==o)throw Error(`setView must trim to the base every route hangs off`);if(Ae(null),je()!==null)throw Error(`setView(null) must go back to the app default`);console.warn=n,console.info=r,console.log(`shard.js self-check ok — resolveView, gzip sniff, shard digests, domain merge + tombstones + allowlist, streaming, late subscriber, cache poisoning, rowText, vectors, suggestDomains, watchShard`)}var qe=new Set([`text`,`vector`,`norm`,`id`,`owner`,`embed`]),k=(e,t,n=[])=>{let r=s(e,t,n),i=u(e,t);return i?{...r,url:i}:r};function Je(e){let t=new Map,n=0,r=0;for(let i of e){i.vector&&(n++,r||=i.vector.length);for(let e of Object.keys(i))qe.has(e)||i[e]!=null&&i[e]!==``&&t.set(e,(t.get(e)??0)+1)}return{rows:e.length,withVectors:n,vectorDim:r,owners:[...new Set(e.map(e=>e.owner).filter(Boolean))],fields:[...t].sort((e,t)=>t[1]-e[1]).map(([t,n])=>({name:t,on:n,pct:Math.round(100*n/(e.length||1))}))}}var Ye=.15,Xe=new WeakMap,Ze=(e,t)=>{let n=Xe.get(e);return n===void 0&&(n=[o(e,t),r(e,t)??``,...(t.tags??[]).flatMap(t=>i(e[t]??``)),e.text??``].join(` `),Xe.set(e,n)),n};function A(e,t,n,{qv:r=null,limit:i=10,fields:a,where:o,lexBoost:s=Ye}={}){let c=t.trim().toLowerCase();if(!c)return[];let l=r?T(r):1;o&&(e=e.filter(e=>Qe(e,o)));let u=e.map(e=>r&&e.vector?{r:e,score:w(e,r,l)+(s?s*E({text:Ze(e,n)},c):0),mode:`semantic`}:{r:e,score:E({text:Ze(e,n)},c),mode:`lexical`}),d=u.filter(e=>e.mode===`semantic`).map(e=>e.score),f=Math.min(pe(d),d.length?Math.max(...d):1/0);return u.filter(e=>e.mode===`semantic`?e.score>=f:e.score>0).sort((e,t)=>t.score-e.score).slice(0,i).map(({r:e,score:t,mode:r})=>({...k(e,n,a),score:Number(t.toFixed(4)),mode:r}))}var Qe=(e,t)=>!t||Object.entries(t).every(([t,n])=>i(e[t]??``).some(e=>e.toLowerCase()===String(n).toLowerCase()));function $e(e,t,{limit:n=20,where:r}={}){let a=new Map,o=0;for(let n of e){if(!Qe(n,r))continue;let e=n[t];if(e==null||e===``)o++;else for(let t of i(e))a.set(t,(a.get(t)??0)+1)}let s=[...a].sort((e,t)=>t[1]-e[1]);return{field:t,distinct:a.size,missing:o,top:s.slice(0,n).map(([e,t])=>({value:e,count:t}))}}function j(e,t,{type:n,where:r,sort:i,desc:o=!0,limit:s=20,offset:c=0,fields:u}={}){let d=e.filter(e=>(!n||a(e)?.toLowerCase()===String(n).toLowerCase())&&Qe(e,r)),f=d.length;if(i){let e=e=>e==null||e===``?null:Number(e);d=[...d].sort((t,n)=>{let[r,a]=[t[i],n[i]];if((r==null||r===``)!=(a==null||a===``))return r==null||r===``?1:-1;let[s,c]=[e(r),e(a)],l=Number.isFinite(s)&&Number.isFinite(c)?s-c:String(r??``).localeCompare(String(a??``));return o?-l:l})}return{total:f,offset:c,returned:Math.min(s,Math.max(0,f-c)),collections:n?void 0:l(t,e).map(e=>({type:e.type,plural:e.plural,count:e.count})),rows:d.slice(c,c+s).map(e=>k(e,t,u))}}function et(e,t,n,{limit:r=10,fields:i}={}){let a=e.find(e=>e.id===t);if(!a?.vector)return{seed:a?k(a,n,i):null,near:[]};let o=a.norm;return{seed:k(a,n,i),near:e.filter(e=>e.id!==t&&e.vector).map(e=>({r:e,score:w(e,a.vector,o)})).sort((e,t)=>t.score-e.score).slice(0,r).map(({r:e,score:t})=>({...k(e,n,i),score:Number(t.toFixed(4))}))}}function tt(e,n,{id:i,where:a,min:s=2,limit:c=20,offset:l=0,fields:d=[]}={}){let f=n.thread;if(!f)return{total:0,offset:l,threads:[],error:`this corpus declares no thread relation`};let p=e=>String(t(e,n.temporal)??``).slice(0,10),m=new Map;for(let t of e){let e=t[f]==null?``:String(t[f]);if(!e||i!=null&&e!==String(i)||!Qe(t,a))continue;let o=`${p(t)}|${r(t,n)??``}`,s=m.get(e)??m.set(e,new Map).get(e),c=s.get(o);(!c||String(t.text??``).length>String(c.text??``).length)&&s.set(o,t)}let h=new Map;for(let t of e)if(t[f]==null)for(let e of Object.values(t))typeof e==`string`&&m.has(e)&&!h.has(e)&&h.set(e,t);let g=[...m].map(([e,t])=>{let r=[...t.values()].sort((e,t)=>p(e).localeCompare(p(t))),i=h.get(e),a=r.at(-1);return{id:e,title:o(i??a,n),url:u(i??a,n),first:p(r[0]),date:p(a),head:i?k(i,n,d):null,steps:r.map(e=>({...k(e,n,d),date:p(e)}))}}).filter(e=>e.steps.length>=s||i!=null).sort((e,t)=>t.date.localeCompare(e.date)||e.id.localeCompare(t.id));return{total:g.length,offset:l,threads:g.slice(l,l+c)}}function nt(e,t,n){if(!t)return null;let r=e.find(e=>e.id===t)??(n?.identity?e.find(e=>String(e[n.identity])===String(t)):null)??e.find(e=>e.path===t||e.name===t||o(e,n)===t);if(!r)return null;let{vector:i,norm:a,...s}=r;return{...s,hasVector:!!i,vectorDim:i?.length??0}}if(typeof process<`u`&&import.meta.url===`file://${process.argv[1]}`&&process.argv[1].endsWith(`/tools.js`)){let{rolesFrom:e}=await g(async()=>{let{rolesFrom:e}=await import(`./roles-BDPDWrwo.js`);return{rolesFrom:e}},__vite__mapDeps([3,4]),import.meta.url),t=(e,t,n)=>({id:e,owner:`0xa`,...t,text:[t.name,t.desc].filter(Boolean).join(` `),vector:n??null,norm:n?T(n):1}),n=[t(`1`,{name:`Duet S01E02`,series:`Duet`,year:`1987`,subject:`['Sitcom', 'Comedy']`,desc:`a forgotten fox sitcom`},[1,0,0]),t(`2`,{name:`Duet S01E03`,series:`Duet`,year:`1987`,subject:`['Sitcom']`,desc:`more of the same sitcom`},[.99,.1,0]),t(`3`,{name:`Atomic Cafe`,series:``,year:`1982`,subject:`['Documentary', 'Cold War']`,desc:`nuclear test footage`},[0,1,0]),t(`4`,{name:`untitled reel`,year:`1954`})],r=e([],n);if(r.title[0]!==`name`)throw Error(`fixture roles wrong: ${r.title}`);let a=Je(n);if(a.rows!==4||a.withVectors!==3||a.vectorDim!==3)throw Error(`describe lost the corpus shape`);let o=a.fields.find(e=>e.name===`series`);if(o.on!==2||o.pct!==50)throw Error(`empty strings must not count as coverage: ${JSON.stringify(o)}`);if(a.fields.some(e=>qe.has(e.name)))throw Error(`plumbing fields must not be offered as content`);if(a.owners.join()!==`0xa`)throw Error(`owners lost`);let s=A(n,`sitcom`,r,{qv:[1,0,0],limit:10});if(s[0].id!==`1`||s[0].title!==`Duet S01E02`)throw Error(`semantic: wrong top hit ${s[0]?.id}`);if(s[0].mode!==`semantic`)throw Error(`mode must be reported, not inferred`);if(s.some(e=>e.id===`3`))throw Error(`the z-floor must drop the unrelated row: ${JSON.stringify(s)}`);if(!A([n[0],n[1],n[2]],`sitcom`,r,{qv:[1,0,0]}).length)throw Error(`an exact match must never be filtered out by its own floor`);if(s=A(n,`nuclear`,r,{limit:10}),s[0]?.id!==`3`||s[0].mode!==`lexical`)throw Error(`must degrade to lexical, and say so`);if(A(n,` `,r).length)throw Error(`an empty query must return nothing, not everything`);if(A(n,`untitled reel`,r)[0]?.id!==`4`)throw Error(`a vectorless row must still be searchable lexically`);let c=$e(n,`subject`);if(c.top[0].value!==`Sitcom`||c.top[0].count!==2)throw Error(`list-ish values must split: ${JSON.stringify(c.top)}`);if(c.missing!==1)throw Error(`a field absent from a row must be counted missing, not skipped silently`);if($e(n,`year`).distinct!==3)throw Error(`plain values must not be split`);if(i(`Sitcom,Comedy,Fox`).length!==3)throw Error(`a machine-joined list must split`);if(i(`Wilson, Michael G.`).length!==1)throw Error(`a comma followed by a space is prose, not a list`);if(i(`1987`).length!==1)throw Error(`a plain value must stay whole`);let l=$e(n,`year`,{where:{subject:`Sitcom`}});if(l.distinct!==1||l.top[0].value!==`1987`)throw Error(`where must narrow the facet: ${JSON.stringify(l.top)}`);if($e(n,`year`,{where:{subject:`sitcom`}}).distinct!==1)throw Error(`where must match case-insensitively`);if($e(n,`year`,{where:{subject:`Sit`}}).distinct!==0)throw Error(`where must match whole values, not substrings`);let u=j(n,r,{limit:2});if(u.total!==4||u.rows.length!==2)throw Error(`browse must page: ${JSON.stringify(u)}`);if(u.collections.length!==0)throw Error(`a typeless corpus must report zero collections, not invent one`);if(j(n,r,{offset:3}).rows.length!==1)throw Error(`offset must page to the tail`);if(j(n,r,{offset:99}).rows.length!==0)throw Error(`an offset past the end must be empty, not wrapped`);let d=n.map(e=>({...e,entityType:e.id===`3`?`Film`:`Episode`})),f=j(d,r,{limit:1}).collections;if(f.map(e=>`${e.type}:${e.count}`).join()!==`Episode:3,Film:1`)throw Error(`collections must count and sort: ${JSON.stringify(f)}`);if(j(d,r,{type:`film`}).total!==1)throw Error(`type must match case-insensitively`);if(j(d,r,{type:`film`}).collections!==void 0)throw Error(`a typed browse is already inside a collection`);if(j(d,r,{type:`Episode`,where:{year:`1987`}}).total!==2)throw Error(`browse must honour where`);let p=[{id:`a`,rating:`9`},{id:`b`,rating:`10`},{id:`c`}],m=j(p,r,{sort:`rating`}).rows.map(e=>e.id);if(m.join()!==`b,a,c`)throw Error(`numeric sort + missing-last wrong: ${m}`);if(j(p,r,{sort:`rating`,desc:!1}).rows[0].id!==`a`)throw Error(`ascending sort ignored`);let h=et(n,`1`,r);if(h.near[0].id!==`2`)throw Error(`nearest neighbour missed the near-identical row`);if(h.near.some(e=>e.id===`1`))throw Error(`a row must not be its own neighbour`);if(h.near.some(e=>e.id===`4`))throw Error(`a vectorless row cannot be a neighbour`);if(et(n,`4`,r).near.length)throw Error(`a vectorless seed must return nothing, not throw`);if(et(n,`nope`,r).seed!==null)throw Error(`an unknown seed must be null, not undefined`);let _=nt(n,`3`,r);if(_.name!==`Atomic Cafe`||!_.hasVector||_.vectorDim!==3)throw Error(`getRow lost the record`);if(`vector`in _||`norm`in _)throw Error(`the raw vector must never reach a tool result`);if(nt(n,`nope`,r)!==null)throw Error(`an unknown id must be null`);let v=k(t(`x`,{name:`n`,categories:`d`.repeat(500)}),e([{role_map:{title:`name`,tags:[`categories`]}}]));if(v.categories.length>200)throw Error(`brief must truncate a long field`);if(v.title!==`n`)throw Error(`brief must title from the declared field`);{let e=[{id:`a`,name:`cold war thriller`,year:1965,vector:[1,0],norm:1},{id:`b`,name:`cold war comedy`,year:1999,vector:[1,0],norm:1},{id:`c`,name:`beach party`,year:1964,vector:[0,1],norm:1},{id:`d`,name:`surf movie`,year:1966,vector:[0,1],norm:1}],t={title:[`name`],subtitle:[],tags:[],text:[`name`],measures:[],fields:[`year`]};if(!A(e,`cold war`,t,{qv:[1,0],limit:10}).some(e=>e.title===`cold war comedy`))throw Error(`unfiltered search must see every era`);let n=A(e,`cold war`,t,{qv:[1,0],limit:10,where:{year:1965}});if(n.length!==1||n[0].title!==`cold war thriller`)throw Error(`where must narrow a semantic search: ${JSON.stringify(n)}`);if(A(e,`cold war`,t,{qv:[0,1],limit:10,where:{year:1964}})[0]?.title!==`beach party`)throw Error(`the floor must be measured over the filtered rows`)}{let e=[{id:`a`,name:`cold war thriller`,vector:[1,0],norm:1}],t={title:[`name`],subtitle:[],tags:[],text:[`name`],measures:[],fields:[]},n=A(e,`cold war`,t,{qv:[1,0],limit:5});if(!Array.isArray(n))throw Error(`search must return a flat array, not {hits}`);if(n[0].score===void 0||n[0].mode===void 0)throw Error(`search rows carry score+mode`);for(let n of[void 0,null,``])if(nt(e,n,t)!==null)throw Error(`getRow(${JSON.stringify(n)}) must be null`)}{let e={title:[`heading`,`title`],subtitle:[`meeting`],temporal:[`date`],tags:[],measures:[],thread:`part_of`,externalUrl:{}},t=[{id:`1`,heading:`Rezone Oak St`,meeting:`Plan Commission`,date:`2026-01-05`,part_of:`p:7`,text:`on the agenda`},{id:`2`,heading:`Rezone Oak St`,meeting:`Plan Commission`,date:`2026-01-05`,part_of:`p:7`,text:`recommended for approval 5-0`},{id:`3`,heading:`Rezone Oak St`,meeting:`Village Board`,date:`2026-01-20`,part_of:`p:7`,text:`adopted`},{id:`4`,heading:`Pool bid`,meeting:`Village Board`,date:`2026-03-01`,part_of:`p:9`},{id:`5`,heading:`Pool bid`,meeting:`Finance`,date:`2026-02-20`,part_of:`p:9`,place:`A`},{id:`6`,heading:`Once`,meeting:`Village Board`,date:`2026-04-01`,part_of:`p:11`},{id:`m7`,title:`Rezoning of Oak Street`,matter_id:`p:7`}],n=tt(t,e);if(n.threads.map(e=>e.id).join()!==`p:9,p:7`)throw Error(`latest-moving first, one step is not a thread: ${n.threads.map(e=>e.id)}`);let r=n.threads[1];if(r.steps.map(e=>e.id).join()!==`2,3`||r.title!==`Rezoning of Oak Street`||r.head?.id!==`m7`)throw Error(`an agenda and its minutes are one step, the head titles the thread: ${JSON.stringify(r)}`);if(tt(t,e,{id:`p:11`}).threads[0]?.steps.length!==1)throw Error(`asked for by id, any thread comes back`);if(tt(t,e,{where:{place:`A`},min:1}).total!==1)throw Error(`where narrows the steps`);if(!tt(t,{...e,thread:null}).error)throw Error(`no thread role must say so`)}console.log(`tools.js self-check ok — coverage not schema, semantic/lexical modes + z-floor, list-ish facets + where, neighbours, whole-row fetch, previews truncate, threads`)}var rt=e=>new Float32Array(e),it=e=>new Float32Array(e),at=(e,t)=>{let n=new Float32Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]+t[r];return n},ot=(e,t)=>{let n=new Float32Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]-t[r];return n},M=(e,t)=>{let n=new Float32Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]*t;return n},st=(e,t)=>{let n=0;for(let r=0;r<e.length;r++)n+=e[r]*t[r];return n},ct=e=>Math.sqrt(st(e,e)),lt=(e,t)=>ct(ot(e,t)),ut=e=>{if(e.length===0)throw Error(`centroid: empty input`);let t=e[0].length,n=new Float32Array(t);for(let r of e)for(let e=0;e<t;e++)n[e]+=r[e];for(let r=0;r<t;r++)n[r]/=e.length;return n},dt=(e,t)=>{let n=ct(t);if(n<1e-10)return it(e);let r=M(t,1/n),i=st(e,r);return i<=0?it(e):ot(e,M(r,i))},N={d:768,alpha:.1,beta:.3,lambda_max:.4,sigma_base:.5,sigma_max:1,rho:.8,epsilon:1e-6,prior_k:1,pass_window:20,gamma_base:.15,gamma_reg:2,temp_base:1,temp_max:3,alpha_facet:.3,facet_decay:.05,pass_facet_pen:.2,beta_group:.7,group_logistic_c:3,rho_scalar:.8,scalar_sigma:.5,tau_facet:1,tau_group:2,tau_scalar:.5,facet_floor:.01,delta_pass:1,theta_B:3,fatigue_threshold:.3},ft=(e,t)=>{let n=1-t;return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Object.fromEntries(Object.entries(t).map(([e,t])=>[e,t*n]))]))},pt=(e,t,n)=>{if(!t)return e;let r={...e};for(let[e,i]of Object.entries(t)){if(!i.length)continue;let t={...r[e]??{}};for(let e of i)t[e]=Math.max((t[e]??0)+n,0);r[e]=t}return r},mt=e=>typeof e==`number`&&e>0&&Number.isFinite(e),ht=e=>{if(e.length===0)return{passCentroid:null,passRadius:0};let t=ut(e),n=0;for(let r of e){let e=lt(r,t);e>n&&(n=e)}return{passCentroid:t,passRadius:n}},gt=(e={})=>{let{sigma_base:t=N.sigma_base,d:n=N.d}=e;return{mu:rt(n),v:rt(n),sigma:t,passes:[],passCentroid:null,passRadius:0,t:0,entropy:.2,facets:{},groups:{},scalarPref:null,neg:{},blacklist:new Set,muted:new Set}},_t=(e,t={})=>{let{lambda_max:n=N.lambda_max}=t,r=ct(e.v);if(r<1e-10)return it(e.mu);let i=M(e.v,1/r),a=n*Math.tanh(r);return at(e.mu,M(i,a))},vt=(e,t,n=null,r={})=>{let{alpha:i=N.alpha,beta:a=N.beta,sigma_base:o=N.sigma_base,rho:s=N.rho,prior_k:c=N.prior_k,alpha_facet:l=N.alpha_facet,facet_decay:u=N.facet_decay,beta_group:d=N.beta_group,rho_scalar:f=N.rho_scalar}=r,p=t.embedding,m=e.mu,h=e.t+1,g=i/(1-(1-i)**h),_=at(m,M(ot(p,m),g));if(n!==null){let e=c/h;_=at(_,M(ot(n,_),Math.min(e,1)))}let v=e.t===0?e.v:at(M(e.v,a),M(ot(p,m),1-a)),ee=s*e.sigma+(1-s)*o,y=pt(ft(e.facets,u),t.facets,l),te=t.group===void 0?e.groups:{...e.groups,[t.group]:d*(e.groups[t.group]??0)+(1-d)},b=mt(t.scalar)?e.scalarPref===null?Math.log(t.scalar):f*e.scalarPref+(1-f)*Math.log(t.scalar):e.scalarPref;return{...e,mu:_,v,sigma:ee,t:h,entropy:Math.max(e.entropy*.95,.05),facets:y,groups:te,scalarPref:b}},yt=(e,t,n={})=>{let{sigma_max:r=N.sigma_max,gamma_base:i=N.gamma_base,pass_window:a=N.pass_window,pass_facet_pen:o=N.pass_facet_pen,beta_group:s=N.beta_group,delta_pass:c=N.delta_pass,theta_B:l=N.theta_B,epsilon:u=N.epsilon,fatigue_threshold:d=N.fatigue_threshold}=n,f=t.embedding,p=e.mu,m=e.entropy,h=t.group,g=e.neg,_=e.blacklist,v=e.groups,ee=e.muted;if(h!==void 0){let t=e.groups[h]??0;t>d?(ee=new Set(e.muted),ee.add(h)):(g={...e.neg,[h]:(e.neg[h]??0)+c},_=new Set(e.blacklist),g[h]>l&&_.add(h),v={...e.groups,[h]:s*t+(1-s)*-1})}let y=pt(e.facets,t.facets,-o),te=dt(e.v,ot(f,p)),b=ot(p,f),ne=ct(b),re=i*(1+m),ie=e.t>0&&ne>=u?at(p,M(b,re/ne)):p,x=[...e.passes,it(f)];x.length>a&&x.shift();let{passCentroid:S,passRadius:ae}=ht(x);return{...e,mu:ie,v:te,sigma:Math.min(e.sigma*1.1,r),passes:x,passCentroid:S,passRadius:ae,entropy:Math.min(m*1.1+.02,1),facets:y,groups:v,neg:g,blacklist:_,muted:ee}},bt=e=>{if(!e)return null;let t=T(e),n=new Float32Array(e.length);for(let r=0;r<e.length;r++)n[r]=e[r]/t;return n};function P(e=[],t=[],{drift:n=.35}={}){let r=e.filter(e=>e?.vector?.length);if(!r.length)return null;let i={d:r[0].vector.length,alpha:1-2**(-1/8)},a=e=>({embedding:Float32Array.from(e.vector)}),o=gt(i);for(let e of r)o=vt(o,a(e),null,i);r.length<4&&(o={...o,v:new Float32Array(i.d)});let s=t.filter(e=>e?.vector?.length);for(let e of s)o=yt(o,a(e),i);return{mu:bt(o.mu),v:T(o.v)>1e-6&&r.length>=4?bt(o.v):null,q:bt(_t(o,{lambda_max:n})),no:bt(o.passCentroid),drift:n,from:r.map(e=>e.title??e.id).slice(-12),rejected:s.map(e=>e.title??e.id).slice(-12),n:r.length}}var xt=.6,St=(e,t)=>{if(!e?.vector||!t)return null;let n=wt(t),r=e.norm?e:{vector:e.vector,norm:T(e.vector)},i=w(r,t.q,n.q);return t.no?i-xt*Math.max(0,w(r,t.no,n.no)):i},Ct=new WeakMap;function wt(e){let t=Ct.get(e);return t&&t.qv===e.q&&t.nov===e.no||Ct.set(e,t={qv:e.q,nov:e.no,q:T(e.q),no:e.no?T(e.no):1}),t}function F(e,t,{limit:n=10,exclude:r=new Set,lambda:i=.7}={}){return t?me(e.filter(e=>e.vector&&!r.has(e.id)).map(e=>({row:e,s:St(e,t)})).sort((e,t)=>t.s-e.s),{limit:n,lambda:i}).map(({row:e,s:t})=>({row:e,score:Number(t.toFixed(4))})):[]}var Tt={lookahead:[.35,`how far past what you like, toward where your recent likes are heading (the kernel's drift)`],variety:[.3,`how different the picks are from each other`],surprise:[0,`how much chance reorders the list; 0 is strict best-first`],reach:[0,`how far out from the closest matches to start: 0 is nearest, 1 skips the nearest ~400`]},Et=(e,t)=>Math.min(1,Math.max(0,Number.isFinite(Number(e))?Number(e):t));function I(e,t=[],n=[],{limit:r=20,seed:i=1,exclude:a=new Set,...o}={}){let s=Object.fromEntries(Object.entries(Tt).map(([e,[t]])=>[e,Et(o[e],t)])),c=P(t,n,{drift:s.lookahead});if(!c)return{taste:null,knobs:{...s,seed:i},picks:[]};let l=new Set([...a,...t.map(e=>e.id),...n.map(e=>e.id)]),u=e.filter(e=>e.vector&&!l.has(e.id)),d=Math.round(s.reach*Math.min(400,u.length/4)),f=d+300,p=[];for(let e of u){let t=St(e,c);if(p.length===f&&!(t>p[f-1].s))continue;let n=p.length;for(;n>0&&p[n-1].s<t;)n--;p.splice(n,0,{row:e,s:t}),p.length>f&&p.pop()}let m=p.slice(d);if(s.surprise){let e=Number(i)>>>0||1,t=()=>{e=e+1831565813>>>0;let t=Math.imul(e^e>>>15,1|e);return t^=t+Math.imul(t^t>>>7,61|t),((t^t>>>14)>>>0)/4294967296};m=m.map(e=>({...e,s:e.s+.04*s.surprise*-Math.log(-Math.log(t()*.999998+1e-6))})).sort((e,t)=>t.s-e.s)}return{taste:{from:c.from,rejected:c.rejected,heading:!!c.v,n:c.n},knobs:{...s,seed:i},picks:me(m,{limit:r,lambda:1-.6*s.variety}).map(({row:e,s:t})=>({row:e,score:Number(t.toFixed(4))}))}}var L=e=>e&&{v:1,model:`embeddinggemma-256`,drift:e.drift,n:e.n,q:ue(Array.from(e.q)),mu:ue(Array.from(e.mu)),...e.v?{d:ue(Array.from(e.v))}:{},...e.no?{no:ue(Array.from(e.no))}:{},from:e.from,rejected:e.rejected};function Dt(e){if(!e?.q)return null;let t=C(e.q),n=C(e.mu??e.q);return t?{q:t,mu:n??t,v:e.d?C(e.d):null,no:e.no?C(e.no):null,drift:e.drift??.35,from:e.from??[],rejected:e.rejected??[],n:e.n??0}:null}var Ot=`(remembered`;function kt(e,{carried:t=null,likes:n=[],dislikes:r=[]}={}){if(!e)return e;let i=t??{from:[],rejected:[],n:0},a=e=>e.filter(e=>!String(e?.id??``).startsWith(Ot)).map(e=>e.title??e.id),o=a(n);return{...e,v:e.v??i.v??null,from:[...i.from??[],...o].slice(-12),rejected:[...i.rejected??[],...a(r)].slice(-12),n:(i.n??0)+o.length}}if(typeof process<`u`&&import.meta.url===`file://${process.argv[1]}`&&process.argv[1].endsWith(`/taste.js`)){{let e=F([{id:`a`,vector:[1,0],norm:1},{id:`b`,vector:[0,1],norm:1}],{q:[1,0]});if(!e.length)throw Error(`recommend must rank rows with vectors`);if(e[0].row===void 0)throw Error(`recommend rows carry .row`);if(typeof e[0].score!=`number`)throw Error(`recommend rows carry .score (not .s)`)}let e=(e,t,n=e)=>({id:e,title:n,vector:Float32Array.from(t),norm:T(t)}),t=[1,0,0],n=[0,1,0],r=[0,0,1],i=(e,t,n)=>e.map((e,r)=>e*(1-n)+t[r]*n),a=P([e(`a`,t),e(`b`,i(t,r,.2)),e(`c`,i(t,r,.1))]);if(!a)throw Error(`three likes must make a taste`);if(a.v!==null)throw Error(`under four picks there is no older half — direction must not be invented`);if(w({vector:a.q,norm:T(a.q)},Float32Array.from(t),1)<.9)throw Error(`q must sit near what was liked`);let o=[e(`x`,n,`a comedy`),e(`y`,i(t,r,.15),`a bleak documentary`),e(`z`,r,`a documentary`)];if(F(o,a)[0].row.title!==`a bleak documentary`)throw Error(`taste must rank an unseen pool`);let s=[e(`1`,t),e(`2`,i(t,n,.2)),e(`3`,i(t,n,.4)),e(`4`,i(t,n,.6))];if(a=P(s),a.v===null)throw Error(`four picks must yield a direction`);let c=w({vector:a.q,norm:T(a.q)},Float32Array.from(n),1),l=w({vector:a.mu,norm:T(a.mu)},Float32Array.from(n),1);if(!(c>l))throw Error(`q must lean further toward where it is heading than mu: ${c} vs ${l}`);let u=P(s,[],{drift:0});if(w({vector:u.q,norm:T(u.q)},u.mu,T(u.mu))<.999)throw Error(`drift 0 must be mu`);let d=[e(`p`,i(t,n,.7))],f=[e(`m`,t,`bleak`),e(`n`,n,`comic`)];if(F(f,P(d))[0].row.title!==`comic`)throw Error(`sanity: the taste leans comic`);if(F(f,P(d,[e(`q`,n)]))[0].row.title!==`bleak`)throw Error(`rejecting comic must flip the ranking to bleak`);let p=e(`a`,t,`the one they liked`);if(F([p,e(`other`,i(t,r,.1),`similar`)],P([p]),{exclude:new Set([`a`])}).some(e=>e.row.id===`a`))throw Error(`must not recommend what the taste was built from`);a=P(s);let m=L(a),h=JSON.stringify(m).length,g=Dt(m);if(!g)throw Error(`a taste must survive the round trip`);let _=F(o,a).map(e=>e.row.id).join(),v=F(o,g).map(e=>e.row.id).join();if(_!==v)throw Error(`ranking changed across the wire: ${_} vs ${v}`);if(!m.from.length)throw Error(`a taste must say what it was built from, or it cannot be corrected`);if(!a.v)throw Error(`this fixture is meant to have a heading`);if(!g.v)throw Error(`a heading must survive the wire — q leans on it, so an export without it lies`);if(w({vector:g.v,norm:T(g.v)},a.v,T(a.v))<.98)throw Error(`…and must survive it intact`);if(Dt({})!==null||Dt(null)!==null)throw Error(`a malformed taste must be null, not a crash`);if(P([])!==null)throw Error(`no likes is no taste, not an empty one`);if(F(o,null).length)throw Error(`no taste recommends nothing`);if(St({vector:null},a)!==null)throw Error(`a vectorless row scores null, not NaN`);{let e=(e,t)=>{let n=t*Math.PI/180;return{id:e,vector:[Math.cos(n),Math.sin(n)],norm:1}},t=[e(`run1`,0),e(`run2`,.8),e(`run3`,1.6),e(`run4`,2.4),e(`other`,60)],n=P([{id:`seed`,...e(`seed`,30)}]),r=F(t,n,{limit:3,lambda:1}).map(e=>e.row.id);if(r.some(e=>e===`other`))throw Error(`relevance alone must fill up with the run: ${r}`);let i=F(t,n,{limit:3}).map(e=>e.row.id);if(!i.includes(`other`))throw Error(`MMR must spend a slot on something else: ${i}`);if(i[0]!==r[0])throw Error(`the best match must still come first: ${i[0]} vs ${r[0]}`)}{let a=L(P([e(`a`,t,`The Golem`),e(`b`,n,`Nosferatu`),e(`c`,r,`Metropolis`)],[e(`z`,r,`Wrestling`)]));if(a.n!==3||a.from.length!==3)throw Error(`a fresh export carries what it was built from`);let o=Dt(a),s=[{id:`(remembered)`,title:`what you liked before · ${o.n} picks`,vector:o.q}],c=o.no?[{id:`(remembered-no)`,title:`what you passed on before`,vector:o.no}]:[];if(L(P(s,c)).n!==1)throw Error(`this is the loss the next assertion is about`);let l=L(kt(P(s,c),{carried:o,likes:s,dislikes:c}));if(l.n!==3)throw Error(`a restored taste must not report itself as one pick: ${l.n}`);if(!l.from.includes(`Nosferatu`))throw Error(`…and must still name what it was built from`);if(l.from.some(e=>e.startsWith(`(remembered`)))throw Error(`the synthetic placeholder is not a title`);if(!l.rejected.includes(`Wrestling`))throw Error(`rejections are provenance too`);let u=[...s,e(`d`,n,`Sunrise`)],d=L(kt(P(u,c),{carried:o,likes:u,dislikes:c}));if(d.n!==4)throw Error(`a new pick must count once: ${d.n}`);if(d.from.filter(e=>e===`Nosferatu`).length!==1)throw Error(`…and must not duplicate the carried ones`);{let r=Dt(L(P([e(`p`,t,`1`),e(`q`,i(t,n,.3),`2`),e(`r`,i(t,n,.6),`3`),e(`s`,n,`4`)]))),a=[{id:`(remembered)`,title:`before`,vector:r.q}];if(!kt(P(a),{carried:r,likes:a}).v)throw Error(`a restored session must keep the heading its own q was built with`);if(P(a).v)throw Error(`…which the kernel alone cannot supply from one entry`)}let f=L(kt(P(s,c),{carried:Dt(l),likes:s,dislikes:c}));if(f.n!==3||f.from.join()!==l.from.join())throw Error(`a second reload must change nothing`)}{let e=Array.from({length:40},(e,t)=>{let n=t*Math.PI/80;return{id:`g${t}`,title:`g${t}`,vector:[Math.cos(n),Math.sin(n)],norm:1}}),t=[e[0]],n=[e[39]],r=e=>e.picks.map(e=>e.row.id).join(),i=I(e,t,n,{limit:5});if(i.picks[0].row.id!==`g1`)throw Error(`nearest first by default: ${r(i)}`);if(i.picks.some(e=>e.row.id===`g0`||e.row.id===`g39`))throw Error(`discover must not return what was voted on`);if(I(e,t,[],{limit:5,reach:1}).picks[0].row.id===`g1`)throw Error(`reach must skip the nearest`);if(r(I(e,t,[],{limit:5,surprise:1,seed:7}))!==r(I(e,t,[],{limit:5,surprise:1,seed:7})))throw Error(`the same seed must give the same list`);if(I(e,[],[],{}).picks.length)throw Error(`no likes, no picks`)}console.log(`taste.js self-check ok — discover's knobs, mu/v/q, drift leans forward, rejection steers, portable in ${h}B, ranks a pool it never saw, MMR keeps a run of near-duplicates from filling the list, provenance and heading survive the restore collapse and do not drift on reload`)}var R=e=>({content:[{type:`text`,text:JSON.stringify(e)}]}),At=(e,t=[])=>({type:`object`,properties:e,required:t});function jt(e){let t=document.modelContext;t?.registerTool&&(t.registerTool({name:`describe`,description:`What this app holds: its fields and how often each is present. Call it first.`,inputSchema:At({}),execute:async()=>R(Je(e.rows))}),t.registerTool({name:`search`,description:"Search by meaning: a question in plain words. Optional equality filters in `where`.",inputSchema:At({query:{type:`string`},limit:{type:`number`},where:{type:`object`}},[`query`]),execute:async({query:t,limit:n=10,where:r})=>R(A(e.rows,t,e.roles,{qv:await e.queryVector(t),limit:n,where:r}))}),t.registerTool({name:`get`,description:`One record in full, by the id search returns.`,inputSchema:At({id:{type:`string`}},[`id`]),execute:async({id:t})=>R(nt(e.rows,t,e.roles)??{error:`no record ${t}`})}),t.registerTool({name:`count`,description:`Count the distinct values of a field: the shape of the data before reading it.`,inputSchema:At({field:{type:`string`},where:{type:`object`},limit:{type:`number`}},[`field`]),execute:async({field:t,where:n,limit:r=20})=>R($e(e.rows,t,{where:n,limit:r}))}),t.registerTool({name:`threads`,description:"One thing followed across records (a matter from committee to council): each thread's steps in date order, the latest-moving first, with the head record when there is one. `id` for one thread (a step's thread field); `where` narrows the steps.",inputSchema:At({id:{type:`string`},where:{type:`object`},limit:{type:`number`},offset:{type:`number`}}),execute:async({id:t,where:n,limit:r=20,offset:i=0})=>R(tt(e.rows,e.roles,{id:t,where:n,limit:r,offset:i}))}),t.registerTool({name:`session`,description:`What the person on this page saved and searched this session, and the taste (a vector over this app's records) their choices make.`,inputSchema:At({}),execute:async()=>R(e.session?.()??{saved:[],searches:[],taste:null})}),t.registerTool({name:`rate`,description:`Record that the person liked or disliked a record (or clear it), by the id search returns. Builds the taste discover ranks with.`,inputSchema:At({id:{type:`string`},verdict:{type:`string`,enum:[`like`,`dislike`,`clear`]}},[`id`,`verdict`]),execute:async({id:t,verdict:n})=>R(e.rate?.(t,n)??{error:`this page keeps no taste`})}),t.registerTool({name:`discover`,description:`Records for a taste: a kernel over what was liked (newest last) and disliked, not a text search. Pass likes and dislikes (ids from search), or omit them to use the taste on this page. Knobs are 0–1.`,inputSchema:At({likes:{type:`array`,items:{type:`string`}},dislikes:{type:`array`,items:{type:`string`}},...Object.fromEntries(Object.entries(Tt).map(([e,[t,n]])=>[e,{type:`number`,minimum:0,maximum:1,default:t,description:n}])),seed:{type:`integer`,description:`Same seed, same shuffle`},limit:{type:`integer`,minimum:1,maximum:50,default:10}}),execute:async({likes:t,dislikes:n,limit:r=10,...i})=>{let a=t=>t.map(t=>e.rows.find(n=>n.id===nt(e.rows,t,e.roles)?.id)).filter(e=>e?.vector),o=t?{likes:a(t),dislikes:a(n??[])}:e.votes?.()??{likes:[],dislikes:[]};if(!o.likes.length)return R({error:`like at least one record first (ids from search, or rate)`});let s=I(e.rows,o.likes,o.dislikes,{...i,limit:Math.min(50,r)});return R({...s,picks:s.picks.map(({row:t,score:n})=>({...nt(e.rows,t.id,e.roles),score:n}))})}}))}function Mt(e,t){let n=t=>new Set(e.slice(0,5e3).flatMap(e=>i(e[t]??``))).size;return t.facets?.[0]??t.tags.find(e=>{let t=n(e);return t>=2&&t<=12})??null}function Nt(e,n,{facet:i=null,only:a=null,today:s=new Date().toISOString().slice(0,10)}={}){let c=new Map;for(let s of e){let e=String(t(s,n.temporal)??``).slice(0,10);if(!e)continue;let l=i?String(s[i]??``):``;if(a&&l!==a)continue;let u=r(s,n)??``,d=`${l}|${u}|${e}`,f=c.get(d);f||c.set(d,f={key:d,date:e,place:l,label:u,byTitle:new Map});let p=o(s,n).toLowerCase(),m=f.byTitle.get(p);(!m||z(m,n).length<z(s,n).length)&&f.byTitle.set(p,s)}let l=[...c.values()].map(({byTitle:e,...t})=>({...t,items:[...e.values()]}));return{upcoming:l.filter(e=>e.date>s).sort((e,t)=>e.date.localeCompare(t.date)||e.place.localeCompare(t.place)),past:l.filter(e=>e.date<=s).sort((e,t)=>t.date.localeCompare(e.date)||e.place.localeCompare(t.place))}}function Pt(e,t,n){let a=new Map;for(let o of e)for(let e of i(o[n]??``)){let n=r(o,t)??null,i=a.get(e);i?(i.n++,i.sub!==n&&(i.sub=null)):a.set(e,{value:e,n:1,sub:n})}return[...a.values()].sort((e,t)=>e.value.localeCompare(t.value,void 0,{numeric:!0}))}function z(e,t){let n=o(e,t),r=String(e.text??``),i=r.startsWith(n.replace(/\.$/,``))?r.slice(n.replace(/\.$/,``).length).replace(/^[.\s]+/,``):r;return i===n?``:i.trim()}if(typeof process<`u`&&process.argv[1]?.endsWith(`/feed.js`)){let{rolesFrom:e}=await g(async()=>{let{rolesFrom:e}=await import(`./roles-BDPDWrwo.js`);return{rolesFrom:e}},__vite__mapDeps([3,4]),import.meta.url),t=e([{role_map:{title:`heading`,subtitle:`meeting`,temporal:`date`,tags:[`city`,`body`],text:[`text`]},presentation:{facets:[`city`]}}]),n=(e,t,n,r=n)=>({city:e,date:t,heading:n,meeting:`Board · ${t}`,body:`Board`,text:r}),r=[n(`A`,`2026-01-01`,`Budget`),n(`A`,`2026-01-01`,`Budget`,`Budget. Approved 5-0.`),n(`A`,`2026-01-01`,`Roads`),n(`B`,`2026-02-01`,`Parks`),n(`A`,`2026-03-01`,`Zoning`),{heading:`undated`}],i=(e,t,n)=>{if(JSON.stringify(e)!==JSON.stringify(t))throw Error(`${n}: ${JSON.stringify(e)}`)};i(Mt(r,t),`city`,`the declared facet wins`);let{upcoming:a,past:o}=Nt(r,t,{facet:`city`,today:`2026-02-15`});i(a.map(e=>e.key),[`A|Board · 2026-03-01|2026-03-01`],`a future date is coming up`),i(o.map(e=>`${e.place}${e.date}`),[`B2026-02-01`,`A2026-01-01`],`past, latest first`),i(o[1].items.map(e=>z(e,t)),[`Approved 5-0.`,``],`one item per title, the one that says what happened`),i(Nt(r,t,{facet:`city`,only:`B`,today:`2026-02-15`}).past.length,1,`narrowed to one place`),i(Pt([{part:`10`,t:`Market Research`},{part:`2`,t:`Definitions`},{part:`10`,t:`Market Research`},{part:`2`,t:`Other`}],e([{role_map:{subtitle:`t`}}]),`part`),[{value:`2`,n:2,sub:null},{value:`10`,n:2,sub:`Market Research`}],`natural order, counts, a subtitle only when every row shares it`),console.log(`feed.js self-check ok — declared facet, upcoming vs past, one item per title keeping the decision, narrowed by place, facet values`)}var Ft=(e,t,n)=>{try{return JSON.parse(e?.getItem(t)??`null`)??n}catch{return n}},It=(e,t,n)=>{try{e?.setItem(t,JSON.stringify(n))}catch{}};function Lt({local:e,session:t,app:n=`app`}={}){let r={saved:`${n}:saved`,passed:`${n}:passed`,history:`${n}:history`};return{saved:()=>Ft(e,r.saved,[]),passed:()=>Ft(e,r.passed,[]),history:()=>Ft(t,r.history,[]),isSaved(e){return this.saved().some(t=>t.key===e)},toggleSave(t){let n=this.saved(),i=n.findIndex(e=>e.key===t.key);return i>=0?n.splice(i,1):n.push({...t,savedAt:new Date().toISOString()}),It(e,r.saved,n),It(e,r.passed,this.passed().filter(e=>e.key!==t.key)),i<0},pass(t){It(e,r.passed,[...this.passed().filter(e=>e.key!==t.key),t].slice(-50)),It(e,r.saved,this.saved().filter(e=>e.key!==t.key))},unvote(t){It(e,r.saved,this.saved().filter(e=>e.key!==t)),It(e,r.passed,this.passed().filter(e=>e.key!==t))},remember(e){let n=e.trim();n&&It(t,r.history,[{q:n,at:new Date().toISOString()},...this.history().filter(e=>e.q!==n)].slice(0,50))},clear(n){It(n===`history`?t:e,r[n],[])},votes(){let e=e=>({id:e.key,title:e.title,vector:e.v?C(e.v):null});return{likes:this.saved().map(e),dislikes:this.passed().map(e)}},taste(){let{likes:e,dislikes:t}=this.votes();return P(e,t)},bundle({name:e=n,url:t=``}={}){return{app:e,url:t,exported:new Date().toISOString(),saved:this.saved().map(({v:e,...t})=>t),searches:this.history(),taste:L(this.taste())}}}}var Rt=(e,{key:t,title:n,subtitle:r,place:i,date:a,link:o,detail:s})=>({key:t,title:n,subtitle:r,place:i,date:a,url:o??null,detail:s??``,...e.vector?{v:ue(Array.from(e.vector))}:{}}),zt=e=>`"${String(e??``).replace(/"/g,`""`)}"`,Bt=e=>[`title,place,subtitle,date,url,detail`,...e.map(e=>[e.title,e.place,e.subtitle,e.date,e.url,e.detail].map(zt).join(`,`))].join(`
|
|
7
|
+
`),Vt=(e,t=`Saved`)=>[`# ${t}`,``,...e.map(e=>`- **${e.url?`[${e.title}](${e.url})`:e.title}** — ${[e.place,e.subtitle].filter(Boolean).join(` · `)}${e.detail?`\n ${e.detail}`:``}`)].join(`
|
|
8
|
+
`);if(typeof process<`u`&&process.argv[1]?.endsWith(`/store.js`)){let e=()=>{let e=new Map;return{getItem:t=>e.get(t)??null,setItem:(t,n)=>e.set(t,n)}},t=Lt({local:e(),session:e(),app:`t`}),n=e=>({vector:Array.from({length:8},(t,n)=>n===e?1:.1)}),r=Rt(n(0),{key:`a`,title:`Budget`,place:`X`,date:`2026-01-01`}),i=Rt(n(1),{key:`b`,title:`Roads, "east"`,place:`Y`}),a=(e,t,n)=>{if(JSON.stringify(e)!==JSON.stringify(t))throw Error(`${n}: ${JSON.stringify(e)}`)};if(a(t.taste(),null,`no taste before a save`),t.toggleSave(r),t.toggleSave(i),a(t.saved().map(e=>e.key),[`a`,`b`],`saved in order`),!t.taste()?.q)throw Error(`saves make a taste`);t.pass(i),a([t.saved().map(e=>e.key),t.passed().map(e=>e.key)],[[`a`],[`b`]],`passing on an item unsaves it`),a(t.taste().rejected,[`Roads, "east"`],`and it steers the taste away`),t.remember(`snow`),t.remember(`budget`),t.remember(`snow`),a(t.history().map(e=>e.q),[`snow`,`budget`],`history: newest first, no repeats`);let o=t.bundle({name:`T`});if(o.saved[0].v||!o.taste?.q||o.searches.length!==2)throw Error(`the bundle carries choices and taste, not raw vectors`);if(!Bt([i]).includes(`"Roads, ""east"""`))throw Error(`CSV quoting`);if(Lt({local:{getItem(){throw Error(`blocked`)},setItem(){throw Error(`blocked`)}}}).saved().length!==0)throw Error(`blocked storage reads as empty`);console.log(`store.js self-check ok — saves and passes steer a taste, history dedupes, the bundle carries no raw vectors, CSV quotes, blocked storage is empty not fatal`)}var Ht=`http://www.w3.org/2000/svg`,Ut=(e,t={})=>{let n=document.createElementNS(Ht,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n},Wt=e=>e.toLocaleString(),Gt=new Set([`state`]);function Kt(e,{el:t,show:n,row:r,placeOf:o,ctx:s}){let c=s.roles,l=Object.keys(e.paths),u=null,d=null,f=null,p={q:``,hits:null};function m(){if(u?.n===s.rows.length)return u;let t=s.rows.map(t=>{let n=i(t[e.field]??``).filter(t=>e.paths[t]);return n.length?n:[e.places?.[o(t)]].filter(Boolean)}),n=new Map;for(let e of s.rows){let t=a(e);n.set(t,(n.get(t)??0)+1)}let r=[...n].sort((e,t)=>t[1]-e[1])[0]?.[0],c=new Map(l.map(e=>[e,[]]));s.rows.forEach((e,n)=>{for(let e of t[n])c.get(e)?.push(n)});let d=0,f=null,p=0,m=new Map;s.rows.forEach((e,n)=>{if(!e.vector||a(e)!==r||!t[n].length)return;d||=e.vector.length,f??=new Float64Array(d);let i=1/(e.norm||Math.hypot(...e.vector)||1);for(let r of t[n]){let t=m.get(r)??{v:new Float64Array(d),n:0};for(let n=0;n<d;n++)t.v[n]+=e.vector[n]*i;t.n++,m.set(r,t)}for(let t=0;t<d;t++)f[t]+=e.vector[t]*i;p++});let h=new Map;for(let[e,t]of m){if(t.n<20)continue;let n=t.v.map((e,n)=>e/t.n-f[n]/p),r=Math.hypot(...n)||1;h.set(e,n.map(e=>e/r))}return u={n:s.rows.length,regionsOf:t,by:c,main:r,types:n,centroid:h},u}function h(e){let{centroid:t}=m(),n=t.get(e);return n?[...t].filter(([t])=>t!==e).map(([e,t])=>({region:e,score:t.reduce((e,t,r)=>e+t*n[r],0)})).sort((e,t)=>t.score-e.score).slice(0,5):[]}let g=(e,t=2)=>{let n=c.types?.[e];return(t===1?n?.singular:n?.plural)??e??`Records`},_=e=>c.types?.[e]?.icon??``;function v(e){let{regionsOf:t}=m(),n=new Map,r=e??s.rows.map((e,t)=>t);for(let e of r)if(!(f&&a(s.rows[e])!==f))for(let r of t[e])n.set(r,(n.get(r)??0)+1);return n}async function ee(e){if(!e)return null;if(p.q===e&&p.hits)return p.hits;let t=s.queryVector(e),n=await Promise.race([t,new Promise(e=>setTimeout(()=>e(void 0),400))]);return n===void 0&&t.then(t=>{t&&p.q===e&&!p.meaning&&(p={q:e,hits:y(e,t),meaning:!0},b(e,d))}),p={q:e,hits:y(e,n??null),meaning:n!==void 0},p.hits}function y(e,t){let n=new Map(s.rows.map((e,t)=>[e.id,t]));return A(s.rows,e,c,{qv:t,limit:600}).map(e=>n.get(e.id)).filter(e=>e!=null)}let te=(e,t=d)=>{location.hash=`#/map/${encodeURIComponent(e)}${t?`/${encodeURIComponent(t)}`:``}`};async function b(r=``,i=null){d=i&&e.paths[i]?i:null;let o=await ee(r),c=v(o),u=Math.max(1,...c.values()),y=e=>e?Math.min(5,1+Math.floor((o?e/u:Math.log10(e)/Math.log10(u))*4.999)):0,re=d?new Set(h(d).map(e=>e.region)):new Set,ie=Ut(`svg`,{viewBox:`0 0 ${e.width} ${e.height}`,role:`img`,"aria-label":o?`Map: where “${r}” comes up`:`Map: where records are`,class:`map`});for(let t of l){let n=Ut(`path`,{d:e.paths[t],class:`h${y(c.get(t)??0)}${t===d?` on`:``}${re.has(t)?` near`:``}`,tabindex:0,"aria-label":`${t}: ${Wt(c.get(t)??0)}`});n.append(Ut(`title`)),n.firstChild.textContent=`${t} · ${Wt(c.get(t)??0)} ${o?`matching`:(f?g(f):`records`).toLowerCase()}`;let i=()=>te(r,d===t?null:t);n.addEventListener(`click`,i),n.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),i())}),ie.append(n)}let x=t(`input`,{type:`search`,value:r,placeholder:`Search the map: data center, PFAS, solar rezoning…`,"aria-label":`Search the map`});x.addEventListener(`keydown`,e=>{e.key===`Enter`&&te(x.value.trim())});let S=o?new Map:m().types;for(let e of o??[]){let t=a(s.rows[e]);S.set(t,(S.get(t)??0)+1)}let ae=S.size>1||o?t(`div`,{className:`chips`},[[null,o?.length??s.rows.length],...S].map(([e,n])=>t(`button`,{type:`button`,className:e===f?`chip on`:`chip`,onclick:()=>{f=e,b(r,d)}},`${e?`${_(e)} ${g(e,n)}`:`All`} (${Wt(n)})`))):null,oe=l.filter(e=>c.get(e)).length,se=o?`“${r}”: ${Wt([...c.values()].reduce((e,t)=>e+t,0))} matches in ${oe} of ${l.length} regions. Darker is more.${p.meaning?``:` (Matching words; search by meaning is loading.)`}`:`${f?g(f):`Records`} in ${oe} of ${l.length} regions. Select a region, or search.`;n(t(`div`,{className:`mapbar`},x),ae,t(`p`,{className:`hint`},se),t(`div`,{className:`mapwrap`},ie,t(`aside`,{className:`panel`},ne(d,r,o))),t(`p`,{className:`hint`},`Legend: `,[0,1,2,3,4,5].map(e=>t(`span`,{className:`sw h${e}`})),o?` none → most matches`:` none → most records`))}function ne(n,o,l){if(!n)return[t(`h3`,{},`Select a region`),t(`p`,{className:`hint`},`Its records by kind and tag, the ones that match, and the regions most like it.`)];let{by:u}=m(),d=new Set(u.get(n)),p=(l?l.filter(e=>d.has(e)):[...d]).filter(e=>!f||a(s.rows[e])===f).map(e=>s.rows[e]),v=new Map;for(let e of p){let t=a(e);v.set(t,(v.get(t)??0)+1)}let ee=(c.tags??[]).filter(t=>t!==e.field&&!Gt.has(t)).map(e=>{let t=new Map;for(let n of p)for(let r of i(n[e]??``))t.set(r,(t.get(r)??0)+1);return[e,[...t].sort((e,t)=>t[1]-e[1]).slice(0,6)]}).filter(([,e])=>e.length>1),y=e=>String(e[c.temporal?.[0]]??``),b=(l?p:p.slice().sort((e,t)=>y(t).localeCompare(y(e)))).slice(0,25),ne=h(n);return[t(`h3`,{},n,` `,t(`button`,{type:`button`,className:`linkish`,"aria-label":`Close`,onclick:()=>te(o,null)},`✕`)),t(`p`,{className:`hint`},[...v].map(([e,t])=>`${_(e)} ${Wt(t)} ${g(e,t).toLowerCase()}`).join(` · `)||`Nothing here`+(l?` matches.`:` yet.`)),ne.length?t(`div`,{className:`chips`},t(`small`,{title:`Regions whose records are closest in meaning; outlined on the map`},`Reads most like: `),ne.map(({region:e})=>t(`button`,{type:`button`,className:`chip`,onclick:()=>te(o,e)},e))):null,ee.map(([e,n])=>t(`div`,{className:`chips`},t(`small`,{},`${e.replace(/_/g,` `)}: `),n.map(([e,n])=>t(`button`,{type:`button`,className:`chip`,title:`Search the map for “${e}”`,onclick:()=>te(e)},`${e} (${n})`)))),b.length?t(`ul`,{className:`list`},b.map(e=>r(e))):null,p.length>b.length?t(`p`,{className:`hint`},`${Wt(p.length-b.length)} more. `,t(`a`,{href:`#/search/${encodeURIComponent(o||n)}`},`Open in search`)):null]}return{render:b}}function qt(e,t,n){let r=e(`code`,{},n),i=e(`button`,{type:`button`,className:`chip`,onclick:async()=>{try{await navigator.clipboard.writeText(n),i.textContent=`Copied`}catch{i.textContent=`Select and copy`}setTimeout(()=>{i.textContent=`Copy`},1500)}},`Copy`);return e(`div`,{className:`copy`},e(`small`,{},t),e(`pre`,{},r),i)}function Jt({el:e,origin:t,name:n,paid:r=!1}){let i=n.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``);return e(`section`,{className:`agents`},e(`h2`,{className:`page`},`Use it with an agent`),e(`p`,{},`${n} is an MCP server: any agent that speaks MCP can search it, read records and follow links, with no install.`),qt(e,`Claude Code`,`claude mcp add --transport http ${i} ${t}/mcp`),qt(e,`Any MCP client (streamable HTTP)`,JSON.stringify({mcpServers:{[i]:{type:`http`,url:`${t}/mcp`}}},null,2)),r?e(`p`,{className:`hint`},`Records marked for sale are bought by an agent with a wallet: fangorn-mcp's buy tool pays the publisher's price in USDC and opens the record.`):null,e(`p`,{className:`hint`},`Machine-readable: `,e(`a`,{href:`${t}/.well-known/agent-card.json`},`agent card`)))}var B=e=>document.querySelector(e),V=(e,t={},...n)=>{let r=Object.assign(document.createElement(e),t);return r.append(...n.flat(1/0).filter(e=>e!=null&&e!==!1)),r},Yt=(e,t=220)=>e.length>t?`${e.slice(0,e.lastIndexOf(` `,t))} …`:e,Xt=e=>e?new Date(`${String(e).slice(0,10)}T12:00:00`).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`,year:`numeric`}):``,H={rows:[],roles:n([]),queryVector:e=>le(e).catch(()=>null)},Zt,Qt=new Promise(e=>{Zt=e});D({onManifests:e=>{H.roles=n(e),Zt()},rowText:e=>c(e,H.roles)});var $t=await fetch(`./.well-known/agent-card.json`).then(e=>e.json()).catch(()=>({})),en=($t.capabilities?.extensions??[]).some(e=>e.params?.paid),tn=e=>`$${(Number(e.sale.price)/1e6).toFixed(2)}`,U=$t.name??`Fangorn app`;document.title=U,B(`#name`).textContent=U,fetch(`./nav.json`).then(e=>e.json()).then(e=>B(`#aside`).append(...e.map(e=>V(`a`,{href:e.href},e.label)))).catch(()=>{});var nn=await fetch(`./map.json`).then(e=>(e.headers.get(`content-type`)??``).includes(`json`)?e.json():null).catch(()=>null);nn&&B(`#primary`).prepend(V(`a`,{href:`#/map`},`Map`));var rn=await fetch(`./intro.html`).then(e=>e.text()).then(e=>/^\s*<!doctype/i.test(e)?null:Object.assign(V(`section`,{className:`intro`}),{innerHTML:e})).catch(()=>null),an=await fetch(`./examples.json`).then(e=>(e.headers.get(`content-type`)??``).includes(`json`)?e.json():[]).catch(()=>[]),on=B(`#q input`);on.disabled=!1;var sn=U.toLowerCase().replace(/\W+/g,`-`),W=Lt({local:globalThis.localStorage,session:globalThis.sessionStorage,app:sn});H.session=()=>W.bundle({name:U,url:location.origin});var cn=()=>Jt({el:V,origin:location.origin,name:U,paid:en}),ln=new URL(`view`,location.href).href,un=await fetch(`${ln}/cdn/catalog`).then(e=>e.json()).then(e=>e.domains.reduce((e,t)=>e+(t.count??0),0)).catch(()=>0),dn=!1,fn=0,pn=O(ln,e=>{H.rows=e,vn(),Date.now()-fn>1500&&/^(#\/?(signals)?)?$/.test(location.hash)&&(fn=Date.now(),mr())});await Qt;var G=H.roles;G.thread&&B(`#primary`).prepend(V(`a`,{href:`#/signals`},`Decision tracker`));var mn=e=>String((G.identity&&e[G.identity])??e.id),hn=new Map,K=new Map,q=null,gn=[],_n=null;function vn(){hn=new Map(H.rows.map(e=>[mn(e),e])),K=new Map(H.rows.map(e=>[e.id,e])),_n=null,q??=Mt(H.rows,G),gn=q?[...H.rows.reduce((e,t)=>{let n=J(t);return n&&e.set(n,(e.get(n)??0)+1),e},new Map)].sort((e,t)=>e[0].localeCompare(t[0])):[];let e=H.rows.length.toLocaleString();on.placeholder=dn&&!H.rows.length?`No records yet`:dn?`Search ${e} records${gn.length>1&&/city|town|place|county|state|region|country/i.test(q)?` in ${gn.length} places`:``}…`:`Loading ${e}${un?` of ${un.toLocaleString()}`:``} records… (search what is here)`}var J=e=>q?i(e[q]??``)[0]??``:``,Y=e=>String(e[G.temporal?.[0]]??``).slice(0,10),yn=e=>u(e,G),bn=e=>Rt(e,{key:mn(e),title:o(e,G),subtitle:r(e,G),place:J(e),date:Y(e),link:yn(e),detail:z(e,G)}),xn=e=>/[a-z]/.test(e)||!/[A-Z]{5}/.test(e)?e:e.toLowerCase().replace(/\b[a-z]{1,3}\b/g,(e,t)=>/^(and|or|of|the|to|for|in|on|at|by|a|an|as|is|be|no|from)$/.test(e)?e:e.toUpperCase()).replace(/^\W*\w/,e=>e.toUpperCase()).replace(/([.:;!?]\s+|\u2013\s+|-\s+)(\w)/g,(e,t,n)=>t+n.toUpperCase()),Sn=e=>xn(o(e,G)),Cn=e=>`#/item/${encodeURIComponent(mn(e))}`,wn=(e,t)=>{if(!t.length)return[e];let n=RegExp(`(${t.map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`)})`,`ig`);return String(e).split(n).map((e,t)=>t%2?V(`mark`,{},e):e)},Tn=e=>W.isSaved(e)?`like`:W.passed().some(t=>t.key===e)?`dislike`:null;H.rate=(e,t)=>{if(![`like`,`dislike`,`clear`].includes(t))return{error:`verdict is like, dislike or clear`};let n=K.get(e)??hn.get(String(e))??K.get(nt(H.rows,e,G)?.id);if(!n)return{error:`no record ${e}`};let r=mn(n);return W.unvote(r),t===`like`&&W.toggleSave(bn(n)),t===`dislike`&&W.pass(bn(n)),Dn(),pr(),/^#\/for-you/.test(location.hash)&&dr(),{likes:W.saved().map(e=>e.title),dislikes:W.passed().map(e=>e.title)}},H.votes=()=>{let e=e=>{let t=hn.get(e.id);return t?{id:t.id,title:e.title,vector:t.vector}:e},{likes:t,dislikes:n}=W.votes();return{likes:t.map(e).filter(e=>e.vector),dislikes:n.map(e).filter(e=>e.vector)}};var En=e=>{let t=V(`button`,{type:`button`,className:`vote star`,title:`Save`,ariaLabel:`Save: ${o(e,G)}`,onclick:t=>{t.preventDefault(),H.rate(e.id,Tn(mn(e))===`like`?`clear`:`like`)}});return Object.assign(t.dataset,{key:mn(e),vote:`like`}),V(`span`,{className:`votes`},t)};function Dn(){for(let e of document.querySelectorAll(`button.vote[data-vote]`)){let t=Tn(e.dataset.key)===e.dataset.vote;e.setAttribute(`aria-pressed`,String(t)),e.textContent=t?`★`:`☆`,e.title=t?`Saved`:`Save`}}var X=(e,{terms:t=[],also:n=0,meta:i=!0}={})=>{let a=z(e,G);return V(`li`,{className:`row`},V(`div`,{className:`main`},V(`a`,{href:Cn(e),className:`title`},wn(Sn(e),t)),i?V(`small`,{},[J(e),r(e,G)].filter(Boolean).join(` · `)):null,a?V(`p`,{className:`detail`},wn(Yt(a),t)):null,n?V(`small`,{className:`also`},`and ${n} more record${n>1?`s`:``} of the same item`):null,On(e)?V(`small`,{className:`forsale`},`For sale · ${tn(e)}`):null),En(e))},On=e=>en&&e.sale,kn=()=>{if(!_n){let e=G.thread?tt(H.rows,G,{min:1,limit:1/0}).threads:[];_n={list:e.filter(e=>e.steps.length>=2),byId:new Map(e.map(e=>[e.id,e])),byHead:new Map(e.filter(e=>e.head).map(e=>[e.head.id,e]))}}return _n},An=e=>G.thread?e[G.thread]==null?kn().byHead.get(e.id):kn().byId.get(String(e[G.thread])):null,jn=/agenda|consent|discussion|archiv|miscellan|presentation|published|^items/i,Mn=e=>(e?.outcome??(e?.status&&!jn.test(e.status)?e.status:null))?.trim().toLowerCase()||null,Nn=e=>e.steps.map(e=>Mn(K.get(e.id))).findLast(Boolean)??null,Pn=e=>(r(e,G)??``).replace(/\s*·\s*\d{4}-\d\d-\d\d$/,``),Fn=e=>e?new Date(`${e}T12:00:00`).toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`}):``,In=e=>V(`ol`,{className:`steps`},e.steps.map(e=>K.get(e.id)).filter(Boolean).map(e=>V(`li`,{},V(`time`,{dateTime:Y(e)},Fn(Y(e))),V(`span`,{},V(`a`,{href:Cn(e)},Pn(e)||Sn(e)),Mn(e)?` · ${Mn(e)}`:``)))),Z=null,Ln=()=>gn.length>1?V(`label`,{className:`picker`},V(`span`,{},`${q?q[0].toUpperCase()+q.slice(1):`Place`}`),V(`select`,{id:`place`,onchange:e=>{Z=e.target.value||null,mr()}},[[null,H.rows.length],...gn].map(([e,t])=>V(`option`,{value:e??``,selected:e===Z},`${e??`All`} (${t.toLocaleString()})`)))):null,Rn=e=>{let t=e.search(/[:.;]\s/);return t<0||t>160?V(`p`,{className:`about`},e):V(`details`,{className:`about`},V(`summary`,{},e.slice(0,t+1).replace(/:$/,`.`)),V(`p`,{},e.slice(t+2)))},zn=e=>!Z||J(e)===Z,Bn=B(`#view`),Q=(...e)=>{Bn.replaceChildren(...e.flat().filter(Boolean)),Dn(),window.scrollTo(0,0)};function Vn(e){let t=V(`ul`,{},e.items.slice(0,5).map(e=>X(e,{meta:!1}))),n=e.items.length>5?V(`button`,{type:`button`,className:`more`,onclick:n=>{t.append(...e.items.slice(5).map(e=>X(e,{meta:!1}))),n.target.remove()}},`${e.items.length-5} more`):null;return V(`article`,{},V(`header`,{},V(`time`,{dateTime:e.date},Xt(e.date)),V(`h3`,{},[e.place,e.label.replace(/\s*·\s*\d{4}-\d\d-\d\d$/,``)].filter(Boolean).join(` — `))),t,n)}function Hn(e){let t=K.get(e.steps.at(-1).id),n=e.head&&K.get(e.head.id),i=en?e.steps.map(e=>K.get(e.id)).reverse().find(e=>e?.sale):null,a=z(t,G);return V(`article`,{className:`signal`},V(`div`,{className:`meta`},V(`span`,{},J(t)),V(`span`,{},n?r(n,G):Pn(t)),Nn(e)?V(`span`,{className:`stage`},Nn(e)):null,V(`time`,{dateTime:e.date},Fn(e.date))),V(`h3`,{},V(`a`,{href:Cn(n??t),className:`title`},xn(e.title))),a?V(`p`,{className:`detail`},Yt(a)):null,e.steps.length>1?In(e):null,i?sr(i):null,V(`div`,{className:`acts`},En(n??t),e.url?V(`a`,{href:e.url,target:`_blank`,rel:`noopener`,className:`act`},`Official record ↗`):null))}var Un=null,Wn=30;function Gn(){let e=e=>K.get(e.steps.at(-1).id),{list:t}=kn(),n=[...new Set(t.map(Nn).filter(Boolean))].sort(),r=t.filter(t=>zn(e(t))&&(!Un||Nn(t)===Un));Q(V(`h2`,{className:`page`},`Decision tracker`),V(`p`,{className:`hint`},`Items that went to more than one meeting, such as from a committee to the council. The most recently updated items are listed first. Each item links to its official record.`),V(`div`,{className:`chips`},Ln(),n.length?V(`label`,{className:`picker`},V(`span`,{},`Stage`),V(`select`,{onchange:e=>{Un=e.target.value||null,Wn=30,Gn()}},[null,...n].map(e=>V(`option`,{value:e??``,selected:e===Un},e??`Any stage`)))):null),V(`p`,{className:`hint`},`${r.length.toLocaleString()} item${r.length===1?``:`s`}`),r.length?r.slice(0,Wn).map(Hn):V(`p`,{className:`empty`},dn?`No items have been followed across meetings yet.`:`Loading records…`),r.length>Wn?V(`button`,{type:`button`,className:`more`,onclick:()=>{Wn+=30,Gn()}},`Show more`):null)}function Kn(){let e=e=>new Date(e).toISOString().slice(0,10),t=e(Date.now()),n=kn().byHead,r=new Map;for(let e of H.rows){let i=Y(e);if(!i||i>t||n.has(e.id)||!zn(e)||!Mn(e))continue;let a=G.thread&&e[G.thread]!=null?String(e[G.thread]):e.id;(!r.has(a)||Y(r.get(a))<i)&&r.set(a,e)}let i=[...r.values()].sort((e,t)=>Y(t).localeCompare(Y(e))),a=i.filter(t=>Y(t)>=e(Date.now()-6048e5));return{title:a.length>=3?`Decisions this week`:`Recent decisions`,list:a.length>=3?a:i,card:e=>Hn(An(e)?.steps.length>1?An(e):{id:e.id,title:o(e,G),date:Y(e),steps:[{id:e.id}],head:null,url:yn(e)})}}var qn=12;function Jn(){let{likes:e,dislikes:t}=H.votes(),n=I(H.rows.filter(zn),e,t,{...$,limit:6}),{upcoming:r}=Nt(H.rows,G,{facet:q,only:Z}),i=Kn();Q(rn?rn.cloneNode(!0):$t.description?Rn($t.description):null,Ln(),i.list.length?V(`section`,{},V(`h2`,{},i.title),i.list.slice(0,qn).map(i.card),i.list.length>qn?V(`button`,{type:`button`,className:`more`,onclick:()=>{qn+=12,Jn()}},`Show more`):null):null,r.length?V(`section`,{},V(`h2`,{},`Upcoming meetings`),r.slice(0,6).map(Vn)):null,n.picks.length?V(`section`,{},V(`h2`,{},`For you`),V(`p`,{className:`hint`},`From the ${n.taste.n} item${n.taste.n>1?`s`:``} you liked. `,V(`a`,{href:`#/for-you`},`Tune`)),V(`ul`,{className:`list`},n.picks.map(({row:e})=>X(e)))):null,i.list.length||r.length?null:H.rows.length?Qn():V(`p`,{className:`empty`},dn?`This app is being set up. Its records will appear here after they are published.`:`Loading records…`))}var Yn=e=>e&&e[0].toUpperCase()+e.slice(1),Xn=(e,t)=>/^\d/.test(t)?`${Yn(e)} ${t}`:Yn(t),Zn=(e,t)=>`#/browse/${encodeURIComponent(e)}/${encodeURIComponent(t)}`;function Qn(){let e=G.temporal?.length?H.rows.filter(e=>Y(e)&&zn(e)).sort((e,t)=>Y(t).localeCompare(Y(e))).slice(0,8):[],t=(G.facets?.length?G.facets:[q]).filter(Boolean).map(e=>[e,Pt(H.rows,G,e)]).filter(([,e])=>e.length>1);return[an.length?V(`section`,{},V(`h2`,{},`Try asking`),V(`div`,{className:`chips`},an.map(e=>V(`a`,{href:`#/search/${encodeURIComponent(e)}`,className:`act`},e)))):null,e.length?V(`section`,{},V(`h2`,{},`Recently updated`),V(`ul`,{className:`list`},e.map(e=>X(e)))):null,...t.map(([e,t])=>V(`section`,{},V(`h2`,{},`By ${e.replace(/_/g,` `)}`),t.length<=12?V(`div`,{className:`chips`},t.map(({value:t,n})=>V(`a`,{href:Zn(e,t),className:`act`},`${Xn(e,t)} (${n.toLocaleString()})`))):V(`ul`,{className:`list`},t.map(({value:t,n,sub:r})=>V(`li`,{className:`row`},V(`div`,{className:`main`},V(`a`,{href:Zn(e,t),className:`title`},r?`${Xn(e,t)} · ${r}`:Xn(e,t)),V(`small`,{},`${n.toLocaleString()} record${n===1?``:`s`}`)))))))]}var $n=50;function er(e,t){let n=H.rows.filter(n=>i(n[e]??``).includes(t)).sort((e,t)=>Sn(e).localeCompare(Sn(t),void 0,{numeric:!0})),r=Pt(n,G,e)[0]?.sub;Q(V(`p`,{},V(`a`,{href:`#/`},`← Home`)),V(`h2`,{className:`page`},r?`${Xn(e,t)} · ${r}`:Xn(e,t)),V(`p`,{className:`hint`},`${n.length.toLocaleString()} record${n.length===1?``:`s`}`),n.length?V(`ul`,{className:`list`},n.slice(0,$n).map(e=>X(e))):V(`p`,{className:`empty`},dn?`Nothing here.`:`Loading records…`),n.length>$n?V(`button`,{type:`button`,className:`more`,onclick:()=>{$n+=50,er(e,t)}},`Show more`):null)}var tr=`relevance`,nr=0,rr=null;async function ir(e){document.activeElement!==B(`#q input`)&&(B(`#q input`).value=e);let t=++nr,n=H.queryVector(e),r=await Promise.race([n,new Promise(e=>setTimeout(()=>e(void 0),400))]);t===nr&&(r===void 0&&n.then(n=>{n&&t===nr&&ar(e,n)}),ar(e,r??null,r===void 0))}function ar(e,t,n=!1){let r=A(H.rows,e,G,{qv:t,limit:80,...Z&&q?{where:{[q]:Z}}:{}}),i=new Map;for(let e of r){let t=K.get(e.id);if(!t)continue;let n=`${J(t)}|${o(t,G).toLowerCase()}`,r=i.get(n);r?(r.also++,z(t,G).length>z(r.r,G).length&&(r.r=t)):i.set(n,{r:t,also:0})}let a=[...i.values()];tr===`newest`&&(a=a.sort((e,t)=>Y(t.r).localeCompare(Y(e.r))));let s=e.toLowerCase().split(/\W+/).filter(e=>e.length>2),c=V(`div`,{className:`sort`},`Sort: `,[`relevance`,`newest`].map(r=>V(`button`,{type:`button`,className:r===tr?`chip on`:`chip`,onclick:()=>{tr=r,ar(e,t,n)}},r)));Q(Ln(),V(`div`,{className:`resultsbar`},V(`span`,{},`${a.length} result${a.length===1?``:`s`} for “${e}”${Z?` in ${Z}`:``}`,n?V(`small`,{},` · matching words; search by meaning is loading`):null),c),a.length?V(`ul`,{className:`list`},a.slice(0,40).map(({r:e,also:t})=>X(e,{terms:s,also:t}))):V(`p`,{className:`empty`},`No results found. Try different words, or choose All in the place list.`))}function or(e){let t=hn.get(e);if(!t)return Q(V(`p`,{className:`empty`},`This record is no longer available. `,V(`a`,{href:`#/`},`Go to the home page`)));let n=yn(t),i=z(t,G),a=new Set([`id`,`owner`,`text`,`vector`,`norm`,`embed`,`entityType`,G.identity,G.thread,...G.title,...G.subtitle,...G.media,...G.temporal??[]]),s=Object.entries(t).filter(([e,t])=>!a.has(e)&&!/(_id|_sha256)$|^paid_/.test(e)&&(typeof t==`string`||typeof t==`number`)&&String(t).length<120),c=V(`div`,{className:`doc`}),l=n?V(`button`,{type:`button`,className:`act`,onclick:()=>{c.firstChild?(c.replaceChildren(),l.textContent=`View document`):(c.append(V(`iframe`,{src:`./doc?u=${encodeURIComponent(n)}${Number(t.page)>1?`#page=${t.page}`:``}`,title:`Source document`,loading:`lazy`})),l.textContent=`Hide document`)}},`View document`):null,u=Nt(H.rows.filter(e=>J(e)===J(t)&&Y(e)===Y(t)&&r(e,G)===r(t,G)),G,{facet:q}),d=[...u.upcoming,...u.past].flatMap(e=>e.items).filter(e=>o(e,G)!==o(t,G)),f=An(t),p=et(H.rows,t.id,G,{limit:12}).near.map(e=>K.get(e.id)).filter(e=>e&&o(e,G)!==o(t,G)).slice(0,6);Q(V(`p`,{},V(`a`,{href:`#/`,onclick:e=>{history.length>1&&(e.preventDefault(),history.back())}},`← Back`)),V(`article`,{className:`record`},V(`small`,{},[J(t),r(t,G)].filter(Boolean).join(` · `)),V(`h2`,{},Sn(t)),i?V(`p`,{},i):V(`p`,{className:`hint`},`No decision is recorded under this item (it may be on an agenda, before the meeting).`),s.length?V(`dl`,{},s.map(([e,t])=>[V(`dt`,{},e.replace(/_/g,` `)),V(`dd`,{},String(t))])):null,V(`div`,{className:`acts`},En(t),l,n?V(`a`,{href:n,target:`_blank`,rel:`noopener`,className:`act`},`Source ↗`):null),On(t)?sr(t):null,c),f&&f.steps.length>1?V(`section`,{},V(`h2`,{},`Followed across meetings`),In(f)):null,d.length?V(`section`,{},V(`h2`,{},`Same meeting`),V(`ul`,{className:`list`},d.slice(0,12).map(e=>X(e,{meta:!1})))):null,p.length?V(`section`,{},V(`h2`,{},`Similar`),V(`ul`,{className:`list`},p.map(e=>X(e)))):null)}function sr(e){let{publisher:t,repo:n,id:r}=e.sale;return V(`section`,{className:`paid`},V(`h3`,{},`For sale · ${tn(e)}`),V(`p`,{className:`hint`},`Its publisher sells the sealed fields of this record. An agent with a wallet buys it with fangorn-mcp's buy tool:`),V(`pre`,{},V(`code`,{},JSON.stringify({app:U,publisher:t,repo:n,id:r}))))}function cr(e,t,n){let r=V(`a`,{href:URL.createObjectURL(new Blob([t],{type:n})),download:e});document.body.append(r),r.click(),r.remove()}var lr={get(){try{return JSON.parse(localStorage.getItem(`${sn}:knobs`))??{}}catch{return{}}},set(e){try{localStorage.setItem(`${sn}:knobs`,JSON.stringify(e))}catch{}}},$={...Object.fromEntries(Object.entries(Tt).map(([e,[t]])=>[e,t])),...lr.get(),seed:1},ur={lookahead:[`Lookahead`,`what you like now`,`where you're heading`],variety:[`Variety`,`close to each other`,`all different`],surprise:[`Surprise`,`best first`,`shuffled`],reach:[`Reach`,`nearest`,`further out`]};function dr(){let{likes:e,dislikes:t}=H.votes(),n=I(H.rows.filter(zn),e,t,{...$,limit:30}),r=e=>{let[t,n,r]=ur[e],i=V(`output`,{},`${Math.round($[e]*100)}%`),a=V(`input`,{type:`range`,min:0,max:1,step:.05,value:$[e],id:`k-${e}`,title:Tt[e][1]});return a.oninput=()=>{i.textContent=`${Math.round(a.value*100)}%`},a.onchange=()=>{$[e]=Number(a.value),lr.set({...$,seed:void 0}),dr(),document.getElementById(`k-${e}`)?.focus()},V(`label`,{className:`knob`,htmlFor:`k-${e}`},V(`span`,{},t,i),a,V(`small`,{},`${n} ↔ ${r}`))},i=(e,t)=>V(`li`,{className:t?`no`:``},e.title,V(`button`,{type:`button`,ariaLabel:`Forget ${e.title}`,onclick:()=>H.rate(e.id,`clear`)},`×`));Q(V(`h2`,{className:`page`},`For you`),Ln(),V(`section`,{className:`taste`},e.length||t.length?V(`ul`,{className:`pills`},e.slice(-30).map(e=>i(e)),t.slice(-10).map(e=>i(e,!0))):V(`p`,{className:`hint`},`Save records with ☆ and this fills with more like them. Newer saves count more; it all stays in this browser.`),n.taste?V(`p`,{className:`hint`},n.taste.heading?`Your recent likes point somewhere new; Lookahead follows them.`:`Like 4 or more and Lookahead can follow where your taste is heading.`):null,V(`div`,{className:`knobs`},Object.keys(Tt).map(r)),V(`button`,{type:`button`,className:`act`,disabled:!$.surprise,title:$.surprise?``:`Turn up Surprise to reroll`,onclick:()=>{$.seed++,dr()}},`Reroll`)),n.picks.length?V(`ul`,{className:`list`},n.picks.map(({row:e})=>X(e))):null)}function fr(){let e=W.saved(),t=W.taste(),n=U.toLowerCase().replace(/\W+/g,`-`),r=()=>JSON.stringify(W.bundle({name:U,url:location.origin}),null,1),i=V(`button`,{type:`button`,className:`act`,onclick:async()=>{try{await navigator.clipboard.writeText(r()),i.textContent=`Copied`}catch{cr(`${n}-session.json`,r(),`application/json`)}}},`Copy for an agent`);Q(V(`h2`,{className:`page`},`Saved (${e.length})`),e.length?V(`div`,{className:`acts`},V(`button`,{type:`button`,className:`act`,onclick:()=>cr(`${n}-saved.json`,r(),`application/json`)},`Export JSON`),V(`button`,{type:`button`,className:`act`,onclick:()=>cr(`${n}-saved.csv`,Bt(e),`text/csv`)},`CSV`),V(`button`,{type:`button`,className:`act`,onclick:()=>cr(`${n}-saved.md`,Vt(e,`${U}: saved`),`text/markdown`)},`Markdown`),i,V(`a`,{href:`#/for-you`,className:`act`},`For you: more like these`)):V(`p`,{className:`empty`},`You have not saved any records. Select ☆ on a record to save it. Saved records are stored only on this device.`),t?V(`p`,{className:`hint`},`"For you" is built from these ${t.n}${t.rejected.length?`, and away from ${t.rejected.length} you passed on`:``}. It lives in this browser; the export carries it, so an agent can use it too. `,V(`button`,{type:`button`,className:`linkish`,onclick:()=>{W.clear(`passed`),fr(),pr()}},`Forget what I passed on`)):null,V(`ul`,{className:`list`},e.slice().reverse().map(e=>{let t=hn.get(e.key);return V(`li`,{className:`row`},V(`div`,{className:`main`},V(`a`,{href:t?Cn(t):e.url??`#/`,className:`title`},e.title),V(`small`,{},[e.place,e.subtitle].filter(Boolean).join(` · `)),e.detail?V(`p`,{className:`detail`},Yt(e.detail)):null),V(`button`,{type:`button`,className:`vote`,ariaLabel:`Forget ${e.title}`,title:`Forget`,onclick:()=>{W.unvote(e.key),fr(),pr()}},`×`))})))}function pr(){let e=W.saved().length;B(`#nsaved`).textContent=e?` (${e})`:``,B(`#recent`).replaceChildren(...W.history().map(({q:e})=>V(`option`,{value:e})))}function mr(){let[,e=``,t=``]=location.hash.match(/^#\/([^/]*)\/?(.*)$/)??[],n=decodeURIComponent(t);for(let t of document.querySelectorAll(`nav a`))t.classList.toggle(`on`,t.getAttribute(`href`)===`#/${e}`);return document.body.classList.toggle(`wide`,e===`map`),e!==`search`&&(B(`#q input`).value=``),e===`search`&&n?ir(n):e===`item`&&n?or(n):e===`browse`&&n?($n=50,er(...t.split(`/`).map(decodeURIComponent))):e===`signals`&&G.thread?Gn():e===`saved`?fr():e===`for-you`?dr():e===`agents`?Q(cn()):e===`map`&&nn?(rr??=Kt(nn,{el:V,show:Q,row:X,placeOf:J,ctx:H})).render(...t.split(`/`).map(decodeURIComponent)):Jn()}var hr;on.oninput=()=>{clearTimeout(hr);let e=on.value.trim();hr=setTimeout(()=>{e?(history.replaceState(null,``,`#/search/${encodeURIComponent(e)}`),ir(e)):location.hash.startsWith(`#/search`)&&(location.hash=`#/`)},250)},B(`#q`).onsubmit=e=>{e.preventDefault();let t=on.value.trim();t&&(W.remember(t),pr(),location.hash=`#/search/${encodeURIComponent(t)}`)},Bn.addEventListener(`click`,e=>{e.target.closest(`a.title`)&&location.hash.startsWith(`#/search/`)&&(W.remember(on.value),pr())}),window.onhashchange=mr,pr(),mr(),H.rows=await pn,dn=!0,vn(),jt(H),mr();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),s=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},c=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},l=(n,r,o)=>(o=n==null?{}:e(i(n)),c(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n)),u=(e=>typeof require<`u`?require:typeof Proxy<`u`?new Proxy(e,{get:(e,t)=>(typeof require<`u`?require:e)[t]}):e)(function(e){if(typeof require<`u`)return require.apply(this,arguments);throw Error('Calling `require` for "'+e+"\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.")});export{l as i,s as n,u as r,o as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,r as t}from"./rolldown-runtime-Bjp52BOI.js";var n=t({InferenceSession:()=>Oe,TRACE:()=>ye,TRACE_EVENT_BEGIN:()=>Ce,TRACE_EVENT_END:()=>we,TRACE_FUNC_BEGIN:()=>xe,TRACE_FUNC_END:()=>Se,Tensor:()=>_e,default:()=>ir,env:()=>w,registerBackend:()=>m}),r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(t=>typeof e<`u`?e:typeof Proxy<`u`?new Proxy(t,{get:(t,n)=>(typeof e<`u`?e:t)[n]}):t)(function(t){if(typeof e<`u`)return e.apply(this,arguments);throw Error(`Dynamic require of "`+t+`" is not supported`)}),c=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},l=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},d=e=>u(r({},`__esModule`,{value:!0}),e),f,p,m,h,g,_=c(()=>{f=new Map,p=[],m=(e,t,n)=>{if(t&&typeof t.init==`function`&&typeof t.createInferenceSessionHandler==`function`){let r=f.get(e);if(r===void 0)f.set(e,{backend:t,priority:n});else{if(r.priority>n)return;if(r.priority===n&&r.backend!==t)throw Error(`cannot register backend "${e}" using priority ${n}`)}if(n>=0){let t=p.indexOf(e);t!==-1&&p.splice(t,1);for(let t=0;t<p.length;t++)if(f.get(p[t]).priority<=n){p.splice(t,0,e);return}p.push(e)}}else throw TypeError(`not a valid backend`)},h=async e=>{let t=f.get(e);if(!t)return`backend not found.`;if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(e){return n||(t.error=`${e}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},g=async e=>{let t=e.executionProviders||[],n=t.map(e=>typeof e==`string`?e:e.name),r=n.length===0?p:n,i,a=[],o=new Set;for(let e of r){let t=await h(e);typeof t==`string`?a.push({name:e,err:t}):(i||=t,i===t&&o.add(e))}if(!i)throw Error(`no available backend found. ERR: ${a.map(e=>`[${e.name}] ${e.err}`).join(`, `)}`);for(let{name:e,err:t}of a)n.includes(e)&&console.warn(`removing requested execution provider "${e}" from session options because it is not available: ${t}`);let s=t.filter(e=>o.has(typeof e==`string`?e:e.name));return[i,new Proxy(e,{get:(e,t)=>t===`executionProviders`?s:Reflect.get(e,t)})]}}),v=c(()=>{_()}),y,b=c(()=>{y=`1.31.0-dev.20260911-2a43ec07e`}),x,S,C=c(()=>{b(),x=`warning`,S={wasm:{},webgl:{},webgpu:{},versions:{common:y},set logLevel(e){if(e!==void 0){if(typeof e!=`string`||[`verbose`,`info`,`warning`,`error`,`fatal`].indexOf(e)===-1)throw Error(`Unsupported logging level: ${e}`);x=e}},get logLevel(){return x}},Object.defineProperty(S,"logLevel",{enumerable:!0})}),w,ee=c(()=>{C(),w=S}),T,te,ne=c(()=>{T=(e,t)=>{let n=typeof document<`u`?document.createElement(`canvas`):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let r=n.getContext(`2d`);if(r!=null){let i,a;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[3]):(i=e.dims[3],a=e.dims[2]);let o=t?.format===void 0?`RGB`:t.format,s=t?.norm,c,l;s===void 0||s.mean===void 0?c=[255,255,255,255]:typeof s.mean==`number`?c=[s.mean,s.mean,s.mean,s.mean]:(c=[s.mean[0],s.mean[1],s.mean[2],0],s.mean[3]!==void 0&&(c[3]=s.mean[3])),s===void 0||s.bias===void 0?l=[0,0,0,0]:typeof s.bias==`number`?l=[s.bias,s.bias,s.bias,s.bias]:(l=[s.bias[0],s.bias[1],s.bias[2],0],s.bias[3]!==void 0&&(l[3]=s.bias[3]));let u=a*i,d=0,f=u,p=u*2,m=-1;o===`RGBA`?(d=0,f=u,p=u*2,m=u*3):o===`RGB`?(d=0,f=u,p=u*2):o===`RBG`&&(d=0,p=u,f=u*2);for(let t=0;t<a;t++)for(let n=0;n<i;n++){let i=(e.data[d++]-l[0])*c[0],a=(e.data[f++]-l[1])*c[1],o=(e.data[p++]-l[2])*c[2],s=m===-1?255:(e.data[m++]-l[3])*c[3];r.fillStyle=`rgba(`+i+`,`+a+`,`+o+`,`+s+`)`,r.fillRect(n,t,1,1)}if(`toDataURL`in n)return n.toDataURL();throw Error(`toDataURL is not supported`)}throw Error(`Can not access image data`)},te=(e,t)=>{let n=typeof document<`u`?document.createElement(`canvas`).getContext(`2d`):new OffscreenCanvas(1,1).getContext(`2d`),r;if(n!=null){let i,a,o;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[1],o=e.dims[3]):(i=e.dims[3],a=e.dims[2],o=e.dims[1]);let s=t!==void 0&&t.format!==void 0?t.format:`RGB`,c=t?.norm,l,u;c===void 0||c.mean===void 0?l=[255,255,255,255]:typeof c.mean==`number`?l=[c.mean,c.mean,c.mean,c.mean]:(l=[c.mean[0],c.mean[1],c.mean[2],255],c.mean[3]!==void 0&&(l[3]=c.mean[3])),c===void 0||c.bias===void 0?u=[0,0,0,0]:typeof c.bias==`number`?u=[c.bias,c.bias,c.bias,c.bias]:(u=[c.bias[0],c.bias[1],c.bias[2],0],c.bias[3]!==void 0&&(u[3]=c.bias[3]));let d=a*i;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!==`RGBA`||o===3&&t.format!==`RGB`&&t.format!==`BGR`))throw Error(`Tensor format doesn't match input tensor dims`);let f=0,p=1,m=2,h=3,g=0,_=d,v=d*2,y=-1;s===`RGBA`?(g=0,_=d,v=d*2,y=d*3):s===`RGB`?(g=0,_=d,v=d*2):s===`RBG`&&(g=0,v=d,_=d*2),r=n.createImageData(i,a);for(let t=0;t<a*i;f+=4,p+=4,m+=4,h+=4,t++)r.data[f]=(e.data[g++]-u[0])*l[0],r.data[p]=(e.data[_++]-u[1])*l[1],r.data[m]=(e.data[v++]-u[2])*l[2],r.data[h]=y===-1?255:(e.data[y++]-u[3])*l[3]}else throw Error(`Can not access image data`);return r}}),E,D,re,ie,ae,oe,se=c(()=>{ge(),E=(e,t)=>{if(e===void 0)throw Error(`Image buffer must be defined`);if(t.height===void 0||t.width===void 0)throw Error(`Image height and width must be defined`);if(t.tensorLayout===`NHWC`)throw Error(`NHWC Tensor layout is not supported yet`);let{height:n,width:r}=t,i=t.norm??{mean:255,bias:0},a,o;a=typeof i.mean==`number`?[i.mean,i.mean,i.mean,i.mean]:[i.mean[0],i.mean[1],i.mean[2],i.mean[3]??255],o=typeof i.bias==`number`?[i.bias,i.bias,i.bias,i.bias]:[i.bias[0],i.bias[1],i.bias[2],i.bias[3]??0];let s=t.format===void 0?`RGBA`:t.format,c=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:`RGB`,l=n*r,u=c===`RGBA`?new Float32Array(l*4):new Float32Array(l*3),d=4,f=0,p=1,m=2,h=3,g=0,_=l,v=l*2,y=-1;s===`RGB`&&(d=3,f=0,p=1,m=2,h=-1),c===`RGBA`?y=l*3:c===`RBG`?(g=0,v=l,_=l*2):c===`BGR`&&(v=0,_=l,g=l*2);for(let t=0;t<l;t++,f+=d,m+=d,p+=d,h+=d)u[g++]=(e[f]+o[0])/a[0],u[_++]=(e[p]+o[1])/a[1],u[v++]=(e[m]+o[2])/a[2],y!==-1&&h!==-1&&(u[y++]=(e[h]+o[3])/a[3]);return c===`RGBA`?new he(`float32`,u,[1,4,n,r]):new he(`float32`,u,[1,3,n,r])},D=async(e,t)=>{let n=typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement,r=typeof ImageData<`u`&&e instanceof ImageData,i=typeof ImageBitmap<`u`&&e instanceof ImageBitmap,a=typeof e==`string`,o,s=t??{},c=()=>{if(typeof document<`u`)return document.createElement(`canvas`);if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(1,1);throw Error(`Canvas is not supported`)},l=e=>typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas?e.getContext(`2d`):null;if(n){let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let n=e.height,i=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(n=t.resizedHeight,i=t.resizedWidth),t!==void 0){if(s=t,t.tensorFormat!==void 0)throw Error(`Image input config format must be RGBA for HTMLImageElement`);s.tensorFormat=`RGBA`,s.height=n,s.width=i}else s.tensorFormat=`RGBA`,s.height=n,s.width=i;r.drawImage(e,0,0),o=r.getImageData(0,0,i,n).data}else throw Error(`Can not access image data`)}else if(r){let n,r;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(n=t.resizedHeight,r=t.resizedWidth):(n=e.height,r=e.width),t!==void 0&&(s=t),s.format=`RGBA`,s.height=n,s.width=r,t!==void 0){let t=c();t.width=r,t.height=n;let i=l(t);if(i!=null)i.putImageData(e,0,0),o=i.getImageData(0,0,r,n).data;else throw Error(`Can not access image data`)}else o=e.data}else if(i){if(t===void 0)throw Error(`Please provide image config with format for Imagebitmap`);let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let t=e.height,n=e.width;return r.drawImage(e,0,0,n,t),o=r.getImageData(0,0,n,t).data,s.height=t,s.width=n,E(o,s)}throw Error(`Can not access image data`)}else{if(a)return new Promise((t,n)=>{let r=c(),i=l(r);if(!e||!i)return n();let a=new Image;a.crossOrigin=`Anonymous`,a.src=e,a.onload=()=>{r.width=a.width,r.height=a.height,i.drawImage(a,0,0,r.width,r.height);let e=i.getImageData(0,0,r.width,r.height);s.height=r.height,s.width=r.width,t(E(e.data,s))}});throw Error(`Input data provided is not supported - aborted tensor creation`)}if(o!==void 0)return E(o,s);throw Error(`Input data provided is not supported - aborted tensor creation`)},re=(e,t)=>{let{width:n,height:r,download:i,dispose:a}=t;return new he({location:`texture`,type:`float32`,texture:e,dims:[1,r,n,4],download:i,dispose:a})},ie=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new he({location:`gpu-buffer`,type:n??`float32`,gpuBuffer:e,dims:r,download:i,dispose:a})},ae=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new he({location:`ml-tensor`,type:n??`float32`,mlTensor:e,dims:r,download:i,dispose:a})},oe=(e,t,n)=>new he({location:`cpu-pinned`,type:e,data:t,dims:n??[t.length]})}),O,ce,le,ue,de=c(()=>{O=new Map([[`float32`,Float32Array],[`uint8`,Uint8Array],[`int8`,Int8Array],[`uint16`,Uint16Array],[`int16`,Int16Array],[`int32`,Int32Array],[`bool`,Uint8Array],[`float64`,Float64Array],[`uint32`,Uint32Array],[`int4`,Uint8Array],[`uint4`,Uint8Array]]),ce=new Map([[Float32Array,`float32`],[Uint8Array,`uint8`],[Int8Array,`int8`],[Uint16Array,`uint16`],[Int16Array,`int16`],[Int32Array,`int32`],[Float64Array,`float64`],[Uint32Array,`uint32`]]),le=!1,ue=()=>{if(!le){le=!0;let e=typeof BigInt64Array<`u`&&BigInt64Array.from,t=typeof BigUint64Array<`u`&&BigUint64Array.from,n=globalThis.Float16Array,r=typeof n<`u`&&n.from;e&&(O.set(`int64`,BigInt64Array),ce.set(BigInt64Array,`int64`)),t&&(O.set(`uint64`,BigUint64Array),ce.set(BigUint64Array,`uint64`)),r?(O.set(`float16`,n),ce.set(n,`float16`)):O.set(`float16`,Uint16Array)}}}),fe,pe,me=c(()=>{ge(),fe=e=>{let t=1;for(let n=0;n<e.length;n++){let r=e[n];if(typeof r!=`number`||!Number.isSafeInteger(r))throw TypeError(`dims[${n}] must be an integer, got: ${r}`);if(r<0)throw RangeError(`dims[${n}] must be a non-negative integer, got: ${r}`);t*=r}return t},pe=(e,t)=>{switch(e.location){case`cpu`:return new he(e.type,e.data,t);case`cpu-pinned`:return new he({location:`cpu-pinned`,data:e.data,type:e.type,dims:t});case`texture`:return new he({location:`texture`,texture:e.texture,type:e.type,dims:t});case`gpu-buffer`:return new he({location:`gpu-buffer`,gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case`ml-tensor`:return new he({location:`ml-tensor`,mlTensor:e.mlTensor,type:e.type,dims:t});default:throw Error(`tensorReshape: tensor location ${e.location} is not supported`)}}}),he,ge=c(()=>{ne(),se(),de(),me(),he=class{constructor(e,t,n){ue();let r,i;if(typeof e==`object`&&`location`in e)switch(this.dataLocation=e.location,r=e.type,i=e.dims,e.location){case`cpu-pinned`:{let t=O.get(r);if(!t)throw TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(e.data instanceof t))throw TypeError(`buffer should be of type ${t.name}`);this.cpuData=e.data;break}case`texture`:if(r!==`float32`)throw TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break;case`gpu-buffer`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break;case`ml-tensor`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint64`&&r!==`int8`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break;default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,o;if(typeof e==`string`){if(r=e,o=n,e===`string`){if(!Array.isArray(t))throw TypeError(`A string tensor's data must be a string array.`);a=t}else{let n=O.get(e);if(n===void 0)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e===`float16`&&n===Uint16Array||e===`uint4`||e===`int4`)throw TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${n.name} as data.`);a=e===`uint64`||e===`int64`?n.from(t,BigInt):n.from(t)}else if(t instanceof n)a=t;else if(t instanceof Uint8ClampedArray){if(e===`uint8`)a=Uint8Array.from(t);else throw TypeError(`A Uint8ClampedArray tensor's data must be type of uint8`)}else if(e===`float16`&&t instanceof Uint16Array&&n!==Uint16Array)a=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw TypeError(`A ${r} tensor's data must be type of ${n}`)}}else if(o=t,Array.isArray(e)){if(e.length===0)throw TypeError(`Tensor type cannot be inferred from an empty array.`);let t=typeof e[0];if(t===`string`)r=`string`,a=e;else if(t===`boolean`)r=`bool`,a=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${t}.`)}else if(e instanceof Uint8ClampedArray)r=`uint8`,a=Uint8Array.from(e);else{let t=ce.get(e.constructor);if(t===void 0)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);r=t,a=e}if(o===void 0)o=[a.length];else if(!Array.isArray(o))throw TypeError(`A tensor's dims must be a number array`);i=o,this.cpuData=a,this.dataLocation=`cpu`}let a=fe(i);if(this.cpuData&&a!==this.cpuData.length&&(r!==`uint4`&&r!==`int4`||Math.ceil(a/2)!==this.cpuData.length))throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=a}static async fromImage(e,t){return D(e,t)}static fromTexture(e,t){return re(e,t)}static fromGpuBuffer(e,t){return ie(e,t)}static fromMLTensor(e,t){return ae(e,t)}static fromPinnedBuffer(e,t,n){return oe(e,t,n)}toDataURL(e){return T(this,e)}toImageData(e){return te(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error(`The data is not stored as a WebGL texture.`);return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error(`The data is not stored as a WebGPU buffer.`);return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw Error(`The data is not stored as a WebNN MLTensor.`);return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case`cpu`:case`cpu-pinned`:return this.data;case`texture`:case`gpu-buffer`:case`ml-tensor`:if(!this.downloader)throw Error(`The current tensor is not created with a specified data downloader.`);if(this.isDownloading)throw Error(`The current tensor is being downloaded.`);try{this.isDownloading=!0;let t=await this.downloader();return this.downloader=void 0,this.dataLocation=`cpu`,this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}finally{this.isDownloading=!1}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error(`The current tensor is being downloaded.`);this.disposer&&=(this.disposer(),void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation=`none`}ensureValid(){if(this.dataLocation===`none`)throw Error(`The tensor is disposed.`)}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw Error(`Cannot reshape a tensor that owns GPU resource.`);return pe(this,e)}}}),_e,ve=c(()=>{ge(),_e=he}),ye,be,xe,Se,Ce,we,Te=c(()=>{C(),ye=(e,t)=>{(typeof S.trace>`u`?!S.wasm.trace:!S.trace)||console.timeStamp(`${e}::ORT::${t}`)},be=(e,t)=>{let n=Error().stack?.split(/\r\n|\r|\n/g)||[],r=!1;for(let i=0;i<n.length;i++){if(r&&!n[i].includes(`TRACE_FUNC`)){let r=`FUNC_${e}::${n[i].trim().split(` `)[1]}`;t&&(r+=`::${t}`),ye(`CPU`,r);return}n[i].includes(`TRACE_FUNC`)&&(r=!0)}},xe=e=>{(typeof S.trace>`u`?!S.wasm.trace:!S.trace)||be(`BEGIN`,e)},Se=e=>{(typeof S.trace>`u`?!S.wasm.trace:!S.trace)||be(`END`,e)},Ce=e=>{(typeof S.trace>`u`?!S.wasm.trace:!S.trace)||console.time(`ORT::${e}`)},we=e=>{(typeof S.trace>`u`?!S.wasm.trace:!S.trace)||console.timeEnd(`ORT::${e}`)}}),Ee,De=c(()=>{_(),ve(),Te(),Ee=class e{constructor(e){this.handler=e}async run(e,t,n){xe(),Ce(`InferenceSession.run`);let r={},i={};if(typeof e!=`object`||!e||e instanceof _e||Array.isArray(e))throw TypeError(`'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.`);let a=!0;if(typeof t==`object`){if(t===null)throw TypeError(`Unexpected argument[1]: cannot be null.`);if(t instanceof _e)throw TypeError(`'fetches' cannot be a Tensor`);if(Array.isArray(t)){if(t.length===0)throw TypeError(`'fetches' cannot be an empty array.`);a=!1;for(let e of t){if(typeof e!=`string`)throw TypeError(`'fetches' must be a string array or an object.`);if(this.outputNames.indexOf(e)===-1)throw RangeError(`'fetches' contains invalid output name: ${e}.`);r[e]=null}if(typeof n==`object`&&n)i=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else{let e=!1,o=Object.getOwnPropertyNames(t);for(let n of this.outputNames)if(o.indexOf(n)!==-1){let i=t[n];(i===null||i instanceof _e)&&(e=!0,a=!1,r[n]=i)}if(e){if(typeof n==`object`&&n)i=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else i=t}}else if(typeof t<`u`)throw TypeError(`Unexpected argument[1]: must be 'fetches' or 'options'.`);for(let t of this.inputNames)if(typeof e[t]>`u`)throw Error(`input '${t}' is missing in 'feeds'.`);if(a)for(let e of this.outputNames)r[e]=null;let o=await this.handler.run(e,r,i),s={};for(let e in o)if(Object.hasOwnProperty.call(o,e)){let t=o[e];s[e]=t instanceof _e?t:new _e(t.type,t.data,t.dims)}return we(`InferenceSession.run`),Se(),s}async release(){return this.handler.dispose()}static async create(t,n,r,i){xe(),Ce(`InferenceSession.create`);let a,o={};if(typeof t==`string`){if(a=t,typeof n==`object`&&n)o=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else if(t instanceof Uint8Array){if(a=t,typeof n==`object`&&n)o=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&t instanceof SharedArrayBuffer){let e=t,s=0,c=t.byteLength;if(typeof n==`object`&&n)o=n;else if(typeof n==`number`){if(s=n,!Number.isSafeInteger(s))throw RangeError(`'byteOffset' must be an integer.`);if(s<0||s>=e.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${e.byteLength}).`);if(c=t.byteLength-s,typeof r==`number`){if(c=r,!Number.isSafeInteger(c))throw RangeError(`'byteLength' must be an integer.`);if(c<=0||s+c>e.byteLength)throw RangeError(`'byteLength' is out of range (0, ${e.byteLength-s}].`);if(typeof i==`object`&&i)o=i;else if(typeof i<`u`)throw TypeError(`'options' must be an object.`)}else if(typeof r<`u`)throw TypeError(`'byteLength' must be a number.`)}else if(typeof n<`u`)throw TypeError(`'options' must be an object.`);a=new Uint8Array(e,s,c)}else throw TypeError(`Unexpected argument[0]: must be 'path' or 'buffer'.`);let[s,c]=await g(o),l=await s.createInferenceSessionHandler(a,c);return we(`InferenceSession.create`),Se(),new e(l)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),Oe,ke=c(()=>{De(),Oe=Ee}),Ae=c(()=>{}),je=c(()=>{}),Me=c(()=>{}),Ne=c(()=>{}),Pe={};l(Pe,{InferenceSession:()=>Oe,TRACE:()=>ye,TRACE_EVENT_BEGIN:()=>Ce,TRACE_EVENT_END:()=>we,TRACE_FUNC_BEGIN:()=>xe,TRACE_FUNC_END:()=>Se,Tensor:()=>_e,env:()=>w,registerBackend:()=>m});var Fe=c(()=>{v(),ee(),ke(),ve(),Ae(),je(),Te(),Me(),Ne()}),Ie=c(()=>{}),Le={};l(Le,{default:()=>Be});var Re,ze,Be,Ve=c(()=>{On(),gt(),st(),Re=`ort-wasm-proxy-worker`,ze=globalThis.self?.name===Re,ze&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case`init-wasm`:ht(n.wasm).then(()=>{gn(n).then(()=>{postMessage({type:t})},e=>{postMessage({type:t,err:e})})},e=>{postMessage({type:t,err:e})});break;case`init-ep`:{let{epName:e,env:r}=n;_n(r,e).then(()=>{postMessage({type:t})},e=>{postMessage({type:t,err:e})});break}case`copy-from`:{let{buffer:e}=n,r=xn(e);postMessage({type:t,out:r});break}case`create`:{let{model:e,options:r}=n;Sn(e,r).then(e=>{postMessage({type:t,out:e})},e=>{postMessage({type:t,err:e})});break}case`release`:Cn(n),postMessage({type:t});break;case`run`:{let{sessionId:e,inputIndices:r,inputs:i,outputIndices:a,options:o}=n;Tn(e,r,i,a,Array(a.length).fill(null),o).then(e=>{e.some(e=>e[3]!==`cpu`)?postMessage({type:t,err:`Proxy does not support non-cpu tensor location.`}):postMessage({type:t,out:e},Dn([...i,...e]))},e=>{postMessage({type:t,err:e})});break}case`end-profiling`:En(n),postMessage({type:t})}}catch(e){postMessage({type:t,err:e})}}),Be=ze?null:e=>new Worker(e??Xe,{type:`module`,name:Re})}),He={};l(He,{default:()=>We});async function Ue(e={}){var t=e,n=!!globalThis.window,r=!!globalThis.WorkerGlobalScope,i=r&&self.name?.startsWith(`em-pthread`);t.mountExternalData=(e,n)=>{e.startsWith(`./`)&&(e=e.substring(2)),(t.ed||=new Map).set(e,n)},t.unmountExternalData=()=>{delete t.ed,delete t.Te,delete t.Se,delete t.Ue},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,shared:!0}).buffer.constructor;let a=()=>{let e=e=>(...t)=>{let n=ln;return t=e(...t),ln==n?t:new Promise((e,t)=>{gn={resolve:e,reject:t}})};(()=>{for(let n of[`_OrtAppendExecutionProvider`,`_OrtCreateSession`,`_OrtRun`,`_OrtRunWithBinding`,`_OrtBindInput`])t[n]=e(t[n])})(),typeof jsepRunAsync<`u`&&(t._OrtRun=jsepRunAsync(t._OrtRun),t._OrtRunWithBinding=jsepRunAsync(t._OrtRunWithBinding)),a=void 0};t.asyncInit=()=>{a?.()};var o,s,c=(e,t)=>{throw t},l=import.meta.url,u=``;if(n||r){try{u=new URL(`.`,l).href}catch{}r&&(s=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),o=async e=>{if(S(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{r.status==200||r.status==0&&r.response?t(r.response):n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}var d,f,p,m,h,g,_=console.log.bind(console),v=console.error.bind(console),y=_,b=v,x=!1,S=e=>e.startsWith(`file://`);function C(){Me.buffer!=ee.buffer&&ce()}if(i){let e=function(n){try{var r=n.data,i=r.$c;if(i===`load`){let n=[];self.onmessage=e=>n.push(e),g=()=>{postMessage({$c:`loaded`});for(let t of n)e(t);self.onmessage=e};for(let e of r.ue)t[e]&&!t[e].proxy||(t[e]=(...t)=>{postMessage({$c:`callHandler`,te:e,args:t})},e==`print`&&(y=t[e]),e==`printErr`&&(b=t[e]));Me=r.Me,ce(),f=r.Ne,fe(),os()}else if(i===`run`){(function(e){var t=(C(),D)[e+52>>>2>>>0];e=(C(),D)[e+56>>>2>>>0],Sa(t,t-e),I(t)})(r.Xc),pa(r.Xc,0,0,1,0,0),ke(),Zt(r.Xc),w||=(Ui(),!0);try{Ne(r.ze,r.kd)}catch(e){if(e!=`unwind`)throw e}}else r.target!==`setimmediate`&&(i===`checkMailbox`?w&&Qt():i&&(b(`worker: received unknown command ${i}`),b(r)))}catch(e){throw ma(),e}};var w=!1;self.onunhandledrejection=e=>{throw e.reason||e},self.onmessage=e}var ee,T,te,ne,E,D,re,ie,ae,oe,se,O=!1;function ce(){var e=Me.buffer;t.HEAP8=ee=new Int8Array(e),te=new Int16Array(e),t.HEAPU8=T=new Uint8Array(e),ne=new Uint16Array(e),t.HEAP32=E=new Int32Array(e),t.HEAPU32=D=new Uint32Array(e),re=new Float32Array(e),ie=new Float64Array(e),ae=new BigInt64Array(e),oe=new BigUint64Array(e)}function le(){O=!0,i?g():vo.hc()}function ue(e){throw b(e=`Aborted(`+e+`)`),x=!0,e=new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`),h?.(e),e}function de(){return{a:{qa:xo,f:Le,K:ze,k:We,p:Ge,l:Ke,fa:qe,b:Je,da:Ye,gc:Ze,q:Qe,ea:rt,Ua:it,cc:at,ec:ot,Va:st,Sa:ct,La:lt,Ra:ut,oa:dt,dc:ft,ac:pt,Ta:mt,bc:ht,_a:k,Ba:St,Xb:Ct,Vb:jt,Aa:Nt,O:Pt,J:Ft,Wb:Rt,ka:Kt,Yb:qt,Oa:Jt,_b:$t,Ea:tn,Tb:nn,Ca:rn,Na:Zt,Xa:an,U:yn,n:En,c:Et,qb:Dn,w:On,N:kn,A:An,j:jn,o:Mn,rb:Nn,H:Pn,T:Fn,g:In,u:Ln,m:Rn,i:zn,Ia:Bn,Ja:Wn,Ka:Gn,Ga:Kn,Ha:qn,Ub:Xn,ab:Zn,Za:er,Z:rr,pb:ir,Da:ar,Ya:Qn,X:or,Wa:sr,$b:cr,G:Yn,db:lr,_:ur,pa:gr,Zb:_r,cb:hr,bb:vr,lb:Gr,z:Kr,sa:qr,ra:Jr,nb:Yr,Y:Xr,v:Zr,kb:Qr,jb:N,ib:$r,mb:ei,gb:ti,fb:ni,eb:ri,Pa:si,Qa:ci,fc:Ce,W:li,Fa:ui,ma:P,Ma:di,la:pi,Fb:is,va:Qo,Gb:rs,wa:Zo,E:Ro,e:To,r:Co,x:So,C:Po,Ib:Jo,ca:qo,D:Oo,xa:Yo,aa:$o,ha:Ko,Jb:Go,Kb:Wo,za:Bo,Lb:Ho,ya:Uo,Mb:Vo,ua:ns,ba:Xo,d:wo,B:Do,s:Eo,Eb:as,t:ko,y:Io,F:R,I:Ao,L:Lo,Nb:zo,R:es,ia:No,$:ts,Pb:Mo,Rb:jo,Ob:Fo,h:mi,a:Me,$a:xe,Hb:hi,V:gi,M:_i,na:vi,Db:yi,ja:bi,S:xi,Ab:Si,Bb:Ci,vb:wi,wb:Ti,P:Ei,xb:Di,yb:Oi,ta:ki,Sb:Ai,ob:ji,Q:Mi,hb:Ni,Cb:Pi,sb:Fi,tb:Li,ub:Ri,ga:zi,zb:Bi,Qb:Vi}}}async function fe(){function e(e,n){var r=vo=e.exports;e={};for(let[t,n]of Object.entries(r))typeof n==`function`?(r=sn(n),e[t]=r):e[t]=n;return vo=e,vo=(function(){var e=vo,t=e=>t=>e(t)>>>0,n=e=>()=>e()>>>0;return(e=Object.assign({},e)).ic=t(e.ic),e.Nc=n(e.Nc),e.Pc=t(e.Pc),e.Bd=(e=>(t,n)=>e(t,n)>>>0)(e.Bd),e.Gd=t(e.Gd),e.Hd=n(e.Hd),e.Ld=t(e.Ld),e})(),Ee.push(vo.sd),Hi=(e=vo).ic,Ui=e.jc,t._OrtInit=e.kc,t._OrtGetLastError=e.lc,t._OrtCreateSessionOptions=e.mc,t._OrtAppendExecutionProvider=e.nc,t._OrtAddFreeDimensionOverride=e.oc,t._OrtAddSessionConfigEntry=e.pc,t._OrtReleaseSessionOptions=e.qc,t._OrtCreateSession=e.rc,t._OrtReleaseSession=e.sc,t._OrtGetInputOutputCount=e.tc,t._OrtGetInputOutputMetadata=e.uc,t._OrtFree=e.vc,t._OrtCreateTensor=e.wc,t._OrtGetTensorData=e.xc,t._OrtReleaseTensor=e.yc,t._OrtCreateRunOptions=e.zc,t._OrtAddRunConfigEntry=e.Ac,t._OrtReleaseRunOptions=e.Bc,t._OrtCreateBinding=e.Cc,t._OrtBindInput=e.Dc,t._OrtBindOutput=e.Ec,t._OrtClearBoundOutputs=e.Fc,t._OrtReleaseBinding=e.Gc,t._OrtRunWithBinding=e.Hc,t._OrtRun=e.Ic,t._OrtEndProfiling=e.Jc,Wi=t._OrtCreateWebGpuInstance=e.Kc,t._wgpuCreateInstance=e.Lc,Gi=t._OrtGetWebGpuDevice=e.Mc,Ki=e.Nc,qi=t._free=e.Oc,Ji=t._malloc=e.Pc,Yi=t._wgpuBufferRelease=e.Qc,Xi=e.Rc,Zi=e.Sc,Qi=e.Tc,$i=e.Uc,ea=e.Vc,ta=e.Yc,na=e.Zc,ra=e.hd,ia=e.id,aa=e.jd,oa=e.ld,sa=e.md,ca=e.nd,la=e.od,ua=e.pd,da=e.qd,fa=e.rd,pa=e.ud,ma=e.vd,ha=e.wd,ga=e.xd,_a=e.yd,va=e.zd,ya=e.Ad,ba=e.Bd,F=e.Cd,xa=e.Dd,Sa=e.Ed,I=e.Fd,Ca=e.Gd,L=e.Hd,wa=e.Id,Ta=e.Jd,Ea=e.Kd,Da=e.Ld,Oa=e.Md,ka=e.Nd,Aa=e.Od,ja=e.Pd,Ma=e.Qd,Na=e.Rd,Pa=e.Sd,Fa=e.Td,Ia=e.Ud,La=e.Vd,Ra=e.Wd,za=e.Xd,Ba=e.Yd,Va=e.Zd,Ha=e._d,Ua=e.$d,Wa=e.ae,Ga=e.be,Ka=e.ce,qa=e.de,Ja=e.fe,Ya=e.ge,Xa=e.he,Za=e.ie,Qa=e.je,$a=e.ke,eo=e.le,to=e.me,no=e.Ae,ro=e.Be,io=e.Ce,ao=e.De,oo=e.Ee,so=e.Fe,co=e.Ge,lo=e.He,uo=e.Ie,fo=e.Je,po=e.Ke,mo=e.nf,ho=e.of,go=e.pf,_o=e.qf,f=n,vo}var n,r=de();return t.instantiateWasm?new Promise(n=>{t.instantiateWasm(r,(t,r)=>{n(e(t,r))})}):i?e(new WebAssembly.Instance(f,de()),f):(se??=t.locateFile?t.locateFile?t.locateFile(`ort-wasm-simd-threaded.asyncify.wasm`,u):u+`ort-wasm-simd-threaded.asyncify.wasm`:new URL(new URL(`ort-wasm-simd-threaded.asyncify-CxOG5pUO.wasm`,import.meta.url).href,``+import.meta.url).href,n=await(async function(e){var t=se;if(!d&&!S(t))try{var n=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(n,e)}catch(e){b(`wasm streaming compile failed: ${e}`),b(`falling back to ArrayBuffer instantiation`)}return(async function(e,t){try{var n=await(async function(e){if(!d)try{var t=await o(e);return new Uint8Array(t)}catch{}if(e==se&&d)e=new Uint8Array(d);else{if(!s)throw`both async and sync fetching of the wasm failed`;e=s(e)}return e})(e);return await WebAssembly.instantiate(n,t)}catch(e){b(`failed to asynchronously prepare wasm: ${e}`),ue(e)}})(t,e)})(r),e(n.instance,n.module))}class pe{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var me=e=>{e.terminate(),e.onmessage=()=>{}},he=[],ge=0,_e=null,ve=e=>{we.length==0&&(je(),Ae(we[0]));var t=we.pop();if(!t)return 6;Te.push(t),De[e.Xc]=t,t.Xc=e.Xc;var n={$c:`run`,ze:e.ye,kd:e.kd,Xc:e.Xc};return t.postMessage(n,e.oe),0},ye=0,be=(e,t,...n)=>{var r,i=16*n.length,a=L(),o=Ca(i),s=o>>>3;for(r of n)typeof r==`bigint`?((C(),ae)[s++>>>0]=1n,(C(),ae)[s++>>>0]=r):((C(),ae)[s++>>>0]=0n,(C(),ie)[s++>>>0]=r);return e=ha(e,0,i,o,t),I(a),e};function xe(e){if(i)return be(0,1,e);if(p=e,!(0<ye)){for(var t of Te)me(t);for(t of we)me(t);we=[],Te=[],De={},x=!0}c(0,new pe(e))}function Se(e){if(i)return be(1,0,e);Ce(e)}var Ce=e=>{if(p=e,i)throw Se(e),`unwind`;xe(e)},we=[],Te=[],Ee=[],De={},Oe=e=>{var t=e.Xc;delete De[t],we.push(e),Te.splice(Te.indexOf(e),1),e.Xc=0,ga(t)};function ke(){Ee.forEach(e=>e())}var Ae=e=>new Promise(n=>{e.onmessage=r=>{var i=r.data;if(r=i.$c,i.gd&&i.gd!=Ki()){var a=De[i.gd];a?a.postMessage(i,i.oe):b(`Internal error! Worker sent a message "${r}" to target pthread ${i.gd}, but that thread no longer exists!`)}else r===`checkMailbox`?Qt():r===`spawnThread`?ve(i):r===`cleanupThread`?Yt(()=>{Oe(De[i.Le])}):r===`loaded`?(e.loaded=!0,n(e)):i.target===`setimmediate`?e.postMessage(i):r===`uncaughtException`?e.onerror(i.error):r===`callHandler`?t[i.te](...i.args):r&&b(`worker sent an unknown command ${r}`)},e.onerror=e=>{throw b(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e};var r,i=[];for(r of[])t.propertyIsEnumerable(r)&&i.push(r);e.postMessage({$c:`load`,ue:i,Me,Ne:f})});function je(){var e=new Worker((()=>{let e=URL;return import.meta.url>`file:`&&import.meta.url<`file;`?new e(`ort.webgpu.bundle.min.mjs`,import.meta.url):new URL(import.meta.url)})(),{type:`module`,workerData:`em-pthread`,name:`em-pthread`});we.push(e)}var Me,Ne=(e,t)=>{ye=0,e=ka(e,t),0<ye?p=e:_a(e)},Pe=[],Fe=0,Ie=e=>-9007199254740992>e||9007199254740992<e?NaN:Number(e);function Le(e){var t=new He(e>>>=0);return(C(),ee)[t.ad+12>>>0]==0&&(Be(t,!0),Fe--),Ve(t,!1),Pe.push(t),Da(e)}var Re=0,ze=()=>{F(0,0);var e=Pe.pop();wa(e.td),Re=0};function Be(e,t){t=+!!t,(C(),ee)[e.ad+12>>>0]=t}function Ve(e,t){t=+!!t,(C(),ee)[e.ad+13>>>0]=t}class He{constructor(e){this.td=e,this.ad=e-24}}var Ue=e=>{var t=Re;if(!t)return xa(0),0;var n=new He(t);(C(),D)[n.ad+16>>>2>>>0]=t;var r=(C(),D)[n.ad+4>>>2>>>0];if(!r)return xa(0),t;for(var i of e){if(i===0||i===r)break;if(Ea(i,r,n.ad+16))return xa(i),t}return xa(r),t};function We(){return Ue([])}function Ge(e){return Ue([e>>>0])}function Ke(e,t,n,r){return Ue([e>>>0,t>>>0,n>>>0,r>>>0])}var qe=()=>{var e=Pe.pop();e||ue(`no exception to throw`);var t=e.td;throw(C(),ee)[e.ad+13>>>0]==0&&(Pe.push(e),Ve(e,!0),Be(e,!1),Fe++),Ta(t),Re=t};function Je(e,t,n){var r=new He(e>>>=0);throw t>>>=0,n>>>=0,(C(),D)[r.ad+16>>>2>>>0]=0,(C(),D)[r.ad+4>>>2>>>0]=t,(C(),D)[r.ad+8>>>2>>>0]=n,Ta(e),Fe++,Re=e}var Ye=()=>Fe;function Xe(e,t,n,r){return i?be(2,1,e,t,n,r):Ze(e,t,n,r)}function Ze(e,t,n,r){if(e>>>=0,t>>>=0,n>>>=0,r>>>=0,!globalThis.SharedArrayBuffer)return 6;var a=[];return i&&a.length===0?Xe(e,t,n,r):(e={ye:n,Xc:e,kd:r,oe:a},i?(e.$c=`spawnThread`,postMessage(e,a),0):ve(e))}function Qe(e){throw Re||=e>>>0,Re}var $e=globalThis.TextDecoder&&new TextDecoder,et=(e,t,n,r)=>{if(n=t+n,r)return n;for(;e[t]&&!(t>=n);)++t;return t},tt=(e,t=0,n,r)=>{if(16<(n=et(e,t>>>=0,n,r))-t&&e.buffer&&$e)return $e.decode(e.buffer instanceof ArrayBuffer?e.subarray(t,n):e.slice(t,n));for(r=``;t<n;){var i=e[t++];if(128&i){var a=63&e[t++];if((224&i)==192)r+=String.fromCharCode((31&i)<<6|a);else{var o=63&e[t++];65536>(i=(240&i)==224?(15&i)<<12|a<<6|o:(7&i)<<18|a<<12|o<<6|63&e[t++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else r+=String.fromCharCode(i)}return r},nt=(e,t,n)=>(e>>>=0)?tt((C(),T),e,t,n):``;function rt(e,t,n){return i?be(3,1,e,t,n):0}function it(e,t){if(i)return be(4,1,e,t)}function at(e,t){if(i)return be(5,1,e,t)}function ot(e,t,n){if(i)return be(6,1,e,t,n)}function st(e,t,n){return i?be(7,1,e,t,n):0}function ct(e,t){if(i)return be(8,1,e,t)}function lt(e,t,n){if(i)return be(9,1,e,t,n)}function ut(e,t,n,r){if(i)return be(10,1,e,t,n,r)}function dt(e,t,n,r){if(i)return be(11,1,e,t,n,r)}function ft(e,t,n,r){if(i)return be(12,1,e,t,n,r)}function pt(e){if(i)return be(13,1,e)}function mt(e,t){if(i)return be(14,1,e,t)}function ht(e,t,n){if(i)return be(15,1,e,t,n)}var k=()=>ue(``),gt=e=>{e>>>=0;for(var t=``;;){var n=(C(),T)[e++>>>0];if(!n)return t;t+=String.fromCharCode(n)}},_t={},vt={},A={},yt=class extends Error{constructor(e){super(e),this.name=`BindingError`}};function bt(e,t,n={}){return(function(e,t,n={}){var r=t.name;if(!e)throw new yt(`type "${r}" must have a positive integer typeid pointer`);if(vt.hasOwnProperty(e)){if(n.ve)return;throw new yt(`Cannot register type '${r}' twice`)}vt[e]=t,delete A[e],_t.hasOwnProperty(e)&&(t=_t[e],delete _t[e],t.forEach(e=>e()))})(e,t,n)}var xt=(e,t,n)=>{switch(t){case 1:return n?e=>(C(),ee)[e>>>0]:e=>(C(),T)[e>>>0];case 2:return n?e=>(C(),te)[e>>>1>>>0]:e=>(C(),ne)[e>>>1>>>0];case 4:return n?e=>(C(),E)[e>>>2>>>0]:e=>(C(),D)[e>>>2>>>0];case 8:return n?e=>(C(),ae)[e>>>3>>>0]:e=>(C(),oe)[e>>>3>>>0];default:throw TypeError(`invalid integer width (${t}): ${e}`)}};function St(e,t,n,r,i){e>>>=0,n>>>=0,t=gt(t>>>0);let a=e=>e;if(r=r===0n){let e=8*n;a=t=>BigInt.asUintN(e,t),i=a(i)}bt(e,{name:t,Wc:a,cd:(e,t)=>(typeof t==`number`&&(t=BigInt(t)),t),bd:xt(t,n,!r),dd:null})}function Ct(e,t,n,r){bt(e>>>=0,{name:t=gt(t>>>0),Wc:function(e){return!!e},cd:function(e,t){return t?n:r},bd:function(e){return this.Wc((C(),T)[e>>>0])},dd:null})}var wt=[],Tt=[0,1,,1,null,1,!0,1,!1,1];function Et(e){9<(e>>>=0)&&--Tt[e+1]===0&&(Tt[e]=void 0,wt.push(e))}var Dt=e=>{if(!e)throw new yt(`Cannot use deleted val. handle = ${e}`);return Tt[e]},Ot=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let t=wt.pop()||Tt.length;return Tt[t]=e,Tt[t+1]=1,t}};function kt(e){return this.Wc((C(),D)[e>>>2>>>0])}var At={name:`emscripten::val`,Wc:e=>{var t=Dt(e);return Et(e),t},cd:(e,t)=>Ot(t),bd:kt,dd:null};function jt(e){return bt(e>>>0,At)}var Mt=(e,t)=>{switch(t){case 4:return function(e){return this.Wc((C(),re)[e>>>2>>>0])};case 8:return function(e){return this.Wc((C(),ie)[e>>>3>>>0])};default:throw TypeError(`invalid float width (${t}): ${e}`)}};function Nt(e,t,n){n>>>=0,bt(e>>>=0,{name:t=gt(t>>>0),Wc:e=>e,cd:(e,t)=>t,bd:Mt(t,n),dd:null})}function Pt(e,t,n,r,i){e>>>=0,n>>>=0,t=gt(t>>>0);let a=e=>e;if(r===0){var o=32-8*n;a=e=>e<<o>>>o,i=a(i)}bt(e,{name:t,Wc:a,cd:(e,t)=>t,bd:xt(t,n,r!==0),dd:null})}function Ft(e,t,n){function r(e){var t=(C(),D)[e>>>2>>>0];return e=(C(),D)[e+4>>>2>>>0],new i((C(),ee).buffer,e,t)}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];bt(e>>>=0,{name:n=gt(n>>>0),Wc:r,bd:r},{ve:!0})}var It=(e,t,n)=>{var r=(C(),T);if(t>>>=0,0<n){var i=t;n=t+n-1;for(var a=0;a<e.length;++a){var o=e.codePointAt(a);if(127>=o){if(t>=n)break;r[t++>>>0]=o}else if(2047>=o){if(t+1>=n)break;r[t++>>>0]=192|o>>6,r[t++>>>0]=128|63&o}else if(65535>=o){if(t+2>=n)break;r[t++>>>0]=224|o>>12,r[t++>>>0]=128|o>>6&63,r[t++>>>0]=128|63&o}else{if(t+3>=n)break;r[t++>>>0]=240|o>>18,r[t++>>>0]=128|o>>12&63,r[t++>>>0]=128|o>>6&63,r[t++>>>0]=128|63&o,a++}}r[t>>>0]=0,e=t-i}else e=0;return e},Lt=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);127>=r?t++:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,++n):t+=3}return t};function Rt(e,t){bt(e>>>=0,{name:t=gt(t>>>0),Wc(e){var t=(C(),D)[e>>>2>>>0];return t=nt(e+4,t,!0),qi(e),t},cd(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n=typeof t==`string`;if(!(n||ArrayBuffer.isView(t)&&t.BYTES_PER_ELEMENT==1))throw new yt(`Cannot pass non-string to std::string`);var r=n?Lt(t):t.length,i=Ji(4+r+1),a=i+4;return(C(),D)[i>>>2>>>0]=r,n?It(t,a,r+1):(C(),T).set(t,a>>>0),e!==null&&e.push(qi,i),i},bd:kt,dd(e){qi(e)}})}var zt=globalThis.TextDecoder?new TextDecoder(`utf-16le`):void 0,Bt=(e,t,n)=>{if(e>>>=1,16<(t=et((C(),ne),e,t/2,n))-e&&zt)return zt.decode((C(),ne).slice(e,t));for(n=``;e<t;++e){var r=(C(),ne)[e>>>0];n+=String.fromCharCode(r)}return n},Vt=(e,t,n)=>{if(n??=2147483647,2>n)return 0;var r=t;n=(n-=2)<2*e.length?n/2:e.length;for(var i=0;i<n;++i){var a=e.charCodeAt(i);(C(),te)[t>>>1>>>0]=a,t+=2}return(C(),te)[t>>>1>>>0]=0,t-r},Ht=e=>2*e.length,Ut=(e,t,n)=>{var r=``;e>>>=2;for(var i=0;!(i>=t/4);i++){var a=(C(),D)[e+i>>>0];if(!a&&!n)break;r+=String.fromCodePoint(a)}return r},Wt=(e,t,n)=>{if(t>>>=0,n??=2147483647,4>n)return 0;var r=t;n=r+n-4;for(var i=0;i<e.length;++i){var a=e.codePointAt(i);if(65535<a&&i++,(C(),E)[t>>>2>>>0]=a,(t+=4)+4>n)break}return(C(),E)[t>>>2>>>0]=0,t-r},Gt=e=>{for(var t=0,n=0;n<e.length;++n)65535<e.codePointAt(n)&&n++,t+=4;return t};function Kt(e,t,n){if(e>>>=0,t>>>=0,n=gt(n>>>=0),t===2)var r=Bt,i=Vt,a=Ht;else r=Ut,i=Wt,a=Gt;bt(e,{name:n,Wc:e=>{var n=(C(),D)[e>>>2>>>0];return n=r(e+4,n*t,!0),qi(e),n},cd:(e,r)=>{if(typeof r!=`string`)throw new yt(`Cannot pass non-string to C++ string type ${n}`);var o=a(r),s=Ji(4+o+t);return(C(),D)[s>>>2>>>0]=o/t,i(r,s+4,o+t),e!==null&&e.push(qi,s),s},bd:kt,dd(e){qi(e)}})}function qt(e,t){bt(e>>>=0,{we:!0,name:t=gt(t>>>0),Wc:()=>{},cd:()=>{}})}function Jt(e){pa(e>>>0,!r,1,!n,131072,!1),ke()}var Yt=e=>{if(!x)try{if(e(),!(0<ye))try{i?Ki()&&_a(p):Ce(p)}catch(e){e instanceof pe||e==`unwind`||c(0,e)}}catch(e){e instanceof pe||e==`unwind`||c(0,e)}},Xt=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Zt(e){e>>>=0,Xt||(Atomics.waitAsync((C(),E),e>>>2,e).value.then(Qt),e+=128,Atomics.store((C(),E),e>>>2,1))}var Qt=()=>Yt(()=>{var e=Ki();e&&(Zt(e),ya())});function $t(e,t){(e>>>=0)==t>>>0?setTimeout(Qt):i?postMessage({gd:e,$c:`checkMailbox`}):(e=De[e])&&e.postMessage({$c:`checkMailbox`})}var en=[];function tn(e,t,n,r,i){for(t>>>=0,i>>>=0,en.length=0,n=i>>>3,r=i+r>>>3;n<r;){var a=(C(),ae)[n++>>>0]?(C(),ae)[n++>>>0]:(C(),ie)[n++>>>0];en.push(a)}return(t?bo[t]:yo[e])(...en)}var nn=()=>{ye=0};function rn(e){e>>>=0,i?postMessage({$c:`cleanupThread`,Le:e}):Oe(De[e])}function an(e){}var on=e=>{try{e()}catch(e){ue(e)}};function sn(e){var t=(...t)=>{dn.push(e);try{return e(...t)}finally{x||(dn.pop(),ln&&cn===1&&dn.length===0&&(cn=0,ye+=1,on(ho),typeof Fibers<`u`&&Fibers.We()))}};return mn.set(e,t),t}var cn=0,ln=null,un=0,dn=[],fn=new Map,pn=new Map,mn=new Map,hn=0,gn=null,_n=[],vn=e=>(function(e){if(!x){if(cn===0){var t=!1,n=!1;e((e=0)=>{if(!x&&(un=e,t=!0,n)){cn=2,on(()=>go(ln)),typeof MainLoop<`u`&&MainLoop.se&&MainLoop.resume(),e=!1;try{var r=(function(){var e=(C(),E)[ln+8>>>2>>>0];return e=pn.get(e),e=mn.get(e),--ye,e()})()}catch(t){r=t,e=!0}var i=!1;if(!ln){var a=gn;a&&(gn=null,(e?a.reject:a.resolve)(r),i=!0)}if(e&&!i)throw r}}),n=!0,t||(cn=1,ln=(function(){var e=Ji(65548),t=e+12;if((C(),D)[e>>>2>>>0]=t,(C(),D)[e+4>>>2>>>0]=t+65536,t=dn[0],!fn.has(t)){var n=hn++;fn.set(t,n),pn.set(n,t)}return t=fn.get(t),(C(),E)[e+8>>>2>>>0]=t,e})(),typeof MainLoop<`u`&&MainLoop.se&&MainLoop.pause(),on(()=>mo(ln)))}else cn===2?(cn=0,on(_o),qi(ln),ln=null,_n.forEach(Yt)):ue(`invalid state: ${cn}`);return un}})(t=>{e().then(t)});function yn(e){return e>>>=0,vn(async()=>Ot(await Dt(e)))}var bn=[],xn=e=>{var t=bn.length;return bn.push(e),t},Sn=(e,t)=>{for(var n=Array(e),r=0;r<e;++r){var i=r,a=(C(),D)[t+4*r>>>2>>>0],o=vt[a];if(o===void 0)throw e=`parameter ${r}`,a=Hi(a),t=gt(a),qi(a),new yt(`${e} has unknown type ${t}`);n[i]=o}return n},Cn=(e,t,n)=>{var r=[];return e=e(r,n),r.length&&((C(),D)[t>>>2>>>0]=Ot(r)),e},wn={},Tn=e=>{var t=wn[e];return t===void 0?gt(e):t};function En(e,t,n){var[r,...i]=Sn(e,t>>>0);t=r.cd.bind(r);var a=i.map(e=>e.bd.bind(e));e--;var o={toValue:Dt};switch(e=a.map((e,t)=>{var n=`argFromPtr${t}`;return o[n]=e,`${n}(args${t?`+`+8*t:``})`}),n){case 0:var s=`toValue(handle)`;break;case 2:s=`new (toValue(handle))`;break;case 3:s=``;break;case 1:o.getStringOrSymbol=Tn,s=`toValue(handle)[getStringOrSymbol(methodName)]`}return s+=`(${e})`,r.we||(o.toReturnWire=t,o.emval_returnValue=Cn,s=`return emval_returnValue(toReturnWire, destructorsRef, ${s})`),s=`return function (handle, methodName, destructorsRef, args) {
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-COiEfhsA.js";var n=e({InferenceSession:()=>Oe,TRACE:()=>ye,TRACE_EVENT_BEGIN:()=>Ce,TRACE_EVENT_END:()=>we,TRACE_FUNC_BEGIN:()=>xe,TRACE_FUNC_END:()=>Se,Tensor:()=>_e,default:()=>ir,env:()=>w,registerBackend:()=>m}),r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e=>typeof t<`u`?t:typeof Proxy<`u`?new Proxy(e,{get:(e,n)=>(typeof t<`u`?t:e)[n]}):e)(function(e){if(typeof t<`u`)return t.apply(this,arguments);throw Error(`Dynamic require of "`+e+`" is not supported`)}),c=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},l=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},d=e=>u(r({},`__esModule`,{value:!0}),e),f,p,m,h,g,_=c(()=>{f=new Map,p=[],m=(e,t,n)=>{if(t&&typeof t.init==`function`&&typeof t.createInferenceSessionHandler==`function`){let r=f.get(e);if(r===void 0)f.set(e,{backend:t,priority:n});else{if(r.priority>n)return;if(r.priority===n&&r.backend!==t)throw Error(`cannot register backend "${e}" using priority ${n}`)}if(n>=0){let t=p.indexOf(e);t!==-1&&p.splice(t,1);for(let t=0;t<p.length;t++)if(f.get(p[t]).priority<=n){p.splice(t,0,e);return}p.push(e)}}else throw TypeError(`not a valid backend`)},h=async e=>{let t=f.get(e);if(!t)return`backend not found.`;if(t.initialized)return t.backend;if(t.aborted)return t.error;{let n=!!t.initPromise;try{return n||(t.initPromise=t.backend.init(e)),await t.initPromise,t.initialized=!0,t.backend}catch(e){return n||(t.error=`${e}`,t.aborted=!0),t.error}finally{delete t.initPromise}}},g=async e=>{let t=e.executionProviders||[],n=t.map(e=>typeof e==`string`?e:e.name),r=n.length===0?p:n,i,a=[],o=new Set;for(let e of r){let t=await h(e);typeof t==`string`?a.push({name:e,err:t}):(i||=t,i===t&&o.add(e))}if(!i)throw Error(`no available backend found. ERR: ${a.map(e=>`[${e.name}] ${e.err}`).join(`, `)}`);for(let{name:e,err:t}of a)n.includes(e)&&console.warn(`removing requested execution provider "${e}" from session options because it is not available: ${t}`);let s=t.filter(e=>o.has(typeof e==`string`?e:e.name));return[i,new Proxy(e,{get:(e,t)=>t===`executionProviders`?s:Reflect.get(e,t)})]}}),v=c(()=>{_()}),y,b=c(()=>{y=`1.31.0-dev.20260911-2a43ec07e`}),x,S,C=c(()=>{b(),x=`warning`,S={wasm:{},webgl:{},webgpu:{},versions:{common:y},set logLevel(e){if(e!==void 0){if(typeof e!=`string`||[`verbose`,`info`,`warning`,`error`,`fatal`].indexOf(e)===-1)throw Error(`Unsupported logging level: ${e}`);x=e}},get logLevel(){return x}},Object.defineProperty(S,"logLevel",{enumerable:!0})}),w,ee=c(()=>{C(),w=S}),T,te,ne=c(()=>{T=(e,t)=>{let n=typeof document<`u`?document.createElement(`canvas`):new OffscreenCanvas(1,1);n.width=e.dims[3],n.height=e.dims[2];let r=n.getContext(`2d`);if(r!=null){let i,a;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[3]):(i=e.dims[3],a=e.dims[2]);let o=t?.format===void 0?`RGB`:t.format,s=t?.norm,c,l;s===void 0||s.mean===void 0?c=[255,255,255,255]:typeof s.mean==`number`?c=[s.mean,s.mean,s.mean,s.mean]:(c=[s.mean[0],s.mean[1],s.mean[2],0],s.mean[3]!==void 0&&(c[3]=s.mean[3])),s===void 0||s.bias===void 0?l=[0,0,0,0]:typeof s.bias==`number`?l=[s.bias,s.bias,s.bias,s.bias]:(l=[s.bias[0],s.bias[1],s.bias[2],0],s.bias[3]!==void 0&&(l[3]=s.bias[3]));let u=a*i,d=0,f=u,p=u*2,m=-1;o===`RGBA`?(d=0,f=u,p=u*2,m=u*3):o===`RGB`?(d=0,f=u,p=u*2):o===`RBG`&&(d=0,p=u,f=u*2);for(let t=0;t<a;t++)for(let n=0;n<i;n++){let i=(e.data[d++]-l[0])*c[0],a=(e.data[f++]-l[1])*c[1],o=(e.data[p++]-l[2])*c[2],s=m===-1?255:(e.data[m++]-l[3])*c[3];r.fillStyle=`rgba(`+i+`,`+a+`,`+o+`,`+s+`)`,r.fillRect(n,t,1,1)}if(`toDataURL`in n)return n.toDataURL();throw Error(`toDataURL is not supported`)}throw Error(`Can not access image data`)},te=(e,t)=>{let n=typeof document<`u`?document.createElement(`canvas`).getContext(`2d`):new OffscreenCanvas(1,1).getContext(`2d`),r;if(n!=null){let i,a,o;t?.tensorLayout!==void 0&&t.tensorLayout===`NHWC`?(i=e.dims[2],a=e.dims[1],o=e.dims[3]):(i=e.dims[3],a=e.dims[2],o=e.dims[1]);let s=t!==void 0&&t.format!==void 0?t.format:`RGB`,c=t?.norm,l,u;c===void 0||c.mean===void 0?l=[255,255,255,255]:typeof c.mean==`number`?l=[c.mean,c.mean,c.mean,c.mean]:(l=[c.mean[0],c.mean[1],c.mean[2],255],c.mean[3]!==void 0&&(l[3]=c.mean[3])),c===void 0||c.bias===void 0?u=[0,0,0,0]:typeof c.bias==`number`?u=[c.bias,c.bias,c.bias,c.bias]:(u=[c.bias[0],c.bias[1],c.bias[2],0],c.bias[3]!==void 0&&(u[3]=c.bias[3]));let d=a*i;if(t!==void 0&&(t.format!==void 0&&o===4&&t.format!==`RGBA`||o===3&&t.format!==`RGB`&&t.format!==`BGR`))throw Error(`Tensor format doesn't match input tensor dims`);let f=0,p=1,m=2,h=3,g=0,_=d,v=d*2,y=-1;s===`RGBA`?(g=0,_=d,v=d*2,y=d*3):s===`RGB`?(g=0,_=d,v=d*2):s===`RBG`&&(g=0,v=d,_=d*2),r=n.createImageData(i,a);for(let t=0;t<a*i;f+=4,p+=4,m+=4,h+=4,t++)r.data[f]=(e.data[g++]-u[0])*l[0],r.data[p]=(e.data[_++]-u[1])*l[1],r.data[m]=(e.data[v++]-u[2])*l[2],r.data[h]=y===-1?255:(e.data[y++]-u[3])*l[3]}else throw Error(`Can not access image data`);return r}}),E,D,re,ie,ae,oe,se=c(()=>{ge(),E=(e,t)=>{if(e===void 0)throw Error(`Image buffer must be defined`);if(t.height===void 0||t.width===void 0)throw Error(`Image height and width must be defined`);if(t.tensorLayout===`NHWC`)throw Error(`NHWC Tensor layout is not supported yet`);let{height:n,width:r}=t,i=t.norm??{mean:255,bias:0},a,o;a=typeof i.mean==`number`?[i.mean,i.mean,i.mean,i.mean]:[i.mean[0],i.mean[1],i.mean[2],i.mean[3]??255],o=typeof i.bias==`number`?[i.bias,i.bias,i.bias,i.bias]:[i.bias[0],i.bias[1],i.bias[2],i.bias[3]??0];let s=t.format===void 0?`RGBA`:t.format,c=t.tensorFormat!==void 0&&t.tensorFormat!==void 0?t.tensorFormat:`RGB`,l=n*r,u=c===`RGBA`?new Float32Array(l*4):new Float32Array(l*3),d=4,f=0,p=1,m=2,h=3,g=0,_=l,v=l*2,y=-1;s===`RGB`&&(d=3,f=0,p=1,m=2,h=-1),c===`RGBA`?y=l*3:c===`RBG`?(g=0,v=l,_=l*2):c===`BGR`&&(v=0,_=l,g=l*2);for(let t=0;t<l;t++,f+=d,m+=d,p+=d,h+=d)u[g++]=(e[f]+o[0])/a[0],u[_++]=(e[p]+o[1])/a[1],u[v++]=(e[m]+o[2])/a[2],y!==-1&&h!==-1&&(u[y++]=(e[h]+o[3])/a[3]);return c===`RGBA`?new he(`float32`,u,[1,4,n,r]):new he(`float32`,u,[1,3,n,r])},D=async(e,t)=>{let n=typeof HTMLImageElement<`u`&&e instanceof HTMLImageElement,r=typeof ImageData<`u`&&e instanceof ImageData,i=typeof ImageBitmap<`u`&&e instanceof ImageBitmap,a=typeof e==`string`,o,s=t??{},c=()=>{if(typeof document<`u`)return document.createElement(`canvas`);if(typeof OffscreenCanvas<`u`)return new OffscreenCanvas(1,1);throw Error(`Canvas is not supported`)},l=e=>typeof HTMLCanvasElement<`u`&&e instanceof HTMLCanvasElement||e instanceof OffscreenCanvas?e.getContext(`2d`):null;if(n){let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let n=e.height,i=e.width;if(t!==void 0&&t.resizedHeight!==void 0&&t.resizedWidth!==void 0&&(n=t.resizedHeight,i=t.resizedWidth),t!==void 0){if(s=t,t.tensorFormat!==void 0)throw Error(`Image input config format must be RGBA for HTMLImageElement`);s.tensorFormat=`RGBA`,s.height=n,s.width=i}else s.tensorFormat=`RGBA`,s.height=n,s.width=i;r.drawImage(e,0,0),o=r.getImageData(0,0,i,n).data}else throw Error(`Can not access image data`)}else if(r){let n,r;if(t!==void 0&&t.resizedWidth!==void 0&&t.resizedHeight!==void 0?(n=t.resizedHeight,r=t.resizedWidth):(n=e.height,r=e.width),t!==void 0&&(s=t),s.format=`RGBA`,s.height=n,s.width=r,t!==void 0){let t=c();t.width=r,t.height=n;let i=l(t);if(i!=null)i.putImageData(e,0,0),o=i.getImageData(0,0,r,n).data;else throw Error(`Can not access image data`)}else o=e.data}else if(i){if(t===void 0)throw Error(`Please provide image config with format for Imagebitmap`);let n=c();n.width=e.width,n.height=e.height;let r=l(n);if(r!=null){let t=e.height,n=e.width;return r.drawImage(e,0,0,n,t),o=r.getImageData(0,0,n,t).data,s.height=t,s.width=n,E(o,s)}throw Error(`Can not access image data`)}else{if(a)return new Promise((t,n)=>{let r=c(),i=l(r);if(!e||!i)return n();let a=new Image;a.crossOrigin=`Anonymous`,a.src=e,a.onload=()=>{r.width=a.width,r.height=a.height,i.drawImage(a,0,0,r.width,r.height);let e=i.getImageData(0,0,r.width,r.height);s.height=r.height,s.width=r.width,t(E(e.data,s))}});throw Error(`Input data provided is not supported - aborted tensor creation`)}if(o!==void 0)return E(o,s);throw Error(`Input data provided is not supported - aborted tensor creation`)},re=(e,t)=>{let{width:n,height:r,download:i,dispose:a}=t;return new he({location:`texture`,type:`float32`,texture:e,dims:[1,r,n,4],download:i,dispose:a})},ie=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new he({location:`gpu-buffer`,type:n??`float32`,gpuBuffer:e,dims:r,download:i,dispose:a})},ae=(e,t)=>{let{dataType:n,dims:r,download:i,dispose:a}=t;return new he({location:`ml-tensor`,type:n??`float32`,mlTensor:e,dims:r,download:i,dispose:a})},oe=(e,t,n)=>new he({location:`cpu-pinned`,type:e,data:t,dims:n??[t.length]})}),O,ce,le,ue,de=c(()=>{O=new Map([[`float32`,Float32Array],[`uint8`,Uint8Array],[`int8`,Int8Array],[`uint16`,Uint16Array],[`int16`,Int16Array],[`int32`,Int32Array],[`bool`,Uint8Array],[`float64`,Float64Array],[`uint32`,Uint32Array],[`int4`,Uint8Array],[`uint4`,Uint8Array]]),ce=new Map([[Float32Array,`float32`],[Uint8Array,`uint8`],[Int8Array,`int8`],[Uint16Array,`uint16`],[Int16Array,`int16`],[Int32Array,`int32`],[Float64Array,`float64`],[Uint32Array,`uint32`]]),le=!1,ue=()=>{if(!le){le=!0;let e=typeof BigInt64Array<`u`&&BigInt64Array.from,t=typeof BigUint64Array<`u`&&BigUint64Array.from,n=globalThis.Float16Array,r=typeof n<`u`&&n.from;e&&(O.set(`int64`,BigInt64Array),ce.set(BigInt64Array,`int64`)),t&&(O.set(`uint64`,BigUint64Array),ce.set(BigUint64Array,`uint64`)),r?(O.set(`float16`,n),ce.set(n,`float16`)):O.set(`float16`,Uint16Array)}}}),fe,pe,me=c(()=>{ge(),fe=e=>{let t=1;for(let n=0;n<e.length;n++){let r=e[n];if(typeof r!=`number`||!Number.isSafeInteger(r))throw TypeError(`dims[${n}] must be an integer, got: ${r}`);if(r<0)throw RangeError(`dims[${n}] must be a non-negative integer, got: ${r}`);t*=r}return t},pe=(e,t)=>{switch(e.location){case`cpu`:return new he(e.type,e.data,t);case`cpu-pinned`:return new he({location:`cpu-pinned`,data:e.data,type:e.type,dims:t});case`texture`:return new he({location:`texture`,texture:e.texture,type:e.type,dims:t});case`gpu-buffer`:return new he({location:`gpu-buffer`,gpuBuffer:e.gpuBuffer,type:e.type,dims:t});case`ml-tensor`:return new he({location:`ml-tensor`,mlTensor:e.mlTensor,type:e.type,dims:t});default:throw Error(`tensorReshape: tensor location ${e.location} is not supported`)}}}),he,ge=c(()=>{ne(),se(),de(),me(),he=class{constructor(e,t,n){ue();let r,i;if(typeof e==`object`&&`location`in e)switch(this.dataLocation=e.location,r=e.type,i=e.dims,e.location){case`cpu-pinned`:{let t=O.get(r);if(!t)throw TypeError(`unsupported type "${r}" to create tensor from pinned buffer`);if(!(e.data instanceof t))throw TypeError(`buffer should be of type ${t.name}`);this.cpuData=e.data;break}case`texture`:if(r!==`float32`)throw TypeError(`unsupported type "${r}" to create tensor from texture`);this.gpuTextureData=e.texture,this.downloader=e.download,this.disposer=e.dispose;break;case`gpu-buffer`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from gpu buffer`);this.gpuBufferData=e.gpuBuffer,this.downloader=e.download,this.disposer=e.dispose;break;case`ml-tensor`:if(r!==`float32`&&r!==`float16`&&r!==`int32`&&r!==`int64`&&r!==`uint32`&&r!==`uint64`&&r!==`int8`&&r!==`uint8`&&r!==`bool`&&r!==`uint4`&&r!==`int4`)throw TypeError(`unsupported type "${r}" to create tensor from MLTensor`);this.mlTensorData=e.mlTensor,this.downloader=e.download,this.disposer=e.dispose;break;default:throw Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let a,o;if(typeof e==`string`){if(r=e,o=n,e===`string`){if(!Array.isArray(t))throw TypeError(`A string tensor's data must be a string array.`);a=t}else{let n=O.get(e);if(n===void 0)throw TypeError(`Unsupported tensor type: ${e}.`);if(Array.isArray(t)){if(e===`float16`&&n===Uint16Array||e===`uint4`||e===`int4`)throw TypeError(`Creating a ${e} tensor from number array is not supported. Please use ${n.name} as data.`);a=e===`uint64`||e===`int64`?n.from(t,BigInt):n.from(t)}else if(t instanceof n)a=t;else if(t instanceof Uint8ClampedArray){if(e===`uint8`)a=Uint8Array.from(t);else throw TypeError(`A Uint8ClampedArray tensor's data must be type of uint8`)}else if(e===`float16`&&t instanceof Uint16Array&&n!==Uint16Array)a=new globalThis.Float16Array(t.buffer,t.byteOffset,t.length);else throw TypeError(`A ${r} tensor's data must be type of ${n}`)}}else if(o=t,Array.isArray(e)){if(e.length===0)throw TypeError(`Tensor type cannot be inferred from an empty array.`);let t=typeof e[0];if(t===`string`)r=`string`,a=e;else if(t===`boolean`)r=`bool`,a=Uint8Array.from(e);else throw TypeError(`Invalid element type of data array: ${t}.`)}else if(e instanceof Uint8ClampedArray)r=`uint8`,a=Uint8Array.from(e);else{let t=ce.get(e.constructor);if(t===void 0)throw TypeError(`Unsupported type for tensor data: ${e.constructor}.`);r=t,a=e}if(o===void 0)o=[a.length];else if(!Array.isArray(o))throw TypeError(`A tensor's dims must be a number array`);i=o,this.cpuData=a,this.dataLocation=`cpu`}let a=fe(i);if(this.cpuData&&a!==this.cpuData.length&&(r!==`uint4`&&r!==`int4`||Math.ceil(a/2)!==this.cpuData.length))throw Error(`Tensor's size(${a}) does not match data length(${this.cpuData.length}).`);this.type=r,this.dims=i,this.size=a}static async fromImage(e,t){return D(e,t)}static fromTexture(e,t){return re(e,t)}static fromGpuBuffer(e,t){return ie(e,t)}static fromMLTensor(e,t){return ae(e,t)}static fromPinnedBuffer(e,t,n){return oe(e,t,n)}toDataURL(e){return T(this,e)}toImageData(e){return te(this,e)}get data(){if(this.ensureValid(),!this.cpuData)throw Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw Error(`The data is not stored as a WebGL texture.`);return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw Error(`The data is not stored as a WebGPU buffer.`);return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw Error(`The data is not stored as a WebNN MLTensor.`);return this.mlTensorData}async getData(e){switch(this.ensureValid(),this.dataLocation){case`cpu`:case`cpu-pinned`:return this.data;case`texture`:case`gpu-buffer`:case`ml-tensor`:if(!this.downloader)throw Error(`The current tensor is not created with a specified data downloader.`);if(this.isDownloading)throw Error(`The current tensor is being downloaded.`);try{this.isDownloading=!0;let t=await this.downloader();return this.downloader=void 0,this.dataLocation=`cpu`,this.cpuData=t,e&&this.disposer&&(this.disposer(),this.disposer=void 0),t}finally{this.isDownloading=!1}default:throw Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw Error(`The current tensor is being downloaded.`);this.disposer&&=(this.disposer(),void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation=`none`}ensureValid(){if(this.dataLocation===`none`)throw Error(`The tensor is disposed.`)}reshape(e){if(this.ensureValid(),this.downloader||this.disposer)throw Error(`Cannot reshape a tensor that owns GPU resource.`);return pe(this,e)}}}),_e,ve=c(()=>{ge(),_e=he}),ye,be,xe,Se,Ce,we,Te=c(()=>{C(),ye=(e,t)=>{(typeof S.trace>`u`?!S.wasm.trace:!S.trace)||console.timeStamp(`${e}::ORT::${t}`)},be=(e,t)=>{let n=Error().stack?.split(/\r\n|\r|\n/g)||[],r=!1;for(let i=0;i<n.length;i++){if(r&&!n[i].includes(`TRACE_FUNC`)){let r=`FUNC_${e}::${n[i].trim().split(` `)[1]}`;t&&(r+=`::${t}`),ye(`CPU`,r);return}n[i].includes(`TRACE_FUNC`)&&(r=!0)}},xe=e=>{(typeof S.trace>`u`?!S.wasm.trace:!S.trace)||be(`BEGIN`,e)},Se=e=>{(typeof S.trace>`u`?!S.wasm.trace:!S.trace)||be(`END`,e)},Ce=e=>{(typeof S.trace>`u`?!S.wasm.trace:!S.trace)||console.time(`ORT::${e}`)},we=e=>{(typeof S.trace>`u`?!S.wasm.trace:!S.trace)||console.timeEnd(`ORT::${e}`)}}),Ee,De=c(()=>{_(),ve(),Te(),Ee=class e{constructor(e){this.handler=e}async run(e,t,n){xe(),Ce(`InferenceSession.run`);let r={},i={};if(typeof e!=`object`||!e||e instanceof _e||Array.isArray(e))throw TypeError(`'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.`);let a=!0;if(typeof t==`object`){if(t===null)throw TypeError(`Unexpected argument[1]: cannot be null.`);if(t instanceof _e)throw TypeError(`'fetches' cannot be a Tensor`);if(Array.isArray(t)){if(t.length===0)throw TypeError(`'fetches' cannot be an empty array.`);a=!1;for(let e of t){if(typeof e!=`string`)throw TypeError(`'fetches' must be a string array or an object.`);if(this.outputNames.indexOf(e)===-1)throw RangeError(`'fetches' contains invalid output name: ${e}.`);r[e]=null}if(typeof n==`object`&&n)i=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else{let e=!1,o=Object.getOwnPropertyNames(t);for(let n of this.outputNames)if(o.indexOf(n)!==-1){let i=t[n];(i===null||i instanceof _e)&&(e=!0,a=!1,r[n]=i)}if(e){if(typeof n==`object`&&n)i=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else i=t}}else if(typeof t<`u`)throw TypeError(`Unexpected argument[1]: must be 'fetches' or 'options'.`);for(let t of this.inputNames)if(typeof e[t]>`u`)throw Error(`input '${t}' is missing in 'feeds'.`);if(a)for(let e of this.outputNames)r[e]=null;let o=await this.handler.run(e,r,i),s={};for(let e in o)if(Object.hasOwnProperty.call(o,e)){let t=o[e];s[e]=t instanceof _e?t:new _e(t.type,t.data,t.dims)}return we(`InferenceSession.run`),Se(),s}async release(){return this.handler.dispose()}static async create(t,n,r,i){xe(),Ce(`InferenceSession.create`);let a,o={};if(typeof t==`string`){if(a=t,typeof n==`object`&&n)o=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else if(t instanceof Uint8Array){if(a=t,typeof n==`object`&&n)o=n;else if(typeof n<`u`)throw TypeError(`'options' must be an object.`)}else if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&t instanceof SharedArrayBuffer){let e=t,s=0,c=t.byteLength;if(typeof n==`object`&&n)o=n;else if(typeof n==`number`){if(s=n,!Number.isSafeInteger(s))throw RangeError(`'byteOffset' must be an integer.`);if(s<0||s>=e.byteLength)throw RangeError(`'byteOffset' is out of range [0, ${e.byteLength}).`);if(c=t.byteLength-s,typeof r==`number`){if(c=r,!Number.isSafeInteger(c))throw RangeError(`'byteLength' must be an integer.`);if(c<=0||s+c>e.byteLength)throw RangeError(`'byteLength' is out of range (0, ${e.byteLength-s}].`);if(typeof i==`object`&&i)o=i;else if(typeof i<`u`)throw TypeError(`'options' must be an object.`)}else if(typeof r<`u`)throw TypeError(`'byteLength' must be a number.`)}else if(typeof n<`u`)throw TypeError(`'options' must be an object.`);a=new Uint8Array(e,s,c)}else throw TypeError(`Unexpected argument[0]: must be 'path' or 'buffer'.`);let[s,c]=await g(o),l=await s.createInferenceSessionHandler(a,c);return we(`InferenceSession.create`),Se(),new e(l)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}get inputMetadata(){return this.handler.inputMetadata}get outputMetadata(){return this.handler.outputMetadata}}}),Oe,ke=c(()=>{De(),Oe=Ee}),Ae=c(()=>{}),je=c(()=>{}),Me=c(()=>{}),Ne=c(()=>{}),Pe={};l(Pe,{InferenceSession:()=>Oe,TRACE:()=>ye,TRACE_EVENT_BEGIN:()=>Ce,TRACE_EVENT_END:()=>we,TRACE_FUNC_BEGIN:()=>xe,TRACE_FUNC_END:()=>Se,Tensor:()=>_e,env:()=>w,registerBackend:()=>m});var Fe=c(()=>{v(),ee(),ke(),ve(),Ae(),je(),Te(),Me(),Ne()}),Ie=c(()=>{}),Le={};l(Le,{default:()=>Be});var Re,ze,Be,Ve=c(()=>{On(),gt(),st(),Re=`ort-wasm-proxy-worker`,ze=globalThis.self?.name===Re,ze&&(self.onmessage=e=>{let{type:t,in:n}=e.data;try{switch(t){case`init-wasm`:ht(n.wasm).then(()=>{gn(n).then(()=>{postMessage({type:t})},e=>{postMessage({type:t,err:e})})},e=>{postMessage({type:t,err:e})});break;case`init-ep`:{let{epName:e,env:r}=n;_n(r,e).then(()=>{postMessage({type:t})},e=>{postMessage({type:t,err:e})});break}case`copy-from`:{let{buffer:e}=n,r=xn(e);postMessage({type:t,out:r});break}case`create`:{let{model:e,options:r}=n;Sn(e,r).then(e=>{postMessage({type:t,out:e})},e=>{postMessage({type:t,err:e})});break}case`release`:Cn(n),postMessage({type:t});break;case`run`:{let{sessionId:e,inputIndices:r,inputs:i,outputIndices:a,options:o}=n;Tn(e,r,i,a,Array(a.length).fill(null),o).then(e=>{e.some(e=>e[3]!==`cpu`)?postMessage({type:t,err:`Proxy does not support non-cpu tensor location.`}):postMessage({type:t,out:e},Dn([...i,...e]))},e=>{postMessage({type:t,err:e})});break}case`end-profiling`:En(n),postMessage({type:t})}}catch(e){postMessage({type:t,err:e})}}),Be=ze?null:e=>new Worker(e??Xe,{type:`module`,name:Re})}),He={};l(He,{default:()=>We});async function Ue(e={}){var t=e,n=!!globalThis.window,r=!!globalThis.WorkerGlobalScope,i=r&&self.name?.startsWith(`em-pthread`);t.mountExternalData=(e,n)=>{e.startsWith(`./`)&&(e=e.substring(2)),(t.ed||=new Map).set(e,n)},t.unmountExternalData=()=>{delete t.ed,delete t.Te,delete t.Se,delete t.Ue},globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,shared:!0}).buffer.constructor;let a=()=>{let e=e=>(...t)=>{let n=ln;return t=e(...t),ln==n?t:new Promise((e,t)=>{gn={resolve:e,reject:t}})};(()=>{for(let n of[`_OrtAppendExecutionProvider`,`_OrtCreateSession`,`_OrtRun`,`_OrtRunWithBinding`,`_OrtBindInput`])t[n]=e(t[n])})(),typeof jsepRunAsync<`u`&&(t._OrtRun=jsepRunAsync(t._OrtRun),t._OrtRunWithBinding=jsepRunAsync(t._OrtRunWithBinding)),a=void 0};t.asyncInit=()=>{a?.()};var o,s,c=(e,t)=>{throw t},l=import.meta.url,u=``;if(n||r){try{u=new URL(`.`,l).href}catch{}r&&(s=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),o=async e=>{if(S(e))return new Promise((t,n)=>{var r=new XMLHttpRequest;r.open(`GET`,e,!0),r.responseType=`arraybuffer`,r.onload=()=>{r.status==200||r.status==0&&r.response?t(r.response):n(r.status)},r.onerror=n,r.send(null)});var t=await fetch(e,{credentials:`same-origin`});if(t.ok)return t.arrayBuffer();throw Error(t.status+` : `+t.url)}}var d,f,p,m,h,g,_=console.log.bind(console),v=console.error.bind(console),y=_,b=v,x=!1,S=e=>e.startsWith(`file://`);function C(){Me.buffer!=ee.buffer&&ce()}if(i){let e=function(n){try{var r=n.data,i=r.$c;if(i===`load`){let n=[];self.onmessage=e=>n.push(e),g=()=>{postMessage({$c:`loaded`});for(let t of n)e(t);self.onmessage=e};for(let e of r.ue)t[e]&&!t[e].proxy||(t[e]=(...t)=>{postMessage({$c:`callHandler`,te:e,args:t})},e==`print`&&(y=t[e]),e==`printErr`&&(b=t[e]));Me=r.Me,ce(),f=r.Ne,fe(),os()}else if(i===`run`){(function(e){var t=(C(),D)[e+52>>>2>>>0];e=(C(),D)[e+56>>>2>>>0],Sa(t,t-e),I(t)})(r.Xc),pa(r.Xc,0,0,1,0,0),ke(),Zt(r.Xc),w||=(Ui(),!0);try{Ne(r.ze,r.kd)}catch(e){if(e!=`unwind`)throw e}}else r.target!==`setimmediate`&&(i===`checkMailbox`?w&&Qt():i&&(b(`worker: received unknown command ${i}`),b(r)))}catch(e){throw ma(),e}};var w=!1;self.onunhandledrejection=e=>{throw e.reason||e},self.onmessage=e}var ee,T,te,ne,E,D,re,ie,ae,oe,se,O=!1;function ce(){var e=Me.buffer;t.HEAP8=ee=new Int8Array(e),te=new Int16Array(e),t.HEAPU8=T=new Uint8Array(e),ne=new Uint16Array(e),t.HEAP32=E=new Int32Array(e),t.HEAPU32=D=new Uint32Array(e),re=new Float32Array(e),ie=new Float64Array(e),ae=new BigInt64Array(e),oe=new BigUint64Array(e)}function le(){O=!0,i?g():vo.hc()}function ue(e){throw b(e=`Aborted(`+e+`)`),x=!0,e=new WebAssembly.RuntimeError(e+`. Build with -sASSERTIONS for more info.`),h?.(e),e}function de(){return{a:{qa:xo,f:Le,K:ze,k:We,p:Ge,l:Ke,fa:qe,b:Je,da:Ye,gc:Ze,q:Qe,ea:rt,Ua:it,cc:at,ec:ot,Va:st,Sa:ct,La:lt,Ra:ut,oa:dt,dc:ft,ac:pt,Ta:mt,bc:ht,_a:k,Ba:St,Xb:Ct,Vb:jt,Aa:Nt,O:Pt,J:Ft,Wb:Rt,ka:Kt,Yb:qt,Oa:Jt,_b:$t,Ea:tn,Tb:nn,Ca:rn,Na:Zt,Xa:an,U:yn,n:En,c:Et,qb:Dn,w:On,N:kn,A:An,j:jn,o:Mn,rb:Nn,H:Pn,T:Fn,g:In,u:Ln,m:Rn,i:zn,Ia:Bn,Ja:Wn,Ka:Gn,Ga:Kn,Ha:qn,Ub:Xn,ab:Zn,Za:er,Z:rr,pb:ir,Da:ar,Ya:Qn,X:or,Wa:sr,$b:cr,G:Yn,db:lr,_:ur,pa:gr,Zb:_r,cb:hr,bb:vr,lb:Gr,z:Kr,sa:qr,ra:Jr,nb:Yr,Y:Xr,v:Zr,kb:Qr,jb:N,ib:$r,mb:ei,gb:ti,fb:ni,eb:ri,Pa:si,Qa:ci,fc:Ce,W:li,Fa:ui,ma:P,Ma:di,la:pi,Fb:is,va:Qo,Gb:rs,wa:Zo,E:Ro,e:To,r:Co,x:So,C:Po,Ib:Jo,ca:qo,D:Oo,xa:Yo,aa:$o,ha:Ko,Jb:Go,Kb:Wo,za:Bo,Lb:Ho,ya:Uo,Mb:Vo,ua:ns,ba:Xo,d:wo,B:Do,s:Eo,Eb:as,t:ko,y:Io,F:R,I:Ao,L:Lo,Nb:zo,R:es,ia:No,$:ts,Pb:Mo,Rb:jo,Ob:Fo,h:mi,a:Me,$a:xe,Hb:hi,V:gi,M:_i,na:vi,Db:yi,ja:bi,S:xi,Ab:Si,Bb:Ci,vb:wi,wb:Ti,P:Ei,xb:Di,yb:Oi,ta:ki,Sb:Ai,ob:ji,Q:Mi,hb:Ni,Cb:Pi,sb:Fi,tb:Li,ub:Ri,ga:zi,zb:Bi,Qb:Vi}}}async function fe(){function e(e,n){var r=vo=e.exports;e={};for(let[t,n]of Object.entries(r))typeof n==`function`?(r=sn(n),e[t]=r):e[t]=n;return vo=e,vo=(function(){var e=vo,t=e=>t=>e(t)>>>0,n=e=>()=>e()>>>0;return(e=Object.assign({},e)).ic=t(e.ic),e.Nc=n(e.Nc),e.Pc=t(e.Pc),e.Bd=(e=>(t,n)=>e(t,n)>>>0)(e.Bd),e.Gd=t(e.Gd),e.Hd=n(e.Hd),e.Ld=t(e.Ld),e})(),Ee.push(vo.sd),Hi=(e=vo).ic,Ui=e.jc,t._OrtInit=e.kc,t._OrtGetLastError=e.lc,t._OrtCreateSessionOptions=e.mc,t._OrtAppendExecutionProvider=e.nc,t._OrtAddFreeDimensionOverride=e.oc,t._OrtAddSessionConfigEntry=e.pc,t._OrtReleaseSessionOptions=e.qc,t._OrtCreateSession=e.rc,t._OrtReleaseSession=e.sc,t._OrtGetInputOutputCount=e.tc,t._OrtGetInputOutputMetadata=e.uc,t._OrtFree=e.vc,t._OrtCreateTensor=e.wc,t._OrtGetTensorData=e.xc,t._OrtReleaseTensor=e.yc,t._OrtCreateRunOptions=e.zc,t._OrtAddRunConfigEntry=e.Ac,t._OrtReleaseRunOptions=e.Bc,t._OrtCreateBinding=e.Cc,t._OrtBindInput=e.Dc,t._OrtBindOutput=e.Ec,t._OrtClearBoundOutputs=e.Fc,t._OrtReleaseBinding=e.Gc,t._OrtRunWithBinding=e.Hc,t._OrtRun=e.Ic,t._OrtEndProfiling=e.Jc,Wi=t._OrtCreateWebGpuInstance=e.Kc,t._wgpuCreateInstance=e.Lc,Gi=t._OrtGetWebGpuDevice=e.Mc,Ki=e.Nc,qi=t._free=e.Oc,Ji=t._malloc=e.Pc,Yi=t._wgpuBufferRelease=e.Qc,Xi=e.Rc,Zi=e.Sc,Qi=e.Tc,$i=e.Uc,ea=e.Vc,ta=e.Yc,na=e.Zc,ra=e.hd,ia=e.id,aa=e.jd,oa=e.ld,sa=e.md,ca=e.nd,la=e.od,ua=e.pd,da=e.qd,fa=e.rd,pa=e.ud,ma=e.vd,ha=e.wd,ga=e.xd,_a=e.yd,va=e.zd,ya=e.Ad,ba=e.Bd,F=e.Cd,xa=e.Dd,Sa=e.Ed,I=e.Fd,Ca=e.Gd,L=e.Hd,wa=e.Id,Ta=e.Jd,Ea=e.Kd,Da=e.Ld,Oa=e.Md,ka=e.Nd,Aa=e.Od,ja=e.Pd,Ma=e.Qd,Na=e.Rd,Pa=e.Sd,Fa=e.Td,Ia=e.Ud,La=e.Vd,Ra=e.Wd,za=e.Xd,Ba=e.Yd,Va=e.Zd,Ha=e._d,Ua=e.$d,Wa=e.ae,Ga=e.be,Ka=e.ce,qa=e.de,Ja=e.fe,Ya=e.ge,Xa=e.he,Za=e.ie,Qa=e.je,$a=e.ke,eo=e.le,to=e.me,no=e.Ae,ro=e.Be,io=e.Ce,ao=e.De,oo=e.Ee,so=e.Fe,co=e.Ge,lo=e.He,uo=e.Ie,fo=e.Je,po=e.Ke,mo=e.nf,ho=e.of,go=e.pf,_o=e.qf,f=n,vo}var n,r=de();return t.instantiateWasm?new Promise(n=>{t.instantiateWasm(r,(t,r)=>{n(e(t,r))})}):i?e(new WebAssembly.Instance(f,de()),f):(se??=t.locateFile?t.locateFile?t.locateFile(`ort-wasm-simd-threaded.asyncify.wasm`,u):u+`ort-wasm-simd-threaded.asyncify.wasm`:new URL(new URL(`ort-wasm-simd-threaded.asyncify-CxOG5pUO.wasm`,import.meta.url).href,``+import.meta.url).href,n=await(async function(e){var t=se;if(!d&&!S(t))try{var n=fetch(t,{credentials:`same-origin`});return await WebAssembly.instantiateStreaming(n,e)}catch(e){b(`wasm streaming compile failed: ${e}`),b(`falling back to ArrayBuffer instantiation`)}return(async function(e,t){try{var n=await(async function(e){if(!d)try{var t=await o(e);return new Uint8Array(t)}catch{}if(e==se&&d)e=new Uint8Array(d);else{if(!s)throw`both async and sync fetching of the wasm failed`;e=s(e)}return e})(e);return await WebAssembly.instantiate(n,t)}catch(e){b(`failed to asynchronously prepare wasm: ${e}`),ue(e)}})(t,e)})(r),e(n.instance,n.module))}class pe{name=`ExitStatus`;constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var me=e=>{e.terminate(),e.onmessage=()=>{}},he=[],ge=0,_e=null,ve=e=>{we.length==0&&(je(),Ae(we[0]));var t=we.pop();if(!t)return 6;Te.push(t),De[e.Xc]=t,t.Xc=e.Xc;var n={$c:`run`,ze:e.ye,kd:e.kd,Xc:e.Xc};return t.postMessage(n,e.oe),0},ye=0,be=(e,t,...n)=>{var r,i=16*n.length,a=L(),o=Ca(i),s=o>>>3;for(r of n)typeof r==`bigint`?((C(),ae)[s++>>>0]=1n,(C(),ae)[s++>>>0]=r):((C(),ae)[s++>>>0]=0n,(C(),ie)[s++>>>0]=r);return e=ha(e,0,i,o,t),I(a),e};function xe(e){if(i)return be(0,1,e);if(p=e,!(0<ye)){for(var t of Te)me(t);for(t of we)me(t);we=[],Te=[],De={},x=!0}c(0,new pe(e))}function Se(e){if(i)return be(1,0,e);Ce(e)}var Ce=e=>{if(p=e,i)throw Se(e),`unwind`;xe(e)},we=[],Te=[],Ee=[],De={},Oe=e=>{var t=e.Xc;delete De[t],we.push(e),Te.splice(Te.indexOf(e),1),e.Xc=0,ga(t)};function ke(){Ee.forEach(e=>e())}var Ae=e=>new Promise(n=>{e.onmessage=r=>{var i=r.data;if(r=i.$c,i.gd&&i.gd!=Ki()){var a=De[i.gd];a?a.postMessage(i,i.oe):b(`Internal error! Worker sent a message "${r}" to target pthread ${i.gd}, but that thread no longer exists!`)}else r===`checkMailbox`?Qt():r===`spawnThread`?ve(i):r===`cleanupThread`?Yt(()=>{Oe(De[i.Le])}):r===`loaded`?(e.loaded=!0,n(e)):i.target===`setimmediate`?e.postMessage(i):r===`uncaughtException`?e.onerror(i.error):r===`callHandler`?t[i.te](...i.args):r&&b(`worker sent an unknown command ${r}`)},e.onerror=e=>{throw b(`worker sent an error! ${e.filename}:${e.lineno}: ${e.message}`),e};var r,i=[];for(r of[])t.propertyIsEnumerable(r)&&i.push(r);e.postMessage({$c:`load`,ue:i,Me,Ne:f})});function je(){var e=new Worker((()=>{let e=URL;return import.meta.url>`file:`&&import.meta.url<`file;`?new e(`ort.webgpu.bundle.min.mjs`,import.meta.url):new URL(import.meta.url)})(),{type:`module`,workerData:`em-pthread`,name:`em-pthread`});we.push(e)}var Me,Ne=(e,t)=>{ye=0,e=ka(e,t),0<ye?p=e:_a(e)},Pe=[],Fe=0,Ie=e=>-9007199254740992>e||9007199254740992<e?NaN:Number(e);function Le(e){var t=new He(e>>>=0);return(C(),ee)[t.ad+12>>>0]==0&&(Be(t,!0),Fe--),Ve(t,!1),Pe.push(t),Da(e)}var Re=0,ze=()=>{F(0,0);var e=Pe.pop();wa(e.td),Re=0};function Be(e,t){t=+!!t,(C(),ee)[e.ad+12>>>0]=t}function Ve(e,t){t=+!!t,(C(),ee)[e.ad+13>>>0]=t}class He{constructor(e){this.td=e,this.ad=e-24}}var Ue=e=>{var t=Re;if(!t)return xa(0),0;var n=new He(t);(C(),D)[n.ad+16>>>2>>>0]=t;var r=(C(),D)[n.ad+4>>>2>>>0];if(!r)return xa(0),t;for(var i of e){if(i===0||i===r)break;if(Ea(i,r,n.ad+16))return xa(i),t}return xa(r),t};function We(){return Ue([])}function Ge(e){return Ue([e>>>0])}function Ke(e,t,n,r){return Ue([e>>>0,t>>>0,n>>>0,r>>>0])}var qe=()=>{var e=Pe.pop();e||ue(`no exception to throw`);var t=e.td;throw(C(),ee)[e.ad+13>>>0]==0&&(Pe.push(e),Ve(e,!0),Be(e,!1),Fe++),Ta(t),Re=t};function Je(e,t,n){var r=new He(e>>>=0);throw t>>>=0,n>>>=0,(C(),D)[r.ad+16>>>2>>>0]=0,(C(),D)[r.ad+4>>>2>>>0]=t,(C(),D)[r.ad+8>>>2>>>0]=n,Ta(e),Fe++,Re=e}var Ye=()=>Fe;function Xe(e,t,n,r){return i?be(2,1,e,t,n,r):Ze(e,t,n,r)}function Ze(e,t,n,r){if(e>>>=0,t>>>=0,n>>>=0,r>>>=0,!globalThis.SharedArrayBuffer)return 6;var a=[];return i&&a.length===0?Xe(e,t,n,r):(e={ye:n,Xc:e,kd:r,oe:a},i?(e.$c=`spawnThread`,postMessage(e,a),0):ve(e))}function Qe(e){throw Re||=e>>>0,Re}var $e=globalThis.TextDecoder&&new TextDecoder,et=(e,t,n,r)=>{if(n=t+n,r)return n;for(;e[t]&&!(t>=n);)++t;return t},tt=(e,t=0,n,r)=>{if(16<(n=et(e,t>>>=0,n,r))-t&&e.buffer&&$e)return $e.decode(e.buffer instanceof ArrayBuffer?e.subarray(t,n):e.slice(t,n));for(r=``;t<n;){var i=e[t++];if(128&i){var a=63&e[t++];if((224&i)==192)r+=String.fromCharCode((31&i)<<6|a);else{var o=63&e[t++];65536>(i=(240&i)==224?(15&i)<<12|a<<6|o:(7&i)<<18|a<<12|o<<6|63&e[t++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else r+=String.fromCharCode(i)}return r},nt=(e,t,n)=>(e>>>=0)?tt((C(),T),e,t,n):``;function rt(e,t,n){return i?be(3,1,e,t,n):0}function it(e,t){if(i)return be(4,1,e,t)}function at(e,t){if(i)return be(5,1,e,t)}function ot(e,t,n){if(i)return be(6,1,e,t,n)}function st(e,t,n){return i?be(7,1,e,t,n):0}function ct(e,t){if(i)return be(8,1,e,t)}function lt(e,t,n){if(i)return be(9,1,e,t,n)}function ut(e,t,n,r){if(i)return be(10,1,e,t,n,r)}function dt(e,t,n,r){if(i)return be(11,1,e,t,n,r)}function ft(e,t,n,r){if(i)return be(12,1,e,t,n,r)}function pt(e){if(i)return be(13,1,e)}function mt(e,t){if(i)return be(14,1,e,t)}function ht(e,t,n){if(i)return be(15,1,e,t,n)}var k=()=>ue(``),gt=e=>{e>>>=0;for(var t=``;;){var n=(C(),T)[e++>>>0];if(!n)return t;t+=String.fromCharCode(n)}},_t={},vt={},A={},yt=class extends Error{constructor(e){super(e),this.name=`BindingError`}};function bt(e,t,n={}){return(function(e,t,n={}){var r=t.name;if(!e)throw new yt(`type "${r}" must have a positive integer typeid pointer`);if(vt.hasOwnProperty(e)){if(n.ve)return;throw new yt(`Cannot register type '${r}' twice`)}vt[e]=t,delete A[e],_t.hasOwnProperty(e)&&(t=_t[e],delete _t[e],t.forEach(e=>e()))})(e,t,n)}var xt=(e,t,n)=>{switch(t){case 1:return n?e=>(C(),ee)[e>>>0]:e=>(C(),T)[e>>>0];case 2:return n?e=>(C(),te)[e>>>1>>>0]:e=>(C(),ne)[e>>>1>>>0];case 4:return n?e=>(C(),E)[e>>>2>>>0]:e=>(C(),D)[e>>>2>>>0];case 8:return n?e=>(C(),ae)[e>>>3>>>0]:e=>(C(),oe)[e>>>3>>>0];default:throw TypeError(`invalid integer width (${t}): ${e}`)}};function St(e,t,n,r,i){e>>>=0,n>>>=0,t=gt(t>>>0);let a=e=>e;if(r=r===0n){let e=8*n;a=t=>BigInt.asUintN(e,t),i=a(i)}bt(e,{name:t,Wc:a,cd:(e,t)=>(typeof t==`number`&&(t=BigInt(t)),t),bd:xt(t,n,!r),dd:null})}function Ct(e,t,n,r){bt(e>>>=0,{name:t=gt(t>>>0),Wc:function(e){return!!e},cd:function(e,t){return t?n:r},bd:function(e){return this.Wc((C(),T)[e>>>0])},dd:null})}var wt=[],Tt=[0,1,,1,null,1,!0,1,!1,1];function Et(e){9<(e>>>=0)&&--Tt[e+1]===0&&(Tt[e]=void 0,wt.push(e))}var Dt=e=>{if(!e)throw new yt(`Cannot use deleted val. handle = ${e}`);return Tt[e]},Ot=e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let t=wt.pop()||Tt.length;return Tt[t]=e,Tt[t+1]=1,t}};function kt(e){return this.Wc((C(),D)[e>>>2>>>0])}var At={name:`emscripten::val`,Wc:e=>{var t=Dt(e);return Et(e),t},cd:(e,t)=>Ot(t),bd:kt,dd:null};function jt(e){return bt(e>>>0,At)}var Mt=(e,t)=>{switch(t){case 4:return function(e){return this.Wc((C(),re)[e>>>2>>>0])};case 8:return function(e){return this.Wc((C(),ie)[e>>>3>>>0])};default:throw TypeError(`invalid float width (${t}): ${e}`)}};function Nt(e,t,n){n>>>=0,bt(e>>>=0,{name:t=gt(t>>>0),Wc:e=>e,cd:(e,t)=>t,bd:Mt(t,n),dd:null})}function Pt(e,t,n,r,i){e>>>=0,n>>>=0,t=gt(t>>>0);let a=e=>e;if(r===0){var o=32-8*n;a=e=>e<<o>>>o,i=a(i)}bt(e,{name:t,Wc:a,cd:(e,t)=>t,bd:xt(t,n,r!==0),dd:null})}function Ft(e,t,n){function r(e){var t=(C(),D)[e>>>2>>>0];return e=(C(),D)[e+4>>>2>>>0],new i((C(),ee).buffer,e,t)}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];bt(e>>>=0,{name:n=gt(n>>>0),Wc:r,bd:r},{ve:!0})}var It=(e,t,n)=>{var r=(C(),T);if(t>>>=0,0<n){var i=t;n=t+n-1;for(var a=0;a<e.length;++a){var o=e.codePointAt(a);if(127>=o){if(t>=n)break;r[t++>>>0]=o}else if(2047>=o){if(t+1>=n)break;r[t++>>>0]=192|o>>6,r[t++>>>0]=128|63&o}else if(65535>=o){if(t+2>=n)break;r[t++>>>0]=224|o>>12,r[t++>>>0]=128|o>>6&63,r[t++>>>0]=128|63&o}else{if(t+3>=n)break;r[t++>>>0]=240|o>>18,r[t++>>>0]=128|o>>12&63,r[t++>>>0]=128|o>>6&63,r[t++>>>0]=128|63&o,a++}}r[t>>>0]=0,e=t-i}else e=0;return e},Lt=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);127>=r?t++:2047>=r?t+=2:55296<=r&&57343>=r?(t+=4,++n):t+=3}return t};function Rt(e,t){bt(e>>>=0,{name:t=gt(t>>>0),Wc(e){var t=(C(),D)[e>>>2>>>0];return t=nt(e+4,t,!0),qi(e),t},cd(e,t){t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n=typeof t==`string`;if(!(n||ArrayBuffer.isView(t)&&t.BYTES_PER_ELEMENT==1))throw new yt(`Cannot pass non-string to std::string`);var r=n?Lt(t):t.length,i=Ji(4+r+1),a=i+4;return(C(),D)[i>>>2>>>0]=r,n?It(t,a,r+1):(C(),T).set(t,a>>>0),e!==null&&e.push(qi,i),i},bd:kt,dd(e){qi(e)}})}var zt=globalThis.TextDecoder?new TextDecoder(`utf-16le`):void 0,Bt=(e,t,n)=>{if(e>>>=1,16<(t=et((C(),ne),e,t/2,n))-e&&zt)return zt.decode((C(),ne).slice(e,t));for(n=``;e<t;++e){var r=(C(),ne)[e>>>0];n+=String.fromCharCode(r)}return n},Vt=(e,t,n)=>{if(n??=2147483647,2>n)return 0;var r=t;n=(n-=2)<2*e.length?n/2:e.length;for(var i=0;i<n;++i){var a=e.charCodeAt(i);(C(),te)[t>>>1>>>0]=a,t+=2}return(C(),te)[t>>>1>>>0]=0,t-r},Ht=e=>2*e.length,Ut=(e,t,n)=>{var r=``;e>>>=2;for(var i=0;!(i>=t/4);i++){var a=(C(),D)[e+i>>>0];if(!a&&!n)break;r+=String.fromCodePoint(a)}return r},Wt=(e,t,n)=>{if(t>>>=0,n??=2147483647,4>n)return 0;var r=t;n=r+n-4;for(var i=0;i<e.length;++i){var a=e.codePointAt(i);if(65535<a&&i++,(C(),E)[t>>>2>>>0]=a,(t+=4)+4>n)break}return(C(),E)[t>>>2>>>0]=0,t-r},Gt=e=>{for(var t=0,n=0;n<e.length;++n)65535<e.codePointAt(n)&&n++,t+=4;return t};function Kt(e,t,n){if(e>>>=0,t>>>=0,n=gt(n>>>=0),t===2)var r=Bt,i=Vt,a=Ht;else r=Ut,i=Wt,a=Gt;bt(e,{name:n,Wc:e=>{var n=(C(),D)[e>>>2>>>0];return n=r(e+4,n*t,!0),qi(e),n},cd:(e,r)=>{if(typeof r!=`string`)throw new yt(`Cannot pass non-string to C++ string type ${n}`);var o=a(r),s=Ji(4+o+t);return(C(),D)[s>>>2>>>0]=o/t,i(r,s+4,o+t),e!==null&&e.push(qi,s),s},bd:kt,dd(e){qi(e)}})}function qt(e,t){bt(e>>>=0,{we:!0,name:t=gt(t>>>0),Wc:()=>{},cd:()=>{}})}function Jt(e){pa(e>>>0,!r,1,!n,131072,!1),ke()}var Yt=e=>{if(!x)try{if(e(),!(0<ye))try{i?Ki()&&_a(p):Ce(p)}catch(e){e instanceof pe||e==`unwind`||c(0,e)}}catch(e){e instanceof pe||e==`unwind`||c(0,e)}},Xt=!Atomics.waitAsync||globalThis.navigator?.userAgent&&91>Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2]);function Zt(e){e>>>=0,Xt||(Atomics.waitAsync((C(),E),e>>>2,e).value.then(Qt),e+=128,Atomics.store((C(),E),e>>>2,1))}var Qt=()=>Yt(()=>{var e=Ki();e&&(Zt(e),ya())});function $t(e,t){(e>>>=0)==t>>>0?setTimeout(Qt):i?postMessage({gd:e,$c:`checkMailbox`}):(e=De[e])&&e.postMessage({$c:`checkMailbox`})}var en=[];function tn(e,t,n,r,i){for(t>>>=0,i>>>=0,en.length=0,n=i>>>3,r=i+r>>>3;n<r;){var a=(C(),ae)[n++>>>0]?(C(),ae)[n++>>>0]:(C(),ie)[n++>>>0];en.push(a)}return(t?bo[t]:yo[e])(...en)}var nn=()=>{ye=0};function rn(e){e>>>=0,i?postMessage({$c:`cleanupThread`,Le:e}):Oe(De[e])}function an(e){}var on=e=>{try{e()}catch(e){ue(e)}};function sn(e){var t=(...t)=>{dn.push(e);try{return e(...t)}finally{x||(dn.pop(),ln&&cn===1&&dn.length===0&&(cn=0,ye+=1,on(ho),typeof Fibers<`u`&&Fibers.We()))}};return mn.set(e,t),t}var cn=0,ln=null,un=0,dn=[],fn=new Map,pn=new Map,mn=new Map,hn=0,gn=null,_n=[],vn=e=>(function(e){if(!x){if(cn===0){var t=!1,n=!1;e((e=0)=>{if(!x&&(un=e,t=!0,n)){cn=2,on(()=>go(ln)),typeof MainLoop<`u`&&MainLoop.se&&MainLoop.resume(),e=!1;try{var r=(function(){var e=(C(),E)[ln+8>>>2>>>0];return e=pn.get(e),e=mn.get(e),--ye,e()})()}catch(t){r=t,e=!0}var i=!1;if(!ln){var a=gn;a&&(gn=null,(e?a.reject:a.resolve)(r),i=!0)}if(e&&!i)throw r}}),n=!0,t||(cn=1,ln=(function(){var e=Ji(65548),t=e+12;if((C(),D)[e>>>2>>>0]=t,(C(),D)[e+4>>>2>>>0]=t+65536,t=dn[0],!fn.has(t)){var n=hn++;fn.set(t,n),pn.set(n,t)}return t=fn.get(t),(C(),E)[e+8>>>2>>>0]=t,e})(),typeof MainLoop<`u`&&MainLoop.se&&MainLoop.pause(),on(()=>mo(ln)))}else cn===2?(cn=0,on(_o),qi(ln),ln=null,_n.forEach(Yt)):ue(`invalid state: ${cn}`);return un}})(t=>{e().then(t)});function yn(e){return e>>>=0,vn(async()=>Ot(await Dt(e)))}var bn=[],xn=e=>{var t=bn.length;return bn.push(e),t},Sn=(e,t)=>{for(var n=Array(e),r=0;r<e;++r){var i=r,a=(C(),D)[t+4*r>>>2>>>0],o=vt[a];if(o===void 0)throw e=`parameter ${r}`,a=Hi(a),t=gt(a),qi(a),new yt(`${e} has unknown type ${t}`);n[i]=o}return n},Cn=(e,t,n)=>{var r=[];return e=e(r,n),r.length&&((C(),D)[t>>>2>>>0]=Ot(r)),e},wn={},Tn=e=>{var t=wn[e];return t===void 0?gt(e):t};function En(e,t,n){var[r,...i]=Sn(e,t>>>0);t=r.cd.bind(r);var a=i.map(e=>e.bd.bind(e));e--;var o={toValue:Dt};switch(e=a.map((e,t)=>{var n=`argFromPtr${t}`;return o[n]=e,`${n}(args${t?`+`+8*t:``})`}),n){case 0:var s=`toValue(handle)`;break;case 2:s=`new (toValue(handle))`;break;case 3:s=``;break;case 1:o.getStringOrSymbol=Tn,s=`toValue(handle)[getStringOrSymbol(methodName)]`}return s+=`(${e})`,r.we||(o.toReturnWire=t,o.emval_returnValue=Cn,s=`return emval_returnValue(toReturnWire, destructorsRef, ${s})`),s=`return function (handle, methodName, destructorsRef, args) {
|
|
2
2
|
${s}
|
|
3
3
|
}`,n=Function(Object.keys(o),s)(...Object.values(o)),s=`methodCaller<(${i.map(e=>e.name)}) => ${r.name}>`,xn(Object.defineProperty(n,"name",{value:s}))}function Dn(e,t){return t>>>=0,(e=Dt(e>>>0))==Dt(t)}function On(e){return(e>>>=0)?(e=Tn(e),Ot(globalThis[e])):Ot(globalThis)}function kn(e){return e=Tn(e>>>0),Ot(t[e])}function An(e,t){return t>>>=0,e=Dt(e>>>0),t=Dt(t),Ot(e[t])}function jn(e){9<(e>>>=0)&&(Tt[e+1]+=1)}function Mn(e,t,n,r,i){return bn[e>>>0](t>>>0,n>>>0,r>>>0,i>>>0)}function Nn(e,t,n,r,i){return Mn(e>>>0,t>>>0,n>>>0,r>>>0,i>>>0)}function Pn(){return Ot([])}function Fn(e){e=Dt(e>>>0);for(var t=Array(e.length),n=0;n<e.length;n++)t[n]=e[n];return Ot(t)}function In(e){return Ot(Tn(e>>>0))}function Ln(){return Ot({})}function Rn(e){for(var t=Dt(e>>>=0);t.length;){var n=t.pop();t.pop()(n)}Et(e)}function zn(e,t,n){t>>>=0,n>>>=0,e=Dt(e>>>0),t=Dt(t),n=Dt(n),e[t]=n}function Bn(e,t){e=Ie(e),t>>>=0,e=new Date(1e3*e),(C(),E)[t>>>2>>>0]=e.getUTCSeconds(),(C(),E)[t+4>>>2>>>0]=e.getUTCMinutes(),(C(),E)[t+8>>>2>>>0]=e.getUTCHours(),(C(),E)[t+12>>>2>>>0]=e.getUTCDate(),(C(),E)[t+16>>>2>>>0]=e.getUTCMonth(),(C(),E)[t+20>>>2>>>0]=e.getUTCFullYear()-1900,(C(),E)[t+24>>>2>>>0]=e.getUTCDay(),e=(e.getTime()-Date.UTC(e.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,(C(),E)[t+28>>>2>>>0]=e}var Vn=e=>e%4==0&&(e%100!=0||e%400==0),Hn=[0,31,60,91,121,152,182,213,244,274,305,335],Un=[0,31,59,90,120,151,181,212,243,273,304,334];function Wn(e,t){e=Ie(e),t>>>=0,e=new Date(1e3*e),(C(),E)[t>>>2>>>0]=e.getSeconds(),(C(),E)[t+4>>>2>>>0]=e.getMinutes(),(C(),E)[t+8>>>2>>>0]=e.getHours(),(C(),E)[t+12>>>2>>>0]=e.getDate(),(C(),E)[t+16>>>2>>>0]=e.getMonth(),(C(),E)[t+20>>>2>>>0]=e.getFullYear()-1900,(C(),E)[t+24>>>2>>>0]=e.getDay();var n=(Vn(e.getFullYear())?Hn:Un)[e.getMonth()]+e.getDate()-1|0;(C(),E)[t+28>>>2>>>0]=n,(C(),E)[t+36>>>2>>>0]=-60*e.getTimezoneOffset(),n=new Date(e.getFullYear(),6,1).getTimezoneOffset();var r=new Date(e.getFullYear(),0,1).getTimezoneOffset();e=0|(n!=r&&e.getTimezoneOffset()==Math.min(r,n)),(C(),E)[t+32>>>2>>>0]=e}function Gn(e){e>>>=0;var t=new Date((C(),E)[e+20>>>2>>>0]+1900,(C(),E)[e+16>>>2>>>0],(C(),E)[e+12>>>2>>>0],(C(),E)[e+8>>>2>>>0],(C(),E)[e+4>>>2>>>0],(C(),E)[e>>>2>>>0],0),n=(C(),E)[e+32>>>2>>>0],r=t.getTimezoneOffset(),i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=new Date(t.getFullYear(),0,1).getTimezoneOffset(),o=Math.min(a,i);return 0>n?(C(),E)[e+32>>>2>>>0]=+(i!=a&&o==r):0<n!=(o==r)&&(i=Math.max(a,i),t.setTime(t.getTime()+6e4*((0<n?o:i)-r))),(C(),E)[e+24>>>2>>>0]=t.getDay(),n=(Vn(t.getFullYear())?Hn:Un)[t.getMonth()]+t.getDate()-1|0,(C(),E)[e+28>>>2>>>0]=n,(C(),E)[e>>>2>>>0]=t.getSeconds(),(C(),E)[e+4>>>2>>>0]=t.getMinutes(),(C(),E)[e+8>>>2>>>0]=t.getHours(),(C(),E)[e+12>>>2>>>0]=t.getDate(),(C(),E)[e+16>>>2>>>0]=t.getMonth(),(C(),E)[e+20>>>2>>>0]=t.getYear(),e=t.getTime(),BigInt(isNaN(e)?-1:e/1e3)}function Kn(e,t,n,r,a,o,s){return i?be(16,1,e,t,n,r,a,o,s):-52}function qn(e,t,n,r,a,o){if(i)return be(17,1,e,t,n,r,a,o)}var Jn={},Yn=()=>performance.timeOrigin+performance.now();function Xn(e,t){return i?be(18,1,e,t):(Jn[e]&&(clearTimeout(Jn[e].id),delete Jn[e]),t&&(Jn[e]={id:setTimeout(()=>{delete Jn[e],Yt(()=>va(e,performance.timeOrigin+performance.now()))},t),Ve:t}),0)}function Zn(e,t,n,r){e>>>=0,t>>>=0,n>>>=0,r>>>=0;var i=new Date().getFullYear(),a=new Date(i,0,1).getTimezoneOffset();i=new Date(i,6,1).getTimezoneOffset();var o=Math.max(a,i);(C(),D)[e>>>2>>>0]=60*o,(C(),E)[t>>>2>>>0]=+(a!=i),e=(t=e=>{var t=Math.abs(e);return`UTC${0<=e?`-`:`+`}${String(Math.floor(t/60)).padStart(2,`0`)}${String(t%60).padStart(2,`0`)}`})(a),t=t(i),i<a?(It(e,n,17),It(t,r,17)):(It(e,r,17),It(t,n,17))}var Qn=()=>Date.now(),$n=1;function er(e,t,n){if(n>>>=0,!(0<=e&&3>=e))return 28;if(e===0)e=Date.now();else{if(!$n)return 52;e=performance.timeOrigin+performance.now()}return e=Math.round(1e6*e),(C(),ae)[n>>>3>>>0]=BigInt(e),0}var tr=[],nr=(e,t)=>{tr.length=0;for(var n;n=(C(),T)[e++>>>0];){var r=n!=105;t+=(r&=n!=112)&&t%8?4:0,tr.push(n==112?(C(),D)[t>>>2>>>0]:n==106?(C(),ae)[t>>>3>>>0]:n==105?(C(),E)[t>>>2>>>0]:(C(),ie)[t>>>3>>>0]),t+=r?8:4}return tr};function rr(e,t,n){return e>>>=0,t=nr(t>>>0,n>>>0),bo[e](...t)}function ir(e,t,n){return e>>>=0,t=nr(t>>>0,n>>>0),bo[e](...t)}var ar=()=>{};function or(e,t){return b(nt(e>>>0,t>>>0))}var sr=()=>{throw ye+=1,`unwind`};function cr(){return 4294901760}var lr=()=>1,ur=()=>navigator.hardwareConcurrency,dr={},fr=e=>{var t=Lt(e)+1,n=Ji(t);return n&&It(e,n,t),n},pr=e=>{var t;return(t=/\bwasm-function\[\d+\]:(0x[0-9a-f]+)/.exec(e))?+t[1]:(t=/:(\d+):\d+(?:\)|$)/.exec(e))?2147483648|t[1]:0},mr=e=>{for(var t of e)(e=pr(t))&&(dr[e]=t)};function hr(){var e=Error().stack.toString().split(`
|
|
4
4
|
`);return e[0]==`Error`&&e.shift(),mr(e),dr.ee=pr(e[3]),dr.xe=e,dr.ee}function gr(e){if(!(e=dr[e>>>0]))return 0;var t;if(t=/^\s+at .*\.wasm\.(.*) \(.*\)$/.exec(e))e=t[1];else if(t=/^\s+at (.*) \(.*\)$/.exec(e))e=t[1];else{if(!(t=/^(.+?)@/.exec(e)))return 0;e=t[1]}return qi(gr.ne??0),gr.ne=fr(e),gr.ne}function _r(e){e>>>=0;var t=(C(),T).length;if(e<=t||4294901760<e)return!1;for(var n=1;4>=n;n*=2){var r=t*(1+.2/n);r=Math.min(r,e+100663296);e:{r=(Math.min(4294901760,65536*Math.ceil(Math.max(e,r)/65536))-Me.buffer.byteLength+65535)/65536|0;try{Me.grow(r),ce();var i=1;break e}catch{}i=void 0}if(i)return!0}return!1}function vr(e,t,n){if(e>>>=0,t>>>=0,dr.ee==e)var r=dr.xe;else(r=Error().stack.toString().split(`
|
package/site/dist/index.html
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html lang="en">
|
|
3
|
-
<script type="module" crossorigin src="./assets/index-
|
|
4
|
-
<link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-
|
|
5
|
-
<link rel="modulepreload" crossorigin href="./assets/preload-helper-CRzLMJPS.js">
|
|
3
|
+
<script type="module" crossorigin src="./assets/index-Djs8f08m.js"></script>
|
|
4
|
+
<link rel="modulepreload" crossorigin href="./assets/rolldown-runtime-COiEfhsA.js">
|
|
6
5
|
<link rel="modulepreload" crossorigin href="./assets/roles-DKPW79Ca.js">
|
|
7
6
|
|
|
8
7
|
<meta charset="utf-8">
|
|
@@ -13,7 +12,7 @@
|
|
|
13
12
|
<header class="bar"><div>
|
|
14
13
|
<a id="home" href="#/"><span id="name">Fangorn app</span></a>
|
|
15
14
|
<form id="q" role="search"><input type="search" disabled placeholder="Loading…" aria-label="Search" list="recent" autocomplete="off"><datalist id="recent"></datalist></form>
|
|
16
|
-
<nav><span id="primary"><a href="#/saved">Saved<span id="nsaved"></span></a></span><span id="aside"><a href="#/agents">Agents</a
|
|
15
|
+
<nav><span id="primary"><a href="#/saved">Saved<span id="nsaved"></span></a></span><span id="aside"><a href="#/agents">Agents</a></span></nav>
|
|
17
16
|
</div></header>
|
|
18
17
|
<main id="view"><p id="status">Loading the data…</p></main>
|
|
19
18
|
<footer>Searches run in your browser. Your searches and saved records stay on this device unless you export them.
|