sliccy 6.87.3 → 6.89.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/node-server/hostfs.d.ts +58 -0
- package/dist/node-server/hostfs.js +257 -0
- package/dist/node-server/index.js +10 -0
- package/dist/node-server/runtime-flags.d.ts +22 -0
- package/dist/node-server/runtime-flags.js +78 -2
- package/dist/ui/.vite/manifest.json +540 -449
- package/dist/ui/assets/CLAUDE-4LHXSyPA.js +1 -0
- package/dist/ui/assets/CLAUDE-Bio4HPGK.js +1 -0
- package/dist/ui/assets/MEMORY-6FXnIBfJ.js +135 -0
- package/dist/ui/assets/SKILL-BKUxKc7f.js +296 -0
- package/dist/ui/assets/SKILL-BKyxMoME.js +1 -0
- package/dist/ui/assets/SKILL-BcELX5TL.js +1 -0
- package/dist/ui/assets/SKILL-Bd5ykLEh.js +1 -0
- package/dist/ui/assets/SKILL-Bt-RhG0L.js +1 -0
- package/dist/ui/assets/SKILL-CED8RXQP.js +69 -0
- package/dist/ui/assets/SKILL-CNdAIhbb.js +1 -0
- package/dist/ui/assets/SKILL-CcMg6eqt.js +1 -0
- package/dist/ui/assets/SKILL-Ch-cOl61.js +1 -0
- package/dist/ui/assets/SKILL-CkfptFag.js +132 -0
- package/dist/ui/assets/SKILL-Ckg2XbSL.js +114 -0
- package/dist/ui/assets/SKILL-D40-t9w0.js +57 -0
- package/dist/ui/assets/SKILL-D4YtbN6n.js +1 -0
- package/dist/ui/assets/SKILL-DFKKFkzD.js +96 -0
- package/dist/ui/assets/SKILL-DJ815vTN.js +62 -0
- package/dist/ui/assets/SKILL-DLXzwsY4.js +1 -0
- package/dist/ui/assets/SKILL-DXIigmDy.js +35 -0
- package/dist/ui/assets/SKILL-DfSluXpV.js +385 -0
- package/dist/ui/assets/SKILL-DhKtVqb-.js +1 -0
- package/dist/ui/assets/SKILL-FnBxPcDX.js +1 -0
- package/dist/ui/assets/SKILL-HEHb9hIB.js +1 -0
- package/dist/ui/assets/SKILL-oOIS8LAm.js +1 -0
- package/dist/ui/assets/{account-store-DysucxMw.js → account-store-Bo-yhxpr.js} +4 -4
- package/dist/ui/assets/{account-store-Cy3TJKnu.js → account-store-CYz2dZdk.js} +2 -2
- package/dist/ui/assets/adobe-BABx4YQD.js +1 -0
- package/dist/ui/assets/adobe-DFu35kBc.js +2 -0
- package/dist/ui/assets/{angular-html-Cm4-xod0.js → angular-html-aPuBvESs.js} +1 -1
- package/dist/ui/assets/{angular-ts-Dopuir71.js → angular-ts-ocjSXnvf.js} +1 -1
- package/dist/ui/assets/anthropic-messages-CpSojOI8.js +39 -0
- package/dist/ui/assets/anthropic-messages-DbPJ2ji9.js +39 -0
- package/dist/ui/assets/api-endpoint-C00IT5T9.js +1 -0
- package/dist/ui/assets/api-endpoint-GRCyib6X.js +1 -0
- package/dist/ui/assets/{apply-layout-TIXzvNTN.js → apply-layout-DtjqLMjP.js} +1 -1
- package/dist/ui/assets/{apps-e--FORGt.js → apps-CvbmIZii.js} +1 -1
- package/dist/ui/assets/{astro-E_b8esPp.js → astro-go1PgQEf.js} +1 -1
- package/dist/ui/assets/auto-mount-table-CdyPAwVL.js +1 -0
- package/dist/ui/assets/{azure-openai-mDyNL8OK.js → azure-openai-C47c28Th.js} +2 -2
- package/dist/ui/assets/{azure-openai-C5josrBb.js → azure-openai-Dn30Odmd.js} +2 -2
- package/dist/ui/assets/azure-openai-responses-BcoOaRCx.js +1 -0
- package/dist/ui/assets/azure-openai-responses-DUMDrZ29.js +1 -0
- package/dist/ui/assets/backend-hostfs-Com-zF5W.js +1 -0
- package/dist/ui/assets/backend-hostfs-bQQx-S0W.js +1 -0
- package/dist/ui/assets/bedrock-camp-BcJEC3Pg.js +1 -0
- package/dist/ui/assets/bedrock-camp-LeceEQbU.js +1 -0
- package/dist/ui/assets/bedrock-camp-compat-CYnC9BQI.js +1 -0
- package/dist/ui/assets/bedrock-camp-compat-CgBMwna8.js +1 -0
- package/dist/ui/assets/{blade-mj2TcBTp.js → blade-DPPr6MF0.js} +1 -1
- package/dist/ui/assets/catppuccin-frappe-C9Q5zVZY.js +1 -0
- package/dist/ui/assets/catppuccin-latte-CtsyrtPq.js +1 -0
- package/dist/ui/assets/catppuccin-macchiato-R8nAf1vR.js +1 -0
- package/dist/ui/assets/catppuccin-mocha-DjuaAJKi.js +1 -0
- package/dist/ui/assets/cerebras-B2bBHcWG.js +1 -0
- package/dist/ui/assets/cerebras-DWI7o4tY.js +1 -0
- package/dist/ui/assets/chime-CPc6qSh5.js +1 -0
- package/dist/ui/assets/claude-model-version-Csn7RPVg.js +1 -0
- package/dist/ui/assets/claude-model-version-DoVrYsKi.js +2 -0
- package/dist/ui/assets/{client-BTUV7dbh.js → client-DVC0x03n.js} +1 -1
- package/dist/ui/assets/{composer-speech-SNeD5SER.js → composer-speech-Cy4g3lh3.js} +1 -1
- package/dist/ui/assets/connect-llm-FevTa-aV.js +561 -0
- package/dist/ui/assets/{connect-surface-DqU2NC2c.js → connect-surface-Dd462OJJ.js} +1 -1
- package/dist/ui/assets/cpp-Ct9pQPqT.js +1 -0
- package/dist/ui/assets/{css-vJJohHMc.js → css-DlBQoFxe.js} +1 -1
- package/dist/ui/assets/db-DSIYsBgP.js +1 -0
- package/dist/ui/assets/db-cKsBsMMN.js +1 -0
- package/dist/ui/assets/discovery-preference-__0HPYJC.js +1 -0
- package/dist/ui/assets/dist-B4LJzMVB.js +1547 -0
- package/dist/ui/assets/{ensure-speech-assets-DvFwJX-M.js → ensure-speech-assets-CKwQ54O1.js} +1 -1
- package/dist/ui/assets/float-topology-DiK91BlA.js +1 -0
- package/dist/ui/assets/{follower-navigate-watcher-CNC7ybEv.js → follower-navigate-watcher-Dz-52eZY.js} +1 -1
- package/dist/ui/assets/fs-BHEdp-e-.js +1 -0
- package/dist/ui/assets/fs-MCOH5KUJ.js +2 -0
- package/dist/ui/assets/github-BbQO4O_c.js +2 -0
- package/dist/ui/assets/github-C-f5ThxJ.js +1 -0
- package/dist/ui/assets/github-copilot-DXrDbEzB.js +1 -0
- package/dist/ui/assets/github-copilot-Du-Z6Dmn.js +2 -0
- package/dist/ui/assets/{github-install-CFJLPySf.js → github-install-DbrQX7SM.js} +1 -1
- package/dist/ui/assets/{github-zip-C7dhlRG8.js → github-zip-BRYnSLKK.js} +1 -1
- package/dist/ui/assets/{go-BJwz_mda.js → go-rLFTqkRN.js} +1 -1
- package/dist/ui/assets/google-generative-ai-Dxo91M3n.js +1 -0
- package/dist/ui/assets/google-generative-ai-Rjh7hNBV.js +1 -0
- package/dist/ui/assets/{google-shared-BMJ_JErv.js → google-shared-CzJgTu-P.js} +3 -3
- package/dist/ui/assets/{google-shared-YqcyR4cm.js → google-shared-DQJPCU3d.js} +3 -3
- package/dist/ui/assets/google-vertex-61Jj0dk6.js +1 -0
- package/dist/ui/assets/google-vertex-DEwkNZJm.js +1 -0
- package/dist/ui/assets/{haml-DboNpPfQ.js → haml-Bqgi1Cau.js} +1 -1
- package/dist/ui/assets/{handlebars-Bv_jLwHk.js → handlebars-JgcNzdBj.js} +1 -1
- package/dist/ui/assets/{hear-D33CHppO.js → hear-BqNAK8-P.js} +1 -1
- package/dist/ui/assets/{horizon-bright-Br1oVSNq.js → horizon-bright-DSNQnXHK.js} +1 -1
- package/dist/ui/assets/host-command-zx0pt9Np.js +1 -0
- package/dist/ui/assets/{html-BLkwJ0Yd.js → html-BsvMqTlf.js} +1 -1
- package/dist/ui/assets/{html-derivative-B3p5VrMH.js → html-derivative-D9FvRNj4.js} +1 -1
- package/dist/ui/assets/icon-example-LUkiEXyS.js +111 -0
- package/dist/ui/assets/{jinja-BeFOxtqS.js → jinja-CixBDh_U.js} +1 -1
- package/dist/ui/assets/{js-realm-worker-BcijiBMH.js → js-realm-worker-BZhHEqbx.js} +1 -1
- package/dist/ui/assets/jsh-runtime-extensions-DpVq60Gw.js +1 -0
- package/dist/ui/assets/julia-B5NbrcUp.js +1 -0
- package/dist/ui/assets/kanagawa-dragon-Bozd7klA.js +1 -0
- package/dist/ui/assets/kanagawa-lotus-BmuOG9ZW.js +1 -0
- package/dist/ui/assets/kanagawa-wave-BML5mF2J.js +1 -0
- package/dist/ui/assets/kernel-worker-CwFqaikq.js +5233 -0
- package/dist/ui/assets/legacy-api-aliases-BnRqMAef.js +1 -0
- package/dist/ui/assets/legacy-api-aliases-oJPAvhVV.js +1 -0
- package/dist/ui/assets/{lick-manager-BJhAu_iX.js → lick-manager-DFmMezV-.js} +1 -1
- package/dist/ui/assets/{lick-urls-AW0BSaf4.js → lick-urls-DcXOqXGm.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-DiPcVRfN.js → lick-ws-bridge-CnkYvHKI.js} +1 -1
- package/dist/ui/assets/{lick-ws-bridge-CWRES2H2.js → lick-ws-bridge-yklVm5en.js} +1 -1
- package/dist/ui/assets/{local-llm-DVCKFUl_.js → local-llm-D4MgnlBK.js} +1 -1
- package/dist/ui/assets/{local-llm-CQE3URQQ.js → local-llm-HluX94rS.js} +1 -1
- package/dist/ui/assets/{main-DQS8QHXU.js → main-BmpPeikS.js} +3 -3
- package/dist/ui/assets/{marko-C3klgjEa.js → marko-DYWPPmCl.js} +1 -1
- package/dist/ui/assets/mdc-Cno1UUUH.js +1 -0
- package/dist/ui/assets/mistral-conversations-BtaPxrK1.js +4 -0
- package/dist/ui/assets/mistral-conversations-CDLVw-9i.js +4 -0
- package/dist/ui/assets/{transform-messages-DEFauvrq.js → models-4WTk3EBD.js} +1 -1
- package/dist/ui/assets/{transform-messages-N_eMsP2M.js → models-BSkXF4T6.js} +1 -1
- package/dist/ui/assets/monokai-B_bV9PQ9.js +1 -0
- package/dist/ui/assets/mount-B_Yysj_W.js +2 -0
- package/dist/ui/assets/{mount-bridge-client-4blXuJO1.js → mount-bridge-client-DZE6sHdr.js} +1 -1
- package/dist/ui/assets/mount-kkSADJkJ.js +1 -0
- package/dist/ui/assets/mount-recovery-xQgEe0_O.js +2 -0
- package/dist/ui/assets/new-session-CEfChDqS.js +2 -0
- package/dist/ui/assets/oauth-bootstrap-C9bBExq6.js +2 -0
- package/dist/ui/assets/oauth-service-CTntqv0R.js +1 -0
- package/dist/ui/assets/oauth-service-Uk8UIb05.js +1 -0
- package/dist/ui/assets/{onboarding-orchestrator-CaLdds3m.js → onboarding-orchestrator-CnKr0yBW.js} +1 -1
- package/dist/ui/assets/openai-codex-Cs4FnQBb.js +1 -0
- package/dist/ui/assets/openai-codex-QVbVkjdj.js +1 -0
- package/dist/ui/assets/openai-codex-responses-CPOJeFUY.js +7 -0
- package/dist/ui/assets/openai-codex-responses-jQR19NyX.js +7 -0
- package/dist/ui/assets/openai-completions-DGOcowq8.js +5 -0
- package/dist/ui/assets/openai-completions-DGZFJo5D.js +5 -0
- package/dist/ui/assets/openai-responses-CDTdSIhv.js +1 -0
- package/dist/ui/assets/openai-responses-bnETPgx9.js +1 -0
- package/dist/ui/assets/{openai-responses-shared-DxcsuzHF.js → openai-responses-shared-ChgvRZ74.js} +5 -5
- package/dist/ui/assets/{openai-responses-shared-DhnqxYC9.js → openai-responses-shared-DqJbHrek.js} +5 -5
- package/dist/ui/assets/openrouter-CKoiUQKB.js +1 -0
- package/dist/ui/assets/openrouter-D1wpkLTj.js +1 -0
- package/dist/ui/assets/{openrouter-oauth-Dy4Qqt06.js → openrouter-oauth-Df_lWai3.js} +1 -1
- package/dist/ui/assets/{openrouter-oauth-DvOb1QMV.js → openrouter-oauth-jvPojBWW.js} +1 -1
- package/dist/ui/assets/{page-approval-service-Bbc3_KdK.js → page-approval-service-BsXoPdFJ.js} +1 -1
- package/dist/ui/assets/panel-rpc-handlers-Dwk2fvsL.js +2 -0
- package/dist/ui/assets/{panelize-shell-BRldzPxv.js → panelize-shell-DG3fFAS4.js} +1 -1
- package/dist/ui/assets/patterns-ChiGbijt.js +171 -0
- package/dist/ui/assets/php-m5Ug_San.js +1 -0
- package/dist/ui/assets/port-bridge-client-BhmNRlRv.js +2 -0
- package/dist/ui/assets/port-bridge-client-Bz2N1tvn.js +1 -0
- package/dist/ui/assets/{provider-D2RXncrR.js → provider-Dq-ruSoi.js} +2 -2
- package/dist/ui/assets/{provider-Bk24TjUg.js → provider-Y9RlYumW.js} +1 -1
- package/dist/ui/assets/{provider-settings-B5B0NtAl.js → provider-settings-CR96H2hU.js} +1 -1
- package/dist/ui/assets/provider-settings-DNJS-V3F.js +2 -0
- package/dist/ui/assets/{provider-store-access-Cl5aZRx7.js → provider-store-access-BIdOJknd.js} +2 -2
- package/dist/ui/assets/provider-store-access-HarlSCPD.js +1 -0
- package/dist/ui/assets/providers-BS5_Cp-0.js +2 -0
- package/dist/ui/assets/providers-DRiRdLO1.js +1 -0
- package/dist/ui/assets/proxied-fetch-BGeNrvQ4.js +2 -0
- package/dist/ui/assets/proxied-fetch-Co-pb0x0.js +1 -0
- package/dist/ui/assets/{pug-BPcX_o8k.js → pug-B4bk2kWf.js} +1 -1
- package/dist/ui/assets/quick-llm-9w6VrHaQ.js +1 -0
- package/dist/ui/assets/r-C5FwQflr.js +1 -0
- package/dist/ui/assets/record-Cy655bTh.js +1 -0
- package/dist/ui/assets/{recovery-screen-MHXsY2RD.js → recovery-screen-ClVBOtr7.js} +1 -1
- package/dist/ui/assets/red-DX1BQOs8.js +1 -0
- package/dist/ui/assets/{redirect-uri-B1SxiY-b.js → redirect-uri-B16gkDfI.js} +1 -1
- package/dist/ui/assets/{remote-terminal-view-Dc-DMywu.js → remote-terminal-view-DSUnPeXp.js} +1 -1
- package/dist/ui/assets/rose-pine-aMsaMD1D.js +1 -0
- package/dist/ui/assets/rose-pine-dawn-8PwUyIlP.js +1 -0
- package/dist/ui/assets/rose-pine-moon-DO-qXg-I.js +1 -0
- package/dist/ui/assets/{scss-0nEf0IT-.js → scss-BaZL6t2Y.js} +1 -1
- package/dist/ui/assets/secret-env-CjwX7z7b.js +1 -0
- package/dist/ui/assets/secret-topology-0AWfFTh5.js +1 -0
- package/dist/ui/assets/{secrets-bridge-client-cWDAnFqs.js → secrets-bridge-client-DCQ44RyR.js} +1 -1
- package/dist/ui/assets/{session-freezer-CnFBCb6j.js → session-freezer-BcGQ4XGx.js} +3 -3
- package/dist/ui/assets/{setup-feature-flags-remote-Dlcwmn-_.js → setup-feature-flags-remote-8Rvw554i.js} +1 -1
- package/dist/ui/assets/setup-standalone-prelude-NNpe-m64.js +2 -0
- package/dist/ui/assets/setup-sudo-CbAhwltm.js +2 -0
- package/dist/ui/assets/{skills-C90t15zW.js → skills-CDnSEmr6.js} +1 -1
- package/dist/ui/assets/{slicc-diff-DsGtkf0J.js → slicc-diff-DhGIKKqP.js} +1 -1
- package/dist/ui/assets/slicc-version-2zGA6xjX.js +1 -0
- package/dist/ui/assets/smithy-Dgaz7aur.js +1 -0
- package/dist/ui/assets/solarized-dark-UdsmMDCL.js +1 -0
- package/dist/ui/assets/solarized-light-C1IUL_tW.js +1 -0
- package/dist/ui/assets/{speak-BDT9rGzg.js → speak-BSK3Souh.js} +1 -1
- package/dist/ui/assets/{sql-69VAgb2g.js → sql-DvarVTMJ.js} +1 -1
- package/dist/ui/assets/{src-DsDPrXOS.js → src-DXdqCrdV.js} +2 -2
- package/dist/ui/assets/{store-BmhLnay6.js → store-BKV5dm_L.js} +1 -1
- package/dist/ui/assets/{store-Cvg04_Rz.js → store-Bl3OB-Qs.js} +1 -1
- package/dist/ui/assets/style-guide-Bgzsk7bf.js +821 -0
- package/dist/ui/assets/{sudo-DYhM4jWf.js → sudo-Bnq6X0me.js} +2 -2
- package/dist/ui/assets/{svelte-B4PVQJ-7.js → svelte-D4FIy7cP.js} +1 -1
- package/dist/ui/assets/swift-CyEgAFGc.js +1 -0
- package/dist/ui/assets/temperature-support-B4x2xaWY.js +1 -0
- package/dist/ui/assets/temperature-support-Cpml9LfI.js +1 -0
- package/dist/ui/assets/transform-messages-DZg9zDcV.js +1 -0
- package/dist/ui/assets/transform-messages-XkZ1QnTb.js +1 -0
- package/dist/ui/assets/transformers-env-DPjdc2EQ.js +1 -0
- package/dist/ui/assets/tray-leader-iVJTGwuf.js +1 -0
- package/dist/ui/assets/{tray-leave-runtime-BGfdX5KF.js → tray-leave-runtime-CN7V9V7O.js} +1 -1
- package/dist/ui/assets/{tray-runtime-config-B1LF8Kd4.js → tray-runtime-config-CVoPQrT2.js} +1 -1
- package/dist/ui/assets/tray-runtime-config-D7cmCcHJ.js +1 -0
- package/dist/ui/assets/ts-tags-C4Ifwy6r.js +1 -0
- package/dist/ui/assets/{upgrade-detection-Co2MZvYS.js → upgrade-detection-BC1ILaMz.js} +1 -1
- package/dist/ui/assets/vesper-DdrHHSXu.js +1 -0
- package/dist/ui/assets/{voice-reply-CnP5wEO_.js → voice-reply-BNX-jA0G.js} +1 -1
- package/dist/ui/assets/{vue-Dg0Kv3qp.js → vue-Djeyp8pE.js} +1 -1
- package/dist/ui/assets/{vue-vine-DdvC-EE2.js → vue-vine-By_xyXdL.js} +1 -1
- package/dist/ui/assets/{wc-attach-DsMfUpx8.js → wc-attach-CPoS-Z-g.js} +2 -2
- package/dist/ui/assets/{wc-extension-CL-LAE0W.js → wc-extension-pWBTulcf.js} +2 -2
- package/dist/ui/assets/wc-float-label-D7p-4xyd.js +1 -0
- package/dist/ui/assets/wc-follower-TQacOT97.js +17 -0
- package/dist/ui/assets/wc-live-DlayGhwI.js +8 -0
- package/dist/ui/assets/wc-nav-Co62IQ9D.js +2 -0
- package/dist/ui/assets/wc-onboarding-CqIwr35s.js +2 -0
- package/dist/ui/assets/{wc-permissions-gFKCQht9.js → wc-permissions-Oq3nX_59.js} +2 -2
- package/dist/ui/assets/wc-placeholder-CRVvrH3X.js +4 -0
- package/dist/ui/assets/{wc-scoop-color-CByZNEJo.js → wc-scoop-color-ShF3p7L9.js} +1 -1
- package/dist/ui/assets/wc-settings-Bh5hIzNc.js +51 -0
- package/dist/ui/assets/{wc-shell-DC5bovWA.js → wc-shell-7mtD7TN_.js} +3 -3
- package/dist/ui/assets/wc-sprinkles-wT8iHdRT.js +2 -0
- package/dist/ui/assets/wc-tray-DxDD8gsB.js +2 -0
- package/dist/ui/assets/wc-tray-scoops-B7RY-1VN.js +5 -0
- package/dist/ui/assets/wc-unit-context-C0EqsYUD.js +1 -0
- package/dist/ui/assets/welcome-CyCMJDqG.js +621 -0
- package/dist/ui/assets/{welcome-detection-C2MvJDW4.js → welcome-detection-DjomEbCT.js} +1 -1
- package/dist/ui/assets/whisper-session-DpDs0sDL.js +2 -0
- package/dist/ui/assets/x_search-C-5p00-C.js +131 -0
- package/dist/ui/assets/xai-grok-CcoDiPUW.js +1 -0
- package/dist/ui/assets/xai-grok-DO4be7QU.js +1 -0
- package/dist/ui/index.html +16 -14
- package/dist/ui/packages/webapp/index.html +16 -14
- package/dist/ui/slicc-diff.js +1 -1
- package/package.json +3 -4
- package/dist/ui/assets/adobe-C19oqBaU.js +0 -1
- package/dist/ui/assets/adobe-Dv-gMc09.js +0 -2
- package/dist/ui/assets/anthropic-messages-BX4DpK10.js +0 -39
- package/dist/ui/assets/anthropic-messages-C-orWG7m.js +0 -39
- package/dist/ui/assets/azure-openai-responses-C2LleG-4.js +0 -1
- package/dist/ui/assets/azure-openai-responses-Df9YPxyp.js +0 -1
- package/dist/ui/assets/bedrock-camp-B0KF_4RS.js +0 -1
- package/dist/ui/assets/bedrock-camp-qpZqnqLa.js +0 -2
- package/dist/ui/assets/catppuccin-frappe-3VR1Za6u.js +0 -1
- package/dist/ui/assets/catppuccin-latte-DwIHMF0Q.js +0 -1
- package/dist/ui/assets/catppuccin-macchiato-DYnBP6_5.js +0 -1
- package/dist/ui/assets/catppuccin-mocha-DYhrFGRu.js +0 -1
- package/dist/ui/assets/cerebras-CDHmZz_Y.js +0 -1
- package/dist/ui/assets/cerebras-DPV0CO1I.js +0 -1
- package/dist/ui/assets/cpp-CdhRINFH.js +0 -1
- package/dist/ui/assets/db-DATxPCUz.js +0 -1
- package/dist/ui/assets/db-DIbBClfy.js +0 -1
- package/dist/ui/assets/discovery-preference-fqUhjzeE.js +0 -1
- package/dist/ui/assets/dist-Dwa3Gdd4.js +0 -1547
- package/dist/ui/assets/float-topology-BgioAcOd.js +0 -1
- package/dist/ui/assets/fs-CIIVB1OK.js +0 -2
- package/dist/ui/assets/fs-QyBiZMuq.js +0 -1
- package/dist/ui/assets/github-Ctvr_Nd6.js +0 -1
- package/dist/ui/assets/github-Dq-ryVOk.js +0 -2
- package/dist/ui/assets/github-copilot-DIk_soEH.js +0 -1
- package/dist/ui/assets/github-copilot-Dm5mGSYk.js +0 -2
- package/dist/ui/assets/google-generative-ai-C9uw7Zks.js +0 -1
- package/dist/ui/assets/google-generative-ai-DHBc1oKV.js +0 -1
- package/dist/ui/assets/google-vertex-BaT3InWy.js +0 -1
- package/dist/ui/assets/google-vertex-DX8CfGr6.js +0 -1
- package/dist/ui/assets/host-command-G_JIdBPR.js +0 -1
- package/dist/ui/assets/julia-DibC-h6i.js +0 -1
- package/dist/ui/assets/kanagawa-dragon-CXtmUGW6.js +0 -1
- package/dist/ui/assets/kanagawa-lotus-BN08jTvb.js +0 -1
- package/dist/ui/assets/kanagawa-wave-CTweb8Dz.js +0 -1
- package/dist/ui/assets/kernel-worker-BiaHa-Mz.js +0 -9014
- package/dist/ui/assets/legacy-api-aliases-CsTVszvY.js +0 -1
- package/dist/ui/assets/legacy-api-aliases-nSD9C16V.js +0 -1
- package/dist/ui/assets/mdc-Otire2H_.js +0 -1
- package/dist/ui/assets/mistral-conversations-BXo-tb0V.js +0 -4
- package/dist/ui/assets/mistral-conversations-Ck257tvp.js +0 -4
- package/dist/ui/assets/monokai-CdkpiU2Y.js +0 -1
- package/dist/ui/assets/mount-C20u28qg.js +0 -2
- package/dist/ui/assets/mount-DSlWOyRg.js +0 -1
- package/dist/ui/assets/mount-recovery-Dp2uzDT3.js +0 -2
- package/dist/ui/assets/new-session-BmqHuPnd.js +0 -2
- package/dist/ui/assets/oauth-bootstrap-CF5Iq7xU.js +0 -2
- package/dist/ui/assets/oauth-service-Bbrrl8Mr.js +0 -1
- package/dist/ui/assets/oauth-service-Cy5ngmcU.js +0 -1
- package/dist/ui/assets/openai-codex-C2ilX51B.js +0 -1
- package/dist/ui/assets/openai-codex-bhWf9evO.js +0 -1
- package/dist/ui/assets/openai-codex-responses-BQzefg3i.js +0 -7
- package/dist/ui/assets/openai-codex-responses-JtcU5b3J.js +0 -7
- package/dist/ui/assets/openai-completions-D-HjYi8x.js +0 -5
- package/dist/ui/assets/openai-completions-QMfwfjiE.js +0 -5
- package/dist/ui/assets/openai-responses-BVHnEPuG.js +0 -1
- package/dist/ui/assets/openai-responses-Ca0oWhbv.js +0 -1
- package/dist/ui/assets/openrouter-Bo62to17.js +0 -1
- package/dist/ui/assets/openrouter-C9_8OqEu.js +0 -1
- package/dist/ui/assets/panel-rpc-handlers-Dbhx7m_G.js +0 -2
- package/dist/ui/assets/php-BidqsJNR.js +0 -1
- package/dist/ui/assets/port-bridge-client-BbVs1yhx.js +0 -2
- package/dist/ui/assets/port-bridge-client-DxYLF2-N.js +0 -1
- package/dist/ui/assets/provider-settings-BTpBo_o4.js +0 -2
- package/dist/ui/assets/provider-store-access-CrgSlufJ.js +0 -1
- package/dist/ui/assets/providers-Crdj27DN.js +0 -2
- package/dist/ui/assets/providers-DX7EJ4Fn.js +0 -1
- package/dist/ui/assets/proxied-fetch-B4g-4VbQ.js +0 -2
- package/dist/ui/assets/proxied-fetch-n2pCvcgW.js +0 -1
- package/dist/ui/assets/quick-llm-hL6bZGLe.js +0 -1
- package/dist/ui/assets/r-Dzep-lPg.js +0 -1
- package/dist/ui/assets/record-Z5ZWTUPJ.js +0 -1
- package/dist/ui/assets/red-CJ3rzSJv.js +0 -1
- package/dist/ui/assets/rose-pine-BthvhNj6.js +0 -1
- package/dist/ui/assets/rose-pine-dawn-Dg85fqjY.js +0 -1
- package/dist/ui/assets/rose-pine-moon-hon4tzzS.js +0 -1
- package/dist/ui/assets/secret-env-q4hxkt7Z.js +0 -1
- package/dist/ui/assets/secret-topology-xLmXoozo.js +0 -1
- package/dist/ui/assets/setup-standalone-prelude-Btsjqjoe.js +0 -2
- package/dist/ui/assets/setup-sudo-DrmeHwU_.js +0 -2
- package/dist/ui/assets/slicc-version-tsUsi909.js +0 -1
- package/dist/ui/assets/solarized-dark-DV17i1UV.js +0 -1
- package/dist/ui/assets/solarized-light-DSh2HLQt.js +0 -1
- package/dist/ui/assets/swift-DonLKvLd.js +0 -1
- package/dist/ui/assets/transformers-env-SL0zTs7S.js +0 -1
- package/dist/ui/assets/tray-leader-DcRtwWl-.js +0 -1
- package/dist/ui/assets/tray-runtime-config-CRGwg9SK.js +0 -1
- package/dist/ui/assets/ts-tags-BUIgHz80.js +0 -1
- package/dist/ui/assets/vesper-D5bVUKB1.js +0 -1
- package/dist/ui/assets/wc-float-label-qqb_uM9y.js +0 -1
- package/dist/ui/assets/wc-follower-troAtcMA.js +0 -17
- package/dist/ui/assets/wc-live-D1Mon0cw.js +0 -8
- package/dist/ui/assets/wc-nav-BV6Jm98e.js +0 -2
- package/dist/ui/assets/wc-onboarding-Dg4E9VDR.js +0 -2
- package/dist/ui/assets/wc-placeholder-_6RUOpYH.js +0 -4
- package/dist/ui/assets/wc-settings-Dy5cPd8c.js +0 -51
- package/dist/ui/assets/wc-sprinkles-CDP31nXS.js +0 -2
- package/dist/ui/assets/wc-tray-MFZAPwt4.js +0 -2
- package/dist/ui/assets/wc-tray-scoops-B2RP8cgD.js +0 -5
- package/dist/ui/assets/whisper-session-Cf2gGkoR.js +0 -2
- package/dist/ui/assets/xai-grok-C2GEvF8U.js +0 -1
- package/dist/ui/assets/xai-grok-CoSPbEFx.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as e,d as t,f as n,g as r,h as i,m as a,p as o,v as s}from"./claude-model-version-DoVrYsKi.js";var c=s(),l=e(),u=r(),d=i(),f=a(),p=o(),m=n(),h=t(),g=c.stream,_=c.streamSimple;l.stream,l.streamSimple,u.stream,u.streamSimple,d.stream,d.streamSimple,f.stream,f.streamSimple;var v=p.stream,y=p.streamSimple,b=m.stream,x=m.streamSimple,S=h.stream,C=h.streamSimple;export{_ as a,C as c,S as i,v as n,y as o,b as r,x as s,g as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as e,f as t,g as n,h as r,m as i,p as a,v as o,y as s}from"./claude-model-version-Csn7RPVg.js";const c=s(),l=o(),u=e(),d=n(),f=r(),p=i(),m=a(),h=t(),g=c.stream,_=c.streamSimple;l.stream,l.streamSimple,u.stream,u.streamSimple,d.stream,d.streamSimple,f.stream,f.streamSimple;const v=p.stream,y=p.streamSimple,b=m.stream,x=m.streamSimple,S=h.stream,C=h.streamSimple;export{_ as a,C as c,S as i,v as n,y as o,b as r,x as s,g as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-LESFN7Hj.js";import{s as n}from"./src-CcFD5QfS.js";import{T as r,c as i,f as a,i as o,l as s,p as c,v as l,x as u,y as d}from"./db-DATxPCUz.js";function f(e,t){if(e==null)return[];let n;if(Array.isArray(e))n=e.join(`, `).replace(/\n/g,`, `);else if(typeof e==`string`)n=e.replace(/\n/g,`, `);else return[];if(n.length===0)return[];let r=[],i=n.length,a=0;for(;a<i&&(a=p(n,a),!(a>=i));){if(n[a]!==`<`){a=m(n,a);continue}let e=n.indexOf(`>`,a+1);if(e===-1)break;let o=n.slice(a+1,e);a=e+1;let s=[];for(;a<i&&(a=p(n,a),!(a>=i));){if(n[a]===`,`){a++;break}if(n[a]!==`;`){a=m(n,a);break}a++,a=p(n,a);let e=a;for(;a<i&&ne(n.charCodeAt(a));)a++;if(a<i&&n[a]===`*`&&a++,e===a){a=m(n,a);break}let t=n.slice(e,a).toLowerCase();a=p(n,a);let r=``;if(a<i&&n[a]===`=`)if(a++,a=p(n,a),a<i&&n[a]===`"`){let e=te(n,a);r=e.value,a=e.end}else{let e=a;for(;a<i&&n[a]!==`;`&&n[a]!==`,`&&!ee(n[a]);)a++;r=n.slice(e,a)}s.push([t,r])}let c=h(o,s,t);c&&r.push(c)}return r}function p(e,t){for(;t<e.length&&(e[t]===` `||e[t]===` `);)t++;return t}function ee(e){return e===` `||e===` `}function m(e,t){let n=!1;for(;t<e.length;){let r=e[t];if(n){if(r===`\\`&&t+1<e.length){t+=2;continue}r===`"`&&(n=!1)}else if(r===`"`)n=!0;else if(r===`,`)return t+1;t++}return t}function te(e,t){t++;let n=``;for(;t<e.length;){let r=e[t];if(r===`\\`)t++,t<e.length&&(n+=e[t],t++);else if(r===`"`)return{value:n,end:t+1};else n+=r,t++}return{value:n,end:t}}function ne(e){if(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)return!0;switch(e){case 33:case 35:case 36:case 37:case 38:case 39:case 42:case 43:case 45:case 46:case 94:case 95:case 96:case 124:case 126:return!0}return!1}function h(e,t,n){let r={},i={};for(let[e,n]of t){if(e.endsWith(`*`)){let t=_(n);t!=null&&(i[e.slice(0,-1)]=t);continue}e===`rel`&&`rel`in r||(r[e]=n)}for(let[e,t]of Object.entries(i))r[e]=t;let a=g(e,n),o=r.anchor==null?void 0:g(r.anchor,n),s={href:a,rel:(r.rel??``).split(/[ \t]+/).filter(e=>e.length>0),params:r};return o!=null&&(s.anchor=o),r.type!=null&&(s.type=r.type),r.title!=null&&(s.title=r.title),r.hreflang!=null&&(s.hreflang=r.hreflang),s}function g(e,t){if(!t)return e;try{return new URL(e,t).toString()}catch{return e}}function _(e){let t=e.indexOf(`'`);if(t===-1)return null;let n=e.indexOf(`'`,t+1);if(n===-1||e.slice(0,t).toLowerCase()!==`utf-8`)return null;try{return decodeURIComponent(e.slice(n+1))}catch{return null}}function v(e){if(!e)return[];let t=[];for(let[n,r]of Object.entries(e))n.toLowerCase()===`link`&&typeof r==`string`&&r.length>0&&t.push(r);return t}function y(e){for(let t of e)if(t.rel.includes(`ai-catalog`))return{kind:`ai-catalog`,url:t.href};return null}function re(e){return[e.origin??``,e.kind??``,e.url??``].join(`\0`)}const ie=`${n}/rel/handoff`,b=`${n}/rel/upskill`;function ae(e){let t=e.replace(/\/+$/,``),n=t.toLowerCase();return n.endsWith(`/skill.md`)?t.slice(0,-9):n===`skill.md`?``:t}const oe=/^[A-Za-z0-9._/-]+$/,x=/^[A-Za-z0-9._/-]+$/;function S(e){return!(e.length===0||e.length>250||!oe.test(e)||e.startsWith(`-`)||e.startsWith(`/`)||e.endsWith(`/`)||e.includes(`..`)||e.endsWith(`.lock`))}function C(e){return!(e.length===0||e.length>1024||!x.test(e)||e.startsWith(`-`)||e.startsWith(`/`)||e.includes(`..`))}function w(e,t){let n=t.branch;typeof n==`string`&&S(n)&&(e.branch=n);let r=t.path;if(typeof r==`string`&&r.length>0){let t=ae(r);t.length>0&&C(t)&&(e.path=t)}}function T(e){for(let t of e){if(t.rel.includes(ie)){let e={verb:`handoff`,target:t.href};return t.title!=null&&t.title.length>0&&(e.instruction=t.title),e}if(t.rel.includes(b)){let e={verb:`upskill`,target:t.href};return t.title!=null&&t.title.length>0&&(e.instruction=t.title),w(e,t.params),e}}return null}function E(e){return[e.verb,e.target,e.branch??``,e.path??``,e.instruction??``].join(`\0`)}function se(e,t){let n=v(e);if(n.length===0)return{match:null,links:[]};let r=f(n,t);return{match:T(r),links:r}}function D(e){return Date.UTC(e.y,e.m-1,e.d,e.h,e.i,e.s)}function O(e,t){return e.y===t.y&&e.m===t.m&&e.d===t.d&&e.h===t.h&&e.i===t.i&&e.s===t.s}function k(e,t){let n=new Date(Date.parse(e));if(isNaN(n))throw Error(`Invalid ISO8601 passed to timezone parser.`);let r=e.substring(9);return r.includes(`Z`)||r.includes(`+`)||r.includes(`-`)?N(n.getUTCFullYear(),n.getUTCMonth()+1,n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds(),`Etc/UTC`):N(n.getFullYear(),n.getMonth()+1,n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),t)}function A(e,t,n){return j(k(e,t),n)}function j(e,t){let n=new Date(D(e)),r=M(n,e.tz),i=D(e)-D(r),a=new Date(n.getTime()+i),o=M(a,e.tz);if(O(o,e)){let t=new Date(a.getTime()-36e5);return O(M(t,e.tz),e)?t:a}let s=new Date(a.getTime()+D(e)-D(o));if(O(M(s,e.tz),e))return s;if(t)throw Error(`Invalid date passed to fromTZ()`);return a.getTime()>s.getTime()?a:s}function M(e,t){let n,r;try{n=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`numeric`,day:`numeric`,hour:`numeric`,minute:`numeric`,second:`numeric`,hour12:!1}),r=n.formatToParts(e)}catch(e){let n=e instanceof Error?e.message:String(e);throw RangeError(`toTZ: Invalid timezone '${t}' or date. Please provide a valid IANA timezone (e.g., 'America/New_York', 'Europe/Stockholm'). Original error: ${n}`)}let i={year:0,month:0,day:0,hour:0,minute:0,second:0};for(let e of r)(e.type===`year`||e.type===`month`||e.type===`day`||e.type===`hour`||e.type===`minute`||e.type===`second`)&&(i[e.type]=parseInt(e.value,10));if(isNaN(i.year)||isNaN(i.month)||isNaN(i.day)||isNaN(i.hour)||isNaN(i.minute)||isNaN(i.second))throw Error(`toTZ: Failed to parse all date components from timezone '${t}'. This may indicate an invalid date or timezone configuration. Parsed components: ${JSON.stringify(i)}`);return i.hour===24&&(i.hour=0),{y:i.year,m:i.month,d:i.day,h:i.hour,i:i.minute,s:i.second,tz:t}}function N(e,t,n,r,i,a,o){return{y:e,m:t,d:n,h:r,i,s:a,tz:o}}var P=[1,2,4,8,16],F=class{pattern;timezone;mode;alternativeWeekdays;sloppyRanges;second;minute;hour;day;month;dayOfWeek;year;lastDayOfMonth;lastWeekday;nearestWeekdays;starDOM;starDOW;starYear;useAndLogic;constructor(e,t,n){this.pattern=e,this.timezone=t,this.mode=n?.mode??`auto`,this.alternativeWeekdays=n?.alternativeWeekdays??!1,this.sloppyRanges=n?.sloppyRanges??!1,this.second=Array(60).fill(0),this.minute=Array(60).fill(0),this.hour=Array(24).fill(0),this.day=Array(31).fill(0),this.month=Array(12).fill(0),this.dayOfWeek=Array(7).fill(0),this.year=Array(1e4).fill(0),this.lastDayOfMonth=!1,this.lastWeekday=!1,this.nearestWeekdays=Array(31).fill(0),this.starDOM=!1,this.starDOW=!1,this.starYear=!1,this.useAndLogic=!1,this.parse()}parse(){if(!(typeof this.pattern==`string`||this.pattern instanceof String))throw TypeError(`CronPattern: Pattern has to be of type string.`);this.pattern.indexOf(`@`)>=0&&(this.pattern=this.handleNicknames(this.pattern).trim());let e=this.pattern.match(/\S+/g)||[``],t=e.length;if(e.length<5||e.length>7)throw TypeError(`CronPattern: invalid configuration format ('`+this.pattern+`'), exactly five, six, or seven space separated parts are required.`);if(this.mode!==`auto`){let e;switch(this.mode){case`5-part`:e=5;break;case`6-part`:e=6;break;case`7-part`:e=7;break;case`5-or-6-parts`:e=[5,6];break;case`6-or-7-parts`:e=[6,7];break;default:e=0}if(!(Array.isArray(e)?e.includes(t):t===e)){let n=Array.isArray(e)?e.join(` or `):e.toString();throw TypeError(`CronPattern: mode '${this.mode}' requires exactly ${n} parts, but pattern '${this.pattern}' has ${t} parts.`)}}if(e.length===5&&e.unshift(`0`),e.length===6&&e.push(`*`),e[3].toUpperCase()===`LW`?(this.lastWeekday=!0,e[3]=``):e[3].toUpperCase().indexOf(`L`)>=0&&(e[3]=e[3].replace(/L/gi,``),this.lastDayOfMonth=!0),e[3]==`*`&&(this.starDOM=!0),e[6]==`*`&&(this.starYear=!0),e[4].length>=3&&(e[4]=this.replaceAlphaMonths(e[4])),e[5].length>=3&&(e[5]=this.alternativeWeekdays?this.replaceAlphaDaysQuartz(e[5]):this.replaceAlphaDays(e[5])),e[5].startsWith(`+`)&&(this.useAndLogic=!0,e[5]=e[5].substring(1),e[5]===``))throw TypeError(`CronPattern: Day-of-week field cannot be empty after '+' modifier.`);switch(e[5]==`*`&&(this.starDOW=!0),this.pattern.indexOf(`?`)>=0&&(e[0]=e[0].replace(/\?/g,`*`),e[1]=e[1].replace(/\?/g,`*`),e[2]=e[2].replace(/\?/g,`*`),e[3]=e[3].replace(/\?/g,`*`),e[4]=e[4].replace(/\?/g,`*`),e[5]=e[5].replace(/\?/g,`*`),e[6]&&=e[6].replace(/\?/g,`*`)),this.mode){case`5-part`:e[0]=`0`,e[6]=`*`;break;case`6-part`:e[6]=`*`;break;case`5-or-6-parts`:e[6]=`*`}this.throwAtIllegalCharacters(e),this.partToArray(`second`,e[0],0,1),this.partToArray(`minute`,e[1],0,1),this.partToArray(`hour`,e[2],0,1),this.partToArray(`day`,e[3],-1,1),this.partToArray(`month`,e[4],-1,1);let n=this.alternativeWeekdays?-1:0;this.partToArray(`dayOfWeek`,e[5],n,63),this.partToArray(`year`,e[6],0,1),!this.alternativeWeekdays&&this.dayOfWeek[7]&&(this.dayOfWeek[0]=this.dayOfWeek[7])}partToArray(e,t,n,r){let i=this[e],a=e===`day`&&this.lastDayOfMonth,o=e===`day`&&this.lastWeekday;if(t===``&&!a&&!o)throw TypeError(`CronPattern: configuration entry `+e+` (`+t+`) is empty, check for trailing spaces.`);if(t===`*`)return i.fill(r);let s=t.split(`,`);if(s.length>1)for(let t=0;t<s.length;t++)this.partToArray(e,s[t],n,r);else t.indexOf(`-`)!==-1&&t.indexOf(`/`)!==-1?this.handleRangeWithStepping(t,e,n,r):t.indexOf(`-`)===-1?t.indexOf(`/`)===-1?t!==``&&this.handleNumber(t,e,n,r):this.handleStepping(t,e,n,r):this.handleRange(t,e,n,r)}throwAtIllegalCharacters(e){for(let t=0;t<e.length;t++)if((t===3?/[^/*0-9,\-WwLl]+/:t===5?/[^/*0-9,\-#Ll]+/:/[^/*0-9,\-]+/).test(e[t]))throw TypeError(`CronPattern: configuration entry `+t+` (`+e[t]+`) contains illegal characters.`)}handleNumber(e,t,n,r){let i=this.extractNth(e,t),a=e.toUpperCase().includes(`W`);if(t!==`day`&&a)throw TypeError(`CronPattern: Nearest weekday modifier (W) only allowed in day-of-month.`);a&&(t=`nearestWeekdays`);let o=parseInt(i[0],10)+n;if(isNaN(o))throw TypeError(`CronPattern: `+t+` is not a number: '`+e+`'`);this.setPart(t,o,i[1]||r)}setPart(e,t,n){if(!Object.prototype.hasOwnProperty.call(this,e))throw TypeError(`CronPattern: Invalid part specified: `+e);if(e===`dayOfWeek`){if(t===7&&(t=0),t<0||t>6)throw RangeError(`CronPattern: Invalid value for dayOfWeek: `+t);this.setNthWeekdayOfMonth(t,n);return}if(e===`second`||e===`minute`){if(t<0||t>=60)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`hour`){if(t<0||t>=24)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`day`||e===`nearestWeekdays`){if(t<0||t>=31)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`month`){if(t<0||t>=12)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`year`&&(t<1||t>=1e4))throw RangeError(`CronPattern: Invalid value for `+e+`: `+t+` (supported range: 1-9999)`);this[e][t]=n}validateNotNaN(e,t){if(isNaN(e))throw TypeError(t)}validateRange(e,t,n,r,i){if(e>t)throw TypeError(`CronPattern: From value is larger than to value: '`+i+`'`);if(n!==void 0){if(n===0)throw TypeError(`CronPattern: Syntax error, illegal stepping: 0`);if(n>this[r].length)throw TypeError(`CronPattern: Syntax error, steps cannot be greater than maximum value of part (`+this[r].length+`)`)}}handleRangeWithStepping(e,t,n,r){if(e.toUpperCase().includes(`W`))throw TypeError(`CronPattern: Syntax error, W is not allowed in ranges with stepping.`);let i=this.extractNth(e,t),a=i[0].match(/^(\d+)-(\d+)\/(\d+)$/);if(a===null)throw TypeError(`CronPattern: Syntax error, illegal range with stepping: '`+e+`'`);let[,o,s,c]=a,l=parseInt(o,10)+n,u=parseInt(s,10)+n,d=parseInt(c,10);this.validateNotNaN(l,`CronPattern: Syntax error, illegal lower range (NaN)`),this.validateNotNaN(u,`CronPattern: Syntax error, illegal upper range (NaN)`),this.validateNotNaN(d,`CronPattern: Syntax error, illegal stepping: (NaN)`),this.validateRange(l,u,d,t,e);for(let e=l;e<=u;e+=d)this.setPart(t,e,i[1]||r)}extractNth(e,t){let n=e,r;if(n.includes(`#`)){if(t!==`dayOfWeek`)throw Error(`CronPattern: nth (#) only allowed in day-of-week field`);r=n.split(`#`)[1],n=n.split(`#`)[0]}else if(n.toUpperCase().endsWith(`L`)){if(t!==`dayOfWeek`)throw Error(`CronPattern: L modifier only allowed in day-of-week field (use L alone for day-of-month)`);r=`L`,n=n.slice(0,-1)}return[n,r]}handleRange(e,t,n,r){if(e.toUpperCase().includes(`W`))throw TypeError(`CronPattern: Syntax error, W is not allowed in a range.`);let i=this.extractNth(e,t),a=i[0].split(`-`);if(a.length!==2)throw TypeError(`CronPattern: Syntax error, illegal range: '`+e+`'`);let o=parseInt(a[0],10)+n,s=parseInt(a[1],10)+n;this.validateNotNaN(o,`CronPattern: Syntax error, illegal lower range (NaN)`),this.validateNotNaN(s,`CronPattern: Syntax error, illegal upper range (NaN)`),this.validateRange(o,s,void 0,t,e);for(let e=o;e<=s;e++)this.setPart(t,e,i[1]||r)}handleStepping(e,t,n,r){if(e.toUpperCase().includes(`W`))throw TypeError(`CronPattern: Syntax error, W is not allowed in parts with stepping.`);let i=this.extractNth(e,t),a=i[0].split(`/`);if(a.length!==2)throw TypeError(`CronPattern: Syntax error, illegal stepping: '`+e+`'`);if(this.sloppyRanges)a[0]===``&&(a[0]=`*`);else{if(a[0]===``)throw TypeError(`CronPattern: Syntax error, stepping with missing prefix ('`+e+`') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.`);if(a[0]!==`*`)throw TypeError(`CronPattern: Syntax error, stepping with numeric prefix ('`+e+`') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.`)}let o=0;a[0]!==`*`&&(o=parseInt(a[0],10)+n);let s=parseInt(a[1],10);this.validateNotNaN(s,`CronPattern: Syntax error, illegal stepping: (NaN)`),this.validateRange(0,this[t].length-1,s,t,e);for(let e=o;e<this[t].length;e+=s)this.setPart(t,e,i[1]||r)}replaceAlphaDays(e){return e.replace(/-sun/gi,`-7`).replace(/sun/gi,`0`).replace(/mon/gi,`1`).replace(/tue/gi,`2`).replace(/wed/gi,`3`).replace(/thu/gi,`4`).replace(/fri/gi,`5`).replace(/sat/gi,`6`)}replaceAlphaDaysQuartz(e){return e.replace(/sun/gi,`1`).replace(/mon/gi,`2`).replace(/tue/gi,`3`).replace(/wed/gi,`4`).replace(/thu/gi,`5`).replace(/fri/gi,`6`).replace(/sat/gi,`7`)}replaceAlphaMonths(e){return e.replace(/jan/gi,`1`).replace(/feb/gi,`2`).replace(/mar/gi,`3`).replace(/apr/gi,`4`).replace(/may/gi,`5`).replace(/jun/gi,`6`).replace(/jul/gi,`7`).replace(/aug/gi,`8`).replace(/sep/gi,`9`).replace(/oct/gi,`10`).replace(/nov/gi,`11`).replace(/dec/gi,`12`)}handleNicknames(e){let t=e.trim().toLowerCase();if(t===`@yearly`||t===`@annually`)return`0 0 1 1 *`;if(t===`@monthly`)return`0 0 1 * *`;if(t===`@weekly`)return`0 0 * * 0`;if(t===`@daily`||t===`@midnight`)return`0 0 * * *`;if(t===`@hourly`)return`0 * * * *`;if(t===`@reboot`)throw TypeError(`CronPattern: @reboot is not supported in this environment. This is an event-based trigger that requires system startup detection.`);return e}setNthWeekdayOfMonth(e,t){if(typeof t!=`number`&&t.toUpperCase()===`L`)this.dayOfWeek[e]=this.dayOfWeek[e]|32;else if(t===63)this.dayOfWeek[e]=63;else if(t<6&&t>0)this.dayOfWeek[e]=this.dayOfWeek[e]|P[t-1];else throw TypeError(`CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${t}, Type: ${typeof t}`)}},I=[31,28,31,30,31,30,31,31,30,31,30,31],L=[[`month`,`year`,0],[`day`,`month`,-1],[`hour`,`day`,0],[`minute`,`hour`,0],[`second`,`minute`,0]],R=class e{tz;ms;second;minute;hour;day;month;year;constructor(t,n){if(this.tz=n,t&&t instanceof Date)if(!isNaN(t))this.fromDate(t);else throw TypeError(`CronDate: Invalid date passed to CronDate constructor`);else if(t==null)this.fromDate(new Date);else if(t&&typeof t==`string`)this.fromString(t);else if(t instanceof e)this.fromCronDate(t);else throw TypeError(`CronDate: Invalid type (`+typeof t+`) passed to CronDate constructor`)}getLastDayOfMonth(e,t){return t===1?new Date(Date.UTC(e,t+1,0)).getUTCDate():I[t]}getLastWeekday(e,t){let n=this.getLastDayOfMonth(e,t),r=new Date(Date.UTC(e,t,n)).getUTCDay();return r===0?n-2:r===6?n-1:n}getNearestWeekday(e,t,n){let r=this.getLastDayOfMonth(e,t);if(n>r)return-1;let i=new Date(Date.UTC(e,t,n)).getUTCDay();return i===0?n===r?n-2:n+1:i===6?n===1?n+2:n-1:n}isNthWeekdayOfMonth(e,t,n,r){let i=new Date(Date.UTC(e,t,n)).getUTCDay(),a=0;for(let r=1;r<=n;r++)new Date(Date.UTC(e,t,r)).getUTCDay()===i&&a++;if(r&63&&P[a-1]&r)return!0;if(r&32){let r=this.getLastDayOfMonth(e,t);for(let a=n+1;a<=r;a++)if(new Date(Date.UTC(e,t,a)).getUTCDay()===i)return!1;return!0}return!1}fromDate(e){if(this.tz!==void 0)if(typeof this.tz==`number`)this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes()+this.tz,this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),this.apply();else try{let t=M(e,this.tz);this.ms=e.getMilliseconds(),this.second=t.s,this.minute=t.i,this.hour=t.h,this.day=t.d,this.month=t.m-1,this.year=t.y}catch(e){let t=e instanceof Error?e.message:String(e);throw TypeError(`CronDate: Failed to convert date to timezone '${this.tz}'. This may happen with invalid timezone names or dates. Original error: ${t}`)}else this.ms=e.getMilliseconds(),this.second=e.getSeconds(),this.minute=e.getMinutes(),this.hour=e.getHours(),this.day=e.getDate(),this.month=e.getMonth(),this.year=e.getFullYear()}fromCronDate(e){this.tz=e.tz,this.year=e.year,this.month=e.month,this.day=e.day,this.hour=e.hour,this.minute=e.minute,this.second=e.second,this.ms=e.ms}apply(){if(this.month>11||this.month<0||this.day>I[this.month]||this.day<1||this.hour>59||this.minute>59||this.second>59||this.hour<0||this.minute<0||this.second<0){let e=new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms));return this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes(),this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),!0}return!1}fromString(e){if(typeof this.tz==`number`){let t=A(e);this.ms=t.getUTCMilliseconds(),this.second=t.getUTCSeconds(),this.minute=t.getUTCMinutes(),this.hour=t.getUTCHours(),this.day=t.getUTCDate(),this.month=t.getUTCMonth(),this.year=t.getUTCFullYear(),this.apply()}else return this.fromDate(A(e,this.tz))}findNext(e,t,n,r){return this._findMatch(e,t,n,r,1)}_findMatch(e,t,n,r,i){let a=this[t],o;n.lastDayOfMonth&&(o=this.getLastDayOfMonth(this.year,this.month));let s=!n.starDOW&&t==`day`?new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay():void 0,c=this[t]+r,l=i===1?e=>e<n[t].length:e=>e>=0;for(let u=c;l(u);u+=i){let i=n[t][u];if(t===`day`&&!i){for(let e=0;e<n.nearestWeekdays.length;e++)if(n.nearestWeekdays[e]){let t=this.getNearestWeekday(this.year,this.month,e-r);if(t===-1)continue;if(t===u-r){i=1;break}}}if(t===`day`&&n.lastWeekday){let e=this.getLastWeekday(this.year,this.month);u-r===e&&(i=1)}if(t===`day`&&n.lastDayOfMonth&&u-r==o&&(i=1),t===`day`&&!n.starDOW){let t=n.dayOfWeek[(s+(u-r-1))%7];if(t&&t&63)t=+!!this.isNthWeekdayOfMonth(this.year,this.month,u-r,t);else if(t)throw Error(`CronDate: Invalid value for dayOfWeek encountered. ${t}`);n.useAndLogic?i&&=t:!e.domAndDow&&!n.starDOM?i||=t:i&&=t}if(i)return this[t]=u-r,a===this[t]?1:2}return 3}recurse(e,t,n){if(n===0&&!e.starYear){if(this.year>=0&&this.year<e.year.length&&e.year[this.year]===0){let t=-1;for(let n=this.year+1;n<e.year.length&&n<1e4;n++)if(e.year[n]===1){t=n;break}if(t===-1)return null;this.year=t,this.month=0,this.day=1,this.hour=0,this.minute=0,this.second=0,this.ms=0}if(this.year>=1e4)return null}let r=this.findNext(t,L[n][0],e,L[n][2]);if(r>1){let i=n+1;for(;i<L.length;)this[L[i][0]]=-L[i][2],i++;if(r===3){if(this[L[n][1]]++,this[L[n][0]]=-L[n][2],this.apply(),n===0&&!e.starYear){for(;this.year>=0&&this.year<e.year.length&&e.year[this.year]===0&&this.year<1e4;)this.year++;if(this.year>=1e4||this.year>=e.year.length)return null}return this.recurse(e,t,0)}if(this.apply())return this.recurse(e,t,n-1)}return n+=1,n>=L.length?this:(e.starYear?this.year>=3e3:this.year>=1e4)?null:this.recurse(e,t,n)}increment(e,t,n){return this.second+=t.interval!==void 0&&t.interval>1&&n?t.interval:1,this.ms=0,this.apply(),this.recurse(e,t,0)}decrement(e,t){return this.second-=t.interval!==void 0&&t.interval>1?t.interval:1,this.ms=0,this.apply(),this.recurseBackward(e,t,0,0)}recurseBackward(e,t,n,r=0){if(r>1e4)return null;if(n===0&&!e.starYear){if(this.year>=0&&this.year<e.year.length&&e.year[this.year]===0){let t=-1;for(let n=this.year-1;n>=0;n--)if(e.year[n]===1){t=n;break}if(t===-1)return null;this.year=t,this.month=11,this.day=31,this.hour=23,this.minute=59,this.second=59,this.ms=0}if(this.year<0)return null}let i=this.findPrevious(t,L[n][0],e,L[n][2]);if(i>1){let a=n+1;for(;a<L.length;){let t=L[a][0],n=L[a][2],r=this.getMaxPatternValue(t,e,n);this[t]=r,a++}if(i===3){if(this[L[n][1]]--,n===0){let e=this.getLastDayOfMonth(this.year,this.month);this.day>e&&(this.day=e)}if(n===1)if(this.day<=0)this.day=1;else{let e=this.year,t=this.month;for(;t<0;)t+=12,e--;for(;t>11;)t-=12,e++;let n=t===1?new Date(Date.UTC(e,t+1,0)).getUTCDate():I[t];this.day>n&&(this.day=n)}this.apply();let i=L[n][0],a=L[n][2],o=this.getMaxPatternValue(i,e,a);if(i===`day`){let e=this.getLastDayOfMonth(this.year,this.month);this[i]=Math.min(o,e)}else this[i]=o;if(this.apply(),n===0){let t=L[1][2],n=this.getMaxPatternValue(`day`,e,t),r=this.getLastDayOfMonth(this.year,this.month),i=Math.min(n,r);i!==this.day&&(this.day=i,this.hour=this.getMaxPatternValue(`hour`,e,L[2][2]),this.minute=this.getMaxPatternValue(`minute`,e,L[3][2]),this.second=this.getMaxPatternValue(`second`,e,L[4][2]))}if(n===0&&!e.starYear){for(;this.year>=0&&this.year<e.year.length&&e.year[this.year]===0;)this.year--;if(this.year<0)return null}return this.recurseBackward(e,t,0,r+1)}if(this.apply())return this.recurseBackward(e,t,n-1,r+1)}return n+=1,n>=L.length?this:this.year<0?null:this.recurseBackward(e,t,n,r+1)}getMaxPatternValue(e,t,n){if(e===`day`&&t.lastDayOfMonth||e===`day`&&!t.starDOW)return this.getLastDayOfMonth(this.year,this.month);for(let r=t[e].length-1;r>=0;r--)if(t[e][r])return r-n;return t[e].length-1-n}findPrevious(e,t,n,r){return this._findMatch(e,t,n,r,-1)}getDate(e){return e||this.tz===void 0?new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms):typeof this.tz==`number`?new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute-this.tz,this.second,this.ms)):j(N(this.year,this.month+1,this.day,this.hour,this.minute,this.second,this.tz),!1)}getTime(){return this.getDate(!1).getTime()}match(e,t){if(!e.starYear&&(this.year<0||this.year>=e.year.length||e.year[this.year]===0))return!1;for(let n=0;n<L.length;n++){let r=L[n][0],i=L[n][2],a=this[r];if(a+i<0||a+i>=e[r].length)return!1;let o=e[r][a+i];if(r===`day`){if(!o){for(let t=0;t<e.nearestWeekdays.length;t++)if(e.nearestWeekdays[t]){let e=this.getNearestWeekday(this.year,this.month,t-i);if(e!==-1&&e===a){o=1;break}}}if(e.lastWeekday&&a===this.getLastWeekday(this.year,this.month)&&(o=1),e.lastDayOfMonth&&a===this.getLastDayOfMonth(this.year,this.month)&&(o=1),!e.starDOW){let n=new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay(),r=e.dayOfWeek[(n+(a-1))%7];r&&r&63&&(r=+!!this.isNthWeekdayOfMonth(this.year,this.month,a,r)),e.useAndLogic?o&&=r:!t.domAndDow&&!e.starDOM?o||=r:o&&=r}}if(!o)return!1}return!0}};function z(e){if(e===void 0&&(e={}),delete e.name,e.legacyMode!==void 0&&e.domAndDow===void 0?e.domAndDow=!e.legacyMode:e.domAndDow===void 0&&(e.domAndDow=!1),e.legacyMode=!e.domAndDow,e.paused=e.paused!==void 0&&e.paused,e.maxRuns=e.maxRuns===void 0?1/0:e.maxRuns,e.catch=e.catch!==void 0&&e.catch,e.interval=e.interval===void 0?0:parseInt(e.interval.toString(),10),e.utcOffset=e.utcOffset===void 0?void 0:parseInt(e.utcOffset.toString(),10),e.dayOffset=e.dayOffset===void 0?0:parseInt(e.dayOffset.toString(),10),e.unref=e.unref!==void 0&&e.unref,e.mode=e.mode===void 0?`auto`:e.mode,e.alternativeWeekdays=e.alternativeWeekdays!==void 0&&e.alternativeWeekdays,e.sloppyRanges=e.sloppyRanges!==void 0&&e.sloppyRanges,![`auto`,`5-part`,`6-part`,`7-part`,`5-or-6-parts`,`6-or-7-parts`].includes(e.mode))throw Error(`CronOptions: mode must be one of 'auto', '5-part', '6-part', '7-part', '5-or-6-parts', or '6-or-7-parts'.`);if(e.startAt&&(e.startAt=new R(e.startAt,e.timezone)),e.stopAt&&(e.stopAt=new R(e.stopAt,e.timezone)),e.interval!==null){if(isNaN(e.interval))throw Error(`CronOptions: Supplied value for interval is not a number`);if(e.interval<0)throw Error(`CronOptions: Supplied value for interval can not be negative`)}if(e.utcOffset!==void 0){if(isNaN(e.utcOffset))throw Error(`CronOptions: Invalid value passed for utcOffset, should be number representing minutes offset from UTC.`);if(e.utcOffset<-870||e.utcOffset>870)throw Error(`CronOptions: utcOffset out of bounds.`);if(e.utcOffset!==void 0&&e.timezone)throw Error(`CronOptions: Combining 'utcOffset' with 'timezone' is not allowed.`)}if(e.unref!==!0&&e.unref!==!1)throw Error(`CronOptions: Unref should be either true, false or undefined(false).`);if(e.dayOffset!==void 0&&e.dayOffset!==0&&isNaN(e.dayOffset))throw Error(`CronOptions: Invalid value passed for dayOffset, should be a number representing days to offset.`);return e}function B(e){return Object.prototype.toString.call(e)===`[object Function]`||typeof e==`function`||e instanceof Function}function V(e){return B(e)}function H(e){typeof Deno<`u`&&typeof Deno.unrefTimer<`u`?Deno.unrefTimer(e):e&&typeof e.unref<`u`&&e.unref()}var U=3e4,W=[],G=class{name;options;_states;fn;getTz(){return this.options.timezone||this.options.utcOffset}applyDayOffset(e){if(this.options.dayOffset!==void 0&&this.options.dayOffset!==0){let t=this.options.dayOffset*24*60*60*1e3;return new Date(e.getTime()+t)}return e}constructor(e,t,n){let r,i;if(B(t))i=t;else if(typeof t==`object`)r=t;else if(t!==void 0)throw Error(`Cron: Invalid argument passed for optionsIn. Should be one of function, or object (options).`);if(B(n))i=n;else if(typeof n==`object`)r=n;else if(n!==void 0)throw Error(`Cron: Invalid argument passed for funcIn. Should be one of function, or object (options).`);if(this.name=r?.name,this.options=z(r),this._states={kill:!1,blocking:!1,previousRun:void 0,currentRun:void 0,once:void 0,currentTimeout:void 0,maxRuns:r?r.maxRuns:void 0,paused:r?r.paused:!1,pattern:new F(`* * * * *`,void 0,{mode:`auto`})},e&&(e instanceof Date||typeof e==`string`&&e.indexOf(`:`)>0)?this._states.once=new R(e,this.getTz()):this._states.pattern=new F(e,this.options.timezone,{mode:this.options.mode,alternativeWeekdays:this.options.alternativeWeekdays,sloppyRanges:this.options.sloppyRanges}),this.name){if(W.find(e=>e.name===this.name))throw Error(`Cron: Tried to initialize new named job '`+this.name+`', but name already taken.`);W.push(this)}return i!==void 0&&V(i)&&(this.fn=i,this.schedule()),this}nextRun(e){let t=this._next(e);return t?this.applyDayOffset(t.getDate(!1)):null}nextRuns(e,t){this._states.maxRuns!==void 0&&e>this._states.maxRuns&&(e=this._states.maxRuns);let n=t||this._states.currentRun||void 0;return this._enumerateRuns(e,n,`next`)}previousRuns(e,t){return this._enumerateRuns(e,t||void 0,`previous`)}_enumerateRuns(e,t,n){let r=[],i=t?new R(t,this.getTz()):null,a=n===`next`?this._next:this._previous;for(;e--;){let e=a.call(this,i);if(!e)break;let t=e.getDate(!1);r.push(this.applyDayOffset(t)),i=e}return r}match(e){if(this._states.once){let t=new R(e,this.getTz());t.ms=0;let n=new R(this._states.once,this.getTz());return n.ms=0,t.getTime()===n.getTime()}let t=new R(e,this.getTz());return t.ms=0,t.match(this._states.pattern,this.options)}getPattern(){if(!this._states.once)return this._states.pattern?this._states.pattern.pattern:void 0}getOnce(){return this._states.once?this._states.once.getDate():null}isRunning(){let e=this.nextRun(this._states.currentRun),t=!this._states.paused,n=this.fn!==void 0,r=!this._states.kill;return t&&n&&r&&e!==null}isStopped(){return this._states.kill}isBusy(){return this._states.blocking}currentRun(){return this._states.currentRun?this._states.currentRun.getDate():null}previousRun(){return this._states.previousRun?this._states.previousRun.getDate():null}msToNext(e){let t=this._next(e);return t?e instanceof R||e instanceof Date?t.getTime()-e.getTime():t.getTime()-new R(e).getTime():null}stop(){this._states.kill=!0,this._states.currentTimeout&&clearTimeout(this._states.currentTimeout);let e=W.indexOf(this);e>=0&&W.splice(e,1)}pause(){return this._states.paused=!0,!this._states.kill}resume(){return this._states.paused=!1,!this._states.kill}schedule(e){if(e&&this.fn)throw Error(`Cron: It is not allowed to schedule two functions using the same Croner instance.`);e&&(this.fn=e);let t=this.msToNext(),n=this.nextRun(this._states.currentRun);return t==null||isNaN(t)||n===null?this:(t>U&&(t=U),this._states.currentTimeout=setTimeout(()=>this._checkTrigger(n),t),this._states.currentTimeout&&this.options.unref&&H(this._states.currentTimeout),this)}async _trigger(e){this._states.blocking=!0,this._states.currentRun=new R(void 0,this.getTz());try{if(this.options.catch)try{this.fn!==void 0&&await this.fn(this,this.options.context)}catch(e){if(B(this.options.catch))try{this.options.catch(e,this)}catch{}}else this.fn!==void 0&&await this.fn(this,this.options.context)}finally{this._states.previousRun=new R(e,this.getTz()),this._states.blocking=!1}}async trigger(){await this._trigger()}runsLeft(){return this._states.maxRuns}_checkTrigger(e){let t=new Date,n=!this._states.paused&&t.getTime()>=e.getTime(),r=this._states.blocking&&this.options.protect;n&&!r?(this._states.maxRuns!==void 0&&this._states.maxRuns--,this._trigger()):n&&r&&B(this.options.protect)&&setTimeout(()=>this.options.protect(this),0),this.schedule()}_next(e){let t=!!(e||this._states.currentRun),n=!1;!e&&this.options.startAt&&this.options.interval&&([e,t]=this._calculatePreviousRun(e,t),n=!e),e=new R(e,this.getTz()),this.options.startAt&&e&&e.getTime()<this.options.startAt.getTime()&&(e=this.options.startAt);let r=this._states.once||new R(e,this.getTz());return!n&&r!==this._states.once&&(r=r.increment(this._states.pattern,this.options,t)),this._states.once&&this._states.once.getTime()<=e.getTime()||r===null||this._states.maxRuns!==void 0&&this._states.maxRuns<=0||this._states.kill||this.options.stopAt&&r.getTime()>=this.options.stopAt.getTime()?null:r}_previous(e){let t=new R(e,this.getTz());this.options.stopAt&&t.getTime()>this.options.stopAt.getTime()&&(t=this.options.stopAt);let n=new R(t,this.getTz());return this._states.once?this._states.once.getTime()<t.getTime()?this._states.once:null:(n=n.decrement(this._states.pattern,this.options),n===null||this.options.startAt&&n.getTime()<this.options.startAt.getTime()?null:n)}_calculatePreviousRun(e,t){let n=new R(void 0,this.getTz()),r=e;if(this.options.startAt.getTime()<=n.getTime()){r=this.options.startAt;let e=r.getTime()+this.options.interval*1e3;for(;e<=n.getTime();)r=new R(r,this.getTz()).increment(this._states.pattern,this.options,!0),e=r.getTime()+this.options.interval*1e3;t=!0}return r===null&&(r=void 0),[r,t]}};function K(e,t){try{return new G(e.trim(),{domAndDow:!0}).nextRun(t)??null}catch{return null}}var q=e({FORWARDABLE_TO_LEADER:()=>Y,LickManager:()=>X,buildActiveLicksError:()=>Q,getLickManager:()=>ue,lickScoopMatches:()=>Z});const J=t(`lick-manager`),Y=new Set([`navigate`,`discovery`]);function ce(e){if(typeof e!=`object`||!e)return null;let t=e;return typeof t.verb!=`string`||typeof t.target!=`string`?null:E({verb:t.verb,target:t.target,branch:typeof t.branch==`string`?t.branch:void 0,path:typeof t.path==`string`?t.path:void 0,instruction:typeof t.instruction==`string`?t.instruction:void 0})}function le(e){return!e.discoveryKind&&!e.discoveryUrl&&!e.discoveryOrigin?null:re({origin:e.discoveryOrigin,kind:e.discoveryKind,url:e.discoveryUrl})}var X=class{webhooks=new Map;crontasks=new Map;cronInterval=null;eventHandler=null;forwarder=null;seenNavigateFingerprints=new Set;seenDiscoveryFingerprints=new Set;scoopResolver=null;discoveryIgnore=null;async init(){await d();let e=await a();for(let t of e)this.webhooks.set(t.id,t);J.info(`Loaded webhooks`,{count:this.webhooks.size});let t=await s();for(let e of t)this.crontasks.set(e.id,e);J.info(`Loaded crontasks`,{count:this.crontasks.size}),await this.reconcileOrphans(),this.cronInterval=setInterval(()=>this.runCronScheduler(),6e4),J.info(`Cron scheduler started`)}setScoopExistenceResolver(e){this.scoopResolver=e}setDiscoveryIgnore(e){this.discoveryIgnore=e}isOrphanedLick(e){return!this.scoopResolver||!e?!1:!this.scoopResolver(e)}async reconcileOrphans(){if(this.scoopResolver){for(let e of Array.from(this.webhooks.values()))if(this.isOrphanedLick(e.scoop)){J.warn(`Removing orphaned webhook at init; target scoop no longer exists`,{id:e.id,name:e.name,scoop:e.scoop}),this.webhooks.delete(e.id);try{await i(e.id)}catch(t){J.warn(`Failed to delete orphaned webhook from DB`,{id:e.id,error:t instanceof Error?t.message:String(t)})}}for(let e of Array.from(this.crontasks.values()))if(this.isOrphanedLick(e.scoop)){J.warn(`Removing orphaned cron task at init; target scoop no longer exists`,{id:e.id,name:e.name,scoop:e.scoop}),this.crontasks.delete(e.id);try{await o(e.id)}catch(t){J.warn(`Failed to delete orphaned cron task from DB`,{id:e.id,error:t instanceof Error?t.message:String(t)})}}}}dispose(){this.cronInterval&&=(clearInterval(this.cronInterval),null)}setEventHandler(e){this.eventHandler=e}setForwarder(e){this.forwarder=e}dispatch(e){if(!(e.type===`discovery`&&this.shouldSuppressDiscovery(e))){if(this.forwarder&&Y.has(e.type)){this.forwarder(e);return}this.eventHandler?.(e)}}handleForwardedEvent(e){e.type===`discovery`&&this.shouldSuppressDiscovery(e)||this.isDuplicateFingerprint(e)||this.eventHandler?.(e)}emitEvent(e){e.type===`discovery`&&this.shouldSuppressDiscovery(e)||this.isDuplicateFingerprint(e)||(J.info(`External lick event`,{type:e.type,target:e.targetScoop}),this.dispatch(e))}isDuplicateFingerprint(e){let t=null,n,r;if(e.type===`navigate`)t=ce(e.body),n=this.seenNavigateFingerprints,r=`navigate`;else if(e.type===`discovery`)t=le(e),n=this.seenDiscoveryFingerprints,r=`discovery`;else return!1;return t===null?!1:n.has(t)?(J.debug(`Suppressing duplicate ${r} lick`,{fingerprint:t}),!0):(n.add(t),!1)}shouldSuppressDiscovery(e){return e.discoverySource===`live-navigation`?this.discoveryIgnore?.(e)?(J.debug(`Suppressing ignored llms.txt discovery`,{origin:e.discoveryOrigin}),!0):!1:(J.debug(`Suppressing discovery without live-navigation provenance`),!0)}async createWebhook(e,t,n){let i=this.generateId(),a={id:i,name:e,createdAt:new Date().toISOString(),filter:n,scoop:t};return n&&this.compileFilter(n,!0),this.webhooks.set(i,a),await r(a),J.info(`Webhook created`,{id:i,name:e,scoop:t}),a}async deleteWebhook(e){return this.webhooks.has(e)?(this.webhooks.delete(e),await i(e),J.info(`Webhook deleted`,{id:e}),!0):await l(e)!==null&&(await i(e),J.info(`Webhook deleted`,{id:e}),!0)}listWebhooks(){return Array.from(this.webhooks.values())}getWebhook(e){return this.webhooks.get(e)}handleWebhookEvent(e,t,n){let r=this.webhooks.get(e);if(!r){J.warn(`Webhook not found`,{webhookId:e});return}let i={type:`webhook`,webhookId:e,webhookName:r.name,targetScoop:r.scoop,timestamp:new Date().toISOString(),headers:t,body:n};if(r.filter)try{let t=this.compileFilter(r.filter,!0)(i);if(t===!1){J.debug(`Webhook event dropped by filter`,{webhookId:e,name:r.name});return}typeof t==`object`&&t&&(i=t)}catch(t){J.error(`Webhook filter error`,{webhookId:e,error:t instanceof Error?t.message:String(t)})}J.info(`Webhook event received`,{webhookId:e,name:r.name,targetScoop:r.scoop}),this.dispatch(i)}async createCronTask(e,t,n,r){let i=K(t,new Date);if(!i)throw Error(`Invalid cron expression`);r&&this.compileFilter(r,!1);let a=this.generateId(),o={id:a,name:e,cron:t,scoop:n,filter:r,nextRun:i.toISOString(),lastRun:null,status:`active`,createdAt:new Date().toISOString()};return this.crontasks.set(a,o),await u(o),J.info(`Cron task created`,{id:a,name:e,cron:t,scoop:n}),o}async deleteCronTask(e){return this.crontasks.has(e)?(this.crontasks.delete(e),await o(e),J.info(`Cron task deleted`,{id:e}),!0):await c(e)!==null&&(await o(e),J.info(`Cron task deleted`,{id:e}),!0)}listCronTasks(){return Array.from(this.crontasks.values())}getCronTask(e){return this.crontasks.get(e)}getLicksForScoop(e,t){return{webhooks:Array.from(this.webhooks.values()).filter(n=>Z(n.scoop,e,t)),cronTasks:Array.from(this.crontasks.values()).filter(n=>Z(n.scoop,e,t))}}async getLicksForScoopFromDb(e,t){let[n,r]=await Promise.all([a(),s()]);return{webhooks:n.filter(n=>Z(n.scoop,e,t)),cronTasks:r.filter(n=>Z(n.scoop,e,t))}}async deleteIfOrphanedCron(e){if(!this.isOrphanedLick(e.scoop))return!1;J.warn(`Deleting orphaned cron task; target scoop no longer exists`,{id:e.id,name:e.name,scoop:e.scoop}),this.crontasks.delete(e.id);try{await o(e.id)}catch(t){J.warn(`Failed to delete orphaned cron task from DB`,{id:e.id,error:t instanceof Error?t.message:String(t)})}return!0}async runCronScheduler(){let e=new Date;for(let t of this.crontasks.values())await this.deleteIfOrphanedCron(t)||t.status===`active`&&t.nextRun&&(new Date(t.nextRun)>e||await this.runDueCronTask(t,e))}async runDueCronTask(e,t){let n={time:t.toISOString()};if(e.filter)try{let r=this.compileFilter(e.filter,!1)(null);if(r===!1){J.debug(`Cron task skipped by filter`,{id:e.id,name:e.name}),e.nextRun=K(e.cron,t)?.toISOString()??null,e.lastRun=t.toISOString(),await u(e);return}typeof r==`object`&&r&&(n=r)}catch(t){J.error(`Cron filter error`,{id:e.id,error:t instanceof Error?t.message:String(t)})}let r={type:`cron`,cronId:e.id,cronName:e.name,targetScoop:e.scoop,timestamp:t.toISOString(),body:n};J.info(`Cron task running`,{id:e.id,name:e.name}),this.dispatch(r),e.nextRun=K(e.cron,t)?.toISOString()??null,e.lastRun=t.toISOString(),await u(e)}generateId(){let e=``;for(let t=0;t<12;t++)e+=`abcdefghijklmnopqrstuvwxyz0123456789`[Math.floor(Math.random()*36)];return e}compileFilter(e,t){try{return t?Function(`event`,`return (${e})(event);`):Function(`return (${e})();`)}catch(e){throw Error(`Invalid filter function: ${e instanceof Error?e.message:String(e)}`)}}};function Z(e,t,n){return e?e===t||e===n||`${e}-scoop`===n:!1}function Q(e,t,n){if(t.length===0&&n.length===0)return null;let r=[];t.length>0&&r.push(`${t.length} active webhook${t.length>1?`s`:``}`),n.length>0&&r.push(`${n.length} active cron task${n.length>1?`s`:``}`);let i=[...t.map(e=>` webhook delete ${e.id}`),...n.map(e=>` crontask delete ${e.id}`)].join(`
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-LESFN7Hj.js";import{s as n}from"./src-CcFD5QfS.js";import{T as r,c as i,f as a,i as o,l as s,p as c,v as l,x as u,y as d}from"./db-DSIYsBgP.js";function f(e,t){if(e==null)return[];let n;if(Array.isArray(e))n=e.join(`, `).replace(/\n/g,`, `);else if(typeof e==`string`)n=e.replace(/\n/g,`, `);else return[];if(n.length===0)return[];let r=[],i=n.length,a=0;for(;a<i&&(a=p(n,a),!(a>=i));){if(n[a]!==`<`){a=m(n,a);continue}let e=n.indexOf(`>`,a+1);if(e===-1)break;let o=n.slice(a+1,e);a=e+1;let s=[];for(;a<i&&(a=p(n,a),!(a>=i));){if(n[a]===`,`){a++;break}if(n[a]!==`;`){a=m(n,a);break}a++,a=p(n,a);let e=a;for(;a<i&&ne(n.charCodeAt(a));)a++;if(a<i&&n[a]===`*`&&a++,e===a){a=m(n,a);break}let t=n.slice(e,a).toLowerCase();a=p(n,a);let r=``;if(a<i&&n[a]===`=`)if(a++,a=p(n,a),a<i&&n[a]===`"`){let e=te(n,a);r=e.value,a=e.end}else{let e=a;for(;a<i&&n[a]!==`;`&&n[a]!==`,`&&!ee(n[a]);)a++;r=n.slice(e,a)}s.push([t,r])}let c=h(o,s,t);c&&r.push(c)}return r}function p(e,t){for(;t<e.length&&(e[t]===` `||e[t]===` `);)t++;return t}function ee(e){return e===` `||e===` `}function m(e,t){let n=!1;for(;t<e.length;){let r=e[t];if(n){if(r===`\\`&&t+1<e.length){t+=2;continue}r===`"`&&(n=!1)}else if(r===`"`)n=!0;else if(r===`,`)return t+1;t++}return t}function te(e,t){t++;let n=``;for(;t<e.length;){let r=e[t];if(r===`\\`)t++,t<e.length&&(n+=e[t],t++);else if(r===`"`)return{value:n,end:t+1};else n+=r,t++}return{value:n,end:t}}function ne(e){if(e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122)return!0;switch(e){case 33:case 35:case 36:case 37:case 38:case 39:case 42:case 43:case 45:case 46:case 94:case 95:case 96:case 124:case 126:return!0}return!1}function h(e,t,n){let r={},i={};for(let[e,n]of t){if(e.endsWith(`*`)){let t=_(n);t!=null&&(i[e.slice(0,-1)]=t);continue}e===`rel`&&`rel`in r||(r[e]=n)}for(let[e,t]of Object.entries(i))r[e]=t;let a=g(e,n),o=r.anchor==null?void 0:g(r.anchor,n),s={href:a,rel:(r.rel??``).split(/[ \t]+/).filter(e=>e.length>0),params:r};return o!=null&&(s.anchor=o),r.type!=null&&(s.type=r.type),r.title!=null&&(s.title=r.title),r.hreflang!=null&&(s.hreflang=r.hreflang),s}function g(e,t){if(!t)return e;try{return new URL(e,t).toString()}catch{return e}}function _(e){let t=e.indexOf(`'`);if(t===-1)return null;let n=e.indexOf(`'`,t+1);if(n===-1||e.slice(0,t).toLowerCase()!==`utf-8`)return null;try{return decodeURIComponent(e.slice(n+1))}catch{return null}}function v(e){if(!e)return[];let t=[];for(let[n,r]of Object.entries(e))n.toLowerCase()===`link`&&typeof r==`string`&&r.length>0&&t.push(r);return t}function y(e){for(let t of e)if(t.rel.includes(`ai-catalog`))return{kind:`ai-catalog`,url:t.href};return null}function re(e){return[e.origin??``,e.kind??``,e.url??``].join(`\0`)}const ie=`${n}/rel/handoff`,b=`${n}/rel/upskill`;function ae(e){let t=e.replace(/\/+$/,``),n=t.toLowerCase();return n.endsWith(`/skill.md`)?t.slice(0,-9):n===`skill.md`?``:t}const oe=/^[A-Za-z0-9._/-]+$/,x=/^[A-Za-z0-9._/-]+$/;function S(e){return!(e.length===0||e.length>250||!oe.test(e)||e.startsWith(`-`)||e.startsWith(`/`)||e.endsWith(`/`)||e.includes(`..`)||e.endsWith(`.lock`))}function C(e){return!(e.length===0||e.length>1024||!x.test(e)||e.startsWith(`-`)||e.startsWith(`/`)||e.includes(`..`))}function w(e,t){let n=t.branch;typeof n==`string`&&S(n)&&(e.branch=n);let r=t.path;if(typeof r==`string`&&r.length>0){let t=ae(r);t.length>0&&C(t)&&(e.path=t)}}function T(e){for(let t of e){if(t.rel.includes(ie)){let e={verb:`handoff`,target:t.href};return t.title!=null&&t.title.length>0&&(e.instruction=t.title),e}if(t.rel.includes(b)){let e={verb:`upskill`,target:t.href};return t.title!=null&&t.title.length>0&&(e.instruction=t.title),w(e,t.params),e}}return null}function E(e){return[e.verb,e.target,e.branch??``,e.path??``,e.instruction??``].join(`\0`)}function se(e,t){let n=v(e);if(n.length===0)return{match:null,links:[]};let r=f(n,t);return{match:T(r),links:r}}function D(e){return Date.UTC(e.y,e.m-1,e.d,e.h,e.i,e.s)}function O(e,t){return e.y===t.y&&e.m===t.m&&e.d===t.d&&e.h===t.h&&e.i===t.i&&e.s===t.s}function k(e,t){let n=new Date(Date.parse(e));if(isNaN(n))throw Error(`Invalid ISO8601 passed to timezone parser.`);let r=e.substring(9);return r.includes(`Z`)||r.includes(`+`)||r.includes(`-`)?N(n.getUTCFullYear(),n.getUTCMonth()+1,n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds(),`Etc/UTC`):N(n.getFullYear(),n.getMonth()+1,n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),t)}function A(e,t,n){return j(k(e,t),n)}function j(e,t){let n=new Date(D(e)),r=M(n,e.tz),i=D(e)-D(r),a=new Date(n.getTime()+i),o=M(a,e.tz);if(O(o,e)){let t=new Date(a.getTime()-36e5);return O(M(t,e.tz),e)?t:a}let s=new Date(a.getTime()+D(e)-D(o));if(O(M(s,e.tz),e))return s;if(t)throw Error(`Invalid date passed to fromTZ()`);return a.getTime()>s.getTime()?a:s}function M(e,t){let n,r;try{n=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`numeric`,day:`numeric`,hour:`numeric`,minute:`numeric`,second:`numeric`,hour12:!1}),r=n.formatToParts(e)}catch(e){let n=e instanceof Error?e.message:String(e);throw RangeError(`toTZ: Invalid timezone '${t}' or date. Please provide a valid IANA timezone (e.g., 'America/New_York', 'Europe/Stockholm'). Original error: ${n}`)}let i={year:0,month:0,day:0,hour:0,minute:0,second:0};for(let e of r)(e.type===`year`||e.type===`month`||e.type===`day`||e.type===`hour`||e.type===`minute`||e.type===`second`)&&(i[e.type]=parseInt(e.value,10));if(isNaN(i.year)||isNaN(i.month)||isNaN(i.day)||isNaN(i.hour)||isNaN(i.minute)||isNaN(i.second))throw Error(`toTZ: Failed to parse all date components from timezone '${t}'. This may indicate an invalid date or timezone configuration. Parsed components: ${JSON.stringify(i)}`);return i.hour===24&&(i.hour=0),{y:i.year,m:i.month,d:i.day,h:i.hour,i:i.minute,s:i.second,tz:t}}function N(e,t,n,r,i,a,o){return{y:e,m:t,d:n,h:r,i,s:a,tz:o}}var P=[1,2,4,8,16],F=class{pattern;timezone;mode;alternativeWeekdays;sloppyRanges;second;minute;hour;day;month;dayOfWeek;year;lastDayOfMonth;lastWeekday;nearestWeekdays;starDOM;starDOW;starYear;useAndLogic;constructor(e,t,n){this.pattern=e,this.timezone=t,this.mode=n?.mode??`auto`,this.alternativeWeekdays=n?.alternativeWeekdays??!1,this.sloppyRanges=n?.sloppyRanges??!1,this.second=Array(60).fill(0),this.minute=Array(60).fill(0),this.hour=Array(24).fill(0),this.day=Array(31).fill(0),this.month=Array(12).fill(0),this.dayOfWeek=Array(7).fill(0),this.year=Array(1e4).fill(0),this.lastDayOfMonth=!1,this.lastWeekday=!1,this.nearestWeekdays=Array(31).fill(0),this.starDOM=!1,this.starDOW=!1,this.starYear=!1,this.useAndLogic=!1,this.parse()}parse(){if(!(typeof this.pattern==`string`||this.pattern instanceof String))throw TypeError(`CronPattern: Pattern has to be of type string.`);this.pattern.indexOf(`@`)>=0&&(this.pattern=this.handleNicknames(this.pattern).trim());let e=this.pattern.match(/\S+/g)||[``],t=e.length;if(e.length<5||e.length>7)throw TypeError(`CronPattern: invalid configuration format ('`+this.pattern+`'), exactly five, six, or seven space separated parts are required.`);if(this.mode!==`auto`){let e;switch(this.mode){case`5-part`:e=5;break;case`6-part`:e=6;break;case`7-part`:e=7;break;case`5-or-6-parts`:e=[5,6];break;case`6-or-7-parts`:e=[6,7];break;default:e=0}if(!(Array.isArray(e)?e.includes(t):t===e)){let n=Array.isArray(e)?e.join(` or `):e.toString();throw TypeError(`CronPattern: mode '${this.mode}' requires exactly ${n} parts, but pattern '${this.pattern}' has ${t} parts.`)}}if(e.length===5&&e.unshift(`0`),e.length===6&&e.push(`*`),e[3].toUpperCase()===`LW`?(this.lastWeekday=!0,e[3]=``):e[3].toUpperCase().indexOf(`L`)>=0&&(e[3]=e[3].replace(/L/gi,``),this.lastDayOfMonth=!0),e[3]==`*`&&(this.starDOM=!0),e[6]==`*`&&(this.starYear=!0),e[4].length>=3&&(e[4]=this.replaceAlphaMonths(e[4])),e[5].length>=3&&(e[5]=this.alternativeWeekdays?this.replaceAlphaDaysQuartz(e[5]):this.replaceAlphaDays(e[5])),e[5].startsWith(`+`)&&(this.useAndLogic=!0,e[5]=e[5].substring(1),e[5]===``))throw TypeError(`CronPattern: Day-of-week field cannot be empty after '+' modifier.`);switch(e[5]==`*`&&(this.starDOW=!0),this.pattern.indexOf(`?`)>=0&&(e[0]=e[0].replace(/\?/g,`*`),e[1]=e[1].replace(/\?/g,`*`),e[2]=e[2].replace(/\?/g,`*`),e[3]=e[3].replace(/\?/g,`*`),e[4]=e[4].replace(/\?/g,`*`),e[5]=e[5].replace(/\?/g,`*`),e[6]&&=e[6].replace(/\?/g,`*`)),this.mode){case`5-part`:e[0]=`0`,e[6]=`*`;break;case`6-part`:e[6]=`*`;break;case`5-or-6-parts`:e[6]=`*`}this.throwAtIllegalCharacters(e),this.partToArray(`second`,e[0],0,1),this.partToArray(`minute`,e[1],0,1),this.partToArray(`hour`,e[2],0,1),this.partToArray(`day`,e[3],-1,1),this.partToArray(`month`,e[4],-1,1);let n=this.alternativeWeekdays?-1:0;this.partToArray(`dayOfWeek`,e[5],n,63),this.partToArray(`year`,e[6],0,1),!this.alternativeWeekdays&&this.dayOfWeek[7]&&(this.dayOfWeek[0]=this.dayOfWeek[7])}partToArray(e,t,n,r){let i=this[e],a=e===`day`&&this.lastDayOfMonth,o=e===`day`&&this.lastWeekday;if(t===``&&!a&&!o)throw TypeError(`CronPattern: configuration entry `+e+` (`+t+`) is empty, check for trailing spaces.`);if(t===`*`)return i.fill(r);let s=t.split(`,`);if(s.length>1)for(let t=0;t<s.length;t++)this.partToArray(e,s[t],n,r);else t.indexOf(`-`)!==-1&&t.indexOf(`/`)!==-1?this.handleRangeWithStepping(t,e,n,r):t.indexOf(`-`)===-1?t.indexOf(`/`)===-1?t!==``&&this.handleNumber(t,e,n,r):this.handleStepping(t,e,n,r):this.handleRange(t,e,n,r)}throwAtIllegalCharacters(e){for(let t=0;t<e.length;t++)if((t===3?/[^/*0-9,\-WwLl]+/:t===5?/[^/*0-9,\-#Ll]+/:/[^/*0-9,\-]+/).test(e[t]))throw TypeError(`CronPattern: configuration entry `+t+` (`+e[t]+`) contains illegal characters.`)}handleNumber(e,t,n,r){let i=this.extractNth(e,t),a=e.toUpperCase().includes(`W`);if(t!==`day`&&a)throw TypeError(`CronPattern: Nearest weekday modifier (W) only allowed in day-of-month.`);a&&(t=`nearestWeekdays`);let o=parseInt(i[0],10)+n;if(isNaN(o))throw TypeError(`CronPattern: `+t+` is not a number: '`+e+`'`);this.setPart(t,o,i[1]||r)}setPart(e,t,n){if(!Object.prototype.hasOwnProperty.call(this,e))throw TypeError(`CronPattern: Invalid part specified: `+e);if(e===`dayOfWeek`){if(t===7&&(t=0),t<0||t>6)throw RangeError(`CronPattern: Invalid value for dayOfWeek: `+t);this.setNthWeekdayOfMonth(t,n);return}if(e===`second`||e===`minute`){if(t<0||t>=60)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`hour`){if(t<0||t>=24)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`day`||e===`nearestWeekdays`){if(t<0||t>=31)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`month`){if(t<0||t>=12)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`year`&&(t<1||t>=1e4))throw RangeError(`CronPattern: Invalid value for `+e+`: `+t+` (supported range: 1-9999)`);this[e][t]=n}validateNotNaN(e,t){if(isNaN(e))throw TypeError(t)}validateRange(e,t,n,r,i){if(e>t)throw TypeError(`CronPattern: From value is larger than to value: '`+i+`'`);if(n!==void 0){if(n===0)throw TypeError(`CronPattern: Syntax error, illegal stepping: 0`);if(n>this[r].length)throw TypeError(`CronPattern: Syntax error, steps cannot be greater than maximum value of part (`+this[r].length+`)`)}}handleRangeWithStepping(e,t,n,r){if(e.toUpperCase().includes(`W`))throw TypeError(`CronPattern: Syntax error, W is not allowed in ranges with stepping.`);let i=this.extractNth(e,t),a=i[0].match(/^(\d+)-(\d+)\/(\d+)$/);if(a===null)throw TypeError(`CronPattern: Syntax error, illegal range with stepping: '`+e+`'`);let[,o,s,c]=a,l=parseInt(o,10)+n,u=parseInt(s,10)+n,d=parseInt(c,10);this.validateNotNaN(l,`CronPattern: Syntax error, illegal lower range (NaN)`),this.validateNotNaN(u,`CronPattern: Syntax error, illegal upper range (NaN)`),this.validateNotNaN(d,`CronPattern: Syntax error, illegal stepping: (NaN)`),this.validateRange(l,u,d,t,e);for(let e=l;e<=u;e+=d)this.setPart(t,e,i[1]||r)}extractNth(e,t){let n=e,r;if(n.includes(`#`)){if(t!==`dayOfWeek`)throw Error(`CronPattern: nth (#) only allowed in day-of-week field`);r=n.split(`#`)[1],n=n.split(`#`)[0]}else if(n.toUpperCase().endsWith(`L`)){if(t!==`dayOfWeek`)throw Error(`CronPattern: L modifier only allowed in day-of-week field (use L alone for day-of-month)`);r=`L`,n=n.slice(0,-1)}return[n,r]}handleRange(e,t,n,r){if(e.toUpperCase().includes(`W`))throw TypeError(`CronPattern: Syntax error, W is not allowed in a range.`);let i=this.extractNth(e,t),a=i[0].split(`-`);if(a.length!==2)throw TypeError(`CronPattern: Syntax error, illegal range: '`+e+`'`);let o=parseInt(a[0],10)+n,s=parseInt(a[1],10)+n;this.validateNotNaN(o,`CronPattern: Syntax error, illegal lower range (NaN)`),this.validateNotNaN(s,`CronPattern: Syntax error, illegal upper range (NaN)`),this.validateRange(o,s,void 0,t,e);for(let e=o;e<=s;e++)this.setPart(t,e,i[1]||r)}handleStepping(e,t,n,r){if(e.toUpperCase().includes(`W`))throw TypeError(`CronPattern: Syntax error, W is not allowed in parts with stepping.`);let i=this.extractNth(e,t),a=i[0].split(`/`);if(a.length!==2)throw TypeError(`CronPattern: Syntax error, illegal stepping: '`+e+`'`);if(this.sloppyRanges)a[0]===``&&(a[0]=`*`);else{if(a[0]===``)throw TypeError(`CronPattern: Syntax error, stepping with missing prefix ('`+e+`') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.`);if(a[0]!==`*`)throw TypeError(`CronPattern: Syntax error, stepping with numeric prefix ('`+e+`') is not allowed. Use wildcard (*/step) or range (min-max/step) instead.`)}let o=0;a[0]!==`*`&&(o=parseInt(a[0],10)+n);let s=parseInt(a[1],10);this.validateNotNaN(s,`CronPattern: Syntax error, illegal stepping: (NaN)`),this.validateRange(0,this[t].length-1,s,t,e);for(let e=o;e<this[t].length;e+=s)this.setPart(t,e,i[1]||r)}replaceAlphaDays(e){return e.replace(/-sun/gi,`-7`).replace(/sun/gi,`0`).replace(/mon/gi,`1`).replace(/tue/gi,`2`).replace(/wed/gi,`3`).replace(/thu/gi,`4`).replace(/fri/gi,`5`).replace(/sat/gi,`6`)}replaceAlphaDaysQuartz(e){return e.replace(/sun/gi,`1`).replace(/mon/gi,`2`).replace(/tue/gi,`3`).replace(/wed/gi,`4`).replace(/thu/gi,`5`).replace(/fri/gi,`6`).replace(/sat/gi,`7`)}replaceAlphaMonths(e){return e.replace(/jan/gi,`1`).replace(/feb/gi,`2`).replace(/mar/gi,`3`).replace(/apr/gi,`4`).replace(/may/gi,`5`).replace(/jun/gi,`6`).replace(/jul/gi,`7`).replace(/aug/gi,`8`).replace(/sep/gi,`9`).replace(/oct/gi,`10`).replace(/nov/gi,`11`).replace(/dec/gi,`12`)}handleNicknames(e){let t=e.trim().toLowerCase();if(t===`@yearly`||t===`@annually`)return`0 0 1 1 *`;if(t===`@monthly`)return`0 0 1 * *`;if(t===`@weekly`)return`0 0 * * 0`;if(t===`@daily`||t===`@midnight`)return`0 0 * * *`;if(t===`@hourly`)return`0 * * * *`;if(t===`@reboot`)throw TypeError(`CronPattern: @reboot is not supported in this environment. This is an event-based trigger that requires system startup detection.`);return e}setNthWeekdayOfMonth(e,t){if(typeof t!=`number`&&t.toUpperCase()===`L`)this.dayOfWeek[e]=this.dayOfWeek[e]|32;else if(t===63)this.dayOfWeek[e]=63;else if(t<6&&t>0)this.dayOfWeek[e]=this.dayOfWeek[e]|P[t-1];else throw TypeError(`CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${t}, Type: ${typeof t}`)}},I=[31,28,31,30,31,30,31,31,30,31,30,31],L=[[`month`,`year`,0],[`day`,`month`,-1],[`hour`,`day`,0],[`minute`,`hour`,0],[`second`,`minute`,0]],R=class e{tz;ms;second;minute;hour;day;month;year;constructor(t,n){if(this.tz=n,t&&t instanceof Date)if(!isNaN(t))this.fromDate(t);else throw TypeError(`CronDate: Invalid date passed to CronDate constructor`);else if(t==null)this.fromDate(new Date);else if(t&&typeof t==`string`)this.fromString(t);else if(t instanceof e)this.fromCronDate(t);else throw TypeError(`CronDate: Invalid type (`+typeof t+`) passed to CronDate constructor`)}getLastDayOfMonth(e,t){return t===1?new Date(Date.UTC(e,t+1,0)).getUTCDate():I[t]}getLastWeekday(e,t){let n=this.getLastDayOfMonth(e,t),r=new Date(Date.UTC(e,t,n)).getUTCDay();return r===0?n-2:r===6?n-1:n}getNearestWeekday(e,t,n){let r=this.getLastDayOfMonth(e,t);if(n>r)return-1;let i=new Date(Date.UTC(e,t,n)).getUTCDay();return i===0?n===r?n-2:n+1:i===6?n===1?n+2:n-1:n}isNthWeekdayOfMonth(e,t,n,r){let i=new Date(Date.UTC(e,t,n)).getUTCDay(),a=0;for(let r=1;r<=n;r++)new Date(Date.UTC(e,t,r)).getUTCDay()===i&&a++;if(r&63&&P[a-1]&r)return!0;if(r&32){let r=this.getLastDayOfMonth(e,t);for(let a=n+1;a<=r;a++)if(new Date(Date.UTC(e,t,a)).getUTCDay()===i)return!1;return!0}return!1}fromDate(e){if(this.tz!==void 0)if(typeof this.tz==`number`)this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes()+this.tz,this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),this.apply();else try{let t=M(e,this.tz);this.ms=e.getMilliseconds(),this.second=t.s,this.minute=t.i,this.hour=t.h,this.day=t.d,this.month=t.m-1,this.year=t.y}catch(e){let t=e instanceof Error?e.message:String(e);throw TypeError(`CronDate: Failed to convert date to timezone '${this.tz}'. This may happen with invalid timezone names or dates. Original error: ${t}`)}else this.ms=e.getMilliseconds(),this.second=e.getSeconds(),this.minute=e.getMinutes(),this.hour=e.getHours(),this.day=e.getDate(),this.month=e.getMonth(),this.year=e.getFullYear()}fromCronDate(e){this.tz=e.tz,this.year=e.year,this.month=e.month,this.day=e.day,this.hour=e.hour,this.minute=e.minute,this.second=e.second,this.ms=e.ms}apply(){if(this.month>11||this.month<0||this.day>I[this.month]||this.day<1||this.hour>59||this.minute>59||this.second>59||this.hour<0||this.minute<0||this.second<0){let e=new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms));return this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes(),this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),!0}return!1}fromString(e){if(typeof this.tz==`number`){let t=A(e);this.ms=t.getUTCMilliseconds(),this.second=t.getUTCSeconds(),this.minute=t.getUTCMinutes(),this.hour=t.getUTCHours(),this.day=t.getUTCDate(),this.month=t.getUTCMonth(),this.year=t.getUTCFullYear(),this.apply()}else return this.fromDate(A(e,this.tz))}findNext(e,t,n,r){return this._findMatch(e,t,n,r,1)}_findMatch(e,t,n,r,i){let a=this[t],o;n.lastDayOfMonth&&(o=this.getLastDayOfMonth(this.year,this.month));let s=!n.starDOW&&t==`day`?new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay():void 0,c=this[t]+r,l=i===1?e=>e<n[t].length:e=>e>=0;for(let u=c;l(u);u+=i){let i=n[t][u];if(t===`day`&&!i){for(let e=0;e<n.nearestWeekdays.length;e++)if(n.nearestWeekdays[e]){let t=this.getNearestWeekday(this.year,this.month,e-r);if(t===-1)continue;if(t===u-r){i=1;break}}}if(t===`day`&&n.lastWeekday){let e=this.getLastWeekday(this.year,this.month);u-r===e&&(i=1)}if(t===`day`&&n.lastDayOfMonth&&u-r==o&&(i=1),t===`day`&&!n.starDOW){let t=n.dayOfWeek[(s+(u-r-1))%7];if(t&&t&63)t=+!!this.isNthWeekdayOfMonth(this.year,this.month,u-r,t);else if(t)throw Error(`CronDate: Invalid value for dayOfWeek encountered. ${t}`);n.useAndLogic?i&&=t:!e.domAndDow&&!n.starDOM?i||=t:i&&=t}if(i)return this[t]=u-r,a===this[t]?1:2}return 3}recurse(e,t,n){if(n===0&&!e.starYear){if(this.year>=0&&this.year<e.year.length&&e.year[this.year]===0){let t=-1;for(let n=this.year+1;n<e.year.length&&n<1e4;n++)if(e.year[n]===1){t=n;break}if(t===-1)return null;this.year=t,this.month=0,this.day=1,this.hour=0,this.minute=0,this.second=0,this.ms=0}if(this.year>=1e4)return null}let r=this.findNext(t,L[n][0],e,L[n][2]);if(r>1){let i=n+1;for(;i<L.length;)this[L[i][0]]=-L[i][2],i++;if(r===3){if(this[L[n][1]]++,this[L[n][0]]=-L[n][2],this.apply(),n===0&&!e.starYear){for(;this.year>=0&&this.year<e.year.length&&e.year[this.year]===0&&this.year<1e4;)this.year++;if(this.year>=1e4||this.year>=e.year.length)return null}return this.recurse(e,t,0)}if(this.apply())return this.recurse(e,t,n-1)}return n+=1,n>=L.length?this:(e.starYear?this.year>=3e3:this.year>=1e4)?null:this.recurse(e,t,n)}increment(e,t,n){return this.second+=t.interval!==void 0&&t.interval>1&&n?t.interval:1,this.ms=0,this.apply(),this.recurse(e,t,0)}decrement(e,t){return this.second-=t.interval!==void 0&&t.interval>1?t.interval:1,this.ms=0,this.apply(),this.recurseBackward(e,t,0,0)}recurseBackward(e,t,n,r=0){if(r>1e4)return null;if(n===0&&!e.starYear){if(this.year>=0&&this.year<e.year.length&&e.year[this.year]===0){let t=-1;for(let n=this.year-1;n>=0;n--)if(e.year[n]===1){t=n;break}if(t===-1)return null;this.year=t,this.month=11,this.day=31,this.hour=23,this.minute=59,this.second=59,this.ms=0}if(this.year<0)return null}let i=this.findPrevious(t,L[n][0],e,L[n][2]);if(i>1){let a=n+1;for(;a<L.length;){let t=L[a][0],n=L[a][2],r=this.getMaxPatternValue(t,e,n);this[t]=r,a++}if(i===3){if(this[L[n][1]]--,n===0){let e=this.getLastDayOfMonth(this.year,this.month);this.day>e&&(this.day=e)}if(n===1)if(this.day<=0)this.day=1;else{let e=this.year,t=this.month;for(;t<0;)t+=12,e--;for(;t>11;)t-=12,e++;let n=t===1?new Date(Date.UTC(e,t+1,0)).getUTCDate():I[t];this.day>n&&(this.day=n)}this.apply();let i=L[n][0],a=L[n][2],o=this.getMaxPatternValue(i,e,a);if(i===`day`){let e=this.getLastDayOfMonth(this.year,this.month);this[i]=Math.min(o,e)}else this[i]=o;if(this.apply(),n===0){let t=L[1][2],n=this.getMaxPatternValue(`day`,e,t),r=this.getLastDayOfMonth(this.year,this.month),i=Math.min(n,r);i!==this.day&&(this.day=i,this.hour=this.getMaxPatternValue(`hour`,e,L[2][2]),this.minute=this.getMaxPatternValue(`minute`,e,L[3][2]),this.second=this.getMaxPatternValue(`second`,e,L[4][2]))}if(n===0&&!e.starYear){for(;this.year>=0&&this.year<e.year.length&&e.year[this.year]===0;)this.year--;if(this.year<0)return null}return this.recurseBackward(e,t,0,r+1)}if(this.apply())return this.recurseBackward(e,t,n-1,r+1)}return n+=1,n>=L.length?this:this.year<0?null:this.recurseBackward(e,t,n,r+1)}getMaxPatternValue(e,t,n){if(e===`day`&&t.lastDayOfMonth||e===`day`&&!t.starDOW)return this.getLastDayOfMonth(this.year,this.month);for(let r=t[e].length-1;r>=0;r--)if(t[e][r])return r-n;return t[e].length-1-n}findPrevious(e,t,n,r){return this._findMatch(e,t,n,r,-1)}getDate(e){return e||this.tz===void 0?new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms):typeof this.tz==`number`?new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute-this.tz,this.second,this.ms)):j(N(this.year,this.month+1,this.day,this.hour,this.minute,this.second,this.tz),!1)}getTime(){return this.getDate(!1).getTime()}match(e,t){if(!e.starYear&&(this.year<0||this.year>=e.year.length||e.year[this.year]===0))return!1;for(let n=0;n<L.length;n++){let r=L[n][0],i=L[n][2],a=this[r];if(a+i<0||a+i>=e[r].length)return!1;let o=e[r][a+i];if(r===`day`){if(!o){for(let t=0;t<e.nearestWeekdays.length;t++)if(e.nearestWeekdays[t]){let e=this.getNearestWeekday(this.year,this.month,t-i);if(e!==-1&&e===a){o=1;break}}}if(e.lastWeekday&&a===this.getLastWeekday(this.year,this.month)&&(o=1),e.lastDayOfMonth&&a===this.getLastDayOfMonth(this.year,this.month)&&(o=1),!e.starDOW){let n=new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay(),r=e.dayOfWeek[(n+(a-1))%7];r&&r&63&&(r=+!!this.isNthWeekdayOfMonth(this.year,this.month,a,r)),e.useAndLogic?o&&=r:!t.domAndDow&&!e.starDOM?o||=r:o&&=r}}if(!o)return!1}return!0}};function z(e){if(e===void 0&&(e={}),delete e.name,e.legacyMode!==void 0&&e.domAndDow===void 0?e.domAndDow=!e.legacyMode:e.domAndDow===void 0&&(e.domAndDow=!1),e.legacyMode=!e.domAndDow,e.paused=e.paused!==void 0&&e.paused,e.maxRuns=e.maxRuns===void 0?1/0:e.maxRuns,e.catch=e.catch!==void 0&&e.catch,e.interval=e.interval===void 0?0:parseInt(e.interval.toString(),10),e.utcOffset=e.utcOffset===void 0?void 0:parseInt(e.utcOffset.toString(),10),e.dayOffset=e.dayOffset===void 0?0:parseInt(e.dayOffset.toString(),10),e.unref=e.unref!==void 0&&e.unref,e.mode=e.mode===void 0?`auto`:e.mode,e.alternativeWeekdays=e.alternativeWeekdays!==void 0&&e.alternativeWeekdays,e.sloppyRanges=e.sloppyRanges!==void 0&&e.sloppyRanges,![`auto`,`5-part`,`6-part`,`7-part`,`5-or-6-parts`,`6-or-7-parts`].includes(e.mode))throw Error(`CronOptions: mode must be one of 'auto', '5-part', '6-part', '7-part', '5-or-6-parts', or '6-or-7-parts'.`);if(e.startAt&&(e.startAt=new R(e.startAt,e.timezone)),e.stopAt&&(e.stopAt=new R(e.stopAt,e.timezone)),e.interval!==null){if(isNaN(e.interval))throw Error(`CronOptions: Supplied value for interval is not a number`);if(e.interval<0)throw Error(`CronOptions: Supplied value for interval can not be negative`)}if(e.utcOffset!==void 0){if(isNaN(e.utcOffset))throw Error(`CronOptions: Invalid value passed for utcOffset, should be number representing minutes offset from UTC.`);if(e.utcOffset<-870||e.utcOffset>870)throw Error(`CronOptions: utcOffset out of bounds.`);if(e.utcOffset!==void 0&&e.timezone)throw Error(`CronOptions: Combining 'utcOffset' with 'timezone' is not allowed.`)}if(e.unref!==!0&&e.unref!==!1)throw Error(`CronOptions: Unref should be either true, false or undefined(false).`);if(e.dayOffset!==void 0&&e.dayOffset!==0&&isNaN(e.dayOffset))throw Error(`CronOptions: Invalid value passed for dayOffset, should be a number representing days to offset.`);return e}function B(e){return Object.prototype.toString.call(e)===`[object Function]`||typeof e==`function`||e instanceof Function}function V(e){return B(e)}function H(e){typeof Deno<`u`&&typeof Deno.unrefTimer<`u`?Deno.unrefTimer(e):e&&typeof e.unref<`u`&&e.unref()}var U=3e4,W=[],G=class{name;options;_states;fn;getTz(){return this.options.timezone||this.options.utcOffset}applyDayOffset(e){if(this.options.dayOffset!==void 0&&this.options.dayOffset!==0){let t=this.options.dayOffset*24*60*60*1e3;return new Date(e.getTime()+t)}return e}constructor(e,t,n){let r,i;if(B(t))i=t;else if(typeof t==`object`)r=t;else if(t!==void 0)throw Error(`Cron: Invalid argument passed for optionsIn. Should be one of function, or object (options).`);if(B(n))i=n;else if(typeof n==`object`)r=n;else if(n!==void 0)throw Error(`Cron: Invalid argument passed for funcIn. Should be one of function, or object (options).`);if(this.name=r?.name,this.options=z(r),this._states={kill:!1,blocking:!1,previousRun:void 0,currentRun:void 0,once:void 0,currentTimeout:void 0,maxRuns:r?r.maxRuns:void 0,paused:r?r.paused:!1,pattern:new F(`* * * * *`,void 0,{mode:`auto`})},e&&(e instanceof Date||typeof e==`string`&&e.indexOf(`:`)>0)?this._states.once=new R(e,this.getTz()):this._states.pattern=new F(e,this.options.timezone,{mode:this.options.mode,alternativeWeekdays:this.options.alternativeWeekdays,sloppyRanges:this.options.sloppyRanges}),this.name){if(W.find(e=>e.name===this.name))throw Error(`Cron: Tried to initialize new named job '`+this.name+`', but name already taken.`);W.push(this)}return i!==void 0&&V(i)&&(this.fn=i,this.schedule()),this}nextRun(e){let t=this._next(e);return t?this.applyDayOffset(t.getDate(!1)):null}nextRuns(e,t){this._states.maxRuns!==void 0&&e>this._states.maxRuns&&(e=this._states.maxRuns);let n=t||this._states.currentRun||void 0;return this._enumerateRuns(e,n,`next`)}previousRuns(e,t){return this._enumerateRuns(e,t||void 0,`previous`)}_enumerateRuns(e,t,n){let r=[],i=t?new R(t,this.getTz()):null,a=n===`next`?this._next:this._previous;for(;e--;){let e=a.call(this,i);if(!e)break;let t=e.getDate(!1);r.push(this.applyDayOffset(t)),i=e}return r}match(e){if(this._states.once){let t=new R(e,this.getTz());t.ms=0;let n=new R(this._states.once,this.getTz());return n.ms=0,t.getTime()===n.getTime()}let t=new R(e,this.getTz());return t.ms=0,t.match(this._states.pattern,this.options)}getPattern(){if(!this._states.once)return this._states.pattern?this._states.pattern.pattern:void 0}getOnce(){return this._states.once?this._states.once.getDate():null}isRunning(){let e=this.nextRun(this._states.currentRun),t=!this._states.paused,n=this.fn!==void 0,r=!this._states.kill;return t&&n&&r&&e!==null}isStopped(){return this._states.kill}isBusy(){return this._states.blocking}currentRun(){return this._states.currentRun?this._states.currentRun.getDate():null}previousRun(){return this._states.previousRun?this._states.previousRun.getDate():null}msToNext(e){let t=this._next(e);return t?e instanceof R||e instanceof Date?t.getTime()-e.getTime():t.getTime()-new R(e).getTime():null}stop(){this._states.kill=!0,this._states.currentTimeout&&clearTimeout(this._states.currentTimeout);let e=W.indexOf(this);e>=0&&W.splice(e,1)}pause(){return this._states.paused=!0,!this._states.kill}resume(){return this._states.paused=!1,!this._states.kill}schedule(e){if(e&&this.fn)throw Error(`Cron: It is not allowed to schedule two functions using the same Croner instance.`);e&&(this.fn=e);let t=this.msToNext(),n=this.nextRun(this._states.currentRun);return t==null||isNaN(t)||n===null?this:(t>U&&(t=U),this._states.currentTimeout=setTimeout(()=>this._checkTrigger(n),t),this._states.currentTimeout&&this.options.unref&&H(this._states.currentTimeout),this)}async _trigger(e){this._states.blocking=!0,this._states.currentRun=new R(void 0,this.getTz());try{if(this.options.catch)try{this.fn!==void 0&&await this.fn(this,this.options.context)}catch(e){if(B(this.options.catch))try{this.options.catch(e,this)}catch{}}else this.fn!==void 0&&await this.fn(this,this.options.context)}finally{this._states.previousRun=new R(e,this.getTz()),this._states.blocking=!1}}async trigger(){await this._trigger()}runsLeft(){return this._states.maxRuns}_checkTrigger(e){let t=new Date,n=!this._states.paused&&t.getTime()>=e.getTime(),r=this._states.blocking&&this.options.protect;n&&!r?(this._states.maxRuns!==void 0&&this._states.maxRuns--,this._trigger()):n&&r&&B(this.options.protect)&&setTimeout(()=>this.options.protect(this),0),this.schedule()}_next(e){let t=!!(e||this._states.currentRun),n=!1;!e&&this.options.startAt&&this.options.interval&&([e,t]=this._calculatePreviousRun(e,t),n=!e),e=new R(e,this.getTz()),this.options.startAt&&e&&e.getTime()<this.options.startAt.getTime()&&(e=this.options.startAt);let r=this._states.once||new R(e,this.getTz());return!n&&r!==this._states.once&&(r=r.increment(this._states.pattern,this.options,t)),this._states.once&&this._states.once.getTime()<=e.getTime()||r===null||this._states.maxRuns!==void 0&&this._states.maxRuns<=0||this._states.kill||this.options.stopAt&&r.getTime()>=this.options.stopAt.getTime()?null:r}_previous(e){let t=new R(e,this.getTz());this.options.stopAt&&t.getTime()>this.options.stopAt.getTime()&&(t=this.options.stopAt);let n=new R(t,this.getTz());return this._states.once?this._states.once.getTime()<t.getTime()?this._states.once:null:(n=n.decrement(this._states.pattern,this.options),n===null||this.options.startAt&&n.getTime()<this.options.startAt.getTime()?null:n)}_calculatePreviousRun(e,t){let n=new R(void 0,this.getTz()),r=e;if(this.options.startAt.getTime()<=n.getTime()){r=this.options.startAt;let e=r.getTime()+this.options.interval*1e3;for(;e<=n.getTime();)r=new R(r,this.getTz()).increment(this._states.pattern,this.options,!0),e=r.getTime()+this.options.interval*1e3;t=!0}return r===null&&(r=void 0),[r,t]}};function K(e,t){try{return new G(e.trim(),{domAndDow:!0}).nextRun(t)??null}catch{return null}}var q=e({FORWARDABLE_TO_LEADER:()=>Y,LickManager:()=>X,buildActiveLicksError:()=>Q,getLickManager:()=>ue,lickScoopMatches:()=>Z});const J=t(`lick-manager`),Y=new Set([`navigate`,`discovery`]);function ce(e){if(typeof e!=`object`||!e)return null;let t=e;return typeof t.verb!=`string`||typeof t.target!=`string`?null:E({verb:t.verb,target:t.target,branch:typeof t.branch==`string`?t.branch:void 0,path:typeof t.path==`string`?t.path:void 0,instruction:typeof t.instruction==`string`?t.instruction:void 0})}function le(e){return!e.discoveryKind&&!e.discoveryUrl&&!e.discoveryOrigin?null:re({origin:e.discoveryOrigin,kind:e.discoveryKind,url:e.discoveryUrl})}var X=class{webhooks=new Map;crontasks=new Map;cronInterval=null;eventHandler=null;forwarder=null;seenNavigateFingerprints=new Set;seenDiscoveryFingerprints=new Set;scoopResolver=null;discoveryIgnore=null;async init(){await d();let e=await a();for(let t of e)this.webhooks.set(t.id,t);J.info(`Loaded webhooks`,{count:this.webhooks.size});let t=await s();for(let e of t)this.crontasks.set(e.id,e);J.info(`Loaded crontasks`,{count:this.crontasks.size}),await this.reconcileOrphans(),this.cronInterval=setInterval(()=>this.runCronScheduler(),6e4),J.info(`Cron scheduler started`)}setScoopExistenceResolver(e){this.scoopResolver=e}setDiscoveryIgnore(e){this.discoveryIgnore=e}isOrphanedLick(e){return!this.scoopResolver||!e?!1:!this.scoopResolver(e)}async reconcileOrphans(){if(this.scoopResolver){for(let e of Array.from(this.webhooks.values()))if(this.isOrphanedLick(e.scoop)){J.warn(`Removing orphaned webhook at init; target scoop no longer exists`,{id:e.id,name:e.name,scoop:e.scoop}),this.webhooks.delete(e.id);try{await i(e.id)}catch(t){J.warn(`Failed to delete orphaned webhook from DB`,{id:e.id,error:t instanceof Error?t.message:String(t)})}}for(let e of Array.from(this.crontasks.values()))if(this.isOrphanedLick(e.scoop)){J.warn(`Removing orphaned cron task at init; target scoop no longer exists`,{id:e.id,name:e.name,scoop:e.scoop}),this.crontasks.delete(e.id);try{await o(e.id)}catch(t){J.warn(`Failed to delete orphaned cron task from DB`,{id:e.id,error:t instanceof Error?t.message:String(t)})}}}}dispose(){this.cronInterval&&=(clearInterval(this.cronInterval),null)}setEventHandler(e){this.eventHandler=e}setForwarder(e){this.forwarder=e}dispatch(e){if(!(e.type===`discovery`&&this.shouldSuppressDiscovery(e))){if(this.forwarder&&Y.has(e.type)){this.forwarder(e);return}this.eventHandler?.(e)}}handleForwardedEvent(e){e.type===`discovery`&&this.shouldSuppressDiscovery(e)||this.isDuplicateFingerprint(e)||this.eventHandler?.(e)}emitEvent(e){e.type===`discovery`&&this.shouldSuppressDiscovery(e)||this.isDuplicateFingerprint(e)||(J.info(`External lick event`,{type:e.type,target:e.targetScoop}),this.dispatch(e))}isDuplicateFingerprint(e){let t=null,n,r;if(e.type===`navigate`)t=ce(e.body),n=this.seenNavigateFingerprints,r=`navigate`;else if(e.type===`discovery`)t=le(e),n=this.seenDiscoveryFingerprints,r=`discovery`;else return!1;return t===null?!1:n.has(t)?(J.debug(`Suppressing duplicate ${r} lick`,{fingerprint:t}),!0):(n.add(t),!1)}shouldSuppressDiscovery(e){return e.discoverySource===`live-navigation`?this.discoveryIgnore?.(e)?(J.debug(`Suppressing ignored llms.txt discovery`,{origin:e.discoveryOrigin}),!0):!1:(J.debug(`Suppressing discovery without live-navigation provenance`),!0)}async createWebhook(e,t,n){let i=this.generateId(),a={id:i,name:e,createdAt:new Date().toISOString(),filter:n,scoop:t};return n&&this.compileFilter(n,!0),this.webhooks.set(i,a),await r(a),J.info(`Webhook created`,{id:i,name:e,scoop:t}),a}async deleteWebhook(e){return this.webhooks.has(e)?(this.webhooks.delete(e),await i(e),J.info(`Webhook deleted`,{id:e}),!0):await l(e)!==null&&(await i(e),J.info(`Webhook deleted`,{id:e}),!0)}listWebhooks(){return Array.from(this.webhooks.values())}getWebhook(e){return this.webhooks.get(e)}handleWebhookEvent(e,t,n){let r=this.webhooks.get(e);if(!r){J.warn(`Webhook not found`,{webhookId:e});return}let i={type:`webhook`,webhookId:e,webhookName:r.name,targetScoop:r.scoop,timestamp:new Date().toISOString(),headers:t,body:n};if(r.filter)try{let t=this.compileFilter(r.filter,!0)(i);if(t===!1){J.debug(`Webhook event dropped by filter`,{webhookId:e,name:r.name});return}typeof t==`object`&&t&&(i=t)}catch(t){J.error(`Webhook filter error`,{webhookId:e,error:t instanceof Error?t.message:String(t)})}J.info(`Webhook event received`,{webhookId:e,name:r.name,targetScoop:r.scoop}),this.dispatch(i)}async createCronTask(e,t,n,r){let i=K(t,new Date);if(!i)throw Error(`Invalid cron expression`);r&&this.compileFilter(r,!1);let a=this.generateId(),o={id:a,name:e,cron:t,scoop:n,filter:r,nextRun:i.toISOString(),lastRun:null,status:`active`,createdAt:new Date().toISOString()};return this.crontasks.set(a,o),await u(o),J.info(`Cron task created`,{id:a,name:e,cron:t,scoop:n}),o}async deleteCronTask(e){return this.crontasks.has(e)?(this.crontasks.delete(e),await o(e),J.info(`Cron task deleted`,{id:e}),!0):await c(e)!==null&&(await o(e),J.info(`Cron task deleted`,{id:e}),!0)}listCronTasks(){return Array.from(this.crontasks.values())}getCronTask(e){return this.crontasks.get(e)}getLicksForScoop(e,t){return{webhooks:Array.from(this.webhooks.values()).filter(n=>Z(n.scoop,e,t)),cronTasks:Array.from(this.crontasks.values()).filter(n=>Z(n.scoop,e,t))}}async getLicksForScoopFromDb(e,t){let[n,r]=await Promise.all([a(),s()]);return{webhooks:n.filter(n=>Z(n.scoop,e,t)),cronTasks:r.filter(n=>Z(n.scoop,e,t))}}async deleteIfOrphanedCron(e){if(!this.isOrphanedLick(e.scoop))return!1;J.warn(`Deleting orphaned cron task; target scoop no longer exists`,{id:e.id,name:e.name,scoop:e.scoop}),this.crontasks.delete(e.id);try{await o(e.id)}catch(t){J.warn(`Failed to delete orphaned cron task from DB`,{id:e.id,error:t instanceof Error?t.message:String(t)})}return!0}async runCronScheduler(){let e=new Date;for(let t of this.crontasks.values())await this.deleteIfOrphanedCron(t)||t.status===`active`&&t.nextRun&&(new Date(t.nextRun)>e||await this.runDueCronTask(t,e))}async runDueCronTask(e,t){let n={time:t.toISOString()};if(e.filter)try{let r=this.compileFilter(e.filter,!1)(null);if(r===!1){J.debug(`Cron task skipped by filter`,{id:e.id,name:e.name}),e.nextRun=K(e.cron,t)?.toISOString()??null,e.lastRun=t.toISOString(),await u(e);return}typeof r==`object`&&r&&(n=r)}catch(t){J.error(`Cron filter error`,{id:e.id,error:t instanceof Error?t.message:String(t)})}let r={type:`cron`,cronId:e.id,cronName:e.name,targetScoop:e.scoop,timestamp:t.toISOString(),body:n};J.info(`Cron task running`,{id:e.id,name:e.name}),this.dispatch(r),e.nextRun=K(e.cron,t)?.toISOString()??null,e.lastRun=t.toISOString(),await u(e)}generateId(){let e=``;for(let t=0;t<12;t++)e+=`abcdefghijklmnopqrstuvwxyz0123456789`[Math.floor(Math.random()*36)];return e}compileFilter(e,t){try{return t?Function(`event`,`return (${e})(event);`):Function(`return (${e})();`)}catch(e){throw Error(`Invalid filter function: ${e instanceof Error?e.message:String(e)}`)}}};function Z(e,t,n){return e?e===t||e===n||`${e}-scoop`===n:!1}function Q(e,t,n){if(t.length===0&&n.length===0)return null;let r=[];t.length>0&&r.push(`${t.length} active webhook${t.length>1?`s`:``}`),n.length>0&&r.push(`${n.length} active cron task${n.length>1?`s`:``}`);let i=[...t.map(e=>` webhook delete ${e.id}`),...n.map(e=>` crontask delete ${e.id}`)].join(`
|
|
2
2
|
`);return Error(`Cannot remove scoop '${e}': it has ${r.join(` and `)}. Unregister them first:\n${i}`)}let $=null;function ue(){return $||=new X,$}export{b as a,S as c,f as d,K as i,C as l,Z as n,T as o,q as r,se as s,Q as t,y as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import"./proxied-fetch-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import"./proxied-fetch-Co-pb0x0.js";import"./runtime-env-DVGQx9p3.js";import"./tray-runtime-config-CVoPQrT2.js";const t=`slicc.followerTrayStatus`;function n(e){try{let t=globalThis.localStorage?.getItem(e);if(!t)return null;let n=JSON.parse(t);return typeof n?.state==`string`?n.state:null}catch{return null}}function r(){let e=n(t);return e!==null&&e!==`inactive`?`follower`:n(`slicc.leaderTrayStatus`)===`leader`?`leader`:`standalone`}e(`tray-leader`);let i={state:`inactive`,session:null,error:null};function a(){return{...i,session:i.session?{...i.session}:null}}function o(){let e=a();if(e.state!==`inactive`)return e;try{let e=globalThis.localStorage?.getItem(`slicc.leaderTrayStatus`);if(e){let t=JSON.parse(e);if(t?.state&&t.state!==`inactive`)return t}}catch{}return e}const s=new Set;function c(e){return s.add(e),()=>{s.delete(e)}}function l(e){let t=new URL(e);return`${t.protocol===`https:`?`wss:`:`ws:`}//${t.host}/licks-ws`}function u(e,t){return`${new URL(e).origin}/webhooks/${t}`}function d(e,t){return`${e.replace(/\/+$/,``)}/${t.replace(/^\/+/,``)}`}export{a,r as c,o as i,d as n,c as o,u as r,t as s,l as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-LESFN7Hj.js";import"./logger-DQgFbfwx.js";import{a as t,i as n,n as r,r as i,t as a}from"./lick-urls-
|
|
1
|
+
import{t as e}from"./logger-LESFN7Hj.js";import"./logger-DQgFbfwx.js";import{a as t,i as n,n as r,r as i,t as a}from"./lick-urls-DcXOqXGm.js";const o=e(`lick-ws-bridge`);function s(e){if(e.stopped)return;let t;try{t=e.wsFactory(e.wsUrl)}catch(t){o.error(`Failed to construct lick WebSocket`,{url:e.wsUrl,error:t instanceof Error?t.message:String(t)}),c(e,`construct-threw`);return}e.socket=t,t.onopen=()=>{e.consecutiveFailures>0?o.info(`Lick WebSocket recovered`,{attempts:e.consecutiveFailures}):o.info(`Lick WebSocket connected`),e.consecutiveFailures=0,e.unrecoverableSignalled=!1},t.onmessage=n=>{u(e,t,n.data).catch(e=>{let t=typeof n.data==`string`?n.data.slice(0,200):`[non-string payload]`;o.error(`Failed to process lick message`,{error:e instanceof Error?e.message:String(e),preview:t})})},t.onclose=n=>{if(e.socket===t&&(e.socket=null),e.stopped)return;let r=n.reason?` reason=${JSON.stringify(n.reason)}`:``;c(e,`disconnected code=${n.code}${r}`)},t.onerror=t=>{let n=t.target;o.error(`Lick WebSocket error`,{url:e.wsUrl,readyState:n?.readyState,eventType:t.type})}}function c(e,t){if(e.reconnectHandle!=null){o.debug(`Lick WS failure during pending reconnect — keeping existing timer`,{cause:t});return}e.consecutiveFailures++;let n=Math.min(e.baseDelay*2**(e.consecutiveFailures-1),6e4),r={url:e.wsUrl,attempt:e.consecutiveFailures,cause:t,retryInMs:n};if(e.consecutiveFailures>=3?o.error(`Lick WebSocket still down`,r):o.warn(`Lick WebSocket down`,r),e.consecutiveFailures===20&&!e.unrecoverableSignalled){e.unrecoverableSignalled=!0;try{e.lickManager.emitEvent({type:`session-reload`,targetScoop:void 0,timestamp:new Date().toISOString(),body:{reason:`lick-ws-bridge-down`,url:e.wsUrl,attempts:e.consecutiveFailures}})}catch(e){o.error(`Failed to emit lick-ws-bridge-down signal`,{error:e instanceof Error?e.message:String(e)})}}l(e,n)}function l(e,t){e.stopped||e.reconnectHandle!=null||(e.reconnectHandle=e.setTimer(()=>{e.reconnectHandle=null,s(e)},t))}async function u(e,t,n){let r=JSON.parse(typeof n==`string`?n:String(n));if(r.requestId){let n=r.requestId,i=await m(e,r,n);if(e.stopped||e.socket!==t||t.readyState!==1){o.warn(`Lick reply dropped — socket changed/closed mid-request`,{type:r.type,requestId:n});return}try{t.send(JSON.stringify(i))}catch(e){o.error(`ws.send() failed delivering lick reply`,{type:r.type,requestId:n,error:e instanceof Error?e.message:String(e)})}return}if(r.type===`webhook_event`){d(e.lickManager,r);return}r.type===`navigate_event`&&p(e.lickManager,r)}function d(e,t){let n=typeof t.webhookId==`string`?t.webhookId:null;if(!n){o.error(`Malformed webhook_event from lick-ws`,{receivedKeys:Object.keys(t)});return}let r=t.headers&&typeof t.headers==`object`?t.headers:{};try{e.handleWebhookEvent(n,r,t.body)}catch(e){o.error(`Webhook event dispatch failed`,{webhookId:n,error:e instanceof Error?e.message:String(e)})}}function f(e){let t=typeof e.verb==`string`?e.verb:null,n=typeof e.target==`string`?e.target:null,r=typeof e.url==`string`&&e.url.length>0?e.url:null;if(t!==`handoff`&&t!==`upskill`||!n||!r)return null;let i={url:r,verb:t,target:n};return typeof e.instruction==`string`&&(i.instruction=e.instruction),typeof e.branch==`string`&&(i.branch=e.branch),typeof e.path==`string`&&(i.path=e.path),typeof e.title==`string`&&(i.title=e.title),{type:`navigate`,navigateUrl:r,targetScoop:void 0,timestamp:typeof e.timestamp==`string`?e.timestamp:new Date().toISOString(),body:i}}function p(e,t){let n=f(t);if(!n){o.debug(`navigate_event dropped — invalid payload`,{hasVerb:typeof t.verb==`string`,hasTarget:typeof t.target==`string`,hasUrl:typeof t.url==`string`&&t.url.length>0});return}e.emitEvent(n)}async function m(e,t,r){let{lickManager:i}=e;try{switch(t.type){case`list_webhooks`:return{type:`response`,requestId:r,data:i.listWebhooks().map(t=>({...t,url:h(e,t.id)}))};case`create_webhook`:{let n=await i.createWebhook(t.name||`default`,t.scoop,t.filter);return{type:`response`,requestId:r,data:{...n,url:h(e,n.id)}}}case`delete_webhook`:return await i.deleteWebhook(t.id)?{type:`response`,requestId:r,data:{ok:!0}}:{type:`response`,requestId:r,data:{error:`Webhook not found`}};case`list_crontasks`:return{type:`response`,requestId:r,data:i.listCronTasks()};case`create_crontask`:if(!t.name)throw Error(`name is required`);if(!t.cron)throw Error(`cron is required`);return{type:`response`,requestId:r,data:await i.createCronTask(t.name,t.cron,t.scoop,t.filter)};case`delete_crontask`:return await i.deleteCronTask(t.id)?{type:`response`,requestId:r,data:{ok:!0}}:{type:`response`,requestId:r,data:{error:`Cron task not found`}};case`tray_status`:{let e=n();return{type:`response`,requestId:r,data:{state:e.state,joinUrl:e.session?.joinUrl??null,workerBaseUrl:e.session?.workerBaseUrl??null,trayId:e.session?.trayId??null}}}default:return{type:`response`,requestId:r,error:`Unknown request type: ${t.type}`}}}catch(e){return{type:`response`,requestId:r,error:e instanceof Error?e.message:String(e)}}}function h(e,n){let a=t().session;return a?.webhookUrl?r(a.webhookUrl,n):e.webhookOriginOverride?`${e.webhookOriginOverride}/webhooks/${n}`:i(e.options.locationHref,n)}function g(e){if(e.stopped)return;e.stopped=!0,e.reconnectHandle!=null&&(e.clearTimer(e.reconnectHandle),e.reconnectHandle=null);let t=e.socket;if(e.socket=null,t)try{t.close()}catch(e){t.readyState!==3&&t.readyState!==2&&o.warn(`Lick socket close() threw before terminal state`,{readyState:t.readyState,error:e instanceof Error?e.message:String(e)})}}function _(e,t){try{new URL(t.locationHref)}catch(e){throw Error(`startLickWsBridge: invalid locationHref ${JSON.stringify(t.locationHref)}: ${e instanceof Error?e.message:String(e)}`)}let n=typeof t.lickWsUrl==`string`&&t.lickWsUrl.length>0?t.lickWsUrl:a(t.locationHref),r=null;if(typeof t.lickWsUrl==`string`&&t.lickWsUrl.length>0)try{let e=new URL(t.lickWsUrl);r=`${e.protocol===`wss:`?`https:`:`http:`}//${e.host}`}catch{r=null}let i={lickManager:e,options:t,wsUrl:n,webhookOriginOverride:r,baseDelay:t.reconnectDelayMs??3e3,wsFactory:t.webSocketFactory??(e=>new WebSocket(e)),setTimer:t.setTimeoutFn??setTimeout.bind(globalThis),clearTimer:t.clearTimeoutFn??clearTimeout.bind(globalThis),stopped:!1,socket:null,reconnectHandle:null,consecutiveFailures:0,unrecoverableSignalled:!1};return s(i),{stop(){g(i)}}}export{_ as startLickWsBridge};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./logger-DDBAeTLF.js";import"./logger-BoSvu4mW.js";import"./tray-leader-
|
|
1
|
+
import{t as e}from"./logger-DDBAeTLF.js";import"./logger-BoSvu4mW.js";import"./tray-leader-iVJTGwuf.js";e(`lick-ws-bridge`);function t(e){let t=typeof e.verb==`string`?e.verb:null,n=typeof e.target==`string`?e.target:null,r=typeof e.url==`string`&&e.url.length>0?e.url:null;if(t!==`handoff`&&t!==`upskill`||!n||!r)return null;let i={url:r,verb:t,target:n};return typeof e.instruction==`string`&&(i.instruction=e.instruction),typeof e.branch==`string`&&(i.branch=e.branch),typeof e.path==`string`&&(i.path=e.path),typeof e.title==`string`&&(i.title=e.title),{type:`navigate`,navigateUrl:r,targetScoop:void 0,timestamp:typeof e.timestamp==`string`?e.timestamp:new Date().toISOString(),body:i}}function n(e){let t=typeof e.discoveryOrigin==`string`?e.discoveryOrigin:null,n=e.discoveryKind===`ai-catalog`||e.discoveryKind===`llms-txt`?e.discoveryKind:null,r=typeof e.discoveryUrl==`string`&&e.discoveryUrl.length>0?e.discoveryUrl:null;if(!t||!n||!r)return null;let i=typeof e.url==`string`?e.url:void 0;return{type:`discovery`,discoveryOrigin:t,discoveryKind:n,discoveryUrl:r,discoverySource:`live-navigation`,targetScoop:void 0,timestamp:typeof e.timestamp==`string`?e.timestamp:new Date().toISOString(),body:{origin:t,kind:n,url:r,...i?{pageUrl:i}:{}}}}export{n as mapDiscoveryPayloadToLickEvent,t as mapNavigatePayloadToLickEvent};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-LESFN7Hj.js";import{b as n}from"./account-store-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{t}from"./logger-LESFN7Hj.js";import{b as n}from"./account-store-CYz2dZdk.js";import{a as r}from"./diagnostics-DN_idNHx.js";import{u as i}from"./claude-model-version-Csn7RPVg.js";import{r as a,s as o}from"./legacy-api-aliases-oJPAvhVV.js";var s=e({config:()=>d,detectRuntime:()=>C,discoverModels:()=>S,originOf:()=>b,register:()=>y,verifyConnection:()=>E});const c=t(`local-llm`),l=`local-llm`,u=`${l}-unconfigured`,d={id:l,name:`Local LLM (OpenAI-compatible)`,description:[`Connect to any OpenAI-compatible local model server.`,``,`Common base URLs:`,` • Ollama http://localhost:11434/v1`,` • LM Studio http://localhost:1234/v1`,` • llama.cpp http://localhost:8080/v1`,` • vLLM http://localhost:8000/v1`,` • mlx_lm http://localhost:8080/v1`,` • Jan http://localhost:1337/v1`,``,`Ollama needs OLLAMA_ORIGINS=* (or chrome-extension://*) so the`,`browser can reach it. macOS: launchctl setenv OLLAMA_ORIGINS "*".`].join(`
|
|
2
2
|
`),requiresApiKey:!1,optionalApiKey:!0,apiKeyPlaceholder:`Leave empty for local servers, or paste a key for hosted endpoints`,apiKeyEnvVar:`LOCAL_LLM_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`http://localhost:11434/v1`,baseUrlDescription:`Ollama: 11434 • LM Studio: 1234 • llama.cpp/mlx: 8080 • vLLM: 8000 • Jan: 1337. Trailing /v1 required.`,requiresDeployment:!0,deploymentPlaceholder:`llama3.1:8b, qwen2.5-coder:14b`,deploymentDescription:`Comma-separated model IDs from your server. List them with: curl <baseUrl>/models | jq -r .data[].id`,getModelIds:()=>{let e=f(n(l));return e.length===0?[{id:u,name:`Local LLM (set base URL + model IDs in Settings)`,api:`openai`}]:e.map(e=>({id:e,name:e,api:`openai`,input:[`text`],context_window:32e3,max_tokens:4096}))}};function f(e){return e?e.split(`,`).map(e=>e.trim()).filter(Boolean):[]}const p=`${l}-openai`;function m(e){return{...e,api:`openai-completions`}}function h(e){let t=e??{};return!t.apiKey||t.apiKey.length===0?{...t,apiKey:`local`}:t}const g=(e,t,n={})=>e.id===u?v(e,`Local LLM is not configured. Set base URL and model IDs in Settings.`):e.baseUrl?a(m(e),t,h(n)):v(e,`Local LLM base URL is required (e.g. http://localhost:11434/v1).`),_=(e,t,n)=>e.id===u?v(e,`Local LLM is not configured. Set base URL and model IDs in Settings.`):e.baseUrl?o(m(e),t,h(n)):v(e,`Local LLM base URL is required (e.g. http://localhost:11434/v1).`);function v(e,t){let n=r(),i={role:`assistant`,content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:t,timestamp:Date.now()};return queueMicrotask(()=>{n.push({type:`error`,reason:`error`,error:i}),n.end()}),n}function y(){i({api:p,stream:g,streamSimple:_})}function b(e){try{let t=new URL(e);return`${t.protocol}//${t.host}`}catch{return e.replace(/\/v1\/?$/,``).replace(/\/+$/,``)}}function x(e){let t=e.replace(/\/+$/,``);try{let e=new URL(t);if(e.pathname===``||e.pathname===`/`)return`${t}/v1`}catch{}return t}async function S(e,t,n){let r=`${x(e)}/models`,i={Accept:`application/json`};t&&t.length>0&&(i.Authorization=`Bearer ${t}`);let a=await fetch(r,{method:`GET`,headers:i,signal:n});if(!a.ok)throw Error(`GET ${r} -> ${a.status} ${a.statusText}`);let o=await a.json();return Array.isArray(o.data)?o.data.map(e=>e.id??``).filter(e=>e.length>0):[]}async function C(e,t){let n=b(e),r=await T(`${n}/api/version`,t);if(r&&typeof r.version==`string`)return{kind:`ollama`,version:r.version};let i=await T(`${n}/api/v0/models`,t);if(i&&i.object===`list`)return{kind:`lmstudio`};let a=await T(`${n}/props`,t);if(a&&`build_info`in a)return{kind:`llamacpp`,version:a.build_info?.version};let o=w(e);return o===`11434`?{kind:`ollama`}:o===`1234`?{kind:`lmstudio`}:o===`8000`?{kind:`vllm`}:o===`1337`?{kind:`jan`}:{kind:`unknown`}}function w(e){try{return new URL(e).port||null}catch{return null}}async function T(e,t){try{let n=await fetch(e,{method:`GET`,signal:t});return n.ok?await n.json():null}catch{return null}}async function E(e,t,n){let r={kind:`unknown`};try{r=await C(e,n)}catch{}try{let i=await S(e,t,n);return{ok:!0,runtime:r,models:i}}catch(t){let n=t instanceof Error?t.message:String(t),i=D(n,r.kind);return c.warn(`verifyConnection failed`,{baseUrl:e,runtime:r.kind,message:n}),{ok:!1,runtime:r,models:[],error:i}}}function D(e,t){let n=e.toLowerCase();return n.includes(`failed to fetch`)||n.includes(`networkerror`)?t===`ollama`?{kind:`cors`,message:e,hint:'Ollama rejects requests from non-localhost origins by default. Set OLLAMA_ORIGINS=* (or chrome-extension://*) and restart Ollama. macOS: `launchctl setenv OLLAMA_ORIGINS "*"` then quit and relaunch the Ollama app.'}:{kind:`connection`,message:e,hint:`Server unreachable. Check the URL and that the server is running.`}:n.includes(` 401`)||n.includes(` 403`)?{kind:`auth`,message:e,hint:`Server returned an auth error. If your endpoint requires a key, set it in Settings.`}:/-> \d{3} /.test(e)?{kind:`http`,message:e}:{kind:`unknown`,message:e}}export{s as n,d as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as e}from"./account-store-
|
|
1
|
+
import{b as e}from"./account-store-Bo-yhxpr.js";import{a as t}from"./diagnostics-DN_idNHx.js";import{u as n}from"./claude-model-version-DoVrYsKi.js";import{r,s as i}from"./legacy-api-aliases-BnRqMAef.js";import{t as a}from"./logger-DDBAeTLF.js";var o=a(`local-llm`),s=`local-llm`,c=`local`,l=`${s}-unconfigured`,u={id:s,name:`Local LLM (OpenAI-compatible)`,description:[`Connect to any OpenAI-compatible local model server.`,``,`Common base URLs:`,` • Ollama http://localhost:11434/v1`,` • LM Studio http://localhost:1234/v1`,` • llama.cpp http://localhost:8080/v1`,` • vLLM http://localhost:8000/v1`,` • mlx_lm http://localhost:8080/v1`,` • Jan http://localhost:1337/v1`,``,`Ollama needs OLLAMA_ORIGINS=* (or chrome-extension://*) so the`,`browser can reach it. macOS: launchctl setenv OLLAMA_ORIGINS "*".`].join(`
|
|
2
2
|
`),requiresApiKey:!1,optionalApiKey:!0,apiKeyPlaceholder:`Leave empty for local servers, or paste a key for hosted endpoints`,apiKeyEnvVar:`LOCAL_LLM_API_KEY`,requiresBaseUrl:!0,baseUrlPlaceholder:`http://localhost:11434/v1`,baseUrlDescription:`Ollama: 11434 • LM Studio: 1234 • llama.cpp/mlx: 8080 • vLLM: 8000 • Jan: 1337. Trailing /v1 required.`,requiresDeployment:!0,deploymentPlaceholder:`llama3.1:8b, qwen2.5-coder:14b`,deploymentDescription:`Comma-separated model IDs from your server. List them with: curl <baseUrl>/models | jq -r .data[].id`,getModelIds:()=>{let t=d(e(s));return t.length===0?[{id:l,name:`Local LLM (set base URL + model IDs in Settings)`,api:`openai`}]:t.map(e=>({id:e,name:e,api:`openai`,input:[`text`],context_window:32e3,max_tokens:4096}))}};function d(e){return e?e.split(`,`).map(e=>e.trim()).filter(Boolean):[]}var f=`openai-completions`,p=`${s}-openai`;function m(e){return{...e,api:f}}function h(e){let t=e??{};return!t.apiKey||t.apiKey.length===0?{...t,apiKey:c}:t}var g=(e,t,n={})=>e.id===l?v(e,`Local LLM is not configured. Set base URL and model IDs in Settings.`):e.baseUrl?r(m(e),t,h(n)):v(e,`Local LLM base URL is required (e.g. http://localhost:11434/v1).`),_=(e,t,n)=>e.id===l?v(e,`Local LLM is not configured. Set base URL and model IDs in Settings.`):e.baseUrl?i(m(e),t,h(n)):v(e,`Local LLM base URL is required (e.g. http://localhost:11434/v1).`);function v(e,n){let r=t(),i={role:`assistant`,content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:`error`,errorMessage:n,timestamp:Date.now()};return queueMicrotask(()=>{r.push({type:`error`,reason:`error`,error:i}),r.end()}),r}function y(){n({api:p,stream:g,streamSimple:_})}function b(e){try{let t=new URL(e);return`${t.protocol}//${t.host}`}catch{return e.replace(/\/v1\/?$/,``).replace(/\/+$/,``)}}function x(e){let t=e.replace(/\/+$/,``);try{let e=new URL(t);if(e.pathname===``||e.pathname===`/`)return`${t}/v1`}catch{}return t}async function S(e,t,n){let r=`${x(e)}/models`,i={Accept:`application/json`};t&&t.length>0&&(i.Authorization=`Bearer ${t}`);let a=await fetch(r,{method:`GET`,headers:i,signal:n});if(!a.ok)throw Error(`GET ${r} -> ${a.status} ${a.statusText}`);let o=await a.json();return Array.isArray(o.data)?o.data.map(e=>e.id??``).filter(e=>e.length>0):[]}async function C(e,t){let n=b(e),r=await T(`${n}/api/version`,t);if(r&&typeof r.version==`string`)return{kind:`ollama`,version:r.version};let i=await T(`${n}/api/v0/models`,t);if(i&&i.object===`list`)return{kind:`lmstudio`};let a=await T(`${n}/props`,t);if(a&&`build_info`in a)return{kind:`llamacpp`,version:a.build_info?.version};let o=w(e);return o===`11434`?{kind:`ollama`}:o===`1234`?{kind:`lmstudio`}:o===`8000`?{kind:`vllm`}:o===`1337`?{kind:`jan`}:{kind:`unknown`}}function w(e){try{return new URL(e).port||null}catch{return null}}async function T(e,t){try{let n=await fetch(e,{method:`GET`,signal:t});return n.ok?await n.json():null}catch{return null}}async function E(e,t,n){let r={kind:`unknown`};try{r=await C(e,n)}catch{}try{let i=await S(e,t,n);return{ok:!0,runtime:r,models:i}}catch(t){let n=t instanceof Error?t.message:String(t),i=D(n,r.kind);return o.warn(`verifyConnection failed`,{baseUrl:e,runtime:r.kind,message:n}),{ok:!1,runtime:r,models:[],error:i}}}function D(e,t){let n=e.toLowerCase();return n.includes(`failed to fetch`)||n.includes(`networkerror`)?t===`ollama`?{kind:`cors`,message:e,hint:'Ollama rejects requests from non-localhost origins by default. Set OLLAMA_ORIGINS=* (or chrome-extension://*) and restart Ollama. macOS: `launchctl setenv OLLAMA_ORIGINS "*"` then quit and relaunch the Ollama app.'}:{kind:`connection`,message:e,hint:`Server unreachable. Check the URL and that the server is running.`}:n.includes(` 401`)||n.includes(` 403`)?{kind:`auth`,message:e,hint:`Server returned an auth error. If your endpoint requires a key, set it in Settings.`}:/-> \d{3} /.test(e)?{kind:`http`,message:e}:{kind:`unknown`,message:e}}export{u as config,C as detectRuntime,S as discoverModels,b as originOf,y as register,E as verifyConnection};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/setup-feature-flags-remote-
|
|
2
|
-
import"./modulepreload-polyfill-P2Xu9kJm.js";import{a as e}from"./account-store-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/setup-feature-flags-remote-8Rvw554i.js","assets/feature-flags-ByMXaIc4.js","assets/tray-runtime-config-D7cmCcHJ.js","assets/src-CAWTvdAa.js","assets/proxied-fetch-BGeNrvQ4.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/preload-helper-Czpn1I53.js","assets/base64-DpPqYZJF.js","assets/runtime-env-Dlaokqg1.js","assets/fetch-body-D2PwksUW.js","assets/api-endpoint-GRCyib6X.js","assets/messages-BD4p8GuF.js","assets/wc-shell-7mtD7TN_.js","assets/image-markers-BXtVm4og.js","assets/telemetry-BVzuNdvW.js","assets/runtime-env-CgsZ7LTp.js","assets/runtime-env-E-i2SW1s.js","assets/html-B_Hg2WOy.js","assets/icons-ZLR7gmJ4.js","assets/dictation-priming-CNllGgNq.js","assets/agent-message-to-chat-_cvF5A5g.js","assets/timestamp-preference-sKwBl5I8.js","assets/src-DXdqCrdV.js","assets/speech-C5U8h4In.js","assets/soundscape-cues-5_sT5Un6.js","assets/panel-registry-CJdOibpf.js","assets/layout-schema-m9_VAwOw.js","assets/trusted-layer-ghPA1ENf.js","assets/wc-scoop-color-ShF3p7L9.js","assets/wc-shell-WkeczD9x.css","assets/wc-follower-TQacOT97.js","assets/logger-DDBAeTLF.js","assets/setup-standalone-prelude-NNpe-m64.js","assets/setup-sudo-CbAhwltm.js","assets/tray-sync-protocol-BZ5yhJH9.js","assets/wc-live-DlayGhwI.js","assets/account-store-Bo-yhxpr.js","assets/claude-model-version-DoVrYsKi.js","assets/models-BSkXF4T6.js","assets/diagnostics-DN_idNHx.js","assets/provider-env-CTOcDKrQ.js","assets/__vite-browser-external-5eBdwsFd.js","assets/openrouter.models-gbjkpjE_.js","assets/libesm-BI4UHVqp.js","assets/float-topology-DiK91BlA.js","assets/secret-topology-0AWfFTh5.js","assets/secrets-bridge-client-DCQ44RyR.js","assets/port-bridge-client-BhmNRlRv.js","assets/tool-ui-DfXu6quJ.js","assets/providers-BS5_Cp-0.js","assets/panel-rpc-B3MSVImO.js","assets/bedrock-camp-compat-CgBMwna8.js","assets/mime-types-ugOWOUZ9.js","assets/tray-follower-status-BAjnN7Ar.js","assets/src-BWaKqLvQ.js","assets/chat-session-store-pWb1-jNp.js","assets/tray-leader-iVJTGwuf.js","assets/db-cKsBsMMN.js","assets/record-Cy655bTh.js","assets/shared-CddfUR6k.js","assets/export-provider-BEHTjSYw.js","assets/dip-B58NQGEQ.js","assets/permissions-surface-registry-CilCRwhh.js","assets/hid-device-registry-B2R-0rNt.js","assets/serial-port-registry-B3LG5UIy.js","assets/usb-operations-Cgk-otz-.js","assets/usb-device-registry-CRsCisej.js","assets/sprinkle-renderer-D64E-W2o.js","assets/theme-CXRqxpw6.js","assets/theme-engine-By4GU_Wc.js","assets/sprinkle-bridge-CSfksHce.js","assets/session-freezer-BcGQ4XGx.js","assets/attachments-CByeG2Ru.js","assets/types-idfTVsM8.js","assets/follower-presentation-DqBw0YiV.js","assets/wc-unit-context-C0EqsYUD.js","assets/host-command-zx0pt9Np.js","assets/browser-DdY1FBRp.js","assets/leader-session-events-CC6poXIx.js","assets/wc-tray-scoops-B7RY-1VN.js","assets/slicc-app-url-BsBryEhn.js","assets/remote-cdp-transport-CgOXLjZ8.js","assets/pending-request-table-Dgn6qYdL.js","assets/tray-sync-protocol-DV_QG_Ey.js","assets/export-spool-Eul4J1RP.js","assets/wc-sprinkles-wT8iHdRT.js","assets/wc-attach-CPoS-Z-g.js","assets/wc-permissions-Oq3nX_59.js","assets/oauth-bootstrap-C9bBExq6.js","assets/provider-settings-DNJS-V3F.js","assets/clipboard-eqmn97SP.js","assets/tray-join-url-BIvzbiFR.js","assets/logger-BoSvu4mW.js","assets/legacy-styles-DcRu2WCJ.js","assets/connect-surface-Dd462OJJ.js","assets/wc-extension-pWBTulcf.js","assets/wc-detached-B3WCbbZT.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import"./modulepreload-polyfill-P2Xu9kJm.js";import{a as e}from"./account-store-Bo-yhxpr.js";import{t}from"./preload-helper-Czpn1I53.js";import{t as n}from"./logger-DDBAeTLF.js";import{c as r,o as i,s as a,t as o}from"./setup-standalone-prelude-NNpe-m64.js";import{n as s,t as c}from"./runtime-env-Dlaokqg1.js";import"./runtime-env-CgsZ7LTp.js";import{t as l}from"./telemetry-BVzuNdvW.js";import{a as u}from"./providers-BS5_Cp-0.js";import{n as d}from"./feature-flags-ByMXaIc4.js";import"./provider-settings-DNJS-V3F.js";var f=`slicc:bridge-config`,p=`slicc:extension-delegate-config`;function m(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.type===`slicc:ext-fetch`&&typeof t.extensionId==`string`&&!!t.request&&typeof t.request==`object`}var h=n(`boot/ext-fetch-delegate`);function g(){let e=globalThis.chrome?.runtime;return e&&typeof e.connect==`function`?e:null}function _(e,t,n){let r=g();if(!r){try{t.postMessage({type:`response-error`,error:`extension-delegate: chrome.runtime.connect unavailable`})}catch{}t.close();return}let i=e.extensionId||n,a;try{a=r.connect(i,{name:`fetch-proxy.fetch`})}catch(e){try{t.postMessage({type:`response-error`,error:`extension-delegate: connect failed — ${e instanceof Error?e.message:String(e)}`})}catch{}t.close();return}let o=!1,s=()=>{o=!0;try{a.disconnect()}catch{}try{t.close()}catch{}};a.onMessage.addListener(e=>{if(o)return;let n=e;try{t.postMessage(n)}catch{}(n.type===`response-end`||n.type===`response-error`)&&s()}),a.onDisconnect.addListener(()=>{if(!o){try{t.postMessage({type:`response-error`,error:`extension-delegate: fetch-proxy port disconnected`})}catch{}s()}}),a.postMessage({type:`request`,...e.request})}function v(e){typeof navigator>`u`||!navigator.serviceWorker||navigator.serviceWorker.addEventListener(`message`,t=>{if(!m(t.data))return;let n=t.ports?.[0];if(!n){h.warn(`delegated fetch envelope arrived without a response port`);return}_(t.data,n,e)})}var y=`slicc_feature_flags_remote`;function b(e){return`${y}:${e}`}function x(e,t){let n=C(t);d(e,w(n,e)??{})}function S(e,t,n){try{e?.setItem(b(t),JSON.stringify(n))}catch{}}function C(e){if(e!==void 0)return e;try{let e=globalThis.localStorage;return typeof e?.getItem!=`function`||typeof e.setItem!=`function`?void 0:e}catch{return}}function w(e,t){try{let n=e?.getItem(b(t));return n?T(JSON.parse(n)):null}catch{return null}}function T(e){return!E(e)||Object.values(e).some(e=>typeof e!=`string`)?null:e}function E(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function D(e,n){x(e,n.storage),t(async()=>{let{refreshFeatureFlagsForPage:e}=await import(`./setup-feature-flags-remote-8Rvw554i.js`);return{refreshFeatureFlagsForPage:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11])).then(({refreshFeatureFlagsForPage:t})=>t(e,n)).catch(()=>{})}function O(e){let t=a(e.locationHref,e.isExtension,e.storage);return D(t,e),t}function k(){if(s())return;let e=new Blob([`
|
|
3
3
|
let lastPong = Date.now();
|
|
4
4
|
let frozen = false;
|
|
5
5
|
setInterval(() => {
|
|
@@ -19,4 +19,4 @@ import"./modulepreload-polyfill-P2Xu9kJm.js";import{a as e}from"./account-store-
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
-
`],{type:`application/javascript`}),t=URL.createObjectURL(e),n=new Worker(t);URL.revokeObjectURL(t),n.onmessage=e=>{if(e.data.type===`ping`)n.postMessage({type:`pong`});else if(e.data.type===`freeze-detected`)console.error(`[freeze-watchdog] Main thread blocked for ${e.data.elapsed}ms — capturing trace on recovery`);else if(e.data.type===`freeze-recovered`){console.error(`[freeze-watchdog] Main thread recovered. Stack trace at recovery point:`),console.trace(`[freeze-watchdog] recovery stack`);let e=performance.getEntriesByType(`longtask`);e.length>0&&console.error(`[freeze-watchdog] Long tasks:`,e.map(e=>({duration:e.duration,startTime:e.startTime,name:e.name})))}},window.addEventListener(`beforeunload`,()=>{n.terminate()},{once:!0})}var A=`slicc-nuke-control`,j=[`slicc:welcome-flow-fired`,`slicc.trayJoinUrl`,`slicc.trayWorkerBaseUrl`];function M(e=()=>location.reload()){if(typeof BroadcastChannel!=`function`)return()=>{};let t=new BroadcastChannel(A),n=t=>{let n=t.data;if(n?.type===`nuke-reload`){if(Array.isArray(n.keysToRemove)){for(let e of n.keysToRemove)if(typeof e==`string`)try{localStorage.removeItem(e)}catch{}}e()}};return t.addEventListener(`message`,n),()=>{t.removeEventListener(`message`,n),t.close()}}var N=null;function P(){return N||(N=M(),N)}var F=n(`boot/sw-registration`);async function I(e=null,t=null){let n=(()=>{try{return new URL(window.location.href).searchParams.get(`connect`)===`1`}catch{return!1}})();if(`serviceWorker`in navigator&&n&&await z())return`reload-pending`;if(!(`serviceWorker`in navigator)||n)return`ready`;try{if(await navigator.serviceWorker.register(`/preview-sw.js`,{scope:`/preview/`}),F.info(`Preview SW registered`),!s())try{await navigator.serviceWorker.register(`/llm-proxy-sw.js`,{scope:`/`}),F.info(`LLM-proxy SW registered`)}catch(e){F.error(`LLM-proxy SW registration failed — cross-origin LLM calls will hit CORS`,e)}if(navigator.serviceWorker.controller||await Promise.race([new Promise(e=>navigator.serviceWorker.addEventListener(`controllerchange`,()=>e(),{once:!0})),new Promise(e=>setTimeout(e,1500))]),!navigator.serviceWorker.controller&&!sessionStorage.getItem(`slicc-sw-reloaded`))return sessionStorage.setItem(`slicc-sw-reloaded`,`1`),F.info(`Reloading once to gain SW control`),location.reload(),`reload-pending`;sessionStorage.removeItem(`slicc-sw-reloaded`),e&&(L(e),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{L(e)})),t&&(R(t),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{R(t)}))}catch(e){F.error(`Preview SW registration failed — preview feature will not work`,e)}return`ready`}function L(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:f,apiBaseUrl:e.apiBaseUrl,token:e.token};try{t.postMessage(n)}catch(e){F.warn(`LLM-proxy SW bridge-config postMessage failed`,e)}}function R(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:p,extensionId:e.extensionId};try{t.postMessage(n)}catch(e){F.warn(`LLM-proxy SW extension-delegate postMessage failed`,e)}}async function z(){try{let e=await navigator.serviceWorker.getRegistrations();if(await Promise.all(e.map(e=>e.unregister().catch(()=>!1))),navigator.serviceWorker.controller&&!sessionStorage.getItem(`slicc-connect-sw-cleared`))return sessionStorage.setItem(`slicc-connect-sw-cleared`,`1`),F.info(`connect mode: detaching from service worker (no proxy on worker origin)`),location.reload(),!0;sessionStorage.removeItem(`slicc-connect-sw-cleared`)}catch(e){F.error(`connect-mode SW cleanup failed`,e)}return!1}var B=n(`main`);function V(e){try{return new URL(e).searchParams.has(`ui-fixture`)}catch{return!1}}async function H(){i();let n=document.getElementById(`app`);if(!n)throw Error(`#app element not found`);let a=s(),d=O({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,isDev:!1,isExtension:a});if(V(window.location.href)){let{mountWcUiPreview:e}=await t(async()=>{let{mountWcUiPreview:e}=await import(`./wc-shell-
|
|
22
|
+
`],{type:`application/javascript`}),t=URL.createObjectURL(e),n=new Worker(t);URL.revokeObjectURL(t),n.onmessage=e=>{if(e.data.type===`ping`)n.postMessage({type:`pong`});else if(e.data.type===`freeze-detected`)console.error(`[freeze-watchdog] Main thread blocked for ${e.data.elapsed}ms — capturing trace on recovery`);else if(e.data.type===`freeze-recovered`){console.error(`[freeze-watchdog] Main thread recovered. Stack trace at recovery point:`),console.trace(`[freeze-watchdog] recovery stack`);let e=performance.getEntriesByType(`longtask`);e.length>0&&console.error(`[freeze-watchdog] Long tasks:`,e.map(e=>({duration:e.duration,startTime:e.startTime,name:e.name})))}},window.addEventListener(`beforeunload`,()=>{n.terminate()},{once:!0})}var A=`slicc-nuke-control`,j=[`slicc:welcome-flow-fired`,`slicc.trayJoinUrl`,`slicc.trayWorkerBaseUrl`];function M(e=()=>location.reload()){if(typeof BroadcastChannel!=`function`)return()=>{};let t=new BroadcastChannel(A),n=t=>{let n=t.data;if(n?.type===`nuke-reload`){if(Array.isArray(n.keysToRemove)){for(let e of n.keysToRemove)if(typeof e==`string`)try{localStorage.removeItem(e)}catch{}}e()}};return t.addEventListener(`message`,n),()=>{t.removeEventListener(`message`,n),t.close()}}var N=null;function P(){return N||(N=M(),N)}var F=n(`boot/sw-registration`);async function I(e=null,t=null){let n=(()=>{try{return new URL(window.location.href).searchParams.get(`connect`)===`1`}catch{return!1}})();if(`serviceWorker`in navigator&&n&&await z())return`reload-pending`;if(!(`serviceWorker`in navigator)||n)return`ready`;try{if(await navigator.serviceWorker.register(`/preview-sw.js`,{scope:`/preview/`}),F.info(`Preview SW registered`),!s())try{await navigator.serviceWorker.register(`/llm-proxy-sw.js`,{scope:`/`}),F.info(`LLM-proxy SW registered`)}catch(e){F.error(`LLM-proxy SW registration failed — cross-origin LLM calls will hit CORS`,e)}if(navigator.serviceWorker.controller||await Promise.race([new Promise(e=>navigator.serviceWorker.addEventListener(`controllerchange`,()=>e(),{once:!0})),new Promise(e=>setTimeout(e,1500))]),!navigator.serviceWorker.controller&&!sessionStorage.getItem(`slicc-sw-reloaded`))return sessionStorage.setItem(`slicc-sw-reloaded`,`1`),F.info(`Reloading once to gain SW control`),location.reload(),`reload-pending`;sessionStorage.removeItem(`slicc-sw-reloaded`),e&&(L(e),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{L(e)})),t&&(R(t),navigator.serviceWorker.addEventListener(`controllerchange`,()=>{R(t)}))}catch(e){F.error(`Preview SW registration failed — preview feature will not work`,e)}return`ready`}function L(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:f,apiBaseUrl:e.apiBaseUrl,token:e.token};try{t.postMessage(n)}catch(e){F.warn(`LLM-proxy SW bridge-config postMessage failed`,e)}}function R(e){let t=navigator.serviceWorker.controller;if(!t)return;let n={type:p,extensionId:e.extensionId};try{t.postMessage(n)}catch(e){F.warn(`LLM-proxy SW extension-delegate postMessage failed`,e)}}async function z(){try{let e=await navigator.serviceWorker.getRegistrations();if(await Promise.all(e.map(e=>e.unregister().catch(()=>!1))),navigator.serviceWorker.controller&&!sessionStorage.getItem(`slicc-connect-sw-cleared`))return sessionStorage.setItem(`slicc-connect-sw-cleared`,`1`),F.info(`connect mode: detaching from service worker (no proxy on worker origin)`),location.reload(),!0;sessionStorage.removeItem(`slicc-connect-sw-cleared`)}catch(e){F.error(`connect-mode SW cleanup failed`,e)}return!1}var B=n(`main`);function V(e){try{return new URL(e).searchParams.has(`ui-fixture`)}catch{return!1}}async function H(){i();let n=document.getElementById(`app`);if(!n)throw Error(`#app element not found`);let a=s(),d=O({locationHref:window.location.href,storage:window.localStorage,envBaseUrl:null,isDev:!1,isExtension:a});if(V(window.location.href)){let{mountWcUiPreview:e}=await t(async()=>{let{mountWcUiPreview:e}=await import(`./wc-shell-7mtD7TN_.js`).then(e=>e.o);return{mountWcUiPreview:e}},__vite__mapDeps([12,5,6,3,13,14,8,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]));e(n);return}k(),P(),d!==`connect`&&l().catch(()=>{});let f=r(window.location.search),p=d===`cherry`?null:o(window.location.search),m=!!p&&c();if(await I(f?{apiBaseUrl:f.apiBaseUrl,token:f.token}:null,m&&p?{extensionId:p.extensionId}:null)===`reload-pending`)return;if(!a&&(d===`follower`||d===`cherry`)){let{mountWcUiFollower:e}=await t(async()=>{let{mountWcUiFollower:e}=await import(`./wc-follower-TQacOT97.js`);return{mountWcUiFollower:e}},__vite__mapDeps([30,6,31,3,32,4,5,7,8,9,10,15,16,11,2,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,13,48,49,50,51,52,14,1,53,54,17,55,56,57,58,59,19,60,61,62,63,64,65,66,67,68,69,70,71,72,73,18,20,12,21,22,23,24,25,26,27,28,29,74,75,76,77,78,79,80,81,82,83,84,85,86,87]));return e(n,B,d)}await u(),e();let{bootstrapOAuthReplicas:h}=await t(async()=>{let{bootstrapOAuthReplicas:e}=await import(`./oauth-bootstrap-C9bBExq6.js`);return{bootstrapOAuthReplicas:e}},__vite__mapDeps([88,36,5,6,37,38,39,40,41,42,43,31,3,4,7,8,9,10,44,16,45,46,47,13,48,49,50,51,89,14,15,2,11,53,90,91,92]));if(await Promise.race([h().catch(e=>{B.error(`OAuth bootstrap failed`,e)}),new Promise(e=>setTimeout(e,1e4))]),d===`connect`){globalThis.__slicc_connect_mode=!0;let{loadLegacyStyles:e}=await t(async()=>{let{loadLegacyStyles:e}=await import(`./legacy-styles-DcRu2WCJ.js`);return{loadLegacyStyles:e}},__vite__mapDeps([93,6]));await e();let{mountConnectSurface:r}=await t(async()=>{let{mountConnectSurface:e}=await import(`./connect-surface-Dd462OJJ.js`);return{mountConnectSurface:e}},__vite__mapDeps([94,36,5,6,37,38,39,40,41,42,43,31,3,4,7,8,9,10,44,16,45,46,47,13,48,49,50,51,89,14,15,2,11,53,90,91]));await r(n);return}if(a){let{mountWcUiExtension:e}=await t(async()=>{let{mountWcUiExtension:e}=await import(`./wc-extension-pWBTulcf.js`);return{mountWcUiExtension:e}},__vite__mapDeps([95,6,35,5,36,37,38,39,40,41,42,43,31,3,4,7,8,9,10,44,16,45,46,47,13,48,49,50,51,52,32,15,11,2,33,14,1,53,54,17,55,56,57,58,59,19,60,61,62,63,64,65,66,67,68,69,70,71,72,73,18,20,12,21,22,23,24,25,26,27,28,29,74,75,76,77,78,96]));return e(n,B,d===`extension-detached`)}m&&p&&v(p.extensionId);let{mountWcUiLive:g}=await t(async()=>{let{mountWcUiLive:e}=await import(`./wc-live-DlayGhwI.js`).then(e=>e.r);return{mountWcUiLive:e}},__vite__mapDeps([35,5,36,6,37,38,39,40,41,42,43,31,3,4,7,8,9,10,44,16,45,46,47,13,48,49,50,51,52,32,15,11,2,33,14,1,53,54,17,55,56,57,58,59,19,60,61,62,63,64,65,66,67,68,69,70,71,72,73,18,20,12,21,22,23,24,25,26,27,28,29,74,75,76,77,78]));return g(n,B,d)}function U(e,t){let n=document.createElement(`div`);n.style.cssText=`padding:2rem;text-align:center;font-family:system-ui;`;let r=document.createElement(`h1`);r.textContent=`Failed to start`;let i=document.createElement(`p`);i.textContent=t instanceof Error?t.message:String(t);let a=document.createElement(`button`);a.type=`button`,a.textContent=`Reload`,a.addEventListener(`click`,()=>location.reload()),n.append(r,i,a),e.replaceChildren(n)}async function W(e,n){let r;try{({renderBootRecoveryScreen:r}=await t(()=>import(`./recovery-screen-ClVBOtr7.js`),[]))}catch{U(e,n);return}if(r(e,n),n instanceof Error&&n.message.includes(`did not signal ready`))try{let{triageModuleWorkerHealth:i}=await t(async()=>{let{triageModuleWorkerHealth:e}=await import(`./worker-triage-BvsMZrdR.js`);return{triageModuleWorkerHealth:e}},[]),a=await i();a===`browser-wedged`&&r(e,n,{verdict:a})}catch{}}H().catch(e=>{B.error(`Fatal error`,e);let t=document.getElementById(`app`);t&&W(t,e)});export{C as n,S as r,j as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./css-vJJohHMc.js";import{t}from"./scss-0nEf0IT-.js";import{t as n}from"./typescript-BTGs5etX.js";import r from"./less-DVTAwKKz.js";var i=Object.freeze(JSON.parse('{"displayName":"Marko","fileTypes":["marko"],"name":"marko","patterns":[{"begin":"^\\\\s*(style)(\\\\b\\\\S*\\\\.css)?\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"support.type.builtin.marko"},"2":{"name":"storage.modifier.marko.css"},"3":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.css","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.css","patterns":[{"include":"source.css"}]},{"begin":"^\\\\s*(style)\\\\b(\\\\S*\\\\.less)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"support.type.builtin.marko"},"2":{"name":"storage.modifier.marko.css"},"3":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.less","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.less","patterns":[{"include":"source.css.less"}]},{"begin":"^\\\\s*(style)\\\\b(\\\\S*\\\\.scss)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"support.type.builtin.marko"},"2":{"name":"storage.modifier.marko.css"},"3":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.scss","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.scss","patterns":[{"include":"source.css.scss"}]},{"begin":"^\\\\s*(style)\\\\b(\\\\S*\\\\.[jt]s)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"support.type.builtin.marko"},"2":{"name":"storage.modifier.marko.css"},"3":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.ts","patterns":[{"include":"source.ts"}]},{"begin":"^\\\\s*(?:((?:static|server|client)(?![-$0-9@-Z_a-z]))|(?=(?:class|import|export)[^-$0-9@-Z_a-z]))","beginCaptures":{"1":{"name":"keyword.control.static.marko"}},"contentName":"source.ts","end":"(?=\\\\n|$)","name":"meta.embedded.ts","patterns":[{"include":"source.ts"}]},{"include":"#content-concise-mode"}],"repository":{"attr-value":{"begin":"\\\\s*(:?=)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"source.ts"}]}},"contentName":"source.ts","end":"(?=[],;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&(*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))","name":"meta.embedded.ts","patterns":[{"include":"#javascript-expression"}]},"attrs":{"patterns":[{"include":"#javascript-comments"},{"applyEndPatternLast":1,"begin":"(?:(key|on[-$0-9A-Z_a-z]+|[$0-9A-Z_a-z]+Change|no-update(?:-body)?(?:-if)?)|([$0-9A-Z_a-z][-$0-9A-Z_a-z]*)|(#[$0-9A-Z_a-z][-$0-9A-Z_a-z]*))(:[$0-9A-Z_a-z][-$0-9A-Z_a-z]*)?","beginCaptures":{"1":{"name":"support.type.attribute-name.marko"},"2":{"name":"entity.other.attribute-name.marko"},"3":{"name":"support.function.attribute-name.marko"},"4":{"name":"support.function.attribute-name.marko"}},"end":"(?=.|$)","name":"meta.marko-attribute","patterns":[{"include":"#html-args-or-method"},{"include":"#attr-value"}]},{"begin":"(\\\\.\\\\.\\\\.)","beginCaptures":{"1":{"name":"keyword.operator.spread.marko"}},"contentName":"source.ts","end":"(?=[],;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&(*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))","name":"meta.marko-spread-attribute","patterns":[{"include":"#javascript-expression"}]},{"begin":"\\\\s*(,(?!,))","captures":{"1":{"name":"punctuation.separator.comma.marko"}},"end":"(?=\\\\S)"},{"include":"#invalid"}]},"cdata":{"begin":"\\\\s*<!\\\\[CDATA\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.marko"}},"contentName":"string.other.inline-data.marko","end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"name":"meta.tag.metadata.cdata.marko"},"concise-attr-group":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.section.scope.begin.marko"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko"}},"patterns":[{"include":"#concise-attr-group"},{"begin":"\\\\s+","end":"(?=\\\\S)"},{"include":"#attrs"},{"include":"#invalid"}]},"concise-comment-block":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-comment-block","patterns":[{"include":"#content-embedded-comment"}]},"concise-comment-line":{"applyEndPatternLast":1,"begin":"\\\\s*(--+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"end":"$","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-comment-line","patterns":[{"include":"#content-embedded-comment"}]},"concise-html-block":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-html-block","patterns":[{"include":"#content-html-mode"}]},"concise-html-line":{"captures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"},"2":{"patterns":[{"include":"#cdata"},{"include":"#doctype"},{"include":"#declaration"},{"include":"#javascript-comments-after-whitespace"},{"include":"#html-comment"},{"include":"#tag-html"},{"match":"\\\\\\\\.","name":"text.marko"},{"include":"#placeholder"},{"match":".+?","name":"text.marko"}]},"3":{"name":"punctuation.section.embedded.scope.end.marko"}},"match":"\\\\s*(--+)(?=\\\\s+\\\\S)(.*)$()","name":"meta.section.marko-html-line"},"concise-open-tag-content":{"patterns":[{"include":"#invalid-close-tag"},{"include":"#tag-before-attrs"},{"include":"#concise-semi-eol"},{"begin":"(?!^)[\\\\t ,]","end":"(?=--)|(?=\\\\n)","patterns":[{"include":"#concise-semi-eol"},{"include":"#concise-attr-group"},{"begin":"[\\\\t ]+","end":"(?=[\\\\n\\\\S])"},{"include":"#attrs"},{"include":"#invalid"}]}]},"concise-script-block":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-script-block","patterns":[{"include":"#content-embedded-script"}]},"concise-script-line":{"applyEndPatternLast":1,"begin":"\\\\s*(--+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"end":"$","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-script-line","patterns":[{"include":"#content-embedded-script"}]},"concise-semi-eol":{"begin":"\\\\s*(;)","beginCaptures":{"1":{"name":"punctuation.terminator.marko"}},"end":"$","patterns":[{"include":"#javascript-comments"},{"include":"#html-comment"},{"include":"#invalid"}]},"concise-style-block":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.css","end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-block","patterns":[{"include":"#content-embedded-style"}]},"concise-style-block-less":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.less","end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-block","patterns":[{"include":"#content-embedded-style-less"}]},"concise-style-block-scss":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.scss","end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-block","patterns":[{"include":"#content-embedded-style-scss"}]},"concise-style-line":{"applyEndPatternLast":1,"begin":"\\\\s*(--+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.css","end":"$","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-line","patterns":[{"include":"#content-embedded-style"}]},"concise-style-line-less":{"applyEndPatternLast":1,"begin":"\\\\s*(--+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.less","end":"$","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-line","patterns":[{"include":"#content-embedded-style-less"}]},"concise-style-line-scss":{"applyEndPatternLast":1,"begin":"\\\\s*(--+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.scss","end":"$","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-line","patterns":[{"include":"#content-embedded-style-scss"}]},"content-concise-mode":{"name":"meta.marko-concise-content","patterns":[{"include":"#scriptlet"},{"include":"#javascript-comments"},{"include":"#cdata"},{"include":"#doctype"},{"include":"#declaration"},{"include":"#html-comment"},{"include":"#concise-html-block"},{"include":"#concise-html-line"},{"include":"#invalid-close-tag"},{"include":"#tag-html"},{"patterns":[{"begin":"^(\\\\s*)(?=html-comment[^-$0-9@-Z_a-z])","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-comment-block"},{"include":"#concise-comment-line"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.less\\\\b)","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-style-block-less"},{"include":"#concise-style-line-less"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.scss\\\\b)","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-style-block-scss"},{"include":"#concise-style-line-scss"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.[jt]s\\\\b)","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-script-block"},{"include":"#concise-script-line"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^(\\\\s*)(?=(?:html-)?style[^-$0-9@-Z_a-z])","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-style-block"},{"include":"#concise-style-line"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^(\\\\s*)(?=(?:html-)?script[^-$0-9@-Z_a-z])","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-script-block"},{"include":"#concise-script-line"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^([\\\\t ]*)(?=[#$.0-9@-Z_a-z])","patterns":[{"include":"#concise-open-tag-content"},{"include":"#content-concise-mode"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"}]}]},"content-embedded-comment":{"patterns":[{"include":"#placeholder"},{"match":".","name":"comment.block.marko"}]},"content-embedded-script":{"name":"meta.embedded.ts","patterns":[{"include":"#placeholder"},{"include":"source.ts"}]},"content-embedded-style":{"name":"meta.embedded.css","patterns":[{"include":"#placeholder"},{"include":"source.css"}]},"content-embedded-style-less":{"name":"meta.embedded.css.less","patterns":[{"include":"#placeholder"},{"include":"source.css.less"}]},"content-embedded-style-scss":{"name":"meta.embedded.css.scss","patterns":[{"include":"#placeholder"},{"include":"source.css.scss"}]},"content-html-mode":{"patterns":[{"include":"#scriptlet"},{"include":"#cdata"},{"include":"#doctype"},{"include":"#declaration"},{"include":"#javascript-comments-after-whitespace"},{"include":"#html-comment"},{"include":"#invalid-close-tag"},{"include":"#tag-html"},{"match":"\\\\\\\\.","name":"text.marko"},{"include":"#placeholder"},{"match":".+?","name":"text.marko"}]},"declaration":{"begin":"(<\\\\?)\\\\s*([-$0-9A-Z_a-z]*)","captures":{"1":{"name":"punctuation.definition.tag.marko"},"2":{"name":"entity.name.tag.marko"}},"end":"(\\\\??>)","name":"meta.tag.metadata.processing.xml.marko","patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.marko"},"2":{"name":"punctuation.separator.key-value.html"},"3":{"name":"string.quoted.double.marko"},"4":{"name":"string.quoted.single.marko"},"5":{"name":"string.unquoted.marko"}},"match":"((?:[^=>?\\\\s]|\\\\?(?!>))+)(=)(?:(\\"(?:[^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\'(?:[^\'\\\\\\\\]|\\\\\\\\.)*\')|((?:[^>?\\\\s]|\\\\?(?!>))+))"}]},"doctype":{"begin":"\\\\s*<!(?=(?i:DOCTYPE\\\\s))","beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.marko"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"name":"meta.tag.metadata.doctype.marko","patterns":[{"match":"\\\\G(?i:DOCTYPE)","name":"entity.name.tag.marko"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.marko"},{"match":"[^>\\\\s]+","name":"entity.other.attribute-name.marko"}]},"html-args-or-method":{"patterns":[{"include":"#tag-type-params"},{"begin":"\\\\s*(?=\\\\()","contentName":"source.ts","end":"(?<=\\\\))","name":"meta.embedded.ts","patterns":[{"include":"source.ts#paren-expression"}]},{"begin":"(?<=\\\\))\\\\s*(?=\\\\{)","contentName":"source.ts","end":"(?<=})","name":"meta.embedded.ts","patterns":[{"include":"source.ts"}]}]},"html-comment":{"begin":"\\\\s*(<!(--)?)","beginCaptures":{"1":{"name":"punctuation.definition.comment.marko"}},"end":"\\\\2>","endCaptures":{"0":{"name":"punctuation.definition.comment.marko"}},"name":"comment.block.marko"},"invalid":{"match":"\\\\S","name":"invalid.illegal.character-not-allowed-here.marko"},"invalid-close-tag":{"begin":"\\\\s*</[^>]*","end":">","name":"invalid.illegal.character-not-allowed-here.marko"},"javascript-comments":{"patterns":[{"begin":"\\\\s*(?=/\\\\*)","contentName":"source.ts","end":"(?<=\\\\*/)","patterns":[{"include":"source.ts"}]},{"captures":{"0":{"patterns":[{"include":"source.ts"}]}},"contentName":"source.ts","match":"\\\\s*//.*$"}]},"javascript-comments-after-whitespace":{"patterns":[{"begin":"(?:^|\\\\s+)(?=/\\\\*)","contentName":"source.ts","end":"(?<=\\\\*/)","patterns":[{"include":"source.ts"}]},{"captures":{"0":{"patterns":[{"include":"source.ts"}]}},"contentName":"source.ts","match":"(?:^|\\\\s+)//.*$"}]},"javascript-expression":{"patterns":[{"include":"#javascript-comments"},{"captures":{"0":{"patterns":[{"include":"source.ts"}]}},"contentName":"source.ts","match":"(?:\\\\s*\\\\b(?:as|await|extends|in|instanceof|satisfies|keyof|new|typeof|void))+\\\\s+(?![,/:;=>])[#$0-9@-Z_a-z]*"},{"applyEndPatternLast":1,"captures":{"0":{"name":"string.regexp.ts","patterns":[{"include":"source.ts#regexp"},{"include":"source.ts"}]}},"contentName":"source.ts","match":"(?<![]%).0-9<A-Za-z}])\\\\s*/(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[(?:[^]\\\\\\\\]|\\\\\\\\.)*])*/[A-Za-z]*"},{"include":"source.ts"}]},"javascript-placeholder":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"patterns":[{"include":"source.ts"}]},"open-tag-content":{"patterns":[{"include":"#invalid-close-tag"},{"include":"#tag-before-attrs"},{"begin":"(?!/?>)","end":"(?=/?>)","patterns":[{"include":"#attrs"}]}]},"placeholder":{"begin":"\\\\$!?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"patterns":[{"include":"source.ts"}]},"scriptlet":{"begin":"^\\\\s*(\\\\$)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.scriptlet.marko"}},"contentName":"source.ts","end":"$","name":"meta.embedded.ts","patterns":[{"include":"source.ts"}]},"tag-before-attrs":{"patterns":[{"include":"#tag-name"},{"include":"#tag-shorthand-class-or-id"},{"begin":"/(?![*/])","beginCaptures":{"0":{"name":"punctuation.separator.tag-variable.marko"}},"contentName":"source.ts","end":"(?=[(,/;<>|]|:?=|\\\\s+[^:]|$)","name":"meta.embedded.ts","patterns":[{"match":"[$A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.constant.object.ts"},{"begin":"\\\\{","captures":{"0":{"name":"punctuation.definition.binding-pattern.object.ts"}},"end":"}","patterns":[{"include":"source.ts#object-binding-element"},{"include":"#javascript-expression"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","patterns":[{"include":"source.ts#array-binding-element"},{"include":"#javascript-expression"}]},{"begin":"\\\\s*(:)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=[](,;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))","patterns":[{"include":"source.ts#type"},{"include":"#javascript-expression"}]},{"include":"#javascript-expression"}]},{"begin":"\\\\s*\\\\|","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.marko"}},"contentName":"source.ts","end":"\\\\|","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko"}},"patterns":[{"include":"source.ts#comment"},{"include":"source.ts#string"},{"include":"source.ts#decorator"},{"include":"source.ts#destructuring-parameter"},{"include":"source.ts#parameter-name"},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=[,|])|(?==[^>])","name":"meta.type.annotation.ts","patterns":[{"include":"source.ts#type"}]},{"include":"source.ts#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.ts"},{"include":"source.ts"}]},{"include":"#html-args-or-method"},{"include":"#attr-value"}]},"tag-html":{"patterns":[{"begin":"\\\\s*(<)(?=(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr|const|debug|id|let|lifecycle|log|return)[^-$0-9@-Z_a-z])","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"}]},{"begin":"\\\\s*(<)(?=html-comment[^-$0-9@-Z_a-z])","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</(?:>|html-comment>))","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"end":"\\\\s*</(?:>|html-comment>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-comment"}]}]},{"begin":"\\\\s*(<)(?=style\\\\S*\\\\.less\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</style>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.less","end":"\\\\s*(</)(style)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-style-less"}]}]},{"begin":"\\\\s*(<)(?=style\\\\S*\\\\.scss\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</style>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.scss","end":"\\\\s*(</)(style)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-style-scss"}]}]},{"begin":"\\\\s*(<)(?=style\\\\S*\\\\.[jt]s\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</style>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.ts","end":"\\\\s*(</)((?:html-)?style)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-script"}]}]},{"begin":"\\\\s*(<)(?=((?:html-)?style)[^-$0-9@-Z_a-z])","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</\\\\2>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.css","end":"\\\\s*(</)((?:html-)?style)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-style"}]}]},{"begin":"\\\\s*(<)(?=((?:html-)?script)[^-$0-9@-Z_a-z])","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</\\\\2>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.ts","end":"\\\\s*(</)((?:html-)?script)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-script"}]}]},{"begin":"\\\\s*(<)(?=[#$.]|([-$0-9@-Z_a-z]+))","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</\\\\2>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"end":"\\\\s*(</)([-#$.0-:@-Z_a-z]+)?([^>]*)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"},{"include":"#tag-shorthand-class-or-id"}]},"3":{"patterns":[{"include":"#invalid"}]},"4":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-html-mode"}]}]}]},"tag-name":{"patterns":[{"applyEndPatternLast":1,"begin":"\\\\G(style)\\\\b(\\\\.[-$0-9A-Z_a-z]+(?:\\\\.[-$0-9A-Z_a-z]+)*)|([0-9@-Z_a-z](?:[-0-9@-Z_a-z]|:(?!=))*)","beginCaptures":{"1":{"name":"support.type.builtin.marko"},"2":{"name":"storage.type.marko.css"},"3":{"patterns":[{"match":"(script|style|html-script|html-style|html-comment)(?![-$0-9@-Z_a-z])","name":"support.type.builtin.marko"},{"match":"(for|if|while|else-if|else|try|await|return)(?![-$0-9@-Z_a-z])","name":"keyword.control.flow.marko"},{"match":"(const|context|debug|define|id|let|log|lifecycle)(?![-$0-9@-Z_a-z])","name":"support.function.marko"},{"match":"@.+","name":"entity.other.attribute-name.marko"},{"match":".+","name":"entity.name.tag.marko"}]}},"end":"(?=.)","patterns":[{"include":"#tag-type-args"}]},{"begin":"(?=[$0-9A-Z_a-z]|-[^-])","end":"(?=[^-$0-9A-Z_a-z]|$)","patterns":[{"include":"#javascript-placeholder"},{"match":"(?:[-0-9A-Z_a-z]|\\\\$(?!\\\\{))+","name":"entity.name.tag.marko"}]}]},"tag-shorthand-class-or-id":{"begin":"(?=[#.])","end":"$|(?=--|[^-#$.0-9A-Z_a-z])","patterns":[{"include":"#javascript-placeholder"},{"match":"(?:[-#.0-9A-Z_a-z]|\\\\$(?!\\\\{))+","name":"entity.other.attribute-name.marko"}]},"tag-type-args":{"applyEndPatternLast":1,"begin":"(?=<)","contentName":"source.ts","end":"(?<=>)","name":"meta.embedded.ts","patterns":[{"applyEndPatternLast":1,"begin":"(?<=>)(?=[\\\\t ]*<)","end":"(?=.)","patterns":[{"include":"#tag-type-params"}]},{"include":"source.ts#type-arguments"}]},"tag-type-params":{"applyEndPatternLast":1,"begin":"(?!^)[\\\\t ]*(?=<)","contentName":"source.ts","end":"(?<=>)","name":"meta.embedded.ts","patterns":[{"include":"source.ts#type-parameters"}]}},"scopeName":"text.marko","embeddedLangs":["css","less","scss","typescript"]}')),a=[...e,...r,...t,...n,i];export{a as default};
|
|
1
|
+
import{t as e}from"./css-DlBQoFxe.js";import{t}from"./scss-BaZL6t2Y.js";import{t as n}from"./typescript-BTGs5etX.js";import r from"./less-DVTAwKKz.js";var i=Object.freeze(JSON.parse('{"displayName":"Marko","fileTypes":["marko"],"name":"marko","patterns":[{"begin":"^\\\\s*(style)(\\\\b\\\\S*\\\\.css)?\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"support.type.builtin.marko"},"2":{"name":"storage.modifier.marko.css"},"3":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.css","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.css","patterns":[{"include":"source.css"}]},{"begin":"^\\\\s*(style)\\\\b(\\\\S*\\\\.less)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"support.type.builtin.marko"},"2":{"name":"storage.modifier.marko.css"},"3":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.less","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.less","patterns":[{"include":"source.css.less"}]},{"begin":"^\\\\s*(style)\\\\b(\\\\S*\\\\.scss)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"support.type.builtin.marko"},"2":{"name":"storage.modifier.marko.css"},"3":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.scss","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.scss","patterns":[{"include":"source.css.scss"}]},{"begin":"^\\\\s*(style)\\\\b(\\\\S*\\\\.[jt]s)\\\\s+(\\\\{)","beginCaptures":{"1":{"name":"support.type.builtin.marko"},"2":{"name":"storage.modifier.marko.css"},"3":{"name":"punctuation.section.scope.begin.marko.css"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko.css"}},"name":"meta.embedded.ts","patterns":[{"include":"source.ts"}]},{"begin":"^\\\\s*(?:((?:static|server|client)(?![-$0-9@-Z_a-z]))|(?=(?:class|import|export)[^-$0-9@-Z_a-z]))","beginCaptures":{"1":{"name":"keyword.control.static.marko"}},"contentName":"source.ts","end":"(?=\\\\n|$)","name":"meta.embedded.ts","patterns":[{"include":"source.ts"}]},{"include":"#content-concise-mode"}],"repository":{"attr-value":{"begin":"\\\\s*(:?=)\\\\s*","beginCaptures":{"1":{"patterns":[{"include":"source.ts"}]}},"contentName":"source.ts","end":"(?=[],;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&(*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))","name":"meta.embedded.ts","patterns":[{"include":"#javascript-expression"}]},"attrs":{"patterns":[{"include":"#javascript-comments"},{"applyEndPatternLast":1,"begin":"(?:(key|on[-$0-9A-Z_a-z]+|[$0-9A-Z_a-z]+Change|no-update(?:-body)?(?:-if)?)|([$0-9A-Z_a-z][-$0-9A-Z_a-z]*)|(#[$0-9A-Z_a-z][-$0-9A-Z_a-z]*))(:[$0-9A-Z_a-z][-$0-9A-Z_a-z]*)?","beginCaptures":{"1":{"name":"support.type.attribute-name.marko"},"2":{"name":"entity.other.attribute-name.marko"},"3":{"name":"support.function.attribute-name.marko"},"4":{"name":"support.function.attribute-name.marko"}},"end":"(?=.|$)","name":"meta.marko-attribute","patterns":[{"include":"#html-args-or-method"},{"include":"#attr-value"}]},{"begin":"(\\\\.\\\\.\\\\.)","beginCaptures":{"1":{"name":"keyword.operator.spread.marko"}},"contentName":"source.ts","end":"(?=[],;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&(*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))","name":"meta.marko-spread-attribute","patterns":[{"include":"#javascript-expression"}]},{"begin":"\\\\s*(,(?!,))","captures":{"1":{"name":"punctuation.separator.comma.marko"}},"end":"(?=\\\\S)"},{"include":"#invalid"}]},"cdata":{"begin":"\\\\s*<!\\\\[CDATA\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.marko"}},"contentName":"string.other.inline-data.marko","end":"]]>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"name":"meta.tag.metadata.cdata.marko"},"concise-attr-group":{"begin":"\\\\s*(\\\\[)","beginCaptures":{"1":{"name":"punctuation.section.scope.begin.marko"}},"end":"]","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko"}},"patterns":[{"include":"#concise-attr-group"},{"begin":"\\\\s+","end":"(?=\\\\S)"},{"include":"#attrs"},{"include":"#invalid"}]},"concise-comment-block":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-comment-block","patterns":[{"include":"#content-embedded-comment"}]},"concise-comment-line":{"applyEndPatternLast":1,"begin":"\\\\s*(--+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"end":"$","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-comment-line","patterns":[{"include":"#content-embedded-comment"}]},"concise-html-block":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-html-block","patterns":[{"include":"#content-html-mode"}]},"concise-html-line":{"captures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"},"2":{"patterns":[{"include":"#cdata"},{"include":"#doctype"},{"include":"#declaration"},{"include":"#javascript-comments-after-whitespace"},{"include":"#html-comment"},{"include":"#tag-html"},{"match":"\\\\\\\\.","name":"text.marko"},{"include":"#placeholder"},{"match":".+?","name":"text.marko"}]},"3":{"name":"punctuation.section.embedded.scope.end.marko"}},"match":"\\\\s*(--+)(?=\\\\s+\\\\S)(.*)$()","name":"meta.section.marko-html-line"},"concise-open-tag-content":{"patterns":[{"include":"#invalid-close-tag"},{"include":"#tag-before-attrs"},{"include":"#concise-semi-eol"},{"begin":"(?!^)[\\\\t ,]","end":"(?=--)|(?=\\\\n)","patterns":[{"include":"#concise-semi-eol"},{"include":"#concise-attr-group"},{"begin":"[\\\\t ]+","end":"(?=[\\\\n\\\\S])"},{"include":"#attrs"},{"include":"#invalid"}]}]},"concise-script-block":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-script-block","patterns":[{"include":"#content-embedded-script"}]},"concise-script-line":{"applyEndPatternLast":1,"begin":"\\\\s*(--+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"end":"$","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-script-line","patterns":[{"include":"#content-embedded-script"}]},"concise-semi-eol":{"begin":"\\\\s*(;)","beginCaptures":{"1":{"name":"punctuation.terminator.marko"}},"end":"$","patterns":[{"include":"#javascript-comments"},{"include":"#html-comment"},{"include":"#invalid"}]},"concise-style-block":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.css","end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-block","patterns":[{"include":"#content-embedded-style"}]},"concise-style-block-less":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.less","end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-block","patterns":[{"include":"#content-embedded-style-less"}]},"concise-style-block-scss":{"begin":"\\\\s*(--+)\\\\s*$","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.scss","end":"\\\\1","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-block","patterns":[{"include":"#content-embedded-style-scss"}]},"concise-style-line":{"applyEndPatternLast":1,"begin":"\\\\s*(--+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.css","end":"$","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-line","patterns":[{"include":"#content-embedded-style"}]},"concise-style-line-less":{"applyEndPatternLast":1,"begin":"\\\\s*(--+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.less","end":"$","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-line","patterns":[{"include":"#content-embedded-style-less"}]},"concise-style-line-scss":{"applyEndPatternLast":1,"begin":"\\\\s*(--+)","beginCaptures":{"1":{"name":"punctuation.section.embedded.scope.begin.marko"}},"contentName":"source.scss","end":"$","endCaptures":{"0":{"name":"punctuation.section.embedded.scope.end.marko"}},"name":"meta.section.marko-style-line","patterns":[{"include":"#content-embedded-style-scss"}]},"content-concise-mode":{"name":"meta.marko-concise-content","patterns":[{"include":"#scriptlet"},{"include":"#javascript-comments"},{"include":"#cdata"},{"include":"#doctype"},{"include":"#declaration"},{"include":"#html-comment"},{"include":"#concise-html-block"},{"include":"#concise-html-line"},{"include":"#invalid-close-tag"},{"include":"#tag-html"},{"patterns":[{"begin":"^(\\\\s*)(?=html-comment[^-$0-9@-Z_a-z])","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-comment-block"},{"include":"#concise-comment-line"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.less\\\\b)","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-style-block-less"},{"include":"#concise-style-line-less"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.scss\\\\b)","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-style-block-scss"},{"include":"#concise-style-line-scss"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^(\\\\s*)(?=style\\\\b\\\\S*\\\\.[jt]s\\\\b)","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-script-block"},{"include":"#concise-script-line"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^(\\\\s*)(?=(?:html-)?style[^-$0-9@-Z_a-z])","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-style-block"},{"include":"#concise-style-line"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^(\\\\s*)(?=(?:html-)?script[^-$0-9@-Z_a-z])","patterns":[{"include":"#concise-open-tag-content"},{"include":"#concise-script-block"},{"include":"#concise-script-line"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"},{"begin":"^([\\\\t ]*)(?=[#$.0-9@-Z_a-z])","patterns":[{"include":"#concise-open-tag-content"},{"include":"#content-concise-mode"}],"while":"(?=^(?:\\\\s*[])`}]|\\\\*/|\\\\s*$|\\\\1\\\\s+(\\\\S|$)))"}]}]},"content-embedded-comment":{"patterns":[{"include":"#placeholder"},{"match":".","name":"comment.block.marko"}]},"content-embedded-script":{"name":"meta.embedded.ts","patterns":[{"include":"#placeholder"},{"include":"source.ts"}]},"content-embedded-style":{"name":"meta.embedded.css","patterns":[{"include":"#placeholder"},{"include":"source.css"}]},"content-embedded-style-less":{"name":"meta.embedded.css.less","patterns":[{"include":"#placeholder"},{"include":"source.css.less"}]},"content-embedded-style-scss":{"name":"meta.embedded.css.scss","patterns":[{"include":"#placeholder"},{"include":"source.css.scss"}]},"content-html-mode":{"patterns":[{"include":"#scriptlet"},{"include":"#cdata"},{"include":"#doctype"},{"include":"#declaration"},{"include":"#javascript-comments-after-whitespace"},{"include":"#html-comment"},{"include":"#invalid-close-tag"},{"include":"#tag-html"},{"match":"\\\\\\\\.","name":"text.marko"},{"include":"#placeholder"},{"match":".+?","name":"text.marko"}]},"declaration":{"begin":"(<\\\\?)\\\\s*([-$0-9A-Z_a-z]*)","captures":{"1":{"name":"punctuation.definition.tag.marko"},"2":{"name":"entity.name.tag.marko"}},"end":"(\\\\??>)","name":"meta.tag.metadata.processing.xml.marko","patterns":[{"captures":{"1":{"name":"entity.other.attribute-name.marko"},"2":{"name":"punctuation.separator.key-value.html"},"3":{"name":"string.quoted.double.marko"},"4":{"name":"string.quoted.single.marko"},"5":{"name":"string.unquoted.marko"}},"match":"((?:[^=>?\\\\s]|\\\\?(?!>))+)(=)(?:(\\"(?:[^\\"\\\\\\\\]|\\\\\\\\.)*\\")|(\'(?:[^\'\\\\\\\\]|\\\\\\\\.)*\')|((?:[^>?\\\\s]|\\\\?(?!>))+))"}]},"doctype":{"begin":"\\\\s*<!(?=(?i:DOCTYPE\\\\s))","beginCaptures":{"0":{"name":"punctuation.definition.tag.begin.marko"}},"end":">","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"name":"meta.tag.metadata.doctype.marko","patterns":[{"match":"\\\\G(?i:DOCTYPE)","name":"entity.name.tag.marko"},{"begin":"\\"","end":"\\"","name":"string.quoted.double.marko"},{"match":"[^>\\\\s]+","name":"entity.other.attribute-name.marko"}]},"html-args-or-method":{"patterns":[{"include":"#tag-type-params"},{"begin":"\\\\s*(?=\\\\()","contentName":"source.ts","end":"(?<=\\\\))","name":"meta.embedded.ts","patterns":[{"include":"source.ts#paren-expression"}]},{"begin":"(?<=\\\\))\\\\s*(?=\\\\{)","contentName":"source.ts","end":"(?<=})","name":"meta.embedded.ts","patterns":[{"include":"source.ts"}]}]},"html-comment":{"begin":"\\\\s*(<!(--)?)","beginCaptures":{"1":{"name":"punctuation.definition.comment.marko"}},"end":"\\\\2>","endCaptures":{"0":{"name":"punctuation.definition.comment.marko"}},"name":"comment.block.marko"},"invalid":{"match":"\\\\S","name":"invalid.illegal.character-not-allowed-here.marko"},"invalid-close-tag":{"begin":"\\\\s*</[^>]*","end":">","name":"invalid.illegal.character-not-allowed-here.marko"},"javascript-comments":{"patterns":[{"begin":"\\\\s*(?=/\\\\*)","contentName":"source.ts","end":"(?<=\\\\*/)","patterns":[{"include":"source.ts"}]},{"captures":{"0":{"patterns":[{"include":"source.ts"}]}},"contentName":"source.ts","match":"\\\\s*//.*$"}]},"javascript-comments-after-whitespace":{"patterns":[{"begin":"(?:^|\\\\s+)(?=/\\\\*)","contentName":"source.ts","end":"(?<=\\\\*/)","patterns":[{"include":"source.ts"}]},{"captures":{"0":{"patterns":[{"include":"source.ts"}]}},"contentName":"source.ts","match":"(?:^|\\\\s+)//.*$"}]},"javascript-expression":{"patterns":[{"include":"#javascript-comments"},{"captures":{"0":{"patterns":[{"include":"source.ts"}]}},"contentName":"source.ts","match":"(?:\\\\s*\\\\b(?:as|await|extends|in|instanceof|satisfies|keyof|new|typeof|void))+\\\\s+(?![,/:;=>])[#$0-9@-Z_a-z]*"},{"applyEndPatternLast":1,"captures":{"0":{"name":"string.regexp.ts","patterns":[{"include":"source.ts#regexp"},{"include":"source.ts"}]}},"contentName":"source.ts","match":"(?<![]%).0-9<A-Za-z}])\\\\s*/(?:[^/\\\\[\\\\\\\\]|\\\\\\\\.|\\\\[(?:[^]\\\\\\\\]|\\\\\\\\.)*])*/[A-Za-z]*"},{"include":"source.ts"}]},"javascript-placeholder":{"begin":"\\\\$\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"patterns":[{"include":"source.ts"}]},"open-tag-content":{"patterns":[{"include":"#invalid-close-tag"},{"include":"#tag-before-attrs"},{"begin":"(?!/?>)","end":"(?=/?>)","patterns":[{"include":"#attrs"}]}]},"placeholder":{"begin":"\\\\$!?\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.template-expression.begin.ts"}},"contentName":"source.ts","end":"}","endCaptures":{"0":{"name":"punctuation.definition.template-expression.end.ts"}},"patterns":[{"include":"source.ts"}]},"scriptlet":{"begin":"^\\\\s*(\\\\$)\\\\s+","beginCaptures":{"1":{"name":"keyword.control.scriptlet.marko"}},"contentName":"source.ts","end":"$","name":"meta.embedded.ts","patterns":[{"include":"source.ts"}]},"tag-before-attrs":{"patterns":[{"include":"#tag-name"},{"include":"#tag-shorthand-class-or-id"},{"begin":"/(?![*/])","beginCaptures":{"0":{"name":"punctuation.separator.tag-variable.marko"}},"contentName":"source.ts","end":"(?=[(,/;<>|]|:?=|\\\\s+[^:]|$)","name":"meta.embedded.ts","patterns":[{"match":"[$A-Z_a-z][$0-9A-Z_a-z]*","name":"variable.other.constant.object.ts"},{"begin":"\\\\{","captures":{"0":{"name":"punctuation.definition.binding-pattern.object.ts"}},"end":"}","patterns":[{"include":"source.ts#object-binding-element"},{"include":"#javascript-expression"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.binding-pattern.array.ts"}},"end":"]","patterns":[{"include":"source.ts#array-binding-element"},{"include":"#javascript-expression"}]},{"begin":"\\\\s*(:)(?!=)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=[](,;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\&*:?^|~]|[-!%\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\.|[^-]-|[^+]\\\\+|[]%).0-9<A-Za-z}]\\\\s/|[^$.\\\\w]await|[^$.\\\\w]async|[^$.\\\\w]class|[^$.\\\\w]function|[^$.\\\\w]keyof|[^$.\\\\w]new|[^$.\\\\w]readonly|[^$.\\\\w]infer|[^$.\\\\w]typeof|[^$.\\\\w]void)\\\\s+(?![\\\\n!%\\\\&*+:?^{|~]|[-/<=>]=|[=>]>|\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\s+[^,/:;=>]))","patterns":[{"include":"source.ts#type"},{"include":"#javascript-expression"}]},{"include":"#javascript-expression"}]},{"begin":"\\\\s*\\\\|","beginCaptures":{"0":{"name":"punctuation.section.scope.begin.marko"}},"contentName":"source.ts","end":"\\\\|","endCaptures":{"0":{"name":"punctuation.section.scope.end.marko"}},"patterns":[{"include":"source.ts#comment"},{"include":"source.ts#string"},{"include":"source.ts#decorator"},{"include":"source.ts#destructuring-parameter"},{"include":"source.ts#parameter-name"},{"begin":"(:)","beginCaptures":{"1":{"name":"keyword.operator.type.annotation.ts"}},"end":"(?=[,|])|(?==[^>])","name":"meta.type.annotation.ts","patterns":[{"include":"source.ts#type"}]},{"include":"source.ts#variable-initializer"},{"match":",","name":"punctuation.separator.parameter.ts"},{"include":"source.ts"}]},{"include":"#html-args-or-method"},{"include":"#attr-value"}]},"tag-html":{"patterns":[{"begin":"\\\\s*(<)(?=(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr|const|debug|id|let|lifecycle|log|return)[^-$0-9@-Z_a-z])","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/?>","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"}]},{"begin":"\\\\s*(<)(?=html-comment[^-$0-9@-Z_a-z])","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</(?:>|html-comment>))","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"end":"\\\\s*</(?:>|html-comment>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-comment"}]}]},{"begin":"\\\\s*(<)(?=style\\\\S*\\\\.less\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</style>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.less","end":"\\\\s*(</)(style)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-style-less"}]}]},{"begin":"\\\\s*(<)(?=style\\\\S*\\\\.scss\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</style>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.scss","end":"\\\\s*(</)(style)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-style-scss"}]}]},{"begin":"\\\\s*(<)(?=style\\\\S*\\\\.[jt]s\\\\b)","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</style>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.ts","end":"\\\\s*(</)((?:html-)?style)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-script"}]}]},{"begin":"\\\\s*(<)(?=((?:html-)?style)[^-$0-9@-Z_a-z])","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</\\\\2>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.css","end":"\\\\s*(</)((?:html-)?style)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-style"}]}]},{"begin":"\\\\s*(<)(?=((?:html-)?script)[^-$0-9@-Z_a-z])","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</\\\\2>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"contentName":"source.ts","end":"\\\\s*(</)((?:html-)?script)?(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"}]},"3":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-embedded-script"}]}]},{"begin":"\\\\s*(<)(?=[#$.]|([-$0-9@-Z_a-z]+))","beginCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"}},"end":"/>|(?<=</>)|(?<=</\\\\2>)","endCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#open-tag-content"},{"begin":">","beginCaptures":{"0":{"name":"punctuation.definition.tag.end.marko"}},"end":"\\\\s*(</)([-#$.0-:@-Z_a-z]+)?([^>]*)(>)","endCaptures":{"1":{"name":"punctuation.definition.tag.begin.marko"},"2":{"patterns":[{"include":"#tag-name"},{"include":"#tag-shorthand-class-or-id"}]},"3":{"patterns":[{"include":"#invalid"}]},"4":{"name":"punctuation.definition.tag.end.marko"}},"patterns":[{"include":"#content-html-mode"}]}]}]},"tag-name":{"patterns":[{"applyEndPatternLast":1,"begin":"\\\\G(style)\\\\b(\\\\.[-$0-9A-Z_a-z]+(?:\\\\.[-$0-9A-Z_a-z]+)*)|([0-9@-Z_a-z](?:[-0-9@-Z_a-z]|:(?!=))*)","beginCaptures":{"1":{"name":"support.type.builtin.marko"},"2":{"name":"storage.type.marko.css"},"3":{"patterns":[{"match":"(script|style|html-script|html-style|html-comment)(?![-$0-9@-Z_a-z])","name":"support.type.builtin.marko"},{"match":"(for|if|while|else-if|else|try|await|return)(?![-$0-9@-Z_a-z])","name":"keyword.control.flow.marko"},{"match":"(const|context|debug|define|id|let|log|lifecycle)(?![-$0-9@-Z_a-z])","name":"support.function.marko"},{"match":"@.+","name":"entity.other.attribute-name.marko"},{"match":".+","name":"entity.name.tag.marko"}]}},"end":"(?=.)","patterns":[{"include":"#tag-type-args"}]},{"begin":"(?=[$0-9A-Z_a-z]|-[^-])","end":"(?=[^-$0-9A-Z_a-z]|$)","patterns":[{"include":"#javascript-placeholder"},{"match":"(?:[-0-9A-Z_a-z]|\\\\$(?!\\\\{))+","name":"entity.name.tag.marko"}]}]},"tag-shorthand-class-or-id":{"begin":"(?=[#.])","end":"$|(?=--|[^-#$.0-9A-Z_a-z])","patterns":[{"include":"#javascript-placeholder"},{"match":"(?:[-#.0-9A-Z_a-z]|\\\\$(?!\\\\{))+","name":"entity.other.attribute-name.marko"}]},"tag-type-args":{"applyEndPatternLast":1,"begin":"(?=<)","contentName":"source.ts","end":"(?<=>)","name":"meta.embedded.ts","patterns":[{"applyEndPatternLast":1,"begin":"(?<=>)(?=[\\\\t ]*<)","end":"(?=.)","patterns":[{"include":"#tag-type-params"}]},{"include":"source.ts#type-arguments"}]},"tag-type-params":{"applyEndPatternLast":1,"begin":"(?!^)[\\\\t ]*(?=<)","contentName":"source.ts","end":"(?<=>)","name":"meta.embedded.ts","patterns":[{"include":"source.ts#type-parameters"}]}},"scopeName":"text.marko","embeddedLangs":["css","less","scss","typescript"]}')),a=[...e,...r,...t,...n,i];export{a as default};
|