@mavea/mavea 1.0.16 → 1.0.18
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/DISCLAIMER.md +4 -1
- package/PRIVACY.md +14 -8
- package/README.md +61 -23
- package/TERMS.md +11 -1
- package/THIRD-PARTY.txt +25248 -621
- package/bin/mavea.mjs +156 -147
- package/dist/.vite/manifest.json +2166 -1715
- package/dist/assets/AnnotationLayer-ClU-e6qL.css +1 -0
- package/dist/assets/AnnotationLayer-DHHGgh8x.js +2 -0
- package/dist/assets/AppCommandPalette-DKBglbNo.js +1 -0
- package/dist/assets/AtlasView-B82UfrEX.js +1 -0
- package/dist/assets/BlockEmpty-B82uCse8.js +1 -0
- package/dist/assets/BriefingPlayer-C0D_2ILa.js +1 -0
- package/dist/assets/CanvasSkeleton-Bx0s36b_.js +2 -0
- package/dist/assets/CardEditor-DABIhGdQ.js +1 -0
- package/dist/assets/CheckLogRail-BOaXnqWK.css +1 -0
- package/dist/assets/CheckLogRail-Btg7Linv.js +1 -0
- package/dist/assets/{CodeOutput-Bg64AyKu.js → CodeOutput-DF892aIR.js} +3 -3
- package/dist/assets/CommandPalette-DagPdSGZ.js +1 -0
- package/dist/assets/ConversationVideoStudio-CIAMxElj.css +1 -0
- package/dist/assets/ConversationVideoStudio-EPw6H4lE.js +1 -0
- package/dist/assets/CourseLessonReader-DeAuL1tO.js +2 -0
- package/dist/assets/CourseRail-Dx9IIbTZ.js +1 -0
- package/dist/assets/CoursesApp-CzUGaYWZ.js +2 -0
- package/dist/assets/CrossExamPanel-CdIYUu-B.js +1 -0
- package/dist/assets/DashPresent-DXwesMIr.js +1 -0
- package/dist/assets/DashboardDetail-CJzB85NC.js +2 -0
- package/dist/assets/DashboardLoopRuntime-CEnUpS-I.js +1 -0
- package/dist/assets/DashboardOverview-C3hv9sm1.js +1 -0
- package/dist/assets/DashboardSettings-CmZWG3US.js +1 -0
- package/dist/assets/{DashboardsApp-Dx-EsaPW.css → DashboardsApp-B6yUtkKB.css} +1 -1
- package/dist/assets/DashboardsApp-wCgs98G0.js +2 -0
- package/dist/assets/{DeepZoomApp-Chz6laKc.js → DeepZoomApp-CwqKpjo7.js} +2 -2
- package/dist/assets/DelegatePanel-Bi1qPgGG.js +33 -0
- package/dist/assets/DemoGallery-Cg0ykVpG.js +1 -0
- package/dist/assets/DropSelect-C3g0PjuN.js +1 -0
- package/dist/assets/DropSelect-DilESAgA.css +1 -0
- package/dist/assets/ExportModal-rxndDhoO.js +2 -0
- package/dist/assets/ExtractionPreview-ChRAimKr.js +18 -0
- package/dist/assets/{FallbackCard-B489rTd9.js → FallbackCard-ap_4wOfj.js} +1 -1
- package/dist/assets/FeatureUseNotice-BhljPjUv.js +1 -0
- package/dist/assets/FlagshipCTA-uoeGMQas.js +1 -0
- package/dist/assets/FlagshipCommandPalette-DyNsP8k3.js +1 -0
- package/dist/assets/FlagshipShowcase-DHpGPlca.js +1 -0
- package/dist/assets/FlashcardsApp-Cm50X3Hl.js +1 -0
- package/dist/assets/ForecastPanel-zPUh2ClQ.js +1 -0
- package/dist/assets/GalleryApp-BFop9Eu7.js +1 -0
- package/dist/assets/{HonestByDesign-hCxc0A7b.js → HonestByDesign-HeTTCiis.js} +1 -1
- package/dist/assets/{HowItWorks-BlbQcUxx.js → HowItWorks-gAuUl7VQ.js} +1 -1
- package/dist/assets/LegalApp-jOlpLQSV.js +1 -0
- package/dist/assets/{LegalMarkdownDocument-Bk3U7ChN.js → LegalMarkdownDocument-RSNiyAu0.js} +2 -2
- package/dist/assets/LegalPageShell-CmxGCdqJ.css +1 -0
- package/dist/assets/LegalPageShell-Cr90l1I2.js +1 -0
- package/dist/assets/LeverPanel-D1SNRGdm.js +1 -0
- package/dist/assets/Library-DmdzY2se.js +1 -0
- package/dist/assets/LibraryOverlay-DEQ5GuIs.js +1 -0
- package/dist/assets/LiveApp-Bl7WBgqJ.css +1 -0
- package/dist/assets/LiveApp-CUoQgVo1.js +62 -0
- package/dist/assets/LiveSettings-jn26sH4v.js +6 -0
- package/dist/assets/MindMapViewerDrawer-CDDzzpFi.js +1 -0
- package/dist/assets/MindShape-BeZFay7O.js +1 -0
- package/dist/assets/MindShape-CaPeUo-a.css +1 -0
- package/dist/assets/{Orb-B0NEVfqL.js → Orb-D8lhTdmY.js} +1 -1
- package/dist/assets/PinToDashboard-CSqwDBLD.js +1 -0
- package/dist/assets/PlanReview-ChZeUHQO.js +1 -0
- package/dist/assets/Presence-CKSoyuhE.js +1 -0
- package/dist/assets/PresentationDeck-Dj9MQVZC.js +1 -0
- package/dist/assets/PrismApp-Dfs6eAuR.js +2 -0
- package/dist/assets/PrismAskController-CSsCkRC8.js +37 -0
- package/dist/assets/PrismBriefingPlayer-BoB_PCTT.js +2 -0
- package/dist/assets/PrismOverlay-CGtr7lBl.js +109 -0
- package/dist/assets/PrismWorkbench-f0rLNBxb.js +1 -0
- package/dist/assets/{PrivacyApp-CatB3OpJ.js → PrivacyApp-CFs0PM5C.js} +16 -10
- package/dist/assets/Recap-T9DtFaEk.js +1 -0
- package/dist/assets/ReelJelly-D5e-jt-8.js +1 -0
- package/dist/assets/ReplayCard-BkJbY0-I.js +2 -0
- package/dist/assets/ReplayCard-Cs6mzTRa.css +1 -0
- package/dist/assets/ReplayOverlay-Dm_k7FBA.js +1 -0
- package/dist/assets/ReplayOverlay-DzkcTnCA.css +1 -0
- package/dist/assets/RewindOverlay-BSDbLgcN.js +1 -0
- package/dist/assets/RippleApp-DW1rpKHe.js +2 -0
- package/dist/assets/RippleAskController-CywVzqUA.js +34 -0
- package/dist/assets/RippleOverlay-DVxfWEQ8.js +6 -0
- package/dist/assets/SeeDontRead-Ct4PY63d.js +1 -0
- package/dist/assets/ShareModal-BILPvqjZ.js +2 -0
- package/dist/assets/{ShareModal-PobtP7AJ.css → ShareModal-D1QuQEko.css} +1 -1
- package/dist/assets/ShipCascade-Bf-qDWMb.js +1 -0
- package/dist/assets/ShipCourse-DGj9BbRM.js +1 -0
- package/dist/assets/{ShipGate-BYYu9WVq.js → ShipGate-D4BP41-h.js} +1 -1
- package/dist/assets/ShipHotspots-lGioTtf1.js +1 -0
- package/dist/assets/{ShipIncident-BWxerYtX.js → ShipIncident-DMLb14Lx.js} +1 -1
- package/dist/assets/ShipMigration-ZnzL-1rC.js +1 -0
- package/dist/assets/ShipOnboarding-DUxtx2Vr.js +1 -0
- package/dist/assets/ShipRead-CJJmY-wy.js +1 -0
- package/dist/assets/ShipRollout-Dt2TgI0L.js +1 -0
- package/dist/assets/ShipSuggestions-BrAXTjAR.js +1 -0
- package/dist/assets/ShipWorkspace-_MtKAiKH.js +2 -0
- package/dist/assets/SignatureLoop-CfM-rTXb.js +1 -0
- package/dist/assets/SrsReview-B1B2VekR.css +1 -0
- package/dist/assets/SrsReview-DhWNYYv7.js +1 -0
- package/dist/assets/SynthesisApp-C43ZO6Ew.js +2 -0
- package/dist/assets/SynthesisOverlay-Dunk_JWD.js +66 -0
- package/dist/assets/{TermsApp-CleIlDtR.js → TermsApp-BUQa48cB.js} +13 -3
- package/dist/assets/TopbarMenu-DQXxqSWY.js +1 -0
- package/dist/assets/TopicCanvas-DR26Swr_.js +2 -0
- package/dist/assets/TourPrism-zt1LIaLd.js +1 -0
- package/dist/assets/TrackerTile-sYD2MM_4.js +2 -0
- package/dist/assets/TwoSurfaces-CLOIlVvY.js +1 -0
- package/dist/assets/UnderstoodPanel-DmJph4el.js +1 -0
- package/dist/assets/WhyMachineOverlay-Nll4Wco-.js +1 -0
- package/dist/assets/WowFeatures-CNVwRlf0.js +1 -0
- package/dist/assets/ZoomDeck-DNgyW7Nm.js +1 -0
- package/dist/assets/__vite-browser-external-gfE6fZcA.js +1 -0
- package/dist/assets/alternateFinishes-Cgks49KV.js +494 -0
- package/dist/assets/annotationAuto-C9weSF2k.js +1 -0
- package/dist/assets/annotationReel-va1i-lKs.js +1 -0
- package/dist/assets/annotations-CftUUB13.js +1 -0
- package/dist/assets/attachments-BW-vki-E.js +1 -0
- package/dist/assets/backup-D--1WRte.js +1 -0
- package/dist/assets/blockLabel-FogyzEQY.js +1 -0
- package/dist/assets/blockTypes-CgNGx27_.js +1 -0
- package/dist/assets/buildShip-BgFg98tH.js +1 -0
- package/dist/assets/cache-CvbSI-pr.js +1 -0
- package/dist/assets/cachedImport-DW0gP14h.js +1 -0
- package/dist/assets/canvas-DIs20T9l.js +1 -0
- package/dist/assets/capture-BBxyt5SN.js +2 -0
- package/dist/assets/catalog-Db9GWM6N.js +1 -0
- package/dist/assets/{cfo.generated-Bjl5OGay.js → cfo.generated-j5CXp1Zz.js} +1 -1
- package/dist/assets/chapters-Dqm4iLDa.js +1 -0
- package/dist/assets/charts2-CaKGzkgJ.js +1 -0
- package/dist/assets/checkLogModel-BMtruriG.js +1 -0
- package/dist/assets/{citation-BcvmjKS8.js → citation-BsSvaaer.js} +1 -1
- package/dist/assets/{codeContext-0UMRSGRr.js → codeContext-goNoLAIr.js} +1 -1
- package/dist/assets/compiler-runtime-qQQXpJgv.js +1 -0
- package/dist/assets/{compose-BJ9EfcQS.js → compose-D-OsDiU9.js} +1 -1
- package/dist/assets/confirmAdd-BDNV8RqF.js +1 -0
- package/dist/assets/{contentVault-DzTYWcbD.js → contentVault-xfUwSJ3i.js} +1 -1
- package/dist/assets/coreIcons-BzqW7Qiz.js +1 -0
- package/dist/assets/cpp-CJIxL8VH.js +1 -0
- package/dist/assets/cpp-Cts1PyIS.js +1 -0
- package/dist/assets/dash-composer-DeNWVwpU.css +1 -0
- package/dist/assets/dashboardEvents-BDKxoLch.js +2 -0
- package/dist/assets/dashboards-Dy4MTJQ5.css +1 -0
- package/dist/assets/dataPending-lZUzUEo6.js +1 -0
- package/dist/assets/{diagrams-CaSfjT4I.js → diagrams-1DJMD4j-.js} +1 -1
- package/dist/assets/dist-DRo0JOkC.js +14 -0
- package/dist/assets/{dist-CBEt6Q8V.js → dist-kNHRtoqd.js} +21 -21
- package/dist/assets/empty-BO1NC9qY.js +1 -0
- package/dist/assets/{explode-WBykfhqW.js → explode-fgkkWz8o.js} +1 -1
- package/dist/assets/facts-BUGuVUIc.js +1 -0
- package/dist/assets/fit-CMu7prjb.js +1 -0
- package/dist/assets/fitText-DQ2omSN0.js +1 -0
- package/dist/assets/format-q0LwBjID.js +1 -0
- package/dist/assets/{format-hc2QOoIu.js → format-rPI6ZwwH.js} +1 -1
- package/dist/assets/friendlyAsk-BBdRZIar.js +1 -0
- package/dist/assets/{generate-8odaTyr4.js → generate-CemSUZ8A.js} +3 -3
- package/dist/assets/generateBeats-aqKTlSN2.js +1 -0
- package/dist/assets/{generateCourse-Cj_-vDWu.js → generateCourse-BIBbw-ZJ.js} +1 -1
- package/dist/assets/generateLive-BsXn4Y_d.js +51 -0
- package/dist/assets/githubBrowser-BDiuD9dz.js +1 -0
- package/dist/assets/githubToken-Bwa7V9YT.js +1 -0
- package/dist/assets/history-D2EH2X6D.js +1 -0
- package/dist/assets/homeTarget-CsO8nY7z.js +1 -0
- package/dist/assets/http-Lar_UMKb.js +2 -0
- package/dist/assets/{icons-CHVz6kv_.js → icons-gLFQTv74.js} +1 -1
- package/dist/assets/incident-D3bmMmES.js +10 -0
- package/dist/assets/index-B69GkoTc.css +1 -0
- package/dist/assets/index-D1SPhBGd.js +22 -0
- package/dist/assets/index.es-yrxxdux0.js +5 -0
- package/dist/assets/jspdf.es.min-Bbaa2Qun.js +79 -0
- package/dist/assets/jsx-runtime-DeHZSEgm.js +1 -0
- package/dist/assets/katex-CiJ_n4H9.js +257 -0
- package/dist/assets/keyVault-Aw5Y2PjT.js +1 -0
- package/dist/assets/kokoro-C6P0LV4L.js +1 -0
- package/dist/assets/layout-CEoNLr-w.js +1 -0
- package/dist/assets/{layout-CkO0Psde.js → layout-CHn3XWJd.js} +1 -1
- package/dist/assets/learn-CXstDWJf.js +1 -0
- package/dist/assets/ledger-Cv0LBflx.js +1 -0
- package/dist/assets/lib-B7OE1ZQQ.js +1 -0
- package/dist/assets/liveSchema-B8OByCPH.js +99 -0
- package/dist/assets/maplibre-gl-CrDadnl3.js +801 -0
- package/dist/assets/maplibre-gl-worker-DZ7nj4vd.js +11 -0
- package/dist/assets/{mastery-D7xYf5D7.js → mastery-CUfDeuqO.js} +2 -2
- package/dist/assets/{media-CsrUl279.js → media-BvwzACIX.js} +1 -1
- package/dist/assets/{model-BE0UHu1w.js → model-BsQ5ixwB.js} +1 -1
- package/dist/assets/motion-BY_Egaxm.js +1 -0
- package/dist/assets/motion-DxHSlPN6.js +1 -0
- package/dist/assets/{neighborhoods-DFqKm9Xi.js → neighborhoods-D7QjURnE.js} +1 -1
- package/dist/assets/notes-U6gRKVHk.js +1 -0
- package/dist/assets/officeDoc-Dn8jw1fG.js +3 -0
- package/dist/assets/openchemlib-Cz_MN0FG.js +23 -0
- package/dist/assets/{owners-FXDGInVq.js → owners-HRBX7JN_.js} +1 -1
- package/dist/assets/parseDiff-D8uBQ9mQ.js +2 -0
- package/dist/assets/pdf-CUAVYiYW.js +54 -0
- package/dist/assets/pdf.worker.min-CHFwMXne.mjs +29 -0
- package/dist/assets/pen-D9UT-ioQ.js +24 -0
- package/dist/assets/{perfProbe-CCSPF3EA.js → perfProbe-BxyiHsI2.js} +1 -1
- package/dist/assets/{php-CYrBA5iX.js → php-CQT4wx5i.js} +1 -1
- package/dist/assets/pin-D-4Zjiik.css +1 -0
- package/dist/assets/pin-qQrH_dBi.js +1 -0
- package/dist/assets/planTracker-CjnznF7v.js +1 -0
- package/dist/assets/portal-t0bsUEg2.js +1 -0
- package/dist/assets/{pptxgen.es-CwCkoJdp.js → pptxgen.es-zw8PIOkD.js} +11 -11
- package/dist/assets/predictions-CkVKHq-5.js +1 -0
- package/dist/assets/preload-helper-CiWYd9n-.js +1 -0
- package/dist/assets/preloadableLazy-MIX1ApBW.js +1 -0
- package/dist/assets/{prewarm--KODwuMi.js → prewarm-CAZcnT4x.js} +1 -1
- package/dist/assets/prism.generated-BQkO5r6r.js +41 -0
- package/dist/assets/{prismExtract.worker-Cws9K1NG.js → prismExtract.worker-OxGWMXXN.js} +1 -1
- package/dist/assets/prismGround.worker-C9hyveb3.js +1 -0
- package/dist/assets/prismLayout.worker-CJa4orCT.js +1 -0
- package/dist/assets/providers-DdJWf_PE.js +1 -0
- package/dist/assets/purify.es-JEAr64Sr.js +3 -0
- package/dist/assets/{queue-J4h7E3uc.js → queue-Adae4IzW.js} +1 -1
- package/dist/assets/quietHours-_i5Uqz7z.js +1 -0
- package/dist/assets/quizResult-DB8yeqDr.js +1 -0
- package/dist/assets/react-BZJXY1be.js +1 -0
- package/dist/assets/ready-4lPJes2S.js +1 -0
- package/dist/assets/ready-LSwk88I-.js +1 -0
- package/dist/assets/{reference-sJzyMiL4.js → reference-BjexflMu.js} +1 -1
- package/dist/assets/registry-4mMEt1Xy.css +1 -0
- package/dist/assets/registry-7poQfBaM.js +4 -0
- package/dist/assets/registry-9QjeHgKs.js +1 -0
- package/dist/assets/registry-B0GIHERt.js +1 -0
- package/dist/assets/{registry-DpaaVbmL.css → registry-B1KQ1VPZ.css} +1 -1
- package/dist/assets/registry-B5S3brjM.css +1 -0
- package/dist/assets/registry-BFbfXK-W.js +1 -0
- package/dist/assets/registry-BSX3aFUw.js +1 -0
- package/dist/assets/registry-Bv1f5UU4.js +2 -0
- package/dist/assets/registry-BzH7mEl7.js +1 -0
- package/dist/assets/registry-C28gYnVq.js +1 -0
- package/dist/assets/registry-COkvZrNA.css +1 -0
- package/dist/assets/registry-CPImC7mO.js +1 -0
- package/dist/assets/registry-CPiwQhAm.js +1 -0
- package/dist/assets/registry-CcOO8UZr.js +1 -0
- package/dist/assets/registry-Ci65uThi.js +1 -0
- package/dist/assets/registry-CkScyZGa.js +1 -0
- package/dist/assets/registry-CtvKPLd7.js +1 -0
- package/dist/assets/{registry-upbw6pyj.css → registry-CuVk7MAI.css} +1 -1
- package/dist/assets/{registry-D5oMqeSa.js → registry-CueC1vq1.js} +1 -1
- package/dist/assets/registry-CvylL2BN.css +1 -0
- package/dist/assets/registry-CxUmdwDk.js +1 -0
- package/dist/assets/registry-D8O0apUT.js +2 -0
- package/dist/assets/registry-DLyrLfe-2.js +1 -0
- package/dist/assets/registry-DO4hGO5e.js +1 -0
- package/dist/assets/{registry-Xzq_Rpmm.css → registry-DScSjt8p.css} +1 -1
- package/dist/assets/registry-Daypk4uR.js +1 -0
- package/dist/assets/registry-Dd1lcXrO.js +2 -0
- package/dist/assets/{registry-DWcNVyI2.css → registry-DpMI23iE.css} +1 -1
- package/dist/assets/registry-NbNNn_ra.js +1 -0
- package/dist/assets/registry-Vp8VuMV0.js +9 -0
- package/dist/assets/registry-WHd1PwU3.js +1 -0
- package/dist/assets/registry-Xl8mAnKq.js +1 -0
- package/dist/assets/registry-tkd3UhWn.css +1 -0
- package/dist/assets/{registry-ei6fIgBT.css → registry-twSIyxJQ.css} +1 -1
- package/dist/assets/registry-types-D3q_LrlV.js +1 -0
- package/dist/assets/registry-w4R6c89s.js +48 -0
- package/dist/assets/{relate-DxAi8xpo.js → relate-DHPSGB7a.js} +1 -1
- package/dist/assets/replay-zh4xVk5G.js +1 -0
- package/dist/assets/rolldown-runtime-DkW27tQK.js +1 -0
- package/dist/assets/route-D4kd-D3B.js +1 -0
- package/dist/assets/{ruby-BhrksQMt.js → ruby-D_UtGFHI.js} +1 -1
- package/dist/assets/{run-Dc2ZJz6n.js → run-BdDyp6Xv.js} +2 -2
- package/dist/assets/run-ByCJN-29.js +23 -0
- package/dist/assets/run-DiPX83_J.js +21 -0
- package/dist/assets/safeImageUrl-BINWXOTz.js +1 -0
- package/dist/assets/screen-DFWKge3-.js +1 -0
- package/dist/assets/search-ZN7v_P5B.js +1 -0
- package/dist/assets/shapes-DI0LQC8n.js +1 -0
- package/dist/assets/shard005-Dp5TM33O.js +1 -0
- package/dist/assets/shard006-DpJfkjmW.js +1 -0
- package/dist/assets/shard007-CIQN8OfZ.js +1 -0
- package/dist/assets/shard008-BFiyL7r6.js +1 -0
- package/dist/assets/shard009-0s30Tkk9.js +1 -0
- package/dist/assets/shard010-DPhgF5ck.js +1 -0
- package/dist/assets/shard011-C2jVsC25.js +1 -0
- package/dist/assets/shard012-DYtN5yzJ.js +1 -0
- package/dist/assets/shard013-1D6_Qy9C.js +1 -0
- package/dist/assets/shard014-D8s7GHnm.js +1 -0
- package/dist/assets/shard015-16W6KgnL.js +1 -0
- package/dist/assets/shard016-B4PpWmro.js +1 -0
- package/dist/assets/shard017-BO1sA5b3.js +1 -0
- package/dist/assets/shard018-D4gn8z25.js +1 -0
- package/dist/assets/shard019-vSbfaqRA.js +1 -0
- package/dist/assets/shard020-DwbHP8bp.js +1 -0
- package/dist/assets/{shard021-2FE-tze4.js → shard021-BhEyVVAL.js} +1 -1
- package/dist/assets/shard022-BdT7zFy3.js +1 -0
- package/dist/assets/shard023-Dga_NQcm.js +1 -0
- package/dist/assets/shard024-CXHofcxc.js +1 -0
- package/dist/assets/shard025-a4CQKYw1.js +1 -0
- package/dist/assets/shard026-0rhLKfDL.js +1 -0
- package/dist/assets/shard027-C9GMfOtn.js +1 -0
- package/dist/assets/shard028-D9__rPnw.js +1 -0
- package/dist/assets/shard029-BSdYKGgG.js +1 -0
- package/dist/assets/shard030-DceOU7pS.js +1 -0
- package/dist/assets/shard031-C6_p076r.js +1 -0
- package/dist/assets/shard032-Cah16sJi.js +1 -0
- package/dist/assets/shard033-D-iobGzc.js +1 -0
- package/dist/assets/shard034-DIyfCKl8.js +1 -0
- package/dist/assets/shard035-BHWs8v0a.js +1 -0
- package/dist/assets/shard036-AhOPHqzq.js +1 -0
- package/dist/assets/shard037-CuAGDOOu.js +1 -0
- package/dist/assets/shard038-CYdtnPjK.js +1 -0
- package/dist/assets/shard039-DgvXKOyi.js +1 -0
- package/dist/assets/shard040-DO012waT.js +1 -0
- package/dist/assets/shard041-BeUicA1R.js +1 -0
- package/dist/assets/shard042-D2zbq14A.js +1 -0
- package/dist/assets/shard043-BKoTEB-H.js +1 -0
- package/dist/assets/shard044-bmYKfH3A.js +1 -0
- package/dist/assets/shard045-i_R1olD9.js +1 -0
- package/dist/assets/shard046-CFk2L0GQ.js +1 -0
- package/dist/assets/shard047-pjHCnVaT.js +1 -0
- package/dist/assets/shard048-Cc7tGz6R.js +1 -0
- package/dist/assets/shard049-C9eoD-6Z.js +1 -0
- package/dist/assets/shard050-V3c_ZDrB.js +1 -0
- package/dist/assets/shard051-D1ISwZzf.js +1 -0
- package/dist/assets/shard052-Dy09xx3S.js +1 -0
- package/dist/assets/shard053-Bi4Z4cwW.js +1 -0
- package/dist/assets/shard054-BoC-LNYu.js +1 -0
- package/dist/assets/shard055-D2NJeMN1.js +1 -0
- package/dist/assets/shard056-sSFMbxXN.js +1 -0
- package/dist/assets/shard057-DhNK5nyZ.js +1 -0
- package/dist/assets/shard058-Du4SjxeD.js +1 -0
- package/dist/assets/shard059-fGiLnJzG.js +1 -0
- package/dist/assets/shard060-l84MDY2t.js +1 -0
- package/dist/assets/shard061-B3aIa7Aa.js +1 -0
- package/dist/assets/{shard061-C9A8iNiq.js → shard062-BJ8OX6CJ.js} +1 -1
- package/dist/assets/shard063-CMo-7Qit.js +1 -0
- package/dist/assets/shard064-B0EEOnfG.js +1 -0
- package/dist/assets/shard065-D-StlUHp.js +1 -0
- package/dist/assets/share-kW3pZ027.js +1 -0
- package/dist/assets/shikiHighlight-BwX78OP8.js +153 -0
- package/dist/assets/speed-K5_Ebj-8.js +1 -0
- package/dist/assets/spokenText-D3iS8fuI.js +1 -0
- package/dist/assets/spreadLabels-CQ8hufvK.js +1 -0
- package/dist/assets/src-DG1n-LFe.js +1 -0
- package/dist/assets/store-BWLbFXiY.js +1 -0
- package/dist/assets/{store-BMRQiV1z.js → store-BfHRbVKz.js} +1 -1
- package/dist/assets/store-D-f8ZuaK.js +1 -0
- package/dist/assets/store-D2IJF4SA.js +0 -0
- package/dist/assets/store-DpObYU1u.js +1 -0
- package/dist/assets/store-DpmbKVs7.js +1 -0
- package/dist/assets/store-gohr8YVT.js +1 -0
- package/dist/assets/{streamParse-DRgMHWye.js → streamParse-B-Gjwa9T.js} +1 -1
- package/dist/assets/svgLabel-BQMDdcT2.js +1 -0
- package/dist/assets/swift-CyEgAFGc.js +1 -0
- package/dist/assets/theme-f0mztBcq.js +1 -0
- package/dist/assets/threads-Cu2t3070.js +1 -0
- package/dist/assets/tiles-CBiVVjtT.css +1 -0
- package/dist/assets/tiles-pdNi6MGe.js +1 -0
- package/dist/assets/types-CaO6xOn5.js +1 -0
- package/dist/assets/useDashboardLoop-DuckIfJX.js +5 -0
- package/dist/assets/useDashboards-BMcuCWoz.js +1 -0
- package/dist/assets/{useFocusTrap-DbfG6zbM.js → useFocusTrap-DBtkeyRy.js} +1 -1
- package/dist/assets/useInView-CXTOAEV3.js +1 -0
- package/dist/assets/useLedger-1WVXef68.js +1 -0
- package/dist/assets/useLiveConfig-9eJ7EM3B.js +1 -0
- package/dist/assets/useSpatialCanvas-CtVsYmp8.js +1 -0
- package/dist/assets/useSpotlightWalk-DxlxBezO.js +1 -0
- package/dist/assets/useSrsCards-C27o39fF.js +1 -0
- package/dist/assets/useStudy-B5874Bcg.js +1 -0
- package/dist/assets/{useTimeout-BRYvu2jQ.js → useTimeout-Cm4yzted.js} +1 -1
- package/dist/assets/{useValidatedImage-D2fhA198.js → useValidatedImage-BQi2c66o.js} +1 -1
- package/dist/assets/useZoomGesture-CN0p0lHL.js +1 -0
- package/dist/assets/verbatim-DBTj9sPD.js +1 -0
- package/dist/assets/worker-D7eK-Ya8.js +2 -0
- package/dist/demo-assets/CREDITS.md +75 -24
- package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
- package/dist/demo-assets/video/azores-film.webm +0 -0
- package/dist/fonts/LICENSE.txt +32 -28
- package/dist/fonts/OFL-1.1.txt +81 -0
- package/dist/fonts/PROVENANCE.md +38 -0
- package/dist/index.html +15 -8
- package/dist/legal/DISCLAIMER.md +4 -1
- package/dist/legal/PRIVACY.md +14 -8
- package/dist/legal/TERMS.md +11 -1
- package/dist/legal/THIRD-PARTY.txt +25248 -621
- package/dist/pdfjs/LICENSE_JBIG2 +196 -0
- package/dist/pdfjs/LICENSE_OPENJPEG +39 -0
- package/dist/pdfjs/LICENSE_PDFJS_JBIG2 +13 -0
- package/dist/pdfjs/LICENSE_PDFJS_OPENJPEG +22 -0
- package/dist/pdfjs/LICENSE_PDFJS_QCMS +22 -0
- package/dist/pdfjs/LICENSE_QCMS +21 -0
- package/dist/pdfjs/jbig2.wasm +0 -0
- package/dist/pdfjs/openjpeg.wasm +0 -0
- package/dist/pdfjs/qcms_bg.wasm +0 -0
- package/docker-compose.yml +40 -7
- package/docs/media/answer-ink.jpg +0 -0
- package/docs/media/canvas-view.jpg +0 -0
- package/docs/media/deck-export.jpg +0 -0
- package/docs/media/deep-zoom.jpg +0 -0
- package/docs/media/doc-export.jpg +0 -0
- package/docs/media/doc-prism.jpg +0 -0
- package/docs/media/repo-course.jpg +0 -0
- package/docs/media/think-map.jpg +0 -0
- package/docs/media/trip-plan.jpg +0 -0
- package/docs/media/voice-scrub.jpg +0 -0
- package/package.json +71 -60
- package/voice/start-whisper.sh +28 -0
- package/voice/whisper.Dockerfile +44 -0
- package/dist/assets/AppCommandPalette-Dzl_DbDd.js +0 -1
- package/dist/assets/AtlasView-B8b67dk0.js +0 -1
- package/dist/assets/BlockEmpty-B5Q0hgDJ.js +0 -1
- package/dist/assets/BriefingPlayer-Dy7JCGm-.js +0 -1
- package/dist/assets/CanvasSkeleton-CJwPWnFG.js +0 -2
- package/dist/assets/CardEditor-DzJXb0G7.js +0 -1
- package/dist/assets/CheckLogRail-DNtXlkcR.js +0 -1
- package/dist/assets/CheckLogRail-F4AlgAcc.css +0 -1
- package/dist/assets/CommandPalette-mO1FEvlx.js +0 -1
- package/dist/assets/CourseLessonReader-CKfvBMtL.js +0 -2
- package/dist/assets/CourseRail-CRcB319H.js +0 -1
- package/dist/assets/CoursesApp-BbCGxAav.js +0 -2
- package/dist/assets/CrossExamPanel-Deywo95y.js +0 -1
- package/dist/assets/DashPresent-BEm1tGse.js +0 -1
- package/dist/assets/DashboardDetail-tK6FpgtH.js +0 -2
- package/dist/assets/DashboardLoopRuntime-Cis4WMqk.js +0 -1
- package/dist/assets/DashboardOverview-DrdqBgds.js +0 -1
- package/dist/assets/DashboardSettings-CBhzLW0P.js +0 -1
- package/dist/assets/DashboardsApp-Dc43FBIi.js +0 -2
- package/dist/assets/DelegatePanel-DmtTY_lE.js +0 -33
- package/dist/assets/DemoGallery-zw3d7ap9.js +0 -1
- package/dist/assets/DropSelect-Bo2Oyi-2.js +0 -1
- package/dist/assets/ExportModal-DICXavg9.js +0 -2
- package/dist/assets/ExtractionPreview-C636AVw-.js +0 -18
- package/dist/assets/FeatureUseNotice-CoK5HkbR.js +0 -1
- package/dist/assets/FlagshipCTA-B-7nH43r.js +0 -1
- package/dist/assets/FlagshipCommandPalette-DgTL_Kjj.js +0 -1
- package/dist/assets/FlagshipShowcase-CbAC2s4X.js +0 -1
- package/dist/assets/FlashcardsApp-CatYcaJJ.js +0 -1
- package/dist/assets/ForecastPanel-BOG361kr.js +0 -1
- package/dist/assets/GalleryApp-uW6b1Y0d.js +0 -1
- package/dist/assets/LegalApp-sCZjJYWx.js +0 -1
- package/dist/assets/LegalPageShell-BsgRV7aL.js +0 -1
- package/dist/assets/LegalPageShell-C_HottbD.css +0 -1
- package/dist/assets/LeverPanel-CP32QcIf.js +0 -1
- package/dist/assets/Library-CJTnp1pC.js +0 -1
- package/dist/assets/LibraryOverlay-geQRGAzG.js +0 -1
- package/dist/assets/LiveApp-C0BN0o3_.js +0 -61
- package/dist/assets/LiveApp-Dj_6EQuL.css +0 -1
- package/dist/assets/LiveSettings-CzSXXMoo.js +0 -6
- package/dist/assets/MindMapViewerDrawer-7HLErRQF.js +0 -1
- package/dist/assets/MindShape-Bhu4yoIj.js +0 -1
- package/dist/assets/MindShape-DjHtMW_5.css +0 -1
- package/dist/assets/PinToDashboard-Cj8S9XKC.js +0 -1
- package/dist/assets/PlanReview-3NxZD9wt.js +0 -1
- package/dist/assets/Presence-DDxb6yE5.js +0 -1
- package/dist/assets/PresentationDeck-B6AHRYEA.js +0 -1
- package/dist/assets/PrismApp-BlPpWxao.js +0 -2
- package/dist/assets/PrismAskController-DUvOTeW9.js +0 -37
- package/dist/assets/PrismBriefingPlayer-Bmo9tOGX.js +0 -2
- package/dist/assets/PrismOverlay-9Q_14eEO.js +0 -131
- package/dist/assets/Quiz-CUwtekfu.js +0 -1
- package/dist/assets/Recap-DkKrrqi5.js +0 -1
- package/dist/assets/ReelJelly-DCD4bG10.js +0 -1
- package/dist/assets/ReplayCard-Bz69tOST.js +0 -2
- package/dist/assets/ReplayOverlay-DbJX08Kr.js +0 -1
- package/dist/assets/RewindOverlay-Bop4a63b.js +0 -1
- package/dist/assets/RippleApp-u3hCfb5b.js +0 -2
- package/dist/assets/RippleAskController-CK4iSwT0.js +0 -34
- package/dist/assets/RippleOverlay-BM_B9JEc.js +0 -6
- package/dist/assets/SeeDontRead-CGGKmvBV.js +0 -1
- package/dist/assets/ShareModal-D4En6Y3L.js +0 -32
- package/dist/assets/ShipCascade-k_GWrcau.js +0 -1
- package/dist/assets/ShipCourse-BQOY4MyI.js +0 -1
- package/dist/assets/ShipHotspots-vLRK0w_b.js +0 -1
- package/dist/assets/ShipMigration-OgAGEbjm.js +0 -1
- package/dist/assets/ShipOnboarding-B_2IEq3N.js +0 -1
- package/dist/assets/ShipRead--gGqg2SE.js +0 -1
- package/dist/assets/ShipRollout-B_U2P8Yw.js +0 -1
- package/dist/assets/ShipSuggestions-D9coTmgw.js +0 -1
- package/dist/assets/ShipWorkspace-BmdcHZXa.js +0 -2
- package/dist/assets/SignatureLoop-KA6Cf93g.js +0 -1
- package/dist/assets/SrsReview-BoaYb6XN.js +0 -1
- package/dist/assets/SrsReview-DmGdGxT0.css +0 -1
- package/dist/assets/SynthesisApp-BCBhCJhx.js +0 -2
- package/dist/assets/SynthesisOverlay-BuGIeaKq.js +0 -66
- package/dist/assets/TopicCanvas-BRu3xVL8.js +0 -2
- package/dist/assets/TourPrism-zbVLe2ag.js +0 -1
- package/dist/assets/TrackerTile-D9Wa3CSq.js +0 -2
- package/dist/assets/TwoSurfaces-TyWXgAdq.js +0 -1
- package/dist/assets/UnderstoodPanel-BS9OhgLJ.js +0 -1
- package/dist/assets/WhyMachineOverlay-B-KJhCjr.js +0 -1
- package/dist/assets/WowFeatures-Bv1-PmXF.js +0 -1
- package/dist/assets/ZoomDeck-C2Q6xbgX.js +0 -1
- package/dist/assets/__vite-browser-external-BufR4LQa.js +0 -1
- package/dist/assets/alternateFinishes-BG6svkXG.js +0 -494
- package/dist/assets/annotationAuto-BpBsjbDQ.js +0 -1
- package/dist/assets/annotationReel-yzysA-Gr.js +0 -1
- package/dist/assets/annotations-D2K9A5GB.js +0 -1
- package/dist/assets/backup-BdeBr3wq.js +0 -1
- package/dist/assets/blockLabel-DAqaHKy3.js +0 -1
- package/dist/assets/cache-BumECILO.js +0 -1
- package/dist/assets/canvas-Ep2Kfupo.js +0 -1
- package/dist/assets/catalog-DF7YTNju.js +0 -1
- package/dist/assets/chapters-Cbe53c3W.js +0 -1
- package/dist/assets/charts2-tyUiQPff.js +0 -1
- package/dist/assets/chunk-BVpWp9h4.js +0 -1
- package/dist/assets/cpp-BGdv8dzs.js +0 -1
- package/dist/assets/cpp-CNAAXZl-.js +0 -1
- package/dist/assets/dashboardEvents-C_XvGVLJ.js +0 -2
- package/dist/assets/dashboards-rcWxdoXI.css +0 -1
- package/dist/assets/dist-xRGLOZwv.js +0 -14
- package/dist/assets/facts-BBTt3ImG.js +0 -1
- package/dist/assets/fit-B1LJWvMO.js +0 -1
- package/dist/assets/fitText-CDFmCQzl.js +0 -1
- package/dist/assets/format-DlZTyeMy.js +0 -1
- package/dist/assets/generateBeats-b64CL54v.js +0 -1
- package/dist/assets/generateLive-ChhSWKbq.js +0 -52
- package/dist/assets/githubBrowser-DywfDeYx.js +0 -1
- package/dist/assets/githubToken-DtcLYqwm.js +0 -11
- package/dist/assets/homeTarget-BcZYH3DY.js +0 -1
- package/dist/assets/http-CJCtjYpA.js +0 -2
- package/dist/assets/index-C7H7A1rW.js +0 -22
- package/dist/assets/index-CepQEz75.css +0 -1
- package/dist/assets/index.es-CRLiWwiA.js +0 -5
- package/dist/assets/jspdf.es.min-DutJi91O.js +0 -79
- package/dist/assets/jsx-runtime-DaSxXjOY.js +0 -1
- package/dist/assets/katex-BMCG0xok.js +0 -257
- package/dist/assets/keyVault-DEsNh9FR.js +0 -1
- package/dist/assets/kokoro-kGWf7M0e.js +0 -1
- package/dist/assets/layout-BFQOzXtG.js +0 -1
- package/dist/assets/leaflet-src-C_xhOQY7.js +0 -1
- package/dist/assets/learn-DVfqN-nf.js +0 -1
- package/dist/assets/lib-C7zXL8h0.js +0 -1
- package/dist/assets/liveSchema-DCL21WdS.js +0 -99
- package/dist/assets/motion-dfA87zbb.js +0 -1
- package/dist/assets/notes-DblI4Ko_.js +0 -1
- package/dist/assets/officeDoc-B6nEhNp4.js +0 -3
- package/dist/assets/openchemlib-nMLMmg26.js +0 -23
- package/dist/assets/pdf-DFYCstCC.js +0 -11
- package/dist/assets/pdf.worker.min-yatZIOMy.mjs +0 -21
- package/dist/assets/pin-Bya3BL_a.css +0 -1
- package/dist/assets/pin-D5_Ebl_s.js +0 -1
- package/dist/assets/planTracker-7AMCQPNx.js +0 -1
- package/dist/assets/portal-BndazODr.js +0 -1
- package/dist/assets/predictions-CYS7Vo39.js +0 -1
- package/dist/assets/prism.generated-BhbHDHR6.js +0 -41
- package/dist/assets/prismGround.worker-CIvKqxm2.js +0 -1
- package/dist/assets/prismLayout.worker-CZO2CY7B.js +0 -1
- package/dist/assets/providers-wzm7E8Pa.js +0 -1
- package/dist/assets/purify.es-adlwq8Pz.js +0 -3
- package/dist/assets/quietHours-DVPplPtM.js +0 -1
- package/dist/assets/react-BQSORdFI.js +0 -1
- package/dist/assets/registry-0E1uKPCI.js +0 -49
- package/dist/assets/registry-5a-E7vEN.css +0 -1
- package/dist/assets/registry-B3V5-8v0.js +0 -1
- package/dist/assets/registry-B51MhOLx.js +0 -2
- package/dist/assets/registry-BH6FfyZk.js +0 -1
- package/dist/assets/registry-BVHiKEwE.css +0 -1
- package/dist/assets/registry-Ba9xMFO4.js +0 -4
- package/dist/assets/registry-BcZXBr3y.css +0 -1
- package/dist/assets/registry-BlB0FYf0.js +0 -1
- package/dist/assets/registry-C30HGS2G.js +0 -1
- package/dist/assets/registry-CIa1EU-G.js +0 -1
- package/dist/assets/registry-COxprhRN.js +0 -1
- package/dist/assets/registry-CWkBxxsI.js +0 -5
- package/dist/assets/registry-D-qEhm1d.js +0 -1
- package/dist/assets/registry-D7rspCZr.js +0 -1
- package/dist/assets/registry-DNzF-nvu.js +0 -1
- package/dist/assets/registry-DQIm_hbI.js +0 -2
- package/dist/assets/registry-DVzLacl_.css +0 -1
- package/dist/assets/registry-Dkc7hN5T.js +0 -1
- package/dist/assets/registry-DmQlNN3y.js +0 -1
- package/dist/assets/registry-Dphh5ADP.js +0 -1
- package/dist/assets/registry-DrNMbrA_.js +0 -1
- package/dist/assets/registry-Dvv84L9K.js +0 -1
- package/dist/assets/registry-M3VgAiQv.js +0 -1
- package/dist/assets/registry-Pr5IKqro.js +0 -1
- package/dist/assets/registry-WJE8Z0T1.js +0 -2
- package/dist/assets/registry-aIH-Im5Y.css +0 -1
- package/dist/assets/registry-hsSlT6pi.js +0 -1
- package/dist/assets/registry-nG70-amx.js +0 -1
- package/dist/assets/registry-types-DMuK0vJ6.js +0 -1
- package/dist/assets/registry-wJhGGVuP.js +0 -1
- package/dist/assets/run-BYP2YlZT.js +0 -23
- package/dist/assets/run-DSVvshaB.js +0 -21
- package/dist/assets/safeImageUrl-CUkucDUu.js +0 -1
- package/dist/assets/screen-DLR7p_yP.js +0 -1
- package/dist/assets/search-Be63DJkp.js +0 -1
- package/dist/assets/shapes-Cw7tCHIp.js +0 -1
- package/dist/assets/shard005-DLVkh9IH.js +0 -1
- package/dist/assets/shard006-B6efKHov.js +0 -1
- package/dist/assets/shard007-AFdZLe38.js +0 -1
- package/dist/assets/shard008-LbSBzwRx.js +0 -1
- package/dist/assets/shard009-D_6-SUDb.js +0 -1
- package/dist/assets/shard010-DbOj-uZW.js +0 -1
- package/dist/assets/shard011-BYSz7EEW.js +0 -1
- package/dist/assets/shard012-B5Ypj7OV.js +0 -1
- package/dist/assets/shard013-BtsliNIe.js +0 -1
- package/dist/assets/shard014-15sjmk68.js +0 -1
- package/dist/assets/shard015-nnXrqru_.js +0 -1
- package/dist/assets/shard016-BayXFE13.js +0 -1
- package/dist/assets/shard017-Cy4cGexs.js +0 -1
- package/dist/assets/shard018-aO-BYJ8H.js +0 -1
- package/dist/assets/shard019-gxaTeA3I.js +0 -1
- package/dist/assets/shard020-BibJdMI0.js +0 -1
- package/dist/assets/shard022-IXiyG-JK.js +0 -1
- package/dist/assets/shard023-314F6NJS.js +0 -1
- package/dist/assets/shard024-cN5rpQ_X.js +0 -1
- package/dist/assets/shard025-KKTaXOGE.js +0 -1
- package/dist/assets/shard026-C2Dkd1t6.js +0 -1
- package/dist/assets/shard027-Xy-8x9As.js +0 -1
- package/dist/assets/shard028-Bul-klUj.js +0 -1
- package/dist/assets/shard029-BbRSUcUZ.js +0 -1
- package/dist/assets/shard030-GYllsFVC.js +0 -1
- package/dist/assets/shard031-DMigeiyn.js +0 -1
- package/dist/assets/shard032-CcvmzK0l.js +0 -1
- package/dist/assets/shard033-11AU702M.js +0 -1
- package/dist/assets/shard034-Bx3urxjM.js +0 -1
- package/dist/assets/shard035-DBdEeyCt.js +0 -1
- package/dist/assets/shard036-vYgoRBqS.js +0 -1
- package/dist/assets/shard037-DP4MMw91.js +0 -1
- package/dist/assets/shard038-ffxsv7d6.js +0 -1
- package/dist/assets/shard039-C1JHHNp9.js +0 -1
- package/dist/assets/shard040-JbVvCSO_.js +0 -1
- package/dist/assets/shard041-5L_eFwGx.js +0 -1
- package/dist/assets/shard042-C9nsGL79.js +0 -1
- package/dist/assets/shard043-Dx_9HSKI.js +0 -1
- package/dist/assets/shard044-B3QQNC4A.js +0 -1
- package/dist/assets/shard045-B7z0WHO6.js +0 -1
- package/dist/assets/shard046-D1yDablJ.js +0 -1
- package/dist/assets/shard047-DJi3AgeT.js +0 -1
- package/dist/assets/shard048-D_2ipfUr.js +0 -1
- package/dist/assets/shard049-1aGgWZdd.js +0 -1
- package/dist/assets/shard050-Bjwa0Og4.js +0 -1
- package/dist/assets/shard051-Cx_GAk3v.js +0 -1
- package/dist/assets/shard052-LaeOD3V5.js +0 -1
- package/dist/assets/shard053-D-da7Foj.js +0 -1
- package/dist/assets/shard054-CM8eSRQk.js +0 -1
- package/dist/assets/shard055-QRpDl4Vs.js +0 -1
- package/dist/assets/shard056-DkY7CQm3.js +0 -1
- package/dist/assets/shard057-BVCgf7o0.js +0 -1
- package/dist/assets/shard058-93aGtdrX.js +0 -1
- package/dist/assets/shard059-rJE9X1_I.js +0 -1
- package/dist/assets/shard060-Lu_hfl1r.js +0 -1
- package/dist/assets/shard062-BBIpEYZO.js +0 -1
- package/dist/assets/shard063-C_uen3Ub.js +0 -1
- package/dist/assets/shard064-DAHUsHST.js +0 -1
- package/dist/assets/share-QHGHNDhQ.js +0 -1
- package/dist/assets/shikiHighlight-B_TEagaE.js +0 -153
- package/dist/assets/speed-DwPw9KSv.js +0 -1
- package/dist/assets/spokenText-D4zPX9JY.js +0 -1
- package/dist/assets/src-B-t8Mww-.js +0 -2
- package/dist/assets/store-DXmC_fP2.js +0 -0
- package/dist/assets/store-Dn23_Ymr.js +0 -1
- package/dist/assets/store-DoJn3lBF.js +0 -1
- package/dist/assets/store-DrBDvqXF.js +0 -1
- package/dist/assets/swift-DonLKvLd.js +0 -1
- package/dist/assets/threads-CkMgrSDP.js +0 -1
- package/dist/assets/useDashboardLoop-DzbRz-V9.js +0 -5
- package/dist/assets/useLiveConfig-Lm0cYTcu.js +0 -1
- package/dist/assets/useSpatialCanvas-D_C8VoCy.js +0 -1
- package/dist/assets/useSpotlightWalk-CCQT0-_g.js +0 -1
- package/dist/assets/useSrsCards-BKCPBPYw.js +0 -1
- package/dist/assets/useStudy-Diy4ITBm.js +0 -1
- package/dist/assets/useZoomGesture-B82XnSfi.js +0 -1
- package/dist/assets/verbatim-CBMzUDlf.js +0 -1
- package/dist/assets/worker-BbLKfGzm.js +0 -2
- package/dist/demo-assets/video/azores-film.mp4 +0 -0
- /package/dist/assets/{shard065-C2edvdvh.js → shard066-C2edvdvh.js} +0 -0
- /package/dist/assets/{shard066-DFcuVhZm.js → shard067-DFcuVhZm.js} +0 -0
- /package/dist/assets/{shard067-BN8DM8JZ.js → shard068-BN8DM8JZ.js} +0 -0
- /package/dist/assets/{shard068-i464K77p.js → shard069-i464K77p.js} +0 -0
- /package/dist/assets/{shard069-Dm9m2a5U.js → shard070-Dm9m2a5U.js} +0 -0
- /package/dist/assets/{shard070-BPVvR8GH.js → shard071-BPVvR8GH.js} +0 -0
- /package/dist/assets/{shard071-Bal_0d9L.js → shard072-Bal_0d9L.js} +0 -0
- /package/dist/assets/{shard072-CBQu62kt.js → shard073-CBQu62kt.js} +0 -0
- /package/dist/assets/{shard073-D5BRae0w.js → shard074-D5BRae0w.js} +0 -0
- /package/dist/assets/{shard074-DtFvcBnZ.js → shard075-DtFvcBnZ.js} +0 -0
- /package/dist/assets/{queue-DHeyJ32F.css → templates-DHeyJ32F.css} +0 -0
package/bin/mavea.mjs
CHANGED
|
@@ -8,6 +8,7 @@ import https from 'node:https';
|
|
|
8
8
|
import {
|
|
9
9
|
createReadStream,
|
|
10
10
|
existsSync,
|
|
11
|
+
readFileSync,
|
|
11
12
|
statSync,
|
|
12
13
|
mkdirSync,
|
|
13
14
|
renameSync,
|
|
@@ -18,6 +19,7 @@ import { writeFile } from 'node:fs/promises';
|
|
|
18
19
|
import { fileURLToPath } from 'node:url';
|
|
19
20
|
import { dirname, join, extname, normalize, resolve, sep } from 'node:path';
|
|
20
21
|
import { spawn, execSync } from 'node:child_process';
|
|
22
|
+
import { createHash } from 'node:crypto';
|
|
21
23
|
import { constants, createBrotliCompress, createGzip } from 'node:zlib';
|
|
22
24
|
import { homedir, platform, tmpdir } from 'node:os';
|
|
23
25
|
import readline from 'node:readline';
|
|
@@ -68,10 +70,14 @@ const LAZY_ASSETS = {
|
|
|
68
70
|
'ort-wasm-simd-threaded.wasm': {
|
|
69
71
|
url: 'https://cdn.jsdelivr.net/npm/onnxruntime-web@1.26.0/dist/ort-wasm-simd-threaded.wasm',
|
|
70
72
|
mime: 'application/wasm',
|
|
73
|
+
bytes: 13_022_405,
|
|
74
|
+
sha256: '040d52ce5066707a10d45cb9500c35e70a9c2fb33c4fb63428da9ae45b956b97',
|
|
71
75
|
},
|
|
72
76
|
'silero_vad_v5.onnx': {
|
|
73
77
|
url: 'https://cdn.jsdelivr.net/npm/@ricky0123/vad-web@0.0.30/dist/silero_vad_v5.onnx',
|
|
74
78
|
mime: 'application/octet-stream',
|
|
79
|
+
bytes: 2_327_524,
|
|
80
|
+
sha256: '2623a2953f6ff3d2c1e61740c6cdb7168133479b267dfef114a4a3cc5bdd788f',
|
|
75
81
|
},
|
|
76
82
|
};
|
|
77
83
|
|
|
@@ -91,9 +97,58 @@ function lazyCacheDir() {
|
|
|
91
97
|
// .wasm and its already-loaded .mjs glue both kicking off near-simultaneously) share one fetch
|
|
92
98
|
// instead of downloading twice.
|
|
93
99
|
const inFlightDownloads = new Map();
|
|
100
|
+
const verifiedLazyAssets = new Set();
|
|
94
101
|
|
|
95
|
-
|
|
96
|
-
|
|
102
|
+
function cachedAssetIsValid(cachePath, checksumPath, expectedBytes, expectedSha256) {
|
|
103
|
+
const cacheKey = `${cachePath}:${expectedSha256}`;
|
|
104
|
+
try {
|
|
105
|
+
if (!existsSync(cachePath) || !existsSync(checksumPath)) return false;
|
|
106
|
+
if (verifiedLazyAssets.has(cacheKey)) return true;
|
|
107
|
+
if (
|
|
108
|
+
statSync(cachePath).size !== expectedBytes ||
|
|
109
|
+
readFileSync(checksumPath, 'utf8').trim() !== expectedSha256
|
|
110
|
+
) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
const actualSha256 = createHash('sha256').update(readFileSync(cachePath)).digest('hex');
|
|
114
|
+
if (actualSha256 !== expectedSha256) return false;
|
|
115
|
+
verifiedLazyAssets.add(cacheKey);
|
|
116
|
+
return true;
|
|
117
|
+
} catch {
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export async function readBoundedAsset(res, expectedBytes) {
|
|
123
|
+
const declared = Number(res.headers.get('content-length'));
|
|
124
|
+
if (Number.isFinite(declared) && declared > expectedBytes) {
|
|
125
|
+
throw new Error('voice asset exceeded its pinned size');
|
|
126
|
+
}
|
|
127
|
+
if (!res.body) throw new Error('voice asset response had no body');
|
|
128
|
+
const reader = res.body.getReader();
|
|
129
|
+
const chunks = [];
|
|
130
|
+
let received = 0;
|
|
131
|
+
try {
|
|
132
|
+
for (;;) {
|
|
133
|
+
const { done, value } = await reader.read();
|
|
134
|
+
if (done) break;
|
|
135
|
+
received += value.byteLength;
|
|
136
|
+
if (received > expectedBytes) {
|
|
137
|
+
await reader.cancel();
|
|
138
|
+
throw new Error('voice asset exceeded its pinned size');
|
|
139
|
+
}
|
|
140
|
+
chunks.push(Buffer.from(value));
|
|
141
|
+
}
|
|
142
|
+
} finally {
|
|
143
|
+
reader.releaseLock();
|
|
144
|
+
}
|
|
145
|
+
if (received !== expectedBytes) throw new Error('voice asset did not match its pinned size');
|
|
146
|
+
return Buffer.concat(chunks, received);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
async function fetchToCache(url, cachePath, expectedBytes, expectedSha256) {
|
|
150
|
+
const checksumPath = `${cachePath}.sha256`;
|
|
151
|
+
if (cachedAssetIsValid(cachePath, checksumPath, expectedBytes, expectedSha256)) return;
|
|
97
152
|
const existing = inFlightDownloads.get(cachePath);
|
|
98
153
|
if (existing) return existing;
|
|
99
154
|
const task = (async () => {
|
|
@@ -106,8 +161,14 @@ async function fetchToCache(url, cachePath) {
|
|
|
106
161
|
try {
|
|
107
162
|
const res = await fetch(url, { signal: ctrl.signal });
|
|
108
163
|
if (!res.ok) throw new Error(`fetch ${url} -> ${res.status}`);
|
|
109
|
-
await
|
|
164
|
+
const bytes = await readBoundedAsset(res, expectedBytes);
|
|
165
|
+
const actualSha256 = createHash('sha256').update(bytes).digest('hex');
|
|
166
|
+
if (actualSha256 !== expectedSha256) throw new Error(`checksum mismatch for ${url}`);
|
|
167
|
+
await writeFile(tmpPath, bytes);
|
|
168
|
+
if (existsSync(cachePath)) unlinkSync(cachePath);
|
|
110
169
|
renameSync(tmpPath, cachePath);
|
|
170
|
+
await writeFile(checksumPath, `${expectedSha256}\n`);
|
|
171
|
+
verifiedLazyAssets.add(`${cachePath}:${expectedSha256}`);
|
|
111
172
|
} finally {
|
|
112
173
|
clearTimeout(timer);
|
|
113
174
|
if (existsSync(tmpPath)) unlinkSync(tmpPath);
|
|
@@ -124,11 +185,11 @@ async function fetchToCache(url, cachePath) {
|
|
|
124
185
|
async function serveLazyAsset(name, asset, res) {
|
|
125
186
|
const cachePath = join(lazyCacheDir(), name);
|
|
126
187
|
try {
|
|
127
|
-
await fetchToCache(asset.url, cachePath);
|
|
188
|
+
await fetchToCache(asset.url, cachePath, asset.bytes, asset.sha256);
|
|
128
189
|
} catch {
|
|
129
190
|
// Same failure mode as a missing asset always had here: the client (onnxruntime-web / Silero
|
|
130
|
-
// VAD) treats a 404/502 on this path as "voice model unavailable" and
|
|
131
|
-
//
|
|
191
|
+
// VAD) treats a 404/502 on this path as "voice model unavailable" and surfaces the local mic
|
|
192
|
+
// as unavailable rather than breaking the typed conversation.
|
|
132
193
|
sendProblem(res, 502, 'The optional voice asset is unavailable.');
|
|
133
194
|
return;
|
|
134
195
|
}
|
|
@@ -723,7 +784,7 @@ function serveStatic(req, res, requestTarget, distDir = DIST) {
|
|
|
723
784
|
// as it is produced either way — and 'end' lands once the last chunk has gone out.
|
|
724
785
|
const chunks = [];
|
|
725
786
|
compressor.on('data', (chunk) => chunks.push(chunk));
|
|
726
|
-
compressor.once('end', () => cacheCompressed(`${encoding}
|
|
787
|
+
compressor.once('end', () => cacheCompressed(`${encoding}\0${filePath}`, Buffer.concat(chunks)));
|
|
727
788
|
}
|
|
728
789
|
|
|
729
790
|
export function createMaveaServer({ distDir = DIST, proxies = PROXIES, now = Date.now } = {}) {
|
|
@@ -825,194 +886,141 @@ function openBrowser(url) {
|
|
|
825
886
|
}
|
|
826
887
|
}
|
|
827
888
|
|
|
828
|
-
function
|
|
889
|
+
function commandExists(cmd) {
|
|
829
890
|
try {
|
|
830
|
-
execSync(
|
|
891
|
+
execSync(process.platform === 'win32' ? `where ${cmd}` : `command -v ${cmd}`, {
|
|
892
|
+
stdio: 'ignore',
|
|
893
|
+
shell: true,
|
|
894
|
+
});
|
|
831
895
|
return true;
|
|
832
896
|
} catch {
|
|
833
897
|
return false;
|
|
834
898
|
}
|
|
835
899
|
}
|
|
836
900
|
|
|
837
|
-
function
|
|
901
|
+
function commandReady(command, args) {
|
|
838
902
|
try {
|
|
839
|
-
execSync('
|
|
903
|
+
execSync([command, ...args].join(' '), { stdio: 'ignore' });
|
|
840
904
|
return true;
|
|
841
905
|
} catch {
|
|
842
906
|
return false;
|
|
843
907
|
}
|
|
844
908
|
}
|
|
845
909
|
|
|
846
|
-
function
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
return false;
|
|
910
|
+
function composeRuntime() {
|
|
911
|
+
if (commandReady('podman', ['info'])) {
|
|
912
|
+
if (commandReady('podman', ['compose', 'version'])) {
|
|
913
|
+
return { command: 'podman', prefix: ['compose'], label: 'Podman' };
|
|
914
|
+
}
|
|
915
|
+
if (commandReady('podman-compose', ['--version'])) {
|
|
916
|
+
return { command: 'podman-compose', prefix: [], label: 'Podman' };
|
|
917
|
+
}
|
|
855
918
|
}
|
|
919
|
+
if (commandReady('docker', ['info'])) {
|
|
920
|
+
return { command: 'docker', prefix: ['compose'], label: 'Docker' };
|
|
921
|
+
}
|
|
922
|
+
return null;
|
|
856
923
|
}
|
|
857
924
|
|
|
858
|
-
function
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
if (dockerRunning()) return resolve(true);
|
|
863
|
-
if (Date.now() - started > timeoutMs) return resolve(false);
|
|
864
|
-
setTimeout(tick, 2000);
|
|
865
|
-
};
|
|
866
|
-
tick();
|
|
867
|
-
});
|
|
925
|
+
function installedRuntime() {
|
|
926
|
+
if (commandExists('podman')) return 'podman';
|
|
927
|
+
if (commandExists('docker')) return 'docker';
|
|
928
|
+
return null;
|
|
868
929
|
}
|
|
869
930
|
|
|
870
|
-
async function
|
|
931
|
+
async function serviceReachable(url) {
|
|
932
|
+
const ctrl = new AbortController();
|
|
933
|
+
const timer = setTimeout(() => ctrl.abort(), 800);
|
|
871
934
|
try {
|
|
872
|
-
const
|
|
873
|
-
|
|
874
|
-
await fetch(url, { signal: ctrl.signal });
|
|
875
|
-
clearTimeout(timer);
|
|
876
|
-
return true;
|
|
935
|
+
const res = await fetch(url, { signal: ctrl.signal });
|
|
936
|
+
return res.ok;
|
|
877
937
|
} catch {
|
|
878
938
|
return false;
|
|
939
|
+
} finally {
|
|
940
|
+
clearTimeout(timer);
|
|
879
941
|
}
|
|
880
942
|
}
|
|
881
943
|
|
|
882
|
-
function
|
|
944
|
+
function startSpeechServices(runtime) {
|
|
945
|
+
console.log(
|
|
946
|
+
' Starting Kokoro TTS + whisper.cpp STT. The first run builds/downloads pinned models…',
|
|
947
|
+
);
|
|
948
|
+
spawn(runtime.command, [...runtime.prefix, '-f', COMPOSE_FILE, 'up', '-d', '--build'], {
|
|
949
|
+
stdio: 'inherit',
|
|
950
|
+
});
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
function askYesNo(question, defaultYes = true) {
|
|
883
954
|
return new Promise((resolve) => {
|
|
884
955
|
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
885
956
|
rl.question(question, (answer) => {
|
|
886
957
|
rl.close();
|
|
887
|
-
|
|
958
|
+
const normalized = answer.trim();
|
|
959
|
+
resolve(/^y/i.test(normalized) || (defaultYes && normalized === ''));
|
|
888
960
|
});
|
|
889
961
|
});
|
|
890
962
|
}
|
|
891
963
|
|
|
892
|
-
function startKokoro() {
|
|
893
|
-
console.log(' Starting Kokoro TTS (first run downloads the voice model, ~1 min)…');
|
|
894
|
-
spawn('docker', ['compose', '-f', COMPOSE_FILE, 'up', '-d'], { stdio: 'inherit' });
|
|
895
|
-
}
|
|
896
|
-
|
|
897
964
|
const VOICE_INTRO =
|
|
898
|
-
'\n◌
|
|
899
|
-
'
|
|
900
|
-
' leaves your computer.\n';
|
|
901
|
-
|
|
902
|
-
async function offerDockerInstall() {
|
|
903
|
-
console.log(VOICE_INTRO);
|
|
904
|
-
console.log(" Docker isn't installed, so for now Mavéa is text-only:");
|
|
905
|
-
console.log(' ✗ no spoken replies — lines appear as captions instead');
|
|
906
|
-
console.log(' ✓ everything else works: demo, live mode, gallery, actions\n');
|
|
907
|
-
|
|
908
|
-
const later =
|
|
909
|
-
' To enable voice later: install Docker (https://docker.com/get-started),\n' +
|
|
910
|
-
' then re-run `npx @mavea/mavea` — it will detect Docker and set voice up for you.';
|
|
911
|
-
|
|
912
|
-
if (process.platform === 'darwin' && commandExists('brew')) {
|
|
913
|
-
const yes = await askYesNo(
|
|
914
|
-
' Install Docker now via Homebrew? [Y/n] (~600 MB, then launch Docker\n' +
|
|
915
|
-
' Desktop once and re-run `npx @mavea/mavea` — voice will offer to start itself) ',
|
|
916
|
-
);
|
|
917
|
-
if (!yes) return console.log(' Skipping.\n' + later);
|
|
918
|
-
const r = spawn('brew', ['install', '--cask', 'docker'], { stdio: 'inherit' });
|
|
919
|
-
r.on('exit', (code) => {
|
|
920
|
-
console.log(
|
|
921
|
-
code === 0
|
|
922
|
-
? ' ✓ Docker installed. Launch Docker Desktop once (to accept its service\n' +
|
|
923
|
-
' agreement), then re-run `npx @mavea/mavea` to enable voice.'
|
|
924
|
-
: ' Homebrew install failed.\n' + later,
|
|
925
|
-
);
|
|
926
|
-
});
|
|
927
|
-
return;
|
|
928
|
-
}
|
|
929
|
-
|
|
930
|
-
if (process.platform === 'win32' && commandExists('winget')) {
|
|
931
|
-
const yes = await askYesNo(
|
|
932
|
-
' Install Docker Desktop now via winget? [Y/n] (then launch it once and\n' +
|
|
933
|
-
' re-run `npx @mavea/mavea` — voice will offer to start itself) ',
|
|
934
|
-
);
|
|
935
|
-
if (!yes) return console.log(' Skipping.\n' + later);
|
|
936
|
-
const r = spawn('winget', ['install', '-e', '--id', 'Docker.DockerDesktop'], {
|
|
937
|
-
stdio: 'inherit',
|
|
938
|
-
});
|
|
939
|
-
r.on('exit', (code) => {
|
|
940
|
-
console.log(
|
|
941
|
-
code === 0
|
|
942
|
-
? ' ✓ Docker installed. Launch Docker Desktop once, then re-run `npx @mavea/mavea`.'
|
|
943
|
-
: ' winget install failed.\n' + later,
|
|
944
|
-
);
|
|
945
|
-
});
|
|
946
|
-
return;
|
|
947
|
-
}
|
|
965
|
+
'\n◌ Configured speech — Kokoro reads replies and whisper.cpp transcribes your mic.\n' +
|
|
966
|
+
' The defaults are loopback-only. A custom WHISPER_URL receives microphone audio at that endpoint.\n';
|
|
948
967
|
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
968
|
+
async function maybeOfferVoice() {
|
|
969
|
+
const kokoroUrl = process.env.KOKORO_URL || 'http://localhost:8880';
|
|
970
|
+
const whisperUrl = process.env.WHISPER_URL || 'http://localhost:8100';
|
|
971
|
+
const [kokoroReady, whisperReady] = await Promise.all([
|
|
972
|
+
serviceReachable(kokoroUrl),
|
|
973
|
+
serviceReachable(whisperUrl),
|
|
974
|
+
]);
|
|
975
|
+
if (kokoroReady && whisperReady) return;
|
|
976
|
+
if (!existsSync(COMPOSE_FILE) || !process.stdin.isTTY) {
|
|
953
977
|
console.log(
|
|
954
|
-
'
|
|
978
|
+
'Local speech is not fully running — captions and typing still work. ' +
|
|
979
|
+
'Re-run in a terminal to set up Kokoro + whisper.cpp.',
|
|
955
980
|
);
|
|
956
981
|
return;
|
|
957
982
|
}
|
|
958
|
-
|
|
959
|
-
const yes = await askYesNo(' Open the Docker download page in your browser? [Y/n] ');
|
|
960
|
-
if (yes) openBrowser('https://www.docker.com/get-started/');
|
|
961
|
-
console.log(later);
|
|
962
|
-
}
|
|
963
|
-
|
|
964
|
-
async function offerDockerStart() {
|
|
965
983
|
console.log(VOICE_INTRO);
|
|
966
|
-
|
|
967
|
-
if (
|
|
968
|
-
const
|
|
969
|
-
if (
|
|
984
|
+
const runtime = composeRuntime();
|
|
985
|
+
if (!runtime) {
|
|
986
|
+
const installed = installedRuntime();
|
|
987
|
+
if (installed === 'podman') {
|
|
970
988
|
console.log(
|
|
971
|
-
'
|
|
989
|
+
' Podman is installed but not ready. Start `podman machine`, then re-run Mavéa.',
|
|
972
990
|
);
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
spawn('open', ['-a', 'Docker'], { stdio: 'ignore', detached: true }).unref();
|
|
991
|
+
} else if (installed === 'docker') {
|
|
992
|
+
console.log(' Docker is installed but not ready. Start its engine, then re-run Mavéa.');
|
|
993
|
+
console.log(' Docker Desktop may require a paid subscription for some commercial users.');
|
|
977
994
|
} else {
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
detached: true,
|
|
981
|
-
}).unref();
|
|
995
|
+
console.log(' Install Podman Desktop (Apache-2.0): https://podman-desktop.io/downloads');
|
|
996
|
+
console.log(' Docker also works when its license permits your use.');
|
|
982
997
|
}
|
|
983
|
-
process.stdout.write(' … waiting for Docker to start ');
|
|
984
|
-
const up = await waitForDocker();
|
|
985
|
-
if (!up) {
|
|
986
|
-
console.log('\n Docker did not come up in time — captions only for now.');
|
|
987
|
-
console.log(' Once Docker Desktop is running, re-run `npx @mavea/mavea` to enable voice.');
|
|
988
|
-
return;
|
|
989
|
-
}
|
|
990
|
-
console.log('✓');
|
|
991
|
-
startKokoro();
|
|
992
|
-
return;
|
|
993
|
-
}
|
|
994
|
-
console.log(' Start it (e.g. `sudo systemctl start docker`), then re-run `npx @mavea/mavea`.');
|
|
995
|
-
}
|
|
996
|
-
|
|
997
|
-
async function maybeOfferVoice() {
|
|
998
|
-
const kokoroUrl = process.env.KOKORO_URL || 'http://localhost:8880';
|
|
999
|
-
if (await kokoroReachable(kokoroUrl)) return;
|
|
1000
|
-
if (!existsSync(COMPOSE_FILE) || !process.stdin.isTTY) {
|
|
1001
|
-
console.log(
|
|
1002
|
-
"Voice (Kokoro TTS) isn't running — lines will show as captions only. " +
|
|
1003
|
-
'Re-run `npx @mavea/mavea` in a terminal to set it up, or start Kokoro yourself on :8880.',
|
|
1004
|
-
);
|
|
1005
998
|
return;
|
|
1006
999
|
}
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1000
|
+
console.log(
|
|
1001
|
+
` ${runtime.label} is ready. Missing: ${[
|
|
1002
|
+
!kokoroReady && 'spoken replies',
|
|
1003
|
+
!whisperReady && 'local mic transcription',
|
|
1004
|
+
]
|
|
1005
|
+
.filter(Boolean)
|
|
1006
|
+
.join(' + ')}.`,
|
|
1007
|
+
);
|
|
1008
|
+
const yes = await askYesNo(' Start the missing local speech services now? [Y/n] ');
|
|
1011
1009
|
if (!yes) {
|
|
1012
|
-
console.log(' Skipping —
|
|
1010
|
+
console.log(' Skipping — Mavéa remains usable with captions and typing.');
|
|
1013
1011
|
return;
|
|
1014
1012
|
}
|
|
1015
|
-
|
|
1013
|
+
if (runtime.label === 'Docker') {
|
|
1014
|
+
const licensed = await askYesNo(
|
|
1015
|
+
' Docker Desktop has separate terms and may require a paid subscription. Have you read them and confirmed your Docker installation is licensed for this use? [y/N] ',
|
|
1016
|
+
false,
|
|
1017
|
+
);
|
|
1018
|
+
if (!licensed) {
|
|
1019
|
+
console.log(' Skipping Docker — use Podman instead, or continue with captions and typing.');
|
|
1020
|
+
return;
|
|
1021
|
+
}
|
|
1022
|
+
}
|
|
1023
|
+
startSpeechServices(runtime);
|
|
1016
1024
|
}
|
|
1017
1025
|
|
|
1018
1026
|
async function main() {
|
|
@@ -1033,7 +1041,7 @@ Usage: npx @mavea/mavea [options]
|
|
|
1033
1041
|
Options:
|
|
1034
1042
|
--port, -p <n> Port to serve on (default 4173, or $PORT)
|
|
1035
1043
|
--no-open Don't open a browser automatically
|
|
1036
|
-
--no-voice Skip the Kokoro
|
|
1044
|
+
--no-voice Skip the local Kokoro + whisper.cpp container prompt
|
|
1037
1045
|
--help, -h Show this help
|
|
1038
1046
|
|
|
1039
1047
|
The CLI listens only on 127.0.0.1. Live mode needs your own model API key (BYOK) — add it in
|
|
@@ -1042,6 +1050,7 @@ AI output may be inaccurate and is not professional advice. Provider terms and c
|
|
|
1042
1050
|
|
|
1043
1051
|
License: PolyForm Noncommercial 1.0.0 (noncommercial use only)
|
|
1044
1052
|
Terms, privacy, disclaimer, and third-party notices ship with this package.
|
|
1053
|
+
Podman is the recommended free/open-source container runtime. Docker Desktop has separate terms.
|
|
1045
1054
|
`);
|
|
1046
1055
|
return;
|
|
1047
1056
|
}
|