@mavea/mavea 1.0.7
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/CHANGELOG.md +159 -0
- package/DISCLAIMER.md +16 -0
- package/LICENSE +75 -0
- package/PRIVACY.md +127 -0
- package/README.md +248 -0
- package/SECURITY.md +72 -0
- package/SUPPORT.md +13 -0
- package/TERMS.md +122 -0
- package/THIRD-PARTY.txt +639 -0
- package/TRADEMARKS.md +15 -0
- package/bin/mavea.mjs +1079 -0
- package/dist/.vite/manifest.json +4261 -0
- package/dist/_headers +52 -0
- package/dist/assets/AppCommandPalette-DUMSp3rd.js +1 -0
- package/dist/assets/AtlasView-B5fkQhO6.css +1 -0
- package/dist/assets/AtlasView-Dl2fssaG.js +1 -0
- package/dist/assets/BlockEmpty-CLtVQf6c.js +1 -0
- package/dist/assets/BriefingPlayer-DO205Qkh.js +1 -0
- package/dist/assets/BriefingPlayer-TpFZB77N.css +1 -0
- package/dist/assets/CanvasSkeleton-BZZPCuRZ.js +2 -0
- package/dist/assets/CanvasSkeleton-iy6DBvde.css +1 -0
- package/dist/assets/CardEditor-BY1bZiV6.css +1 -0
- package/dist/assets/CardEditor-DzJXb0G7.js +1 -0
- package/dist/assets/CheckLogRail-F4AlgAcc.css +1 -0
- package/dist/assets/CheckLogRail-wUfby67Z.js +1 -0
- package/dist/assets/CodeOutput-Kh6ldxQz.js +97 -0
- package/dist/assets/CommandPalette-Bb-eErih.css +1 -0
- package/dist/assets/CommandPalette-Kl00mMZm.js +1 -0
- package/dist/assets/CourseLessonReader-COmTQdSK.css +1 -0
- package/dist/assets/CourseLessonReader-MBHoknUz.js +2 -0
- package/dist/assets/CourseRail-CUa7uIGG.css +1 -0
- package/dist/assets/CourseRail-q6x5cCpW.js +1 -0
- package/dist/assets/CoursesApp-v89OVJvg.js +2 -0
- package/dist/assets/CrossExamPanel-CZ0ShGma.css +1 -0
- package/dist/assets/CrossExamPanel-DH04p6VS.js +1 -0
- package/dist/assets/DashPresent-BYXbPuGj.js +1 -0
- package/dist/assets/DashPresent-DQYcgp-W.css +1 -0
- package/dist/assets/DashboardDetail-B50ZkeVK.js +2 -0
- package/dist/assets/DashboardLoopRuntime-CFXPx3v_.js +1 -0
- package/dist/assets/DashboardOverview-C-FdGWM5.js +1 -0
- package/dist/assets/DashboardSettings-Dmw6JTbI.js +1 -0
- package/dist/assets/DashboardsApp-Dx-EsaPW.css +1 -0
- package/dist/assets/DashboardsApp-JSY_bVfi.js +2 -0
- package/dist/assets/DeepZoomApp-BFNwli7l.js +37 -0
- package/dist/assets/DeepZoomApp-fRXCJHHZ.css +1 -0
- package/dist/assets/DelegatePanel-BK7rEhIc.js +26 -0
- package/dist/assets/DelegatePanel-_9RZiLHM.css +1 -0
- package/dist/assets/DemoGallery-BPtVG7_y.js +1 -0
- package/dist/assets/DropSelect-DUhdQSta.js +1 -0
- package/dist/assets/ExportModal-D4WpAg2c.css +1 -0
- package/dist/assets/ExportModal-D65cGyj_.js +2 -0
- package/dist/assets/ExtractionPreview-Iwfg2Ogl.js +18 -0
- package/dist/assets/FallbackCard-B489rTd9.js +1 -0
- package/dist/assets/FallbackCard-D_6ps1xA.css +1 -0
- package/dist/assets/FeatureUseNotice-CWt7gOwS.css +1 -0
- package/dist/assets/FeatureUseNotice-DPtQ0OGb.js +1 -0
- package/dist/assets/FlagshipCTA-BXntKhxb.js +1 -0
- package/dist/assets/FlagshipCommandPalette-BDJfasI-.js +1 -0
- package/dist/assets/FlagshipShowcase-DJ8Gxk_G.js +1 -0
- package/dist/assets/FlashcardsApp-CLNo4WX7.js +1 -0
- package/dist/assets/ForecastPanel-Da2ZBUrE.css +1 -0
- package/dist/assets/ForecastPanel-PBO2-dgS.js +1 -0
- package/dist/assets/GalleryApp-B1CB3_81.css +1 -0
- package/dist/assets/GalleryApp-DM03CMRy.js +1 -0
- package/dist/assets/HonestByDesign-Dqyth6nW.js +1 -0
- package/dist/assets/HowItWorks-C0zosIvq.js +1 -0
- package/dist/assets/LegalApp-DZBdExTy.js +1 -0
- package/dist/assets/LegalMarkdownDocument-CSZhRG5r.js +3 -0
- package/dist/assets/LegalPageShell-C_HottbD.css +1 -0
- package/dist/assets/LegalPageShell-DTeXqWyc.js +1 -0
- package/dist/assets/LeverPanel-DhpJY76O.css +1 -0
- package/dist/assets/LeverPanel-aZfhtVJX.js +1 -0
- package/dist/assets/Library-D2XGNXz7.js +1 -0
- package/dist/assets/Library-DmrtHjUf.css +1 -0
- package/dist/assets/LibraryOverlay-B2WQSgwr.js +1 -0
- package/dist/assets/LibraryOverlay-CnKWDMG_.css +1 -0
- package/dist/assets/LiveApp-B9zwXlGC.js +61 -0
- package/dist/assets/LiveApp-BVZGpJ1S.css +1 -0
- package/dist/assets/LiveSettings-CmgrMqvK.css +1 -0
- package/dist/assets/LiveSettings-D9OcWlm6.js +6 -0
- package/dist/assets/MindMapViewerDrawer-YYyZqmAd.js +1 -0
- package/dist/assets/MindShape-Ca3MXEgK.css +1 -0
- package/dist/assets/MindShape-mTlN5mPZ.js +1 -0
- package/dist/assets/Orb-B0NEVfqL.js +1 -0
- package/dist/assets/PinToDashboard-_kIOHs0k.js +1 -0
- package/dist/assets/PlanReview-33V8GTNB.js +1 -0
- package/dist/assets/Presence-CzLJIeSD.js +1 -0
- package/dist/assets/PresentationDeck-BDoGecxr.js +1 -0
- package/dist/assets/PrismApp-PfBTFhMF.js +2 -0
- package/dist/assets/PrismAskController-DBoxQSJR.css +1 -0
- package/dist/assets/PrismAskController-DbQDrlU9.js +37 -0
- package/dist/assets/PrismBriefingPlayer-1fvlfLR8.js +2 -0
- package/dist/assets/PrismOverlay-B7lEspdu.js +131 -0
- package/dist/assets/PrismOverlay-BTfAicBt.css +1 -0
- package/dist/assets/PrivacyApp-CR4lRs0L.js +128 -0
- package/dist/assets/Quiz-CUwtekfu.js +1 -0
- package/dist/assets/Recap-DCiiWNiV.css +1 -0
- package/dist/assets/Recap-H5fhj5Tc.js +1 -0
- package/dist/assets/ReelJelly-3jSVsJsy.js +1 -0
- package/dist/assets/RehearsalPanel-BCU615wg.css +1 -0
- package/dist/assets/RehearsalPanel-BVgjrOPg.js +6 -0
- package/dist/assets/ReplayCard-BpYO5vX-.js +2 -0
- package/dist/assets/ReplayOverlay-DXmVdeIr.js +1 -0
- package/dist/assets/RewindOverlay-BusfWeFq.js +1 -0
- package/dist/assets/RewindOverlay-C92qgvmi.css +1 -0
- package/dist/assets/RippleApp-9KrJPYgN.js +2 -0
- package/dist/assets/RippleAskController-BNAUoIW0.css +1 -0
- package/dist/assets/RippleAskController-CO9wE7hU.js +34 -0
- package/dist/assets/RippleOverlay-DMHLbfh8.js +6 -0
- package/dist/assets/RippleOverlay-_iiZsQVZ.css +1 -0
- package/dist/assets/SeeDontRead-C389viue.js +1 -0
- package/dist/assets/ShareModal-C8S7ySls.css +1 -0
- package/dist/assets/ShareModal-ClnEkudw.js +32 -0
- package/dist/assets/ShipCascade-BUtwvQoW.js +1 -0
- package/dist/assets/ShipCascade-CyFnrlET.css +1 -0
- package/dist/assets/ShipCourse-B7lG6DYW.js +1 -0
- package/dist/assets/ShipCourse-DcT7PUSm.css +1 -0
- package/dist/assets/ShipGate-BVZfCllb.css +1 -0
- package/dist/assets/ShipGate-BYYu9WVq.js +2 -0
- package/dist/assets/ShipHotspots-Bj2CovtT.js +1 -0
- package/dist/assets/ShipHotspots-CLOMutPv.css +1 -0
- package/dist/assets/ShipIncident-BUHvFFiC.css +1 -0
- package/dist/assets/ShipIncident-DcmindmE.js +2 -0
- package/dist/assets/ShipMigration-BznCskNg.css +1 -0
- package/dist/assets/ShipMigration-s0hVjDQl.js +1 -0
- package/dist/assets/ShipOnboarding-BC9Vxkpa.css +1 -0
- package/dist/assets/ShipOnboarding-ekbHL7OH.js +1 -0
- package/dist/assets/ShipRead-BVNgQT6L.js +1 -0
- package/dist/assets/ShipRollout-BdUQzMyP.js +1 -0
- package/dist/assets/ShipRollout-CqeObx5b.css +1 -0
- package/dist/assets/ShipSuggestions-B6fKYh8L.js +1 -0
- package/dist/assets/ShipSuggestions-BKRvk5Mj.css +1 -0
- package/dist/assets/ShipWorkspace-3D3Rrs1p.js +2 -0
- package/dist/assets/ShipWorkspace-D6XQpGEN.css +1 -0
- package/dist/assets/SignatureLoop-C60r8Wm5.js +1 -0
- package/dist/assets/SrsReview-BoaYb6XN.js +1 -0
- package/dist/assets/SrsReview-DmGdGxT0.css +1 -0
- package/dist/assets/SynthesisApp-vJ2Jq0Qe.js +2 -0
- package/dist/assets/SynthesisOverlay-CkERphvG.js +66 -0
- package/dist/assets/TermsApp-C70tW6m6.js +123 -0
- package/dist/assets/TopicCanvas-CT0eSj2M.js +2 -0
- package/dist/assets/TopicCanvas-D2Nax9II.css +1 -0
- package/dist/assets/TourPrism-BvucSkcs.js +1 -0
- package/dist/assets/TrackerTile-CasZNmt4.js +2 -0
- package/dist/assets/TwoSurfaces-C90X7Aj5.js +1 -0
- package/dist/assets/UnderstoodPanel-CHPD2Ttj.js +1 -0
- package/dist/assets/UnderstoodPanel-Q6GX1TFq.css +1 -0
- package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +1 -0
- package/dist/assets/WhyMachineOverlay-CB0_n6Sy.js +1 -0
- package/dist/assets/WowFeatures-Ci_H5QYX.js +1 -0
- package/dist/assets/ZoomDeck-B2SjNwY7.css +1 -0
- package/dist/assets/ZoomDeck-BQHO79ZU.js +1 -0
- package/dist/assets/__vite-browser-external-BufR4LQa.js +1 -0
- package/dist/assets/ai-Ba4lZJ9Y.js +12 -0
- package/dist/assets/alternateFinishes-DZ-rkpkX.js +494 -0
- package/dist/assets/annotationAuto-B0nihA4F.js +1 -0
- package/dist/assets/annotationReel-BcU9Q0Sw.js +1 -0
- package/dist/assets/annotations-D2K9A5GB.js +1 -0
- package/dist/assets/backup-c-Btapzp.js +1 -0
- package/dist/assets/blockLabel-DAqaHKy3.js +1 -0
- package/dist/assets/c-DWGmR78Y.js +1 -0
- package/dist/assets/c-SSSlmE39.js +1 -0
- package/dist/assets/cache-BumECILO.js +1 -0
- package/dist/assets/canvas-QTEIiK23.js +1 -0
- package/dist/assets/catalog-BHjl-1uH.js +2 -0
- package/dist/assets/catalog-Dqaq2YFd.js +1 -0
- package/dist/assets/cfo.generated-Bjl5OGay.js +1 -0
- package/dist/assets/chapters-BiUsDClQ.js +1 -0
- package/dist/assets/charts1-EOoxU_K3.js +1 -0
- package/dist/assets/charts2-tyUiQPff.js +1 -0
- package/dist/assets/chunk-BVpWp9h4.js +1 -0
- package/dist/assets/citation-BcvmjKS8.js +1 -0
- package/dist/assets/code-CpjYCNS8.js +8 -0
- package/dist/assets/codeContext-0UMRSGRr.js +5 -0
- package/dist/assets/colors-D49Req-e.js +1 -0
- package/dist/assets/compose-BJ9EfcQS.js +3 -0
- package/dist/assets/contentVault-DzTYWcbD.js +1 -0
- package/dist/assets/core-DEFyprhs.js +1 -0
- package/dist/assets/corpus.generated-oX9uU93S.js +11 -0
- package/dist/assets/courseSeed-CZdNBTTs.js +1 -0
- package/dist/assets/courseStore-DfafnL-9.js +1 -0
- package/dist/assets/courses-BkH1ntDL.css +1 -0
- package/dist/assets/cpp-BGdv8dzs.js +1 -0
- package/dist/assets/cpp-CNAAXZl-.js +1 -0
- package/dist/assets/csharp-oqKa8noW.js +1 -0
- package/dist/assets/css-CdtkT07m.js +1 -0
- package/dist/assets/css-LbU1hoFO.js +1 -0
- package/dist/assets/dag-C3Xx8pOD.js +2 -0
- package/dist/assets/dashboardEvents-DR9d_c74.js +2 -0
- package/dist/assets/dashboards-rcWxdoXI.css +1 -0
- package/dist/assets/deckLine-NBd3MyGT.js +1 -0
- package/dist/assets/demoPaletteItems-NPCSaSU6.js +1 -0
- package/dist/assets/dev.generated-DYgVxL_4.js +73 -0
- package/dist/assets/diagrams-CaSfjT4I.js +1 -0
- package/dist/assets/diff-woXpYk--.js +1 -0
- package/dist/assets/display-OvC57CMc.js +9 -0
- package/dist/assets/dist-BFx3nZg4.js +2785 -0
- package/dist/assets/dist-xRGLOZwv.js +14 -0
- package/dist/assets/docs-B2aDtm5K.js +1 -0
- package/dist/assets/everyday-CoZa4kDZ.js +1 -0
- package/dist/assets/explode-WBykfhqW.js +13 -0
- package/dist/assets/extractNumbers-CuhagRkd.js +1 -0
- package/dist/assets/facts-BBTt3ImG.js +1 -0
- package/dist/assets/finance-Bxn_Q1p0.js +1 -0
- package/dist/assets/fit-0HxU-rtB.js +1 -0
- package/dist/assets/fitText-CDFmCQzl.js +1 -0
- package/dist/assets/flows-BL81J7yN.js +1 -0
- package/dist/assets/format-DlZTyeMy.js +1 -0
- package/dist/assets/format-hc2QOoIu.js +1 -0
- package/dist/assets/forms-DeoXOxdD.js +1 -0
- package/dist/assets/generate-8odaTyr4.js +17 -0
- package/dist/assets/generateBeats-b64CL54v.js +1 -0
- package/dist/assets/generateCourse-Cj_-vDWu.js +28 -0
- package/dist/assets/generateLive-D4B30fnF.js +52 -0
- package/dist/assets/geometry-DXAbnb0J.js +1 -0
- package/dist/assets/gesture-DabMpPcq.js +2 -0
- package/dist/assets/github-dark-C-LZuMrd.js +1 -0
- package/dist/assets/github-light-EUqPIrTm.js +1 -0
- package/dist/assets/githubBrowser-DywfDeYx.js +1 -0
- package/dist/assets/githubToken-DtcLYqwm.js +11 -0
- package/dist/assets/go-rLFTqkRN.js +1 -0
- package/dist/assets/homeTarget-BgWKI_E1.js +1 -0
- package/dist/assets/html-BcACZWSP.js +1 -0
- package/dist/assets/html-DDNsd9lV.js +1 -0
- package/dist/assets/http-CJCtjYpA.js +2 -0
- package/dist/assets/icons-CHVz6kv_.js +1 -0
- package/dist/assets/index-CepQEz75.css +1 -0
- package/dist/assets/index-y8GL67bB.js +22 -0
- package/dist/assets/index.es-CRLiWwiA.js +5 -0
- package/dist/assets/info-CiqHR5cs.js +1 -0
- package/dist/assets/java-BtIQNnN0.js +1 -0
- package/dist/assets/java-DxlWrXwe.js +1 -0
- package/dist/assets/javascript-BzbQS41l.js +1 -0
- package/dist/assets/javascript-Yelw-5ZN.js +1 -0
- package/dist/assets/json-B0N3XRZU.js +1 -0
- package/dist/assets/json-B88Oqtu5.js +1 -0
- package/dist/assets/json-CaljABEy.js +1 -0
- package/dist/assets/jspdf.es.min-C-Pf79px.js +79 -0
- package/dist/assets/jsx-D3KKoC5L.js +1 -0
- package/dist/assets/jsx-hEbJ82HF.js +1 -0
- package/dist/assets/jsx-runtime-DaSxXjOY.js +1 -0
- package/dist/assets/katex-BMCG0xok.js +257 -0
- package/dist/assets/keyVault-DEsNh9FR.js +1 -0
- package/dist/assets/kokoro-D4GKpSL0.js +1 -0
- package/dist/assets/kotlin-DhhofPvG.js +1 -0
- package/dist/assets/layout-BFQOzXtG.js +1 -0
- package/dist/assets/layout-CkO0Psde.js +1 -0
- package/dist/assets/lazyRetry-D50B1UMY.js +1 -0
- package/dist/assets/leaflet-src-C_xhOQY7.js +1 -0
- package/dist/assets/learn-DVfqN-nf.js +1 -0
- package/dist/assets/lib-DMAxsZKm.css +1 -0
- package/dist/assets/lib-VFqp6Y3w.js +1 -0
- package/dist/assets/links--u_phi0x.js +1 -0
- package/dist/assets/liveSchema-CJ49PX5R.js +98 -0
- package/dist/assets/markdown-BYOwaDjH.js +1 -0
- package/dist/assets/mastery-BPjxP0fN.js +4 -0
- package/dist/assets/media-CsrUl279.js +43 -0
- package/dist/assets/model-BE0UHu1w.js +27 -0
- package/dist/assets/motion-S0NRruNj.js +1 -0
- package/dist/assets/nav-Czm-NzPV.js +1 -0
- package/dist/assets/neighborhoods-C-1Tjr1r.js +1 -0
- package/dist/assets/notes-A9t4jdfx.css +1 -0
- package/dist/assets/notes-lROPCorS.js +1 -0
- package/dist/assets/notify-Bz4wuE4T.js +1 -0
- package/dist/assets/now-C9-UAzTC.js +1 -0
- package/dist/assets/number-DXgzss0v.js +1 -0
- package/dist/assets/officeDoc-B6nEhNp4.js +3 -0
- package/dist/assets/openchemlib-nMLMmg26.js +23 -0
- package/dist/assets/overlays-JxbHtA2o.js +1 -0
- package/dist/assets/owners-FXDGInVq.js +2 -0
- package/dist/assets/pageVisibility-BxUVsw7Z.js +1 -0
- package/dist/assets/pdf-Df7PCH7q.js +11 -0
- package/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
- package/dist/assets/penStrokes-9Q_l7NTt.js +1 -0
- package/dist/assets/perfProbe-COAp9PAa.js +1 -0
- package/dist/assets/php-CYrBA5iX.js +1 -0
- package/dist/assets/pickers-B4-3HOR8.js +1 -0
- package/dist/assets/pin-Bya3BL_a.css +1 -0
- package/dist/assets/pin-CXSuPJYL.js +1 -0
- package/dist/assets/planTracker-7AMCQPNx.js +1 -0
- package/dist/assets/portal-DMw7C32j.js +1 -0
- package/dist/assets/pptxgen.es-CvTILmV9.js +115 -0
- package/dist/assets/predictions-CYS7Vo39.js +1 -0
- package/dist/assets/prewarm--whjQhWJ.js +1 -0
- package/dist/assets/prism-app-CXYElq8-.css +1 -0
- package/dist/assets/prism.generated-BhbHDHR6.js +41 -0
- package/dist/assets/prismExtract.worker-Cws9K1NG.js +13 -0
- package/dist/assets/prismGround.worker-CIvKqxm2.js +1 -0
- package/dist/assets/prismLayout.worker-CZO2CY7B.js +1 -0
- package/dist/assets/providers-wzm7E8Pa.js +1 -0
- package/dist/assets/purify.es-adlwq8Pz.js +3 -0
- package/dist/assets/python-gzcpVVnB.js +1 -0
- package/dist/assets/queue-DHeyJ32F.css +1 -0
- package/dist/assets/queue-J4h7E3uc.js +1 -0
- package/dist/assets/quietHours-BvcsBKKK.js +1 -0
- package/dist/assets/react-BQSORdFI.js +1 -0
- package/dist/assets/reference-sJzyMiL4.js +1 -0
- package/dist/assets/registry-1GuPBfQK.js +1 -0
- package/dist/assets/registry-2GJZ46M8.css +1 -0
- package/dist/assets/registry-2v0jlh5Q.js +2 -0
- package/dist/assets/registry-B8DStMJk.js +1 -0
- package/dist/assets/registry-B940W2j5.js +1 -0
- package/dist/assets/registry-BAoRB8rd.css +1 -0
- package/dist/assets/registry-BPvIPLke.js +1 -0
- package/dist/assets/registry-BVHiKEwE.css +1 -0
- package/dist/assets/registry-BcZXBr3y.css +1 -0
- package/dist/assets/registry-BffpZK5w.js +1 -0
- package/dist/assets/registry-BgGeRiDA.js +2 -0
- package/dist/assets/registry-Buq5uuCv.js +1 -0
- package/dist/assets/registry-BzNLfje1.css +1 -0
- package/dist/assets/registry-C3ezxLR3.css +1 -0
- package/dist/assets/registry-CAusoyBh.js +1 -0
- package/dist/assets/registry-CEVrY72Z.js +1 -0
- package/dist/assets/registry-CKjKq6ct.js +1 -0
- package/dist/assets/registry-CNgybLQv.css +1 -0
- package/dist/assets/registry-CRM7y8QT.css +1 -0
- package/dist/assets/registry-CRisz4Ca.css +1 -0
- package/dist/assets/registry-Cg7qUZPS.js +1 -0
- package/dist/assets/registry-Cix-yqch.js +1 -0
- package/dist/assets/registry-CtbuZWYz.css +1 -0
- package/dist/assets/registry-DCI_BeFJ.js +5 -0
- package/dist/assets/registry-DDLSYDVA.js +1 -0
- package/dist/assets/registry-DI1wSG1Y.js +1 -0
- package/dist/assets/registry-DJinB5ye.js +2 -0
- package/dist/assets/registry-DUvXX_d0.js +1 -0
- package/dist/assets/registry-DVzLacl_.css +1 -0
- package/dist/assets/registry-DWcNVyI2.css +1 -0
- package/dist/assets/registry-D_URPoL4.js +1 -0
- package/dist/assets/registry-Dkc7hN5T.js +1 -0
- package/dist/assets/registry-DmQlNN3y.js +1 -0
- package/dist/assets/registry-DpaaVbmL.css +1 -0
- package/dist/assets/registry-Dpb8EXHn.js +49 -0
- package/dist/assets/registry-Dru0JcTa.css +1 -0
- package/dist/assets/registry-DujBAgn_.js +1 -0
- package/dist/assets/registry-Dye5m3qt.css +1 -0
- package/dist/assets/registry-GeSy4i7R.css +1 -0
- package/dist/assets/registry-QcULZpdE.js +4 -0
- package/dist/assets/registry-T3i2Q9SI.css +1 -0
- package/dist/assets/registry-UFIuwh3i.css +1 -0
- package/dist/assets/registry-Xzq_Rpmm.css +1 -0
- package/dist/assets/registry-ZOWzhOHk.css +1 -0
- package/dist/assets/registry-aIH-Im5Y.css +1 -0
- package/dist/assets/registry-aazwkBJp.js +1 -0
- package/dist/assets/registry-ei6fIgBT.css +1 -0
- package/dist/assets/registry-types-DMuK0vJ6.js +1 -0
- package/dist/assets/registry-upbw6pyj.css +1 -0
- package/dist/assets/registry-zRPjWNl5.js +1 -0
- package/dist/assets/relate-A9ZeaaAI.js +1 -0
- package/dist/assets/richText-BkxJhl9N.js +1 -0
- package/dist/assets/ruby-BhrksQMt.js +1 -0
- package/dist/assets/run-BYP2YlZT.js +23 -0
- package/dist/assets/run-C_0B_41W.js +21 -0
- package/dist/assets/run-DSVvshaB.js +21 -0
- package/dist/assets/rust-Cfkwpbl8.js +1 -0
- package/dist/assets/safeCssColor-di93BXgG.js +1 -0
- package/dist/assets/safeImageUrl-CUkucDUu.js +1 -0
- package/dist/assets/scale-Bcgfo6Hp.js +1 -0
- package/dist/assets/screen-DLR7p_yP.js +1 -0
- package/dist/assets/search-DnjHupRf.js +1 -0
- package/dist/assets/seed-b1xc0dj2.js +1 -0
- package/dist/assets/shapes-RqjqC0ay.js +1 -0
- package/dist/assets/shard000-DM_rqD7W.js +1 -0
- package/dist/assets/shard001-gQEQs7_F.js +1 -0
- package/dist/assets/shard002-DbDas-W-.js +1 -0
- package/dist/assets/shard003-DxMszG4_.js +1 -0
- package/dist/assets/shard004-DZMpLBw1.js +1 -0
- package/dist/assets/shard005-DLVkh9IH.js +1 -0
- package/dist/assets/shard006-B6efKHov.js +1 -0
- package/dist/assets/shard007-AFdZLe38.js +1 -0
- package/dist/assets/shard008-LbSBzwRx.js +1 -0
- package/dist/assets/shard009-D_6-SUDb.js +1 -0
- package/dist/assets/shard010-DbOj-uZW.js +1 -0
- package/dist/assets/shard011-BYSz7EEW.js +1 -0
- package/dist/assets/shard012-B5Ypj7OV.js +1 -0
- package/dist/assets/shard013-BtsliNIe.js +1 -0
- package/dist/assets/shard014-15sjmk68.js +1 -0
- package/dist/assets/shard015-nnXrqru_.js +1 -0
- package/dist/assets/shard016-BayXFE13.js +1 -0
- package/dist/assets/shard017-Cy4cGexs.js +1 -0
- package/dist/assets/shard018-aO-BYJ8H.js +1 -0
- package/dist/assets/shard019-gxaTeA3I.js +1 -0
- package/dist/assets/shard020-BibJdMI0.js +1 -0
- package/dist/assets/shard021-2FE-tze4.js +1 -0
- package/dist/assets/shard022-IXiyG-JK.js +1 -0
- package/dist/assets/shard023-314F6NJS.js +1 -0
- package/dist/assets/shard024-cN5rpQ_X.js +1 -0
- package/dist/assets/shard025-KKTaXOGE.js +1 -0
- package/dist/assets/shard026-C2Dkd1t6.js +1 -0
- package/dist/assets/shard027-Xy-8x9As.js +1 -0
- package/dist/assets/shard028-Bul-klUj.js +1 -0
- package/dist/assets/shard029-BbRSUcUZ.js +1 -0
- package/dist/assets/shard030-GYllsFVC.js +1 -0
- package/dist/assets/shard031-DMigeiyn.js +1 -0
- package/dist/assets/shard032-CcvmzK0l.js +1 -0
- package/dist/assets/shard033-11AU702M.js +1 -0
- package/dist/assets/shard034-Bx3urxjM.js +1 -0
- package/dist/assets/shard035-DBdEeyCt.js +1 -0
- package/dist/assets/shard036-vYgoRBqS.js +1 -0
- package/dist/assets/shard037-DP4MMw91.js +1 -0
- package/dist/assets/shard038-ffxsv7d6.js +1 -0
- package/dist/assets/shard039-C1JHHNp9.js +1 -0
- package/dist/assets/shard040-JbVvCSO_.js +1 -0
- package/dist/assets/shard041-5L_eFwGx.js +1 -0
- package/dist/assets/shard042-C9nsGL79.js +1 -0
- package/dist/assets/shard043-Dx_9HSKI.js +1 -0
- package/dist/assets/shard044-B3QQNC4A.js +1 -0
- package/dist/assets/shard045-B7z0WHO6.js +1 -0
- package/dist/assets/shard046-D1yDablJ.js +1 -0
- package/dist/assets/shard047-DJi3AgeT.js +1 -0
- package/dist/assets/shard048-D_2ipfUr.js +1 -0
- package/dist/assets/shard049-1aGgWZdd.js +1 -0
- package/dist/assets/shard050-Bjwa0Og4.js +1 -0
- package/dist/assets/shard051-Cx_GAk3v.js +1 -0
- package/dist/assets/shard052-LaeOD3V5.js +1 -0
- package/dist/assets/shard053-D-da7Foj.js +1 -0
- package/dist/assets/shard054-CM8eSRQk.js +1 -0
- package/dist/assets/shard055-QRpDl4Vs.js +1 -0
- package/dist/assets/shard056-DkY7CQm3.js +1 -0
- package/dist/assets/shard057-BVCgf7o0.js +1 -0
- package/dist/assets/shard058-93aGtdrX.js +1 -0
- package/dist/assets/shard059-rJE9X1_I.js +1 -0
- package/dist/assets/shard060-Lu_hfl1r.js +1 -0
- package/dist/assets/shard061-C9A8iNiq.js +1 -0
- package/dist/assets/shard062-BBIpEYZO.js +1 -0
- package/dist/assets/shard063-C_uen3Ub.js +1 -0
- package/dist/assets/shard064-DAHUsHST.js +1 -0
- package/dist/assets/shard065-C2edvdvh.js +1 -0
- package/dist/assets/shard066-DFcuVhZm.js +1 -0
- package/dist/assets/shard067-BN8DM8JZ.js +1 -0
- package/dist/assets/shard068-i464K77p.js +1 -0
- package/dist/assets/shard069-Dm9m2a5U.js +1 -0
- package/dist/assets/shard070-BPVvR8GH.js +1 -0
- package/dist/assets/shard071-Bal_0d9L.js +1 -0
- package/dist/assets/shard072-CBQu62kt.js +1 -0
- package/dist/assets/shard073-D5BRae0w.js +1 -0
- package/dist/assets/shard074-DtFvcBnZ.js +1 -0
- package/dist/assets/share-QHGHNDhQ.js +1 -0
- package/dist/assets/shellscript-BiGZg9Om.js +1 -0
- package/dist/assets/shellscript-CqHdAlCp.js +1 -0
- package/dist/assets/shikiHighlight-DUCYbsJ2.js +153 -0
- package/dist/assets/sourceHost-BV3t2XDb.js +1 -0
- package/dist/assets/speed-DwPw9KSv.js +1 -0
- package/dist/assets/spokenText-D4zPX9JY.js +1 -0
- package/dist/assets/sql-0Qcw9ht3.js +1 -0
- package/dist/assets/sql-CP0rg-5b.js +1 -0
- package/dist/assets/src-DbgF7cRH.js +2 -0
- package/dist/assets/stats-BeP5Bws0.js +1 -0
- package/dist/assets/status-BY02LIJt.js +1 -0
- package/dist/assets/stepDriver-DwjFet6U.js +1 -0
- package/dist/assets/store-4JNNn732.js +1 -0
- package/dist/assets/store-BFC7DZcg.js +1 -0
- package/dist/assets/store-BFrJaSxJ.js +1 -0
- package/dist/assets/store-DXmC_fP2.js +0 -0
- package/dist/assets/store-DgG0C1Qx.js +1 -0
- package/dist/assets/streamParse-DRgMHWye.js +2 -0
- package/dist/assets/student.generated-DS_acPaJ.js +1 -0
- package/dist/assets/swift-DonLKvLd.js +1 -0
- package/dist/assets/tables-Dzd3rTqG.js +1 -0
- package/dist/assets/time-BHTmJR1s.js +1 -0
- package/dist/assets/toast-BBNs2h3L.js +1 -0
- package/dist/assets/toml-CcmNWLt0.js +1 -0
- package/dist/assets/traveler.generated-Beun9X7y.js +1 -0
- package/dist/assets/tsx-5f3ulCja.js +1 -0
- package/dist/assets/tsx-BOvsFOI6.js +1 -0
- package/dist/assets/typeof-B5XbjTb1.js +1 -0
- package/dist/assets/typescript-Utq2Cl8c.js +1 -0
- package/dist/assets/typescript-j_1H8WHN.js +1 -0
- package/dist/assets/useDashboardLoop-B6ByHWoE.js +5 -0
- package/dist/assets/useFocusTrap-DbfG6zbM.js +1 -0
- package/dist/assets/useLiveConfig-X9Wxh90k.js +1 -0
- package/dist/assets/useSpatialCanvas-DogK9457.js +1 -0
- package/dist/assets/useSpotlightWalk-rMbmNBKK.js +1 -0
- package/dist/assets/useSrsCards-CagZefwX.js +1 -0
- package/dist/assets/useStudy-Bflreq2a.js +1 -0
- package/dist/assets/useTimeout-BRYvu2jQ.js +1 -0
- package/dist/assets/useValidatedImage-D2fhA198.js +1 -0
- package/dist/assets/useZoomGesture-CYc3tf2z.js +1 -0
- package/dist/assets/verbatim-CBMzUDlf.js +1 -0
- package/dist/assets/worker-BbLKfGzm.js +2 -0
- package/dist/assets/xml-WY0zc4PG.js +1 -0
- package/dist/assets/yaml-CxbubiML.js +1 -0
- package/dist/assets/yaml-DijMHRDA.js +1 -0
- package/dist/demo-assets/CREDITS.md +40 -0
- package/dist/demo-assets/images/basalt-cliffs.jpg +0 -0
- package/dist/demo-assets/images/capelinhos.jpg +0 -0
- package/dist/demo-assets/images/cliff-fields.jpg +0 -0
- package/dist/demo-assets/images/crater-panorama.jpg +0 -0
- package/dist/demo-assets/images/furnas-lake.jpg +0 -0
- package/dist/demo-assets/images/green-coast.jpg +0 -0
- package/dist/demo-assets/images/overcast-coast.jpg +0 -0
- package/dist/demo-assets/images/patchwork-fields.jpg +0 -0
- package/dist/demo-assets/images/ponta-delgada.jpg +0 -0
- package/dist/demo-assets/images/sete-cidades.jpg +0 -0
- package/dist/demo-assets/images/slide-placeholder-light.svg +9 -0
- package/dist/demo-assets/images/slide-placeholder.svg +9 -0
- package/dist/demo-assets/images/village-street.jpg +0 -0
- package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
- package/dist/demo-assets/video/azores-film.mp4 +0 -0
- package/dist/favicon.svg +19 -0
- package/dist/fonts/LICENSE.txt +34 -0
- package/dist/fonts/archivo-var-latin.woff2 +0 -0
- package/dist/fonts/bodoni-moda-400-italic-latin.woff2 +0 -0
- package/dist/fonts/bodoni-moda-var-latin.woff2 +0 -0
- package/dist/fonts/eb-garamond-var-italic-latin.woff2 +0 -0
- package/dist/fonts/eb-garamond-var-latin.woff2 +0 -0
- package/dist/fonts/export/families/archivo.css +12 -0
- package/dist/fonts/export/families/bodoni-moda.css +23 -0
- package/dist/fonts/export/families/eb-garamond.css +22 -0
- package/dist/fonts/export/families/ibm-plex-sans.css +12 -0
- package/dist/fonts/export/families/instrument-serif.css +22 -0
- package/dist/fonts/export/families/jetbrains-mono.css +12 -0
- package/dist/fonts/export/families/libre-franklin.css +12 -0
- package/dist/fonts/export/families/lora.css +22 -0
- package/dist/fonts/export/families/source-serif-4.css +12 -0
- package/dist/fonts/export/families/space-grotesk.css +12 -0
- package/dist/fonts/export/families/spectral.css +52 -0
- package/dist/fonts/fonts.css +141 -0
- package/dist/fonts/hanken-grotesk-var-latin.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-var-latin.woff2 +0 -0
- package/dist/fonts/instrument-serif-400-italic-latin.woff2 +0 -0
- package/dist/fonts/instrument-serif-400-latin.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-var-latin.woff2 +0 -0
- package/dist/fonts/libre-franklin-var-latin.woff2 +0 -0
- package/dist/fonts/lora-var-italic-latin.woff2 +0 -0
- package/dist/fonts/lora-var-latin.woff2 +0 -0
- package/dist/fonts/newsreader-var-italic-latin.woff2 +0 -0
- package/dist/fonts/newsreader-var-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-400-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-500-latin.woff2 +0 -0
- package/dist/fonts/plex-mono-600-latin.woff2 +0 -0
- package/dist/fonts/source-serif-4-var-latin.woff2 +0 -0
- package/dist/fonts/space-grotesk-var-latin.woff2 +0 -0
- package/dist/fonts/spectral-400-italic-latin.woff2 +0 -0
- package/dist/fonts/spectral-400-latin.woff2 +0 -0
- package/dist/fonts/spectral-500-italic-latin.woff2 +0 -0
- package/dist/fonts/spectral-500-latin.woff2 +0 -0
- package/dist/fonts/spectral-600-latin.woff2 +0 -0
- package/dist/index.html +117 -0
- package/dist/legal/DISCLAIMER.md +16 -0
- package/dist/legal/LICENSE.txt +75 -0
- package/dist/legal/PRIVACY.md +127 -0
- package/dist/legal/SECURITY.md +72 -0
- package/dist/legal/SUPPORT.md +13 -0
- package/dist/legal/TERMS.md +122 -0
- package/dist/legal/THIRD-PARTY.txt +639 -0
- package/dist/legal/TRADEMARKS.md +15 -0
- package/dist/ort-wasm-simd-threaded.mjs +59 -0
- package/dist/sw.js +30 -0
- package/dist/vad.worklet.bundle.min.js +1 -0
- package/docker-compose.yml +33 -0
- package/gateway/README.md +99 -0
- package/gateway/actions-gateway.mjs +537 -0
- package/gateway/connectors.d.mts +27 -0
- package/gateway/connectors.mjs +463 -0
- package/gateway/guard.mjs +110 -0
- package/gateway/tokenStore.mjs +134 -0
- package/package.json +143 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/* Space Grotesk — SIL OFL 1.1 (see ../../LICENSE.txt). Variable weight, one file covers 400-700 —
|
|
2
|
+
* the Terminal document skin's display+body weight range. */
|
|
3
|
+
@font-face {
|
|
4
|
+
font-family: 'Space Grotesk';
|
|
5
|
+
font-style: normal;
|
|
6
|
+
font-weight: 400 700;
|
|
7
|
+
font-display: swap;
|
|
8
|
+
src: url('../../space-grotesk-var-latin.woff2') format('woff2');
|
|
9
|
+
unicode-range:
|
|
10
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
11
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
12
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/* Spectral — SIL OFL 1.1 (see ../../LICENSE.txt). Not published as a variable font by Google
|
|
2
|
+
* Fonts, so each weight/style the Research document skin uses ships as its own static file. */
|
|
3
|
+
@font-face {
|
|
4
|
+
font-family: 'Spectral';
|
|
5
|
+
font-style: normal;
|
|
6
|
+
font-weight: 400;
|
|
7
|
+
font-display: swap;
|
|
8
|
+
src: url('../../spectral-400-latin.woff2') format('woff2');
|
|
9
|
+
unicode-range:
|
|
10
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
11
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
12
|
+
}
|
|
13
|
+
@font-face {
|
|
14
|
+
font-family: 'Spectral';
|
|
15
|
+
font-style: normal;
|
|
16
|
+
font-weight: 500;
|
|
17
|
+
font-display: swap;
|
|
18
|
+
src: url('../../spectral-500-latin.woff2') format('woff2');
|
|
19
|
+
unicode-range:
|
|
20
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
21
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
22
|
+
}
|
|
23
|
+
@font-face {
|
|
24
|
+
font-family: 'Spectral';
|
|
25
|
+
font-style: normal;
|
|
26
|
+
font-weight: 600;
|
|
27
|
+
font-display: swap;
|
|
28
|
+
src: url('../../spectral-600-latin.woff2') format('woff2');
|
|
29
|
+
unicode-range:
|
|
30
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
31
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
32
|
+
}
|
|
33
|
+
@font-face {
|
|
34
|
+
font-family: 'Spectral';
|
|
35
|
+
font-style: italic;
|
|
36
|
+
font-weight: 400;
|
|
37
|
+
font-display: swap;
|
|
38
|
+
src: url('../../spectral-400-italic-latin.woff2') format('woff2');
|
|
39
|
+
unicode-range:
|
|
40
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
41
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
42
|
+
}
|
|
43
|
+
@font-face {
|
|
44
|
+
font-family: 'Spectral';
|
|
45
|
+
font-style: italic;
|
|
46
|
+
font-weight: 500;
|
|
47
|
+
font-display: swap;
|
|
48
|
+
src: url('../../spectral-500-italic-latin.woff2') format('woff2');
|
|
49
|
+
unicode-range:
|
|
50
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
51
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
52
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/* Self-hosted fonts (latin subset) — no render-blocking third-party CSS, works offline.
|
|
2
|
+
* Every family below is SIL OFL 1.1 (see LICENSE.txt): free for commercial and
|
|
3
|
+
* non-commercial use. Variable files cover the declared weight ranges. */
|
|
4
|
+
@font-face {
|
|
5
|
+
font-family: 'Hanken Grotesk';
|
|
6
|
+
font-style: normal;
|
|
7
|
+
font-weight: 100 900;
|
|
8
|
+
font-display: swap;
|
|
9
|
+
src: url('/fonts/hanken-grotesk-var-latin.woff2') format('woff2');
|
|
10
|
+
unicode-range:
|
|
11
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
12
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
13
|
+
}
|
|
14
|
+
@font-face {
|
|
15
|
+
font-family: 'IBM Plex Mono';
|
|
16
|
+
font-style: normal;
|
|
17
|
+
font-weight: 400;
|
|
18
|
+
font-display: swap;
|
|
19
|
+
src: url('/fonts/plex-mono-400-latin.woff2') format('woff2');
|
|
20
|
+
unicode-range:
|
|
21
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
22
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
23
|
+
}
|
|
24
|
+
@font-face {
|
|
25
|
+
font-family: 'IBM Plex Mono';
|
|
26
|
+
font-style: normal;
|
|
27
|
+
font-weight: 500;
|
|
28
|
+
font-display: swap;
|
|
29
|
+
src: url('/fonts/plex-mono-500-latin.woff2') format('woff2');
|
|
30
|
+
unicode-range:
|
|
31
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
32
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
33
|
+
}
|
|
34
|
+
@font-face {
|
|
35
|
+
font-family: 'IBM Plex Mono';
|
|
36
|
+
font-style: normal;
|
|
37
|
+
font-weight: 600;
|
|
38
|
+
font-display: swap;
|
|
39
|
+
src: url('/fonts/plex-mono-600-latin.woff2') format('woff2');
|
|
40
|
+
unicode-range:
|
|
41
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
42
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
43
|
+
}
|
|
44
|
+
@font-face {
|
|
45
|
+
font-family: 'Newsreader';
|
|
46
|
+
font-style: normal;
|
|
47
|
+
font-weight: 200 800;
|
|
48
|
+
font-display: swap;
|
|
49
|
+
src: url('/fonts/newsreader-var-latin.woff2') format('woff2');
|
|
50
|
+
unicode-range:
|
|
51
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
52
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
53
|
+
}
|
|
54
|
+
@font-face {
|
|
55
|
+
font-family: 'Newsreader';
|
|
56
|
+
font-style: italic;
|
|
57
|
+
font-weight: 200 800;
|
|
58
|
+
font-display: swap;
|
|
59
|
+
src: url('/fonts/newsreader-var-italic-latin.woff2') format('woff2');
|
|
60
|
+
unicode-range:
|
|
61
|
+
U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
|
|
62
|
+
U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@font-face {
|
|
66
|
+
font-family: 'Lora';
|
|
67
|
+
font-style: normal;
|
|
68
|
+
font-weight: 400 700;
|
|
69
|
+
font-display: swap;
|
|
70
|
+
src: url('/fonts/lora-var-latin.woff2') format('woff2');
|
|
71
|
+
}
|
|
72
|
+
@font-face {
|
|
73
|
+
font-family: 'Lora';
|
|
74
|
+
font-style: italic;
|
|
75
|
+
font-weight: 400 700;
|
|
76
|
+
font-display: swap;
|
|
77
|
+
src: url('/fonts/lora-var-italic-latin.woff2') format('woff2');
|
|
78
|
+
}
|
|
79
|
+
@font-face {
|
|
80
|
+
font-family: 'Space Grotesk';
|
|
81
|
+
font-style: normal;
|
|
82
|
+
font-weight: 300 700;
|
|
83
|
+
font-display: swap;
|
|
84
|
+
src: url('/fonts/space-grotesk-var-latin.woff2') format('woff2');
|
|
85
|
+
}
|
|
86
|
+
@font-face {
|
|
87
|
+
font-family: 'Bodoni Moda';
|
|
88
|
+
font-style: normal;
|
|
89
|
+
font-weight: 400 900;
|
|
90
|
+
font-display: swap;
|
|
91
|
+
src: url('/fonts/bodoni-moda-var-latin.woff2') format('woff2');
|
|
92
|
+
}
|
|
93
|
+
@font-face {
|
|
94
|
+
font-family: 'Bodoni Moda';
|
|
95
|
+
font-style: italic;
|
|
96
|
+
font-weight: 400;
|
|
97
|
+
font-display: swap;
|
|
98
|
+
src: url('/fonts/bodoni-moda-400-italic-latin.woff2') format('woff2');
|
|
99
|
+
}
|
|
100
|
+
@font-face {
|
|
101
|
+
font-family: 'Source Serif 4';
|
|
102
|
+
font-style: normal;
|
|
103
|
+
font-weight: 200 900;
|
|
104
|
+
font-display: swap;
|
|
105
|
+
src: url('/fonts/source-serif-4-var-latin.woff2') format('woff2');
|
|
106
|
+
}
|
|
107
|
+
@font-face {
|
|
108
|
+
font-family: 'Libre Franklin';
|
|
109
|
+
font-style: normal;
|
|
110
|
+
font-weight: 100 900;
|
|
111
|
+
font-display: swap;
|
|
112
|
+
src: url('/fonts/libre-franklin-var-latin.woff2') format('woff2');
|
|
113
|
+
}
|
|
114
|
+
@font-face {
|
|
115
|
+
font-family: 'IBM Plex Sans';
|
|
116
|
+
font-style: normal;
|
|
117
|
+
font-weight: 100 700;
|
|
118
|
+
font-display: swap;
|
|
119
|
+
src: url('/fonts/ibm-plex-sans-var-latin.woff2') format('woff2');
|
|
120
|
+
}
|
|
121
|
+
@font-face {
|
|
122
|
+
font-family: 'Instrument Serif';
|
|
123
|
+
font-style: normal;
|
|
124
|
+
font-weight: 400;
|
|
125
|
+
font-display: swap;
|
|
126
|
+
src: url('/fonts/instrument-serif-400-latin.woff2') format('woff2');
|
|
127
|
+
}
|
|
128
|
+
@font-face {
|
|
129
|
+
font-family: 'Instrument Serif';
|
|
130
|
+
font-style: italic;
|
|
131
|
+
font-weight: 400;
|
|
132
|
+
font-display: swap;
|
|
133
|
+
src: url('/fonts/instrument-serif-400-italic-latin.woff2') format('woff2');
|
|
134
|
+
}
|
|
135
|
+
@font-face {
|
|
136
|
+
font-family: 'Archivo';
|
|
137
|
+
font-style: normal;
|
|
138
|
+
font-weight: 100 900;
|
|
139
|
+
font-display: swap;
|
|
140
|
+
src: url('/fonts/archivo-var-latin.woff2') format('woff2');
|
|
141
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/index.html
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
|
|
6
|
+
<!--
|
|
7
|
+
Content-Security-Policy — defense-in-depth behind the app's input sanitization. It
|
|
8
|
+
allow-lists exactly the origins Mavéa uses, so even if markup ever slipped past the
|
|
9
|
+
sanitizers it could neither load a script nor exfiltrate to an attacker origin.
|
|
10
|
+
script-src self + wasm-unsafe-eval (Silero VAD / onnx WASM). Shiki, jsPDF,
|
|
11
|
+
modern-screenshot, mediabunny, and pdf.js are ordinary bundled dependencies
|
|
12
|
+
(self-hosted, code-split, dynamic import()) — they need no CDN allowance.
|
|
13
|
+
style-src 'unsafe-inline' is required — React inline styles + the design-system CSS vars
|
|
14
|
+
connect-src self covers the same-origin /llm·/tts·/stt·/search·/pdf·/actions proxies and
|
|
15
|
+
VAD's same-origin assets; the provider + Wikipedia hosts cover a direct baseUrl;
|
|
16
|
+
api.github.com
|
|
17
|
+
covers Ripple's read-only, browser-direct GitHub intake (public repos keyless,
|
|
18
|
+
private with the user's own token). It ALSO has to repeat every image host
|
|
19
|
+
below: the raster export (modern-screenshot) inlines a cross-origin image by
|
|
20
|
+
fetch()ing it, so a host that img-src can paint but connect-src cannot fetch
|
|
21
|
+
renders on screen and then comes out BLANK in the exported PDF/PPTX — which is
|
|
22
|
+
how map tiles and photos silently vanished from exports. No new trust: these
|
|
23
|
+
origins are already trusted to paint pixels.
|
|
24
|
+
img-src data:/blob: (object-URL images) + the photo / map-tile allow-list
|
|
25
|
+
media-src blob: — Kokoro TTS mp3 plays from an object URL
|
|
26
|
+
worker-src blob: — the VAD / onnx worker
|
|
27
|
+
frame-src self — the PDF reader may frame a same-origin PDF/proxy URL; its render
|
|
28
|
+
boundary rejects every external or active-scheme frame source
|
|
29
|
+
This meta tag is the ONE place the policy is defined, so it travels with the app to any static
|
|
30
|
+
host. `frame-ancestors` is the one directive a meta tag cannot carry — send it as a response
|
|
31
|
+
header (X-Frame-Options / CSP frame-ancestors) from whatever actually serves dist/.
|
|
32
|
+
-->
|
|
33
|
+
<meta
|
|
34
|
+
http-equiv="Content-Security-Policy"
|
|
35
|
+
content="default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; font-src 'self'; img-src 'self' data: blob: https://upload.wikimedia.org https://commons.wikimedia.org https://images.unsplash.com https://images.pexels.com https://cdn.pixabay.com https://images-assets.nasa.gov https://www.nasa.gov https://*.basemaps.cartocdn.com; connect-src 'self' https://en.wikipedia.org https://api.anthropic.com https://api.openai.com https://generativelanguage.googleapis.com https://openrouter.ai https://api.x.ai https://api.github.com https://api.search.brave.com https://api.tavily.com https://upload.wikimedia.org https://commons.wikimedia.org https://images.unsplash.com https://images.pexels.com https://cdn.pixabay.com https://images-assets.nasa.gov https://www.nasa.gov https://*.basemaps.cartocdn.com; media-src 'self' blob:; worker-src 'self' blob:; frame-src 'self'; object-src 'none'; base-uri 'self'; form-action 'self'"
|
|
36
|
+
/>
|
|
37
|
+
<title>Mavéa · Talk to AI. See what it means.</title>
|
|
38
|
+
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
39
|
+
<!-- Self-hosted fonts (public/fonts, OFL): no third-party request, and the app works offline.
|
|
40
|
+
Preload only the compact UI face. Newsreader is display:swap and loads at normal priority;
|
|
41
|
+
preloading its 129 kB variable file competed with the shell on constrained connections. -->
|
|
42
|
+
<link
|
|
43
|
+
rel="preload"
|
|
44
|
+
href="/fonts/hanken-grotesk-var-latin.woff2"
|
|
45
|
+
as="font"
|
|
46
|
+
type="font/woff2"
|
|
47
|
+
crossorigin
|
|
48
|
+
/>
|
|
49
|
+
<link rel="stylesheet" href="/fonts/fonts.css" />
|
|
50
|
+
<!-- Boot splash — painted straight from this static document, so a slow connection or an old
|
|
51
|
+
machine sees Mavéa's pulsing orb instead of a blank white page while the bundle downloads
|
|
52
|
+
and parses. Root() removes #boot on its first commit (src/main.tsx); if the bundle never
|
|
53
|
+
arrives the splash simply stays, which beats a blank page. The CSP above allows inline
|
|
54
|
+
STYLE but no inline script, so this block is the only boot-time styling possible. Colors
|
|
55
|
+
are literals because no token CSS has loaded yet; each mirrors its token: #0a0e15 =
|
|
56
|
+
--surface-default (tokens-base.css — dark is the documented startup default, theme.ts),
|
|
57
|
+
#f3f5fb = light --surface-default (light-theme.css), #6e8cff = --presence. The orb copies
|
|
58
|
+
SurfaceFallback's (rootBoundary.css) exactly, so the splash → React hand-off is invisible. -->
|
|
59
|
+
<style>
|
|
60
|
+
#boot {
|
|
61
|
+
position: fixed;
|
|
62
|
+
inset: 0; /* full-viewport cover — zero layout shift when it is removed */
|
|
63
|
+
z-index: 9997; /* one under SurfaceFallback (9998) so React's own loading UI wins */
|
|
64
|
+
display: flex;
|
|
65
|
+
align-items: center;
|
|
66
|
+
justify-content: center;
|
|
67
|
+
background: var(--surface-default, #0a0e15);
|
|
68
|
+
}
|
|
69
|
+
/* applyTheme stamps data-theme at module scope, before React renders — light users are
|
|
70
|
+
corrected the instant the bundle executes, not at first paint. */
|
|
71
|
+
:root[data-theme='light'] #boot {
|
|
72
|
+
background: var(--surface-default, #f3f5fb);
|
|
73
|
+
}
|
|
74
|
+
.boot-orb {
|
|
75
|
+
width: 28px;
|
|
76
|
+
height: 28px;
|
|
77
|
+
border-radius: 999px;
|
|
78
|
+
background: radial-gradient(
|
|
79
|
+
circle at 35% 30%,
|
|
80
|
+
color-mix(in oklab, #6e8cff 70%, white 12%),
|
|
81
|
+
#6e8cff
|
|
82
|
+
);
|
|
83
|
+
/* opacity + scale only — compositor-cheap even on the weakest hardware */
|
|
84
|
+
animation: boot-pulse 1.1s ease-in-out infinite;
|
|
85
|
+
}
|
|
86
|
+
@keyframes boot-pulse {
|
|
87
|
+
0%,
|
|
88
|
+
100% {
|
|
89
|
+
transform: scale(0.85);
|
|
90
|
+
opacity: 0.6;
|
|
91
|
+
}
|
|
92
|
+
50% {
|
|
93
|
+
transform: scale(1);
|
|
94
|
+
opacity: 1;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
@media (prefers-reduced-motion: reduce) {
|
|
98
|
+
.boot-orb {
|
|
99
|
+
animation: none;
|
|
100
|
+
opacity: 0.85;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
</style>
|
|
104
|
+
<script type="module" crossorigin src="/assets/index-y8GL67bB.js"></script>
|
|
105
|
+
<link rel="modulepreload" crossorigin href="/assets/chunk-BVpWp9h4.js">
|
|
106
|
+
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-DaSxXjOY.js">
|
|
107
|
+
<link rel="modulepreload" crossorigin href="/assets/react-BQSORdFI.js">
|
|
108
|
+
<link rel="modulepreload" crossorigin href="/assets/lazyRetry-D50B1UMY.js">
|
|
109
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CepQEz75.css">
|
|
110
|
+
</head>
|
|
111
|
+
<body>
|
|
112
|
+
<div id="boot" role="status" aria-busy="true" aria-label="Loading Mavéa">
|
|
113
|
+
<div class="boot-orb" aria-hidden="true"></div>
|
|
114
|
+
</div>
|
|
115
|
+
<div id="root"></div>
|
|
116
|
+
</body>
|
|
117
|
+
</html>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# Mavéa Disclaimer
|
|
2
|
+
|
|
3
|
+
Effective: July 16, 2026
|
|
4
|
+
|
|
5
|
+
Mavéa uses probabilistic AI systems and can be wrong.
|
|
6
|
+
|
|
7
|
+
- AI-generated text, citations, calculations, classifications, transcriptions, translations, and visualizations may be inaccurate, incomplete, misleading, offensive, or outdated.
|
|
8
|
+
- A citation, confidence label, validation step, or polished visualization does not guarantee that a claim is correct.
|
|
9
|
+
- Verify important information with authoritative sources and qualified professionals before relying on it.
|
|
10
|
+
- Mavéa does not provide medical, legal, financial, tax, accounting, safety, engineering, mental-health, or other professional advice. Do not use it for emergencies or as the sole basis for high-impact decisions.
|
|
11
|
+
- You are responsible for the prompts, files, audio, accounts, credentials, and actions you provide or authorize.
|
|
12
|
+
- Model, search, speech, hosting, OAuth, media, and connected-action providers are independent third parties. Their terms, privacy practices, availability, and charges apply. All costs are your responsibility.
|
|
13
|
+
- Credentials and relevant content travel through the deployment operator's same-origin proxy before reaching selected providers. The operator can access them in transit.
|
|
14
|
+
- Confirmed actions may create external communications, account changes, charges, or other consequences. Review every action and use test accounts and backups where appropriate.
|
|
15
|
+
|
|
16
|
+
To the maximum extent permitted by law, Mavéa is provided as is and as available, without warranties, and you assume the risk of using it. The [Terms of Use](./TERMS.md) and [PolyForm Noncommercial License 1.0.0](./LICENSE) contain the controlling warranty disclaimers and liability limitations. This summary does not expand or replace them, and no document can waive rights or liabilities that applicable law does not allow to be waived.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# PolyForm Noncommercial License 1.0.0
|
|
2
|
+
|
|
3
|
+
<https://polyformproject.org/licenses/noncommercial/1.0.0>
|
|
4
|
+
|
|
5
|
+
Required Notice: Copyright (c) 2026 Akash Maitra and Aryan Chordia
|
|
6
|
+
|
|
7
|
+
## Acceptance
|
|
8
|
+
|
|
9
|
+
In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
|
|
10
|
+
|
|
11
|
+
## Copyright License
|
|
12
|
+
|
|
13
|
+
The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to [Distribution License](#distribution-license) and make changes or new works based on the software according to [Changes and New Works License](#changes-and-new-works-license).
|
|
14
|
+
|
|
15
|
+
## Distribution License
|
|
16
|
+
|
|
17
|
+
The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by [Changes and New Works License](#changes-and-new-works-license).
|
|
18
|
+
|
|
19
|
+
## Notices
|
|
20
|
+
|
|
21
|
+
You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software. For example:
|
|
22
|
+
|
|
23
|
+
> Required Notice: Copyright Yoyodyne, Inc. (http://example.com)
|
|
24
|
+
|
|
25
|
+
## Changes and New Works License
|
|
26
|
+
|
|
27
|
+
The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
|
|
28
|
+
|
|
29
|
+
## Patent License
|
|
30
|
+
|
|
31
|
+
The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
|
|
32
|
+
|
|
33
|
+
## Noncommercial Purposes
|
|
34
|
+
|
|
35
|
+
Any noncommercial purpose is a permitted purpose.
|
|
36
|
+
|
|
37
|
+
## Personal Uses
|
|
38
|
+
|
|
39
|
+
Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, is use for a permitted purpose.
|
|
40
|
+
|
|
41
|
+
## Noncommercial Organizations
|
|
42
|
+
|
|
43
|
+
Use by any charitable organization, educational institution, public research organization, public safety or health organization, environmental protection organization, or government institution is use for a permitted purpose regardless of the source of funding or obligations resulting from the funding.
|
|
44
|
+
|
|
45
|
+
## Fair Use
|
|
46
|
+
|
|
47
|
+
You may have "fair use" rights for the software under the law. These terms do not limit them.
|
|
48
|
+
|
|
49
|
+
## No Other Rights
|
|
50
|
+
|
|
51
|
+
These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
|
|
52
|
+
|
|
53
|
+
## Patent Defense
|
|
54
|
+
|
|
55
|
+
If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
|
|
56
|
+
|
|
57
|
+
## Violations
|
|
58
|
+
|
|
59
|
+
The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
|
|
60
|
+
|
|
61
|
+
## No Liability
|
|
62
|
+
|
|
63
|
+
***As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.***
|
|
64
|
+
|
|
65
|
+
## Definitions
|
|
66
|
+
|
|
67
|
+
The **licensor** is the individual or entity offering these terms, and the **software** is the software the licensor makes available under these terms.
|
|
68
|
+
|
|
69
|
+
**You** refers to the individual or entity agreeing to these terms.
|
|
70
|
+
|
|
71
|
+
**Your company** is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. **Control** means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
|
|
72
|
+
|
|
73
|
+
**Your licenses** are all the licenses granted to you for the software under these terms.
|
|
74
|
+
|
|
75
|
+
**Use** means anything you do with the software requiring one of your licenses.
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Mavéa Privacy Notice
|
|
2
|
+
|
|
3
|
+
Effective: July 19, 2026
|
|
4
|
+
|
|
5
|
+
This notice describes the current, unmodified local and self-hosted Mavéa software. It does not describe a future hosted service. Local-first does not mean every feature stays on your device: connected features send data through the deployment to third parties you choose. If a person or organization deploys Mavéa for others, that operator must provide any additional privacy notices and controls required for its deployment.
|
|
6
|
+
|
|
7
|
+
## 1. Who handles your information
|
|
8
|
+
|
|
9
|
+
The Mavéa Maintainers publish software. They do not receive your prompts or browser-local data merely because you install or run it. The person or organization hosting the copy you use is the **deployment operator**. When you self-host, you control that deployment and its logs, storage, configuration, and provider accounts.
|
|
10
|
+
|
|
11
|
+
The unmodified project has no Mavéa user-account system, first-party cloud database, advertising network, product-analytics service, telemetry, or conversation-retention service. Normal network requests can still be visible to the deployment host, infrastructure providers, and the third-party services described below. A modified or separately hosted deployment may behave differently, and its operator is responsible for disclosing any additional collection, logging, accounts, analytics, retention, or sharing it adds.
|
|
12
|
+
|
|
13
|
+
The current repository does not set analytics or advertising cookies and does not include first-party usage tracking. A modified deployment that adds cookies, analytics, advertising, or other tracking must disclose and manage those technologies separately.
|
|
14
|
+
|
|
15
|
+
## 2. Information kept in your browser or deployment
|
|
16
|
+
|
|
17
|
+
Depending on the features you use, browser storage may contain:
|
|
18
|
+
|
|
19
|
+
- conversations, saved canvases, bookmarks, memory items, and session history;
|
|
20
|
+
- courses, lessons, flashcards, quiz progress, Ripple analyses, and dashboards;
|
|
21
|
+
- preferences such as theme, performance, visual richness, voice, and setup state;
|
|
22
|
+
- drafts, tracked items, presentation settings, and recent feature state;
|
|
23
|
+
- provider and model configuration;
|
|
24
|
+
- remembered provider, search, or optional GitHub credentials; and
|
|
25
|
+
- short-lived demo, tour, route, and in-progress session data.
|
|
26
|
+
|
|
27
|
+
Saved content is encrypted in browser storage only where the relevant feature and browser support it. Course data, mastery and progress, some Ripple data and analysis caches, preferences, metadata, and fallback content can be stored in ordinary local storage or IndexedDB. Anyone who can use your unlocked device or browser profile, and malicious extensions or same-origin code, may be able to access browser data.
|
|
28
|
+
|
|
29
|
+
Because this browser data is encrypted to this specific browser, it does not carry over to a different browser, an incognito window, or another device. You can export a backup file of your dashboards, memory, flashcards, saved canvases, map, and courses, and import it elsewhere to move that data. The backup is plain, unencrypted JSON under your control, so store and share it carefully; it deliberately excludes your provider and search keys. Importing a backup merges into existing data and never deletes it, and importing a file you did not create can add content from that file — import only backups you trust.
|
|
30
|
+
|
|
31
|
+
Browser and operating-system caches may retain application assets and optional voice models. The actions gateway may store connected-service credentials and configuration on the deployment operator's machine.
|
|
32
|
+
|
|
33
|
+
## 3. Credentials and connected-service tokens
|
|
34
|
+
|
|
35
|
+
Provider and search keys stay in memory until reload unless you choose Remember. When supported, Remember encrypts them with a non-extractable, device-bound browser key and stores ciphertext locally. Without the required browser cryptography, the unmodified app keeps them session-only rather than writing plaintext. Settings exports exclude provider and search keys.
|
|
36
|
+
|
|
37
|
+
Keys are decrypted when needed and pass through the deployment's same-origin proxy to the provider you selected. The proxy and its host can technically access credentials and content in transit. Browser encryption does not protect against an active compromise of the device, browser, extension, deployment, proxy, or provider.
|
|
38
|
+
|
|
39
|
+
Optional GitHub and Google connections can store access tokens, refresh tokens, or repository settings in the actions gateway or its host configuration. The unmodified gateway writes persisted OAuth tokens to an owner-readable host file and keeps limited audit metadata, not request bodies or provider response text. Whoever runs the gateway controls that file, its backups, logs, deletion, and security.
|
|
40
|
+
|
|
41
|
+
The unmodified gateway has no separate Mavéa user accounts. On a shared deployment, everyone allowed to use action features may act through the deployment operator's connected GitHub or Google account. Use a dedicated, least-privilege gateway and do not expose it to people who should not share those permissions.
|
|
42
|
+
|
|
43
|
+
## 4. Prompts, files, code, and generated content
|
|
44
|
+
|
|
45
|
+
Text you type or paste, conversation context, remembered facts, attached files, extracted document text, images, repository content, diffs, search queries, and feature instructions may be sent through the deployment to the model, search, or connected provider needed for the feature you request. Responses and generated content return through the deployment to your browser.
|
|
46
|
+
|
|
47
|
+
Prism and Synthesis stage and extract supported files locally where possible, but relevant content can still be sent for analysis. Ripple can parse code locally before optional model enrichment sends relevant code or diffs. Local staging is not a promise that later analysis remains local.
|
|
48
|
+
|
|
49
|
+
## 5. Voice, microphone, speech, and reels
|
|
50
|
+
|
|
51
|
+
If you enable listening, the browser captures microphone input and its speech-recognition implementation converts speech to text. Depending on the mode, browser, and operating system, audio may be processed by a remote browser-vendor service or sent through the deployment's configured speech-to-text endpoint. Recognized transcripts may then be sent to your selected model provider.
|
|
52
|
+
|
|
53
|
+
Spoken answers send narration text to the configured text-to-speech service. Reel rendering and encoding are performed in the browser, but optional model direction and narration use the selected providers. A finished export leaves Mavéa only when you save, publish, or send it to a destination you choose.
|
|
54
|
+
|
|
55
|
+
## 6. Services that can receive data
|
|
56
|
+
|
|
57
|
+
According to the feature and configuration you choose, recipients can include:
|
|
58
|
+
|
|
59
|
+
- Google Gemini, Anthropic Claude, OpenAI, xAI Grok, OpenRouter, or another model endpoint you configure;
|
|
60
|
+
- configured web-search providers and Wikipedia;
|
|
61
|
+
- your browser vendor's speech-recognition service and the configured speech-to-text or text-to-speech service;
|
|
62
|
+
- GitHub, Google Calendar, or another configured action destination;
|
|
63
|
+
- map-tile, font, image, and other content hosts such as OpenStreetMap, CARTO, Google Fonts, Wikimedia, or configured image sources used by a view you open;
|
|
64
|
+
- a notification relay URL you configure, which can receive dashboard titles, alert labels, values, units, and timestamps;
|
|
65
|
+
- the jsDelivr content-delivery network, from which the local command-line server downloads version-pinned voice-recognition assets once on first voice use and then serves them from its own cache; and
|
|
66
|
+
- the deployment host, reverse proxy, network, and infrastructure providers.
|
|
67
|
+
|
|
68
|
+
Those parties process data under their own terms and privacy notices. They may retain requests, use data for abuse prevention or service improvement, or process it in other countries according to your account settings and their policies. The Maintainers do not control those practices. Review each recipient's terms, retention, training, security, location, and deletion settings before use. Mavéa cannot delete data retained by those providers.
|
|
69
|
+
|
|
70
|
+
## 7. Why information is processed
|
|
71
|
+
|
|
72
|
+
Information is processed only as needed to:
|
|
73
|
+
|
|
74
|
+
- provide the feature you request and return results;
|
|
75
|
+
- save state and preferences on your device;
|
|
76
|
+
- authenticate to providers and connected services you configure;
|
|
77
|
+
- perform an external action after the required confirmation;
|
|
78
|
+
- protect a deployment, enforce limits, diagnose failures, and prevent abuse; or
|
|
79
|
+
- comply with law or protect rights and safety where legally required.
|
|
80
|
+
|
|
81
|
+
The unmodified project does not sell personal information or use it for cross-context behavioral advertising. A deployment operator must separately disclose any different purpose it introduces.
|
|
82
|
+
|
|
83
|
+
## 8. Retention and deletion
|
|
84
|
+
|
|
85
|
+
Memory-only values disappear on reload. Session storage generally remains until the tab or browser session ends. Local storage and IndexedDB remain until a feature removes the item, you use an available clear, forget, or reset control, you clear site data, or the browser evicts it. Some session history is capped and expires, but many course, progress, dashboard, memory, and Ripple records have no automatic expiration. Clearing all browser site data is the broadest local deletion control. Removing browser data does not delete copies already sent elsewhere.
|
|
86
|
+
|
|
87
|
+
Gateway tokens remain until disconnected or removed by the gateway operator. Server, proxy, infrastructure, browser-vendor, and provider retention depends on the relevant operator, logs, backups, account settings, and third-party policy. Contact those parties for deletion of data they control and revoke credentials at the issuing service.
|
|
88
|
+
|
|
89
|
+
Exports, downloaded files, backups, browser sync, system backups, provider records, and recipients of anything you share must be deleted separately.
|
|
90
|
+
|
|
91
|
+
## 9. Your controls and privacy rights
|
|
92
|
+
|
|
93
|
+
You can reduce or remove data by:
|
|
94
|
+
|
|
95
|
+
- leaving Remember off and using restricted, revocable provider keys;
|
|
96
|
+
- using Mavéa's forget, delete, disconnect, reset, and clear controls where offered;
|
|
97
|
+
- clearing this site's local storage, session storage, IndexedDB, cache, and permissions;
|
|
98
|
+
- revoking model, search, GitHub, Google, and other connected credentials;
|
|
99
|
+
- turning off microphone access and avoiding voice features;
|
|
100
|
+
- not uploading information you do not want sent to a selected provider; and
|
|
101
|
+
- contacting the deployment operator or relevant provider about data they control.
|
|
102
|
+
|
|
103
|
+
Depending on where you live, you may have legal rights to access, correct, delete, restrict, object to, or obtain a copy of personal information held by a deployment operator. The Maintainers cannot retrieve browser-local or provider-held data they do not possess.
|
|
104
|
+
|
|
105
|
+
## 10. Sensitive, confidential, and regulated information
|
|
106
|
+
|
|
107
|
+
Mavéa is not designed as a system of record for health, financial, student, employment, government-identifier, biometric, trade-secret, or other regulated information. Do not submit such information unless you have authority, have assessed every recipient, and have put any legally required contracts and safeguards in place. A disclaimer does not make a deployment compliant with HIPAA, FERPA, GDPR, financial-services rules, workplace duties, or another regulatory regime.
|
|
108
|
+
|
|
109
|
+
Do not submit children's data or another person's personal, confidential, privileged, or regulated information unless you have appropriate authority and a lawful basis. Mavéa is not a confidential or privileged channel.
|
|
110
|
+
|
|
111
|
+
## 11. Security
|
|
112
|
+
|
|
113
|
+
Mavéa uses safeguards such as browser encryption for supported stored data, content sanitization, same-origin request boundaries, confirmation for connected actions, and restricted gateway token-file permissions. No safeguard is perfect. Do not treat local storage or encryption as a guarantee, and do not use Mavéa as a password manager or secret vault.
|
|
114
|
+
|
|
115
|
+
You are responsible for device security, access controls, backups, proxy configuration, least-privilege provider credentials, and connected-account security. Do not expose a local proxy, development server, or actions gateway to an untrusted network.
|
|
116
|
+
|
|
117
|
+
## 12. Children
|
|
118
|
+
|
|
119
|
+
Mavéa is intended for adults and is not directed to children. Do not allow anyone under 18 to use connected model, upload, microphone, or action features or submit personal information through Mavéa. If you believe a child's information reached a deployment or provider, contact that operator and the relevant provider promptly and revoke any affected connection.
|
|
120
|
+
|
|
121
|
+
## 13. Changes, business transfers, and contact
|
|
122
|
+
|
|
123
|
+
Material changes to this notice require an updated effective date and, where appropriate, a new in-product acceptance version. A deployment operator must provide its own identity and contact details where applicable law requires them.
|
|
124
|
+
|
|
125
|
+
If a project, deployment, or relevant assets are reorganized, financed, sold, merged, or transferred, information actually controlled by the relevant operator may be disclosed to advisers and transferred to a successor as permitted by law. Browser-local and provider-held information that the operator does not possess cannot be transferred by that operator. A successor must describe its identity and any materially different data practices.
|
|
126
|
+
|
|
127
|
+
For a hosted copy, contact the person or organization that gave you access. For the public repository, use the Mavéa GitHub issue tracker for non-sensitive questions. Do not put personal or confidential information in a public issue. Report security concerns through [SECURITY.md](./SECURITY.md).
|