@raingor/pi-web-switch 0.3.2 → 0.3.3
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/.pi/.pi-puppeteer/artifacts/screenshots/session-1-1785132166652.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-1-1785291744290.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-1-1785291756870.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-1-1785293871314.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-10-1785297139944.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-2-1785132240502.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-2-1785132249748.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-2-1785294992352.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-2-1785295104532.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-2-1785295132507.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-3-1785132387218.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-4-1785295319523.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-4-1785295349664.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-4-1785295399600.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-5-1785295450850.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-5-1785295487872.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-5-1785295562600.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-5-1785295761054.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-5-1785295840175.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-6-1785295915007.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-6-1785296069913.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-7-1785296128252.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-9-1785297091531.png +0 -0
- package/.pi/.pi-puppeteer/artifacts/screenshots/session-9-1785297116790.png +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ActorSafetyLists/9.5220.3721/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ActorSafetyLists/9.5220.3721/listdata.json +91946 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ActorSafetyLists/9.5220.3721/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/AmountExtractionHeuristicRegexes/4/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/AmountExtractionHeuristicRegexes/4/heuristic_regexes.binarypb +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/AmountExtractionHeuristicRegexes/4/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/BrowserMetrics/BrowserMetrics-6A6978EB-A861.pma +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/BrowserMetrics-spare.pma +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/CaptchaProviders/8.5419.4434/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/CaptchaProviders/8.5419.4434/captcha_providers.json +12 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/CaptchaProviders/8.5419.4434/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/CertificateRevocation/10680/LICENSE +27 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/CertificateRevocation/10680/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/CertificateRevocation/10680/crl-set +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/CertificateRevocation/10680/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ChromeFeatureState +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Consent To Send Stats +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Crowd Deny/2026.7.27.84/Preload Data +24078 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Crowd Deny/2026.7.27.84/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Crowd Deny/2026.7.27.84/manifest.json +6 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/.com.google.Chrome.Hbf1ld +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Account Web Data +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Account Web Data-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Affiliation Database +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Affiliation Database-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillAiModelCache/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillAiModelCache/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillAiModelCache/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillStrikeDatabase/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillStrikeDatabase/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillStrikeDatabase/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/BookmarkMergedSurfaceOrdering +2 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/BudgetDatabase/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/BudgetDatabase/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/BudgetDatabase/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/003827f5ea5ac9e9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/00473eec8b9b56d5_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/05a190c784b641e3_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/066df8884be8cf8d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/09627b0809e61f83_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/09b27ac23861b1d7_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/0fd9412b623e5a66_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/118fb0fa2505d3b2_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/1194588b7e2b20e9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/135a3004445f6f03_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/13f1e7131fe25bc6_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/15a2a5dccd304be7_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/17893ac60e1e94c2_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/19474b63539a4609_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/1a1ecc22219568db_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/1bb0006133ebefa3_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/1cfaeeed4b13a026_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/1e3cf5f23a4de58b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/20427e8d33888ba3_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/2258d238accf0bfa_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/228c3ad9d63adf48_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/2437d308abe15ac2_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/246f33a252b55bce_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/25862298f2999d7d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/262d9bff9f7f64bb_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/264aad789515de93_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/269ad8897b8e63d0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/2cd2c50a38161cab_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/2dd4db1365eeeac8_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/2eae0c639fd772df_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/30bb21d39b68bd84_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/31121aeb5ecffa5f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/32766be1527c8e9a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/328e80b1ed10d28d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/339dcbdde8b8ac4e_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/34439c1d4bfc8dad_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/381d5603ee3fd8b9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/38fbe92680d28074_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/393ce7bb08410970_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/3d74b8be0f86614f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/4016e35a2021656d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/409bcaf42c9c09b4_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/41888ebeeb475a59_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/4714ef11264459f5_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/479d2c4f7d4f3b38_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/4824ea24720f1a77_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/4a73d37e6e4ce922_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/4ecdd068adbdf42a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/54e6cc05346dd07c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/5505ea174dc90263_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/551679343b836505_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/573f6264a77df462_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/578926a5c39768ed_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/582a8182776d9380_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/5f3aa184b329759d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/6351cd107efed247_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/637516a46d1d8587_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/65e82d9cb58cbd6d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/66d24a1529d6dae0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/6995a7c799490d3d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/6d10426240c5ff67_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/6dc325603c897784_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/6fbab020dd731222_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/70fa542a6974378a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/72a8c452abd1b0e6_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/72df48e9888c822b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/73abcb8da3b9f73d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/741e8bcc257a64a9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/75df0820975fcdfa_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/7789e307be36811d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/79a161a9b2f4a11e_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/7afd0bc7f9852bf0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/7ce691ce1ceb3b8d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/7ef6780a186001ac_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/80402f00feb6a222_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/85b55ea0ca260643_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/86300205c03092e4_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/87c94a2eac816ea9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/880c25af3ab59187_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/8a7d0881c813aeec_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/8bad3b1bccd25517_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/8bd9377481fa7d43_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/8c1a58ce19e15d16_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/8e44e385f5911b07_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/90e39d8d065f6ac0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/93d81321f8c35eab_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/93e9945beb439414_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/944e08f273fccc44_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/95edd63493c49660_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9789c4ee76bdb350_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9a5911308e0f26ad_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9a6cdf8f5c03aee5_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9aeb4a3d1a607b07_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9aff0e1ff1742ee0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9bdabd2703f2e3ba_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9d4d11ac8a8e264f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9dd169e672e31961_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9e72442bf8821115_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/a330965ccf5564ca_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/a3a3c6351a3f2f42_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/a818977d416f829d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/aa452720fc9d634f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ac06b722aea9fcb8_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/aca3b8cf1f98e0bb_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/add439b7aae9334a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/b0113626d8ba968d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ba97b9d927729aa7_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/bfcb9d225e4f11a8_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/c364377515d768e0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/c4376485fa897eca_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/c5b74f49505d3ecc_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/c7e10eb03f6d5cc2_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/c91efba145098b4c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/caecbbde37e3c866_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/cdddd64b252697fd_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d3efa3ab37db7796_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d6289ab00fe343c0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d6be42432091d3ae_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d7137f065f39412f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d83db61c108fa34f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d86cd6e1d99a8eaf_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d97f1cfcc2edd001_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/de620df53673a107_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/de86892a6fa4e33b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/deb2cfe585bf96b0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/df93d6767095d5ea_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e1f8d8432edb7ea6_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e2e1058ec6a8e645_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e39ddd81e303f259_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e468a0fb6aa7fd4e_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e46f51470717ac3c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e4a531774ba47406_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e57a3a1fa60638e1_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e594d414c7f4d6a1_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e771a081db13a5b8_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e78c0ca6dbdafcd0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e8e671ad5c3fb2a8_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e96e46c4d92b214f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ea24ade36915d935_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/eaa70273ce58d3b3_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/eca41bfe04d1680d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ed551f6d52fa6049_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ee2190fb8068ea31_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ee688f43baa25b4b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f016dffa17337f95_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f0707f1f113fa72c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f12650f2be214ec8_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f1887b75d61dbd90_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f28900863f2e45b7_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f4ee911c81881048_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f557a2bca202c132_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f61ed35c6c0b87d8_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f6f1caefb3e18ade_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/fd695fa621d42490_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/index-dir/the-real-index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/No_Vary_Search/journal.baj +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/No_Vary_Search/snapshot.baf +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/ClientCertificates/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/ClientCertificates/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/ClientCertificates/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/02b3a268866a7a0c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/0edbc65a5e505019_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/1051d2e224b9dd7a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/13cf7a1704163ded_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/16860cee78cb7179_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/17ea85d6fceb9229_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/1b6c1ba202c59494_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/1ebec9ea59157454_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/1ee2a6b57d251d09_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/2445a9737b996e2a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/2d10a08da99d6d96_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/325c8b935b677e9d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/454c49e6be2650e9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/4a34df5a255ad22e_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/4dfd5beef212627f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/5fe872a733479fff_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/66943b0755a2799d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/6a1839253b0d0b0a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/6e13894af36f3b79_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/786d3f1f49d31154_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/82f67f35254528ab_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/831e5a135cde918e_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/9965b2c8a33ec50d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/a15b1367fd75ef89_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/a7c7741248aeea07_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/a8e54c52a52541a9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/afa0d16c75997a6c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/b35d29b5b3583a88_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/bc55d051b6fd0744_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/bc8566d00f634dfb_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/c0be8aeb35882f7c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/c771807a395d295c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/c9058e9015c26dc7_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/d6804628a868f972_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/d7f211a5cec70609_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/d9c03164fc246389_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/e1011bf217f0ad7a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/efd85d739d006527_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/f5fe496bf55cd561_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/fc52f43646894a73_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/fc8954eb9445852d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/ff6de2f37189b29f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/index-dir/the-real-index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/wasm/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/wasm/index-dir/the-real-index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cookies +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cookies-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DIPS +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnGraphiteCache/data_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnGraphiteCache/data_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnGraphiteCache/data_2 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnGraphiteCache/data_3 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnGraphiteCache/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnWebGPUCache/data_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnWebGPUCache/data_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnWebGPUCache/data_2 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnWebGPUCache/data_3 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnWebGPUCache/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Rules/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Rules/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Rules/LOG +2 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Rules/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Scripts/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Scripts/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Scripts/LOG +2 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Scripts/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension State/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension State/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension State/LOG +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension State/LOG.old +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension State/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Favicons +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Favicons-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/AvailabilityDB/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/AvailabilityDB/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/AvailabilityDB/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/EventDB/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/EventDB/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/EventDB/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GCM Store/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GCM Store/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GCM Store/LOG +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GCM Store/LOG.old +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GCM Store/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GPUCache/data_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GPUCache/data_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GPUCache/data_2 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GPUCache/data_3 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GPUCache/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/History +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/History-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Local Storage/leveldb/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Local Storage/leveldb/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Local Storage/leveldb/LOG +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Local Storage/leveldb/LOG.old +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Local Storage/leveldb/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Login Data +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Login Data For Account +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Login Data For Account-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Login Data-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Network Action Predictor +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Network Action Predictor-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Network Persistent State +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/PersistentOriginTrials/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/PersistentOriginTrials/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/PersistentOriginTrials/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Preferences +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/PreferredApps +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/README +1 -0
- NEL +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Reporting and NEL-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Safe Browsing Cookies +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Safe Browsing Cookies-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Secure Preferences +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SegmentInfoDB/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SegmentInfoDB/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SegmentInfoDB/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalDB/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalDB/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalDB/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalStorageConfigDB/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalStorageConfigDB/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalStorageConfigDB/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/ServerCertificate +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/ServerCertificate-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/09ed93488198f423_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/09ed93488198f423_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/0a30220965d74d1e_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/1300177f362c3a4a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/1300177f362c3a4a_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/27b9ccf88365ee26_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/2921673031323747_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/2921673031323747_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/35f037f406300022_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/35f037f406300022_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/3adbee165bfbf214_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/3c8f4750e95148d9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/3ce96b151d8c7cc1_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/3ce96b151d8c7cc1_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/483d56a1df05215a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/483d56a1df05215a_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/4d82f9d0e0941cce_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/4f42af3671d8c6c6_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/4f42af3671d8c6c6_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5973e266a3773c26_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5ad1663b68163b6f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5b4c15b3725d9989_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5b4c15b3725d9989_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5c619235d9c64bc3_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5c619235d9c64bc3_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5e3af97b8dccb412_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5e3af97b8dccb412_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/6e068fc05df362b0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/6e068fc05df362b0_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/755a4c7663f8dc02_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/755a4c7663f8dc02_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7969561312c7823f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7969561312c7823f_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/79ffa2733a735063_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7f91cd3066f0019f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7f91cd3066f0019f_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7f97d42038a92017_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7f97d42038a92017_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/820d43cc26b882ff_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/820d43cc26b882ff_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/88e95753fb6f9ea9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/8b469fd8bafad3b3_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/8b469fd8bafad3b3_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/900dd661df81967a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/9546d2c6dd38203c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/9546d2c6dd38203c_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/96d03a8b051613e1_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/96d03a8b051613e1_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a0222364eb3781e3_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a0222364eb3781e3_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a524d2c2d64c3660_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a524d2c2d64c3660_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a78bfbcc1859fb76_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a78bfbcc1859fb76_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/ac56d7aa94c8dd89_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/ac56d7aa94c8dd89_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/b5055aa76b1823e0_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/b5055aa76b1823e0_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c0b18bd33c20f43c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c0b18bd33c20f43c_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c31100b4d5efc61d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c31100b4d5efc61d_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c62331d49f110533_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c62331d49f110533_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c7bb739419f12b43_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/cdf6536f6656df3e_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/cdf6536f6656df3e_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d0e2620915e19afb_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d0e2620915e19afb_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d4313ca21cedf2ad_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d4313ca21cedf2ad_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d4cbe68232f52d97_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d4cbe68232f52d97_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d90bf1dbbf713592_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d90bf1dbbf713592_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/df18dfd2a1ad9fb4_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/df18dfd2a1ad9fb4_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e321e1f483bdf8f3_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e321e1f483bdf8f3_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e3cf32438c59b057_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e3cf32438c59b057_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e5d70b58b9ad133a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e5d70b58b9ad133a_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e6bebc23f041524b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e6bebc23f041524b_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/ec2dbc36a8a707bf_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f0d3846d04ec57fa_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f0d3846d04ec57fa_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f41ecefc4e8c4d02_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f41ecefc4e8c4d02_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f641877808e85797_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f641877808e85797_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f792102a3adfa574_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f792102a3adfa574_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f87456efb50ead2b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f87456efb50ead2b_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f9c75818bcb88359_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f9c75818bcb88359_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/fb21145c8e2675cb_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/fb21145c8e2675cb_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/index-dir/the-real-index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/0281c98fa97441e5_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/319cb45fc46cfd93_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/685282d5721939ea_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/8634e8d5eb849493_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/c6ba0abf049dda93_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/ff32d8eaf874a37b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/index-dir/the-real-index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/index.txt +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/024678dda211fa26_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/024678dda211fa26_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/037830b98bc2d51d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/037830b98bc2d51d_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/058b480bfb167f1d_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/058b480bfb167f1d_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/0655e9ff0425de79_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/0a59caba16743dc4_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/0a59caba16743dc4_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/136ff5c99b26781c_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/136ff5c99b26781c_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/17a566dc27c99ba4_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/17a566dc27c99ba4_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/21f0f05b2eceebc6_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/21f0f05b2eceebc6_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/258481d12e2d6b56_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/258481d12e2d6b56_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/384fffcb0c07b624_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/4d19946442d4bfbb_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/4db2b1b4ab66bab9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/4db2b1b4ab66bab9_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/51f125f305445381_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/51f125f305445381_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/5a8718d400d2f051_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/5a8718d400d2f051_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/61766447abeea15f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/61766447abeea15f_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/62151dfee245ae9b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/62151dfee245ae9b_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/696c1b7392b5c15a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/696c1b7392b5c15a_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/6c82448ab5b28377_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/6c82448ab5b28377_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/6d24995ced602e98_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/722befb3ecafcb3f_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/78c3660b76e7d93a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/78c3660b76e7d93a_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/798dd4b9b7d9d5c2_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8595071248e29ee1_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8595071248e29ee1_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8b04b7c22f0fd1f9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8b04b7c22f0fd1f9_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8f520d5d41ee00bd_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8f520d5d41ee00bd_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/901ff14ab13b28c6_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/901ff14ab13b28c6_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a1d474dd0b6dd558_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a1d474dd0b6dd558_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a3011f5e2ef033c1_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a3011f5e2ef033c1_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a8b1cac4bc45ce95_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a8b1cac4bc45ce95_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/ba58c86b9d2825b2_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/ba58c86b9d2825b2_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/c5d7b8f405d5e062_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/ca40ebe1bbd077ac_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/ca40ebe1bbd077ac_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/d0ab2b640b0a13e7_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/d0ab2b640b0a13e7_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/d0c3865f553ac976_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/d0c3865f553ac976_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/da45add0238a285a_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/da45add0238a285a_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e4307c16470799da_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e4307c16470799da_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e7690ca8c63cad14_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e7690ca8c63cad14_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e7ba6f4de6562c89_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e7ba6f4de6562c89_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/eb1bcf853b355e13_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/eb1bcf853b355e13_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/f32ce7214b1774ba_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/f32ce7214b1774ba_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/f62e4b05ee7d99f9_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/f62e4b05ee7d99f9_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/fc5ef4b63ae4bb4b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/index-dir/the-real-index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/52158ab3c1d3fdde_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/9c3cfbb43286df23_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/b19f1b829e018cf2_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/b8ae4f867095f4fd_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/bdc920a7c2524c3b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/ea5f9af36eefd38b_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/index-dir/the-real-index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/index.txt +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/Database/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/Database/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/Database/LOG +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/Database/LOG.old +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/Database/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/fa813c9ad67834ac_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/fa813c9ad67834ac_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/index-dir/the-real-index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Session Storage/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Session Storage/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Session Storage/LOG +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Session Storage/LOG.old +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Session Storage/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sessions/Session_13429768577966436 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sessions/Tabs_13429770684888237 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sessions/Tabs_13429770734729173 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shared Dictionary/cache/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shared Dictionary/cache/index-dir/the-real-index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shared Dictionary/db +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shared Dictionary/db-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/SharedStorage +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shortcuts +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shortcuts-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Site Characteristics Database/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Site Characteristics Database/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Site Characteristics Database/LOG +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Site Characteristics Database/LOG.old +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Site Characteristics Database/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sync Data/LevelDB/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sync Data/LevelDB/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sync Data/LevelDB/LOG +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sync Data/LevelDB/LOG.old +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sync Data/LevelDB/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Top Sites +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Top Sites-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Translate Ranker Model +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/TransportSecurity +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Trust Tokens +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Trust Tokens-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Web Data +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Web Data-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/WebStorage/QuotaManager +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/WebStorage/QuotaManager-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/chrome_cart_db/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/chrome_cart_db/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/chrome_cart_db/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/commerce_subscription_db/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/commerce_subscription_db/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/commerce_subscription_db/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discount_infos_db/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discount_infos_db/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discount_infos_db/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discounts_db/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discounts_db/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discounts_db/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/engine_allowlist.bf +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/heavy_ad_intervention_opt_out.db +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/heavy_ad_intervention_opt_out.db-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/parcel_tracking_db/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/parcel_tracking_db/LOG +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/parcel_tracking_db/LOG.old +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/LOG +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/LOG.old +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/metadata/CURRENT +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/metadata/LOCK +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/metadata/LOG +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/metadata/LOG.old +3 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/metadata/MANIFEST-000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Default/trusted_vault.pb +2 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/DevToolsActivePort +2 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/FileTypePolicies/145.0.7584.0/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/FileTypePolicies/145.0.7584.0/download_file_types.pb +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/FileTypePolicies/145.0.7584.0/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/FirstPartySetsPreloaded/2025.7.24.0/LICENSE +27 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/FirstPartySetsPreloaded/2025.7.24.0/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/FirstPartySetsPreloaded/2025.7.24.0/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/FirstPartySetsPreloaded/2025.7.24.0/sets.json +70 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GPUPersistentCache/GPUCache/NDJN3PYMYS2VQL44TKFDS34NLSXM6YVU/cache.db +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GPUPersistentCache/GPUCache/NDJN3PYMYS2VQL44TKFDS34NLSXM6YVU/cache.db-wal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GPUPersistentCache/GPUCache/NDJN3PYMYS2VQL44TKFDS34NLSXM6YVU/cache.journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/data_0 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/data_1 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/data_2 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/data_3 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/f_000001 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/f_000002 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/f_000003 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/f_000004 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/index +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Last Version +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Local State +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/MEIPreload/1.1.0.3/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/MEIPreload/1.1.0.3/manifest.json +7 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/MEIPreload/1.1.0.3/preloaded_data.pb +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/crs.pb +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/ct_config.pb +325 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/kp_pinslist.pb +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/mtc_config.pb +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/SSLErrorAssistant/7/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/SSLErrorAssistant/7/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/SSLErrorAssistant/7/ssl_error_assistant.pb +54 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/SafetyTips/3091/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/SafetyTips/3091/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/SafetyTips/3091/safety_tips.pb +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Subresource Filter/Indexed Rules/38/9.70.0/Ruleset Data +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Subresource Filter/Unindexed Rules/9.70.0/Filtering Rules +6104 -2
- package/.pi/.pi-puppeteer/profiles/chrome/default/Subresource Filter/Unindexed Rules/9.70.0/LICENSE.txt +383 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Subresource Filter/Unindexed Rules/9.70.0/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Subresource Filter/Unindexed Rules/9.70.0/manifest.json +6 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/TrustTokenKeyCommitments/2026.3.23.1/LICENSE +27 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/TrustTokenKeyCommitments/2026.3.23.1/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/TrustTokenKeyCommitments/2026.3.23.1/keys.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/TrustTokenKeyCommitments/2026.3.23.1/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/Variations +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/background_compiled.js +40 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/bindings_main.js +6281 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/bindings_main.wasm +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/offscreen.html +2 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/offscreen_compiled.js +131 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/streaming_worklet_processor.js +78 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/voices.json +1779 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/wasm_tts_manifest_v3.json +43 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/_metadata/verified_contents.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/english_wikipedia.txt +30000 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/female_names.txt +3712 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/male_names.txt +984 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/manifest.json +5 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/passwords.txt +30000 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/ranked_dicts +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/surnames.txt +10000 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/us_tv_and_film.txt +19160 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/0d784450fcc5b3ad7ab4efa85b2e1fe56bd5086b69807eab756f62c257ea0d8b +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/0d994b6c9c5d4b0316bcc7a79f4939a2390c638169ea6dc783198c17286d8255 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/3eb16d6c28b502ac4cfee8f4a148df05f4d93229fa36a71db8b08d06329ff18a +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/4448b37acb13eb51a842a8ebc85ea826729571c7293f2213d855d3a76cb9a4f8 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/545666a4efd056351597bb386aea1368105ededc976ed5650d8682daab9f37ff +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/56c21927faa028be6ce18c931660eec37e41da4bfbfd47cafa48350f828c0dbd +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/733776833212346a1018b95197c61bed2d107fbb7790a985ef692780e02f31cb +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/7b05c14dba04ed522210b733f004cb0e74d7679a653b19bd029f9bc0e6b19903 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/8f2c0712b6800fa9622a039cb167cc9503d508a271247e445f08a96eded5772f +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/9bec6c2c0185d3305ac8495047a1aa01e725d58f8f18d219742a2988f07cd93a +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/9f157bd09a986baa46110a0acb7e3d7407208e58d02250c637902962e5ed2c5e +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/abd93867c038d4d17c101ace2226d7e21303d984d7097271392bae6be478495b +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/ae216724654f3e52d3c502328caf83f773e66cc5818c38850165864005a35169 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/c8c2fd0acdb7eecaf4f66d5164204c4e8e5ebbabb6398e0ee6ec6d8af71ea672 +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/fd8fd38c229ab33755ff429ccc9919eba21b566551cbfb17d8e11e35e941ee0e +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/metadata.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/extensions_crx_cache/metadata.json +1 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/first_party_sets.db +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/first_party_sets.db-journal +0 -0
- package/.pi/.pi-puppeteer/profiles/chrome/default/segmentation_platform/ukm_db +0 -0
- package/.pi-subagents/artifacts/6d0b4431_custom.vision-agent_0_input.md +54 -0
- package/.pi-subagents/artifacts/6d0b4431_custom.vision-agent_0_meta.json +114 -0
- package/.pi-subagents/artifacts/6d0b4431_custom.vision-agent_0_output.md +22 -0
- package/.pi-subagents/artifacts/6d0b4431_custom.vision-agent_0_transcript.jsonl +7 -0
- package/package.json +2 -1
- package/server/pi-reader.ts +619 -2
- package/src/App.tsx +2 -0
- package/src/components/layout/Sidebar.tsx +2 -0
- package/src/components/providers/ProvidersModelsPage.tsx +471 -28
- package/src/components/subagents/SubagentsPage.tsx +502 -0
- package/src/data/builtin-providers.ts +8 -0
- package/src/lib/translations/en.ts +61 -1
- package/src/lib/translations/ja.ts +61 -1
- package/src/lib/translations/zh-CN.ts +61 -1
- package/src/lib/translations/zh-TW.ts +61 -1
- package/src/store/config-store.ts +59 -28
- package/src/types/index.ts +52 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/vite.config.ts +49 -1
|
@@ -22,6 +22,9 @@ import {
|
|
|
22
22
|
Loader2,
|
|
23
23
|
Zap,
|
|
24
24
|
ClipboardPaste,
|
|
25
|
+
Download,
|
|
26
|
+
SquareCheck,
|
|
27
|
+
Copy,
|
|
25
28
|
} from "lucide-react";
|
|
26
29
|
|
|
27
30
|
const API_TYPES: { value: ApiType; label: string }[] = [
|
|
@@ -43,6 +46,11 @@ function isValidHttpUrl(value: string): boolean {
|
|
|
43
46
|
}
|
|
44
47
|
}
|
|
45
48
|
|
|
49
|
+
// Defaults for models without explicit limits: 256K context, 32K output
|
|
50
|
+
// (32K matches the common max-output ceiling of current mainstream models)
|
|
51
|
+
const DEFAULT_CONTEXT_WINDOW = 262144;
|
|
52
|
+
const DEFAULT_MAX_TOKENS = 32768;
|
|
53
|
+
|
|
46
54
|
// Sanitize to a config-safe id: lowercase letters, digits and hyphens only
|
|
47
55
|
function sanitizeProviderId(name: string): string {
|
|
48
56
|
return name
|
|
@@ -54,6 +62,21 @@ function sanitizeProviderId(name: string): string {
|
|
|
54
62
|
.replace(/^-|-$/g, "");
|
|
55
63
|
}
|
|
56
64
|
|
|
65
|
+
// Non-ASCII names (e.g. 中文) sanitize to "" — fall back to the endpoint hostname
|
|
66
|
+
// so the provider still gets a valid id while keeping the original display name.
|
|
67
|
+
function deriveProviderId(name: string, baseUrl: string): string {
|
|
68
|
+
const fromName = sanitizeProviderId(name);
|
|
69
|
+
if (fromName || !name.trim()) return fromName;
|
|
70
|
+
try {
|
|
71
|
+
const host = new URL(baseUrl.trim()).hostname;
|
|
72
|
+
const skip = new Set(["api", "www", "app", "gateway", "open", "openapi", "platform"]);
|
|
73
|
+
const part = host.split(".").find((p) => p && !skip.has(p.toLowerCase()));
|
|
74
|
+
return sanitizeProviderId(part ?? "");
|
|
75
|
+
} catch {
|
|
76
|
+
return "";
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
57
80
|
// ─── Freeform Import Parser ───────────────────────────────
|
|
58
81
|
// Recognizes pasted text like:
|
|
59
82
|
// tokenrouter baseurl:https://api.example.com/v1 key:sk-xxxx
|
|
@@ -98,7 +121,8 @@ function parseProviderImport(raw: string): ParsedImport {
|
|
|
98
121
|
} else if (v.includes("/")) {
|
|
99
122
|
pushModels(v);
|
|
100
123
|
} else if (!out.name) {
|
|
101
|
-
|
|
124
|
+
// A label line like "百灵:" keeps a trailing colon — strip it
|
|
125
|
+
out.name = v.replace(/[::]\s*$/, "").trim();
|
|
102
126
|
}
|
|
103
127
|
}
|
|
104
128
|
};
|
|
@@ -122,7 +146,7 @@ function parseProviderImport(raw: string): ParsedImport {
|
|
|
122
146
|
|
|
123
147
|
export function ProvidersModelsPage() {
|
|
124
148
|
const { t } = useTranslation();
|
|
125
|
-
const { allProviders, auth, removeCustomProvider } = useConfigStore();
|
|
149
|
+
const { allProviders, auth, modelsJson, removeCustomProvider } = useConfigStore();
|
|
126
150
|
|
|
127
151
|
const builtinProviders = allProviders.filter((p) => p.type === "builtin");
|
|
128
152
|
const customProviders = allProviders.filter((p) => p.type === "custom");
|
|
@@ -165,6 +189,22 @@ export function ProvidersModelsPage() {
|
|
|
165
189
|
}
|
|
166
190
|
};
|
|
167
191
|
|
|
192
|
+
const handleDuplicateProvider = async (id: string) => {
|
|
193
|
+
const existing = modelsJson?.providers[id];
|
|
194
|
+
if (!existing) return;
|
|
195
|
+
const suffix = "-copy";
|
|
196
|
+
const newId = sanitizeProviderId(id + suffix);
|
|
197
|
+
// Copy config but clear apiKey, authHeader, and models
|
|
198
|
+
const cfg: CustomProviderConfig = {
|
|
199
|
+
baseUrl: existing.baseUrl,
|
|
200
|
+
api: existing.api,
|
|
201
|
+
headers: existing.headers,
|
|
202
|
+
modelOverrides: existing.modelOverrides,
|
|
203
|
+
};
|
|
204
|
+
const ok = await useConfigStore.getState().addCustomProvider(newId, cfg);
|
|
205
|
+
if (ok) setSelectedId(newId);
|
|
206
|
+
};
|
|
207
|
+
|
|
168
208
|
return (
|
|
169
209
|
<div className="space-y-6">
|
|
170
210
|
<div>
|
|
@@ -250,6 +290,7 @@ export function ProvidersModelsPage() {
|
|
|
250
290
|
key={`${selected.id}:${importBump}`}
|
|
251
291
|
provider={selected}
|
|
252
292
|
onDelete={() => setDeleteConfirm(selected.id)}
|
|
293
|
+
onDuplicate={() => handleDuplicateProvider(selected.id)}
|
|
253
294
|
/>
|
|
254
295
|
) : (
|
|
255
296
|
<div className="flex h-40 items-center justify-center text-sm text-gray-500">
|
|
@@ -417,7 +458,7 @@ function TestConnectionButton({ baseUrl, apiKey }: { baseUrl: string; apiKey?: s
|
|
|
417
458
|
|
|
418
459
|
// ─── Provider Detail Panel ────────────────────────────────
|
|
419
460
|
|
|
420
|
-
function ProviderDetail({ provider, onDelete }: { provider: Provider; onDelete: () => void }) {
|
|
461
|
+
function ProviderDetail({ provider, onDelete, onDuplicate }: { provider: Provider; onDelete: () => void; onDuplicate: () => void }) {
|
|
421
462
|
const { t } = useTranslation();
|
|
422
463
|
const {
|
|
423
464
|
auth,
|
|
@@ -436,6 +477,7 @@ function ProviderDetail({ provider, onDelete }: { provider: Provider; onDelete:
|
|
|
436
477
|
const isCustom = provider.type === "custom";
|
|
437
478
|
const savedKey = provider.apiKey ?? auth?.[provider.id]?.key ?? "";
|
|
438
479
|
|
|
480
|
+
const [providerName, setProviderName] = useState(provider.name ?? "");
|
|
439
481
|
const [baseUrl, setBaseUrl] = useState(provider.baseUrl ?? "");
|
|
440
482
|
const [api, setApi] = useState<ApiType>(provider.api ?? "openai-completions");
|
|
441
483
|
const [apiKey, setApiKey] = useState(savedKey);
|
|
@@ -446,10 +488,113 @@ function ProviderDetail({ provider, onDelete }: { provider: Provider; onDelete:
|
|
|
446
488
|
const [modelQuery, setModelQuery] = useState("");
|
|
447
489
|
const [saveState, setSaveState] = useState<"idle" | "saving" | "saved" | "error">("idle");
|
|
448
490
|
|
|
491
|
+
// ─── Fetch Models State ───
|
|
492
|
+
const [fetchOpen, setFetchOpen] = useState(false);
|
|
493
|
+
const [fetching, setFetching] = useState(false);
|
|
494
|
+
const [fetchError, setFetchError] = useState<string | null>(null);
|
|
495
|
+
const [fetchedModels, setFetchedModels] = useState<{ id: string; contextWindow?: number; maxTokens?: number; vision?: boolean }[]>([]);
|
|
496
|
+
const [fetchSelected, setFetchSelected] = useState<Set<string>>(new Set());
|
|
497
|
+
const [fetchImported, setFetchImported] = useState<number | null>(null);
|
|
498
|
+
|
|
499
|
+
// ─── Per-Model Test State ───
|
|
500
|
+
const [modelTests, setModelTests] = useState<Map<string, TestState>>(new Map());
|
|
501
|
+
const getModelTest = (modelId: string) => modelTests.get(modelId) ?? { status: "idle" };
|
|
502
|
+
|
|
503
|
+
const existingModelIds = new Set(provider.models.map((m) => m.id));
|
|
504
|
+
const availableModels = fetchedModels.filter((m) => !existingModelIds.has(m.id));
|
|
505
|
+
const isSelected = (id: string) => fetchSelected.has(id);
|
|
506
|
+
const allSelected = availableModels.length > 0 && availableModels.every((m) => isSelected(m.id));
|
|
507
|
+
|
|
508
|
+
const toggleSelect = (id: string) => {
|
|
509
|
+
setFetchSelected((prev) => {
|
|
510
|
+
const next = new Set(prev);
|
|
511
|
+
next.has(id) ? next.delete(id) : next.add(id);
|
|
512
|
+
return next;
|
|
513
|
+
});
|
|
514
|
+
};
|
|
515
|
+
const toggleAll = () => {
|
|
516
|
+
setFetchSelected((prev) => {
|
|
517
|
+
if (availableModels.every((m) => isSelected(m.id))) return new Set();
|
|
518
|
+
return new Set(availableModels.map((m) => m.id));
|
|
519
|
+
});
|
|
520
|
+
};
|
|
521
|
+
|
|
522
|
+
const fetchModels = async () => {
|
|
523
|
+
if (!baseUrl.trim() || !isValidHttpUrl(baseUrl.trim())) return;
|
|
524
|
+
setFetchOpen(true);
|
|
525
|
+
setFetching(true);
|
|
526
|
+
setFetchError(null);
|
|
527
|
+
setFetchedModels([]);
|
|
528
|
+
setFetchSelected(new Set());
|
|
529
|
+
setFetchImported(null);
|
|
530
|
+
try {
|
|
531
|
+
const res = await fetch("/api/pi/provider-models", {
|
|
532
|
+
method: "POST",
|
|
533
|
+
headers: { "Content-Type": "application/json" },
|
|
534
|
+
body: JSON.stringify({ baseUrl: baseUrl.trim(), apiKey, providerId: provider.id }),
|
|
535
|
+
});
|
|
536
|
+
const data = await res.json();
|
|
537
|
+
if (data.error) setFetchError(data.error);
|
|
538
|
+
else setFetchedModels(data.models ?? []);
|
|
539
|
+
} catch {
|
|
540
|
+
setFetchError("network error");
|
|
541
|
+
} finally {
|
|
542
|
+
setFetching(false);
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
|
|
546
|
+
const handleImportFetched = async () => {
|
|
547
|
+
const selected = availableModels.filter((m) => isSelected(m.id));
|
|
548
|
+
if (selected.length === 0) return;
|
|
549
|
+
selected.forEach((m) => {
|
|
550
|
+
addModel(provider.id, { id: m.id, contextWindow: m.contextWindow ?? DEFAULT_CONTEXT_WINDOW, maxTokens: m.maxTokens ?? DEFAULT_MAX_TOKENS, input: m.vision ? ["text", "image"] : ["text"] } as Model);
|
|
551
|
+
});
|
|
552
|
+
// Enable in a single batched write — per-model addEnabledModel calls race
|
|
553
|
+
// on the same settings snapshot and overwrite each other.
|
|
554
|
+
const list = settings?.enabledModels ?? [];
|
|
555
|
+
const refs = selected.map((m) => `${provider.id}/${m.id}`);
|
|
556
|
+
await updateSettings({ enabledModels: Array.from(new Set([...list, ...refs])) });
|
|
557
|
+
setFetchImported(selected.length);
|
|
558
|
+
setTimeout(() => {
|
|
559
|
+
setFetchOpen(false); setFetchedModels([]); setFetchSelected(new Set());
|
|
560
|
+
setFetchImported(null); setFetchError(null);
|
|
561
|
+
}, 1500);
|
|
562
|
+
};
|
|
563
|
+
|
|
564
|
+
const handleTestModel = async (m: Model) => {
|
|
565
|
+
const modelId = m.id;
|
|
566
|
+
setModelTests((prev) => {
|
|
567
|
+
const next = new Map(prev);
|
|
568
|
+
next.set(modelId, { status: "testing" });
|
|
569
|
+
return next;
|
|
570
|
+
});
|
|
571
|
+
try {
|
|
572
|
+
const res = await fetch("/api/pi/model-test", {
|
|
573
|
+
method: "POST",
|
|
574
|
+
headers: { "Content-Type": "application/json" },
|
|
575
|
+
body: JSON.stringify({ baseUrl: baseUrl.trim(), modelId, apiKey, apiType: api ?? undefined }),
|
|
576
|
+
});
|
|
577
|
+
const data = await res.json();
|
|
578
|
+
setModelTests((prev) => {
|
|
579
|
+
const next = new Map(prev);
|
|
580
|
+
next.set(modelId, data.success
|
|
581
|
+
? { status: "ok" as const, latencyMs: data.latencyMs ?? 0 }
|
|
582
|
+
: { status: "fail" as const, message: data.message ?? "unknown" });
|
|
583
|
+
return next;
|
|
584
|
+
});
|
|
585
|
+
} catch {
|
|
586
|
+
setModelTests((prev) => {
|
|
587
|
+
const next = new Map(prev);
|
|
588
|
+
next.set(modelId, { status: "fail" as const, message: "network error" });
|
|
589
|
+
return next;
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
};
|
|
593
|
+
|
|
449
594
|
const urlInvalid = isCustom && baseUrl.trim() !== "" && !isValidHttpUrl(baseUrl.trim());
|
|
450
595
|
|
|
451
596
|
const dirty =
|
|
452
|
-
(isCustom && (baseUrl !== (provider.baseUrl ?? "") || api !== (provider.api ?? "openai-completions"))) ||
|
|
597
|
+
(isCustom && (providerName !== (provider.name ?? "") || baseUrl !== (provider.baseUrl ?? "") || api !== (provider.api ?? "openai-completions"))) ||
|
|
453
598
|
apiKey !== savedKey;
|
|
454
599
|
|
|
455
600
|
const handleSave = async () => {
|
|
@@ -457,6 +602,7 @@ function ProviderDetail({ provider, onDelete }: { provider: Provider; onDelete:
|
|
|
457
602
|
let ok = true;
|
|
458
603
|
if (isCustom) {
|
|
459
604
|
ok = await updateCustomProvider(provider.id, {
|
|
605
|
+
name: providerName || undefined,
|
|
460
606
|
baseUrl: baseUrl || undefined,
|
|
461
607
|
api,
|
|
462
608
|
apiKey: apiKey || undefined,
|
|
@@ -506,6 +652,15 @@ function ProviderDetail({ provider, onDelete }: { provider: Provider; onDelete:
|
|
|
506
652
|
{isCustom ? t("providers.custom") : t("providers.builtin")}
|
|
507
653
|
</Badge>
|
|
508
654
|
{savedKey && <Badge variant="success">{t("providers.configured")}</Badge>}
|
|
655
|
+
{isCustom && (
|
|
656
|
+
<button
|
|
657
|
+
onClick={onDuplicate}
|
|
658
|
+
className="rounded-lg p-2 text-gray-500 transition-colors hover:bg-blue-500/10 hover:text-blue-400"
|
|
659
|
+
title={t("providers.duplicate_provider")}
|
|
660
|
+
>
|
|
661
|
+
<Copy className="h-4 w-4" />
|
|
662
|
+
</button>
|
|
663
|
+
)}
|
|
509
664
|
{isCustom && (
|
|
510
665
|
<button
|
|
511
666
|
onClick={onDelete}
|
|
@@ -517,6 +672,20 @@ function ProviderDetail({ provider, onDelete }: { provider: Provider; onDelete:
|
|
|
517
672
|
)}
|
|
518
673
|
</div>
|
|
519
674
|
|
|
675
|
+
|
|
676
|
+
{/* Name (custom only) */}
|
|
677
|
+
{isCustom && (
|
|
678
|
+
<div>
|
|
679
|
+
<label className="block text-sm text-gray-400">{t("providers_models.name")}</label>
|
|
680
|
+
<input
|
|
681
|
+
type="text"
|
|
682
|
+
value={providerName}
|
|
683
|
+
onChange={(e) => setProviderName(e.target.value)}
|
|
684
|
+
placeholder="My Provider"
|
|
685
|
+
className="mt-1.5 w-full rounded-lg border border-gray-700 bg-gray-800 px-3 py-2.5 text-sm text-white"
|
|
686
|
+
/>
|
|
687
|
+
</div>
|
|
688
|
+
)}
|
|
520
689
|
{/* Base URL */}
|
|
521
690
|
<div>
|
|
522
691
|
<label className="block text-sm text-gray-400">{t("providers.base_url")}</label>
|
|
@@ -684,6 +853,43 @@ function ProviderDetail({ provider, onDelete }: { provider: Provider; onDelete:
|
|
|
684
853
|
>
|
|
685
854
|
{isEnabled(m.id) ? t("models.enabled") : t("models.disabled")}
|
|
686
855
|
</button>
|
|
856
|
+
{/* Test model */}
|
|
857
|
+
{(() => {
|
|
858
|
+
const test = getModelTest(m.id);
|
|
859
|
+
if (test.status === "testing") return null;
|
|
860
|
+
return (
|
|
861
|
+
<button
|
|
862
|
+
onClick={() => handleTestModel(m)}
|
|
863
|
+
className="rounded-md p-1.5 text-gray-500 transition-colors hover:bg-gray-700 hover:text-gray-200"
|
|
864
|
+
title={t("models.test_model")}
|
|
865
|
+
>
|
|
866
|
+
<Zap className="h-3.5 w-3.5" />
|
|
867
|
+
</button>
|
|
868
|
+
);
|
|
869
|
+
})()}
|
|
870
|
+
{/* Model test result */}
|
|
871
|
+
{(() => {
|
|
872
|
+
const test = getModelTest(m.id);
|
|
873
|
+
if (test.status === "ok") return (
|
|
874
|
+
<span className="flex items-center gap-1 text-xs text-emerald-400">
|
|
875
|
+
<Check className="h-3.5 w-3.5" />
|
|
876
|
+
{t("providers_models.test_ok", String(test.latencyMs))}
|
|
877
|
+
</span>
|
|
878
|
+
);
|
|
879
|
+
if (test.status === "fail") return (
|
|
880
|
+
<span className="flex items-center gap-1 text-xs text-red-400">
|
|
881
|
+
<X className="h-3.5 w-3.5" />
|
|
882
|
+
{t("providers_models.test_fail", test.message)}
|
|
883
|
+
</span>
|
|
884
|
+
);
|
|
885
|
+
if (test.status === "testing") return (
|
|
886
|
+
<span className="flex items-center gap-1 text-xs text-gray-400">
|
|
887
|
+
<Loader2 className="h-3.5 w-3.5 animate-spin" />
|
|
888
|
+
{t("providers_models.testing")}
|
|
889
|
+
</span>
|
|
890
|
+
);
|
|
891
|
+
return null;
|
|
892
|
+
})()}
|
|
687
893
|
<button
|
|
688
894
|
onClick={() => setEditModel(m)}
|
|
689
895
|
className="rounded-md p-1.5 text-gray-500 transition-colors hover:bg-gray-700 hover:text-gray-200"
|
|
@@ -701,15 +907,109 @@ function ProviderDetail({ provider, onDelete }: { provider: Provider; onDelete:
|
|
|
701
907
|
</div>
|
|
702
908
|
))}
|
|
703
909
|
</div>
|
|
704
|
-
<
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
910
|
+
<div className="flex flex-wrap gap-2 mt-3">
|
|
911
|
+
<button
|
|
912
|
+
onClick={fetchModels}
|
|
913
|
+
disabled={!baseUrl.trim() || !isValidHttpUrl(baseUrl.trim()) || fetching}
|
|
914
|
+
title={
|
|
915
|
+
!baseUrl.trim() || !isValidHttpUrl(baseUrl.trim())
|
|
916
|
+
? t("providers_models.fetch_no_endpoint")
|
|
917
|
+
: t("providers_models.fetch_models")
|
|
918
|
+
}
|
|
919
|
+
className="flex items-center gap-2 rounded-lg border border-gray-700 px-4 py-2 text-sm text-gray-300 transition-colors hover:bg-gray-800 disabled:cursor-not-allowed disabled:opacity-50"
|
|
920
|
+
>
|
|
921
|
+
{fetching ? <Loader2 className="h-4 w-4 animate-spin" /> : <Download className="h-4 w-4" />}
|
|
922
|
+
{fetching ? t("providers_models.fetching") : t("providers_models.fetch_models")}
|
|
923
|
+
</button>
|
|
924
|
+
<button
|
|
925
|
+
onClick={() => setShowAddModel(true)}
|
|
926
|
+
className="flex items-center gap-2 rounded-lg border border-gray-700 px-4 py-2 text-sm text-gray-300 transition-colors hover:bg-gray-800"
|
|
927
|
+
>
|
|
928
|
+
<Plus className="h-4 w-4" />
|
|
929
|
+
{t("models.add_model")}
|
|
930
|
+
</button>
|
|
931
|
+
</div>
|
|
711
932
|
</div>
|
|
712
933
|
|
|
934
|
+
|
|
935
|
+
{/* Fetch Models Modal */}
|
|
936
|
+
<Modal
|
|
937
|
+
open={fetchOpen}
|
|
938
|
+
onClose={() => { setFetchOpen(false); setFetchedModels([]); setFetchSelected(new Set()); setFetchError(null); setFetchImported(null); }}
|
|
939
|
+
title={t("providers_models.fetch_title")}
|
|
940
|
+
size="lg"
|
|
941
|
+
>
|
|
942
|
+
<div className="space-y-4">
|
|
943
|
+
<p className="text-sm text-gray-400">{t("providers_models.fetch_desc", provider.name)}</p>
|
|
944
|
+
{fetching && (
|
|
945
|
+
<div className="flex items-center gap-2 py-6 text-gray-400">
|
|
946
|
+
<Loader2 className="h-5 w-5 animate-spin" />
|
|
947
|
+
<span>{t("providers_models.fetching")}</span>
|
|
948
|
+
</div>
|
|
949
|
+
)}
|
|
950
|
+
{fetchError && !fetching && (
|
|
951
|
+
<div className="flex items-start gap-3 rounded-lg border border-red-500/30 bg-red-500/10 p-4">
|
|
952
|
+
<X className="h-5 w-5 shrink-0 text-red-400 mt-0.5" />
|
|
953
|
+
<p className="text-sm text-red-300">{t("providers_models.fetch_error", fetchError)}</p>
|
|
954
|
+
</div>
|
|
955
|
+
)}
|
|
956
|
+
{!fetching && !fetchError && availableModels.length === 0 && fetchedModels.length === 0 && (
|
|
957
|
+
<p className="text-sm text-gray-500">{t("providers_models.fetch_empty")}</p>
|
|
958
|
+
)}
|
|
959
|
+
{!fetching && !fetchError && availableModels.length > 0 && (
|
|
960
|
+
<>
|
|
961
|
+
<div className="flex items-center justify-between">
|
|
962
|
+
<span className="text-sm text-gray-400">
|
|
963
|
+
{t("providers_models.selected_count", String(fetchSelected.size), String(availableModels.length))}
|
|
964
|
+
</span>
|
|
965
|
+
<button onClick={toggleAll} className="rounded-md px-2 py-1 text-xs">
|
|
966
|
+
{allSelected
|
|
967
|
+
? <span className="text-amber-400">{t("providers_models.deselect_all")}</span>
|
|
968
|
+
: <span className="text-emerald-400">{t("providers_models.select_all")}</span>
|
|
969
|
+
}
|
|
970
|
+
</button>
|
|
971
|
+
</div>
|
|
972
|
+
<div className="max-h-72 overflow-y-auto space-y-1.5 rounded-lg border border-gray-800 p-3">
|
|
973
|
+
{availableModels.map((m) => (
|
|
974
|
+
<label key={m.id} className="flex items-center gap-3 rounded-lg px-2 py-2 transition-colors hover:bg-gray-800 cursor-pointer">
|
|
975
|
+
<div className="flex h-5 w-5 shrink-0 items-center justify-center rounded border"
|
|
976
|
+
style={{ backgroundColor: isSelected(m.id) ? "#3b82f6" : "transparent", borderColor: isSelected(m.id) ? "#3b82f6" : "#4b5563" }}
|
|
977
|
+
>
|
|
978
|
+
{isSelected(m.id) && <SquareCheck className="h-4 w-4 text-white" />}
|
|
979
|
+
</div>
|
|
980
|
+
<input type="checkbox" checked={isSelected(m.id)} onChange={() => toggleSelect(m.id)} className="sr-only" />
|
|
981
|
+
<span className="min-w-0 flex-1 truncate font-mono text-sm text-gray-200">{m.id}</span>
|
|
982
|
+
<span className={`flex shrink-0 items-center gap-1 rounded border px-1.5 py-0.5 text-xs ${m.vision ? "border-blue-500/40 bg-blue-500/10 text-blue-400" : "border-gray-700 bg-gray-800 text-gray-500"}`}>
|
|
983
|
+
{m.vision && <ImageIcon className="h-3 w-3" />}
|
|
984
|
+
{m.vision ? t("providers_models.modality_vision") : t("providers_models.modality_text")}
|
|
985
|
+
</span>
|
|
986
|
+
{m.contextWindow && <span className="rounded border border-gray-700 bg-gray-800 px-1.5 py-0.5 text-xs text-gray-500 font-mono">{formatTokens(m.contextWindow)}</span>}
|
|
987
|
+
{m.maxTokens && <span className="rounded border border-gray-700 bg-gray-800 px-1.5 py-0.5 text-xs text-gray-500 font-mono">{formatTokens(m.maxTokens)}</span>}
|
|
988
|
+
</label>
|
|
989
|
+
))}
|
|
990
|
+
</div>
|
|
991
|
+
</>
|
|
992
|
+
)}
|
|
993
|
+
<div className="flex items-center justify-end gap-3 pt-1">
|
|
994
|
+
{fetchImported !== null && (
|
|
995
|
+
<span className="flex items-center gap-1 text-sm text-emerald-400">
|
|
996
|
+
<Check className="h-4 w-4" />
|
|
997
|
+
{t("providers_models.import_done", String(fetchImported))}
|
|
998
|
+
</span>
|
|
999
|
+
)}
|
|
1000
|
+
<button onClick={() => { setFetchOpen(false); setFetchedModels([]); setFetchSelected(new Set()); setFetchError(null); setFetchImported(null); }}
|
|
1001
|
+
className="rounded-lg px-4 py-2 text-sm text-gray-400 hover:bg-gray-800">
|
|
1002
|
+
{t("models.cancel")}
|
|
1003
|
+
</button>
|
|
1004
|
+
<button onClick={handleImportFetched} disabled={fetching || fetchSelected.size === 0}
|
|
1005
|
+
className="flex items-center gap-2 rounded-lg px-4 py-2 text-sm font-medium transition-colors disabled:opacity-50"
|
|
1006
|
+
style={{ backgroundColor: "#3b82f6", color: "#ffffff" }}>
|
|
1007
|
+
{t("providers_models.confirm_import")}
|
|
1008
|
+
</button>
|
|
1009
|
+
</div>
|
|
1010
|
+
</div>
|
|
1011
|
+
</Modal>
|
|
1012
|
+
|
|
713
1013
|
{/* Edit Model Modal */}
|
|
714
1014
|
<Modal
|
|
715
1015
|
open={!!editModel}
|
|
@@ -808,8 +1108,8 @@ function ModelForm({
|
|
|
808
1108
|
name: "",
|
|
809
1109
|
reasoning: false,
|
|
810
1110
|
input: ["text"],
|
|
811
|
-
contextWindow:
|
|
812
|
-
maxTokens:
|
|
1111
|
+
contextWindow: DEFAULT_CONTEXT_WINDOW,
|
|
1112
|
+
maxTokens: DEFAULT_MAX_TOKENS,
|
|
813
1113
|
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
814
1114
|
}
|
|
815
1115
|
);
|
|
@@ -843,8 +1143,8 @@ function ModelForm({
|
|
|
843
1143
|
<label className="block text-xs font-medium text-gray-400">{t("models.context_window")}</label>
|
|
844
1144
|
<input
|
|
845
1145
|
type="number"
|
|
846
|
-
value={form.contextWindow ??
|
|
847
|
-
onChange={(e) => setForm({ ...form, contextWindow: parseInt(e.target.value) ||
|
|
1146
|
+
value={form.contextWindow ?? DEFAULT_CONTEXT_WINDOW}
|
|
1147
|
+
onChange={(e) => setForm({ ...form, contextWindow: parseInt(e.target.value) || DEFAULT_CONTEXT_WINDOW })}
|
|
848
1148
|
className="mt-1 w-full rounded-lg border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-white"
|
|
849
1149
|
/>
|
|
850
1150
|
</div>
|
|
@@ -852,8 +1152,8 @@ function ModelForm({
|
|
|
852
1152
|
<label className="block text-xs font-medium text-gray-400">{t("models.max_tokens")}</label>
|
|
853
1153
|
<input
|
|
854
1154
|
type="number"
|
|
855
|
-
value={form.maxTokens ??
|
|
856
|
-
onChange={(e) => setForm({ ...form, maxTokens: parseInt(e.target.value) ||
|
|
1155
|
+
value={form.maxTokens ?? DEFAULT_MAX_TOKENS}
|
|
1156
|
+
onChange={(e) => setForm({ ...form, maxTokens: parseInt(e.target.value) || DEFAULT_MAX_TOKENS })}
|
|
857
1157
|
className="mt-1 w-full rounded-lg border border-gray-700 bg-gray-800 px-3 py-2 text-sm text-white"
|
|
858
1158
|
/>
|
|
859
1159
|
</div>
|
|
@@ -952,7 +1252,7 @@ function AddProviderForm({
|
|
|
952
1252
|
const [submitting, setSubmitting] = useState(false);
|
|
953
1253
|
const [submitError, setSubmitError] = useState(false);
|
|
954
1254
|
|
|
955
|
-
const id =
|
|
1255
|
+
const id = deriveProviderId(name, baseUrl);
|
|
956
1256
|
const idExists = !!id && allProviders.some((p) => p.id === id);
|
|
957
1257
|
const urlInvalid = baseUrl.trim() !== "" && !isValidHttpUrl(baseUrl.trim());
|
|
958
1258
|
|
|
@@ -961,6 +1261,7 @@ function AddProviderForm({
|
|
|
961
1261
|
setSubmitting(true);
|
|
962
1262
|
setSubmitError(false);
|
|
963
1263
|
const ok = await onSubmit(id, {
|
|
1264
|
+
name: name.trim() || undefined,
|
|
964
1265
|
baseUrl,
|
|
965
1266
|
api,
|
|
966
1267
|
apiKey: apiKey || undefined,
|
|
@@ -996,6 +1297,8 @@ function AddProviderForm({
|
|
|
996
1297
|
<p className="mt-1 text-xs text-red-400">{t("providers_models.id_exists", id)}</p>
|
|
997
1298
|
) : id ? (
|
|
998
1299
|
<p className="mt-1 text-xs text-gray-500">{t("providers_models.id_preview", id)}</p>
|
|
1300
|
+
) : name.trim() ? (
|
|
1301
|
+
<p className="mt-1 text-xs text-red-400">{t("providers_models.id_invalid")}</p>
|
|
999
1302
|
) : null}
|
|
1000
1303
|
</div>
|
|
1001
1304
|
|
|
@@ -1152,6 +1455,13 @@ function ImportProviderModal({
|
|
|
1152
1455
|
const [submitting, setSubmitting] = useState(false);
|
|
1153
1456
|
const [submitError, setSubmitError] = useState(false);
|
|
1154
1457
|
|
|
1458
|
+
// ─── Fetch models from the endpoint (one-shot import) ───
|
|
1459
|
+
const [fetching, setFetching] = useState(false);
|
|
1460
|
+
const [fetchErr, setFetchErr] = useState<string | null>(null);
|
|
1461
|
+
const [fetchDone, setFetchDone] = useState(false);
|
|
1462
|
+
const [fetchedModels, setFetchedModels] = useState<{ id: string; contextWindow?: number; maxTokens?: number; vision?: boolean }[]>([]);
|
|
1463
|
+
const [fetchSel, setFetchSel] = useState<Set<string>>(new Set());
|
|
1464
|
+
|
|
1155
1465
|
// Re-parse on every paste/edit of the raw text; fields below stay editable
|
|
1156
1466
|
const handleText = (value: string) => {
|
|
1157
1467
|
setText(value);
|
|
@@ -1171,9 +1481,14 @@ function ImportProviderModal({
|
|
|
1171
1481
|
setModelIds([]);
|
|
1172
1482
|
setSubmitting(false);
|
|
1173
1483
|
setSubmitError(false);
|
|
1484
|
+
setFetching(false);
|
|
1485
|
+
setFetchErr(null);
|
|
1486
|
+
setFetchDone(false);
|
|
1487
|
+
setFetchedModels([]);
|
|
1488
|
+
setFetchSel(new Set());
|
|
1174
1489
|
};
|
|
1175
1490
|
|
|
1176
|
-
const id =
|
|
1491
|
+
const id = deriveProviderId(name, baseUrl);
|
|
1177
1492
|
const existing = allProviders.find((p) => p.id === id);
|
|
1178
1493
|
const builtinConflict = existing?.type === "builtin";
|
|
1179
1494
|
const mergeTarget = existing?.type === "custom" ? existing : null;
|
|
@@ -1183,19 +1498,79 @@ function ImportProviderModal({
|
|
|
1183
1498
|
const canSubmit =
|
|
1184
1499
|
!!id && (!!baseUrl.trim() || !!mergeTarget) && !urlInvalid && !builtinConflict && !submitting;
|
|
1185
1500
|
|
|
1501
|
+
// Fetched models not already covered by the parsed model chips
|
|
1502
|
+
const availableFetched = fetchedModels.filter((m) => !modelIds.includes(m.id));
|
|
1503
|
+
const allFetchedSelected =
|
|
1504
|
+
availableFetched.length > 0 && availableFetched.every((m) => fetchSel.has(m.id));
|
|
1505
|
+
|
|
1506
|
+
const handleFetchModels = async () => {
|
|
1507
|
+
if (!isValidHttpUrl(baseUrl.trim()) || fetching) return;
|
|
1508
|
+
setFetching(true);
|
|
1509
|
+
setFetchErr(null);
|
|
1510
|
+
setFetchDone(false);
|
|
1511
|
+
try {
|
|
1512
|
+
const res = await fetch("/api/pi/provider-models", {
|
|
1513
|
+
method: "POST",
|
|
1514
|
+
headers: { "Content-Type": "application/json" },
|
|
1515
|
+
body: JSON.stringify({ baseUrl: baseUrl.trim(), apiKey, providerId: id || undefined }),
|
|
1516
|
+
});
|
|
1517
|
+
const data = await res.json();
|
|
1518
|
+
if (data.error) {
|
|
1519
|
+
setFetchErr(data.error);
|
|
1520
|
+
} else {
|
|
1521
|
+
const models = (data.models ?? []) as { id: string; contextWindow?: number; maxTokens?: number; vision?: boolean }[];
|
|
1522
|
+
setFetchedModels(models);
|
|
1523
|
+
// Select everything by default so import is a single click
|
|
1524
|
+
setFetchSel(new Set(models.map((m) => m.id)));
|
|
1525
|
+
}
|
|
1526
|
+
} catch {
|
|
1527
|
+
setFetchErr("network error");
|
|
1528
|
+
} finally {
|
|
1529
|
+
setFetching(false);
|
|
1530
|
+
setFetchDone(true);
|
|
1531
|
+
}
|
|
1532
|
+
};
|
|
1533
|
+
|
|
1534
|
+
const toggleFetched = (mid: string) => {
|
|
1535
|
+
setFetchSel((prev) => {
|
|
1536
|
+
const next = new Set(prev);
|
|
1537
|
+
next.has(mid) ? next.delete(mid) : next.add(mid);
|
|
1538
|
+
return next;
|
|
1539
|
+
});
|
|
1540
|
+
};
|
|
1541
|
+
const toggleAllFetched = () => {
|
|
1542
|
+
setFetchSel(allFetchedSelected ? new Set() : new Set(availableFetched.map((m) => m.id)));
|
|
1543
|
+
};
|
|
1544
|
+
|
|
1186
1545
|
const handleImport = async () => {
|
|
1187
1546
|
if (!canSubmit) return;
|
|
1188
1547
|
setSubmitting(true);
|
|
1189
1548
|
setSubmitError(false);
|
|
1190
1549
|
const store = useConfigStore.getState();
|
|
1191
|
-
const
|
|
1192
|
-
|
|
1193
|
-
name: mid.split("/").pop() || mid,
|
|
1194
|
-
input: ["text"],
|
|
1195
|
-
contextWindow: 128000,
|
|
1196
|
-
maxTokens: 16384,
|
|
1550
|
+
const defaults = {
|
|
1551
|
+
input: ["text"] as Model["input"],
|
|
1197
1552
|
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
|
1198
|
-
}
|
|
1553
|
+
};
|
|
1554
|
+
const selectedFetched = availableFetched.filter((m) => fetchSel.has(m.id));
|
|
1555
|
+
const newModels: Model[] = [
|
|
1556
|
+
...modelIds.map((mid) => ({
|
|
1557
|
+
id: mid,
|
|
1558
|
+
name: mid.split("/").pop() || mid,
|
|
1559
|
+
contextWindow: DEFAULT_CONTEXT_WINDOW,
|
|
1560
|
+
maxTokens: DEFAULT_MAX_TOKENS,
|
|
1561
|
+
...defaults,
|
|
1562
|
+
})),
|
|
1563
|
+
// Fetched models carry real context/output limits when the endpoint provides them
|
|
1564
|
+
...selectedFetched.map((m) => ({
|
|
1565
|
+
id: m.id,
|
|
1566
|
+
name: m.id.split("/").pop() || m.id,
|
|
1567
|
+
contextWindow: m.contextWindow ?? DEFAULT_CONTEXT_WINDOW,
|
|
1568
|
+
maxTokens: m.maxTokens ?? DEFAULT_MAX_TOKENS,
|
|
1569
|
+
...defaults,
|
|
1570
|
+
input: (m.vision ? ["text", "image"] : ["text"]) as Model["input"],
|
|
1571
|
+
})),
|
|
1572
|
+
];
|
|
1573
|
+
const newIds = newModels.map((m) => m.id);
|
|
1199
1574
|
|
|
1200
1575
|
let ok: boolean;
|
|
1201
1576
|
if (mergeTarget) {
|
|
@@ -1213,6 +1588,7 @@ function ImportProviderModal({
|
|
|
1213
1588
|
});
|
|
1214
1589
|
} else {
|
|
1215
1590
|
ok = await store.addCustomProvider(id, {
|
|
1591
|
+
name: name.trim() || undefined,
|
|
1216
1592
|
baseUrl: baseUrl.trim(),
|
|
1217
1593
|
api,
|
|
1218
1594
|
apiKey: apiKey || undefined,
|
|
@@ -1221,8 +1597,8 @@ function ImportProviderModal({
|
|
|
1221
1597
|
}
|
|
1222
1598
|
|
|
1223
1599
|
// Imported models are enabled by default (settings.enabledModels refs)
|
|
1224
|
-
if (ok &&
|
|
1225
|
-
const refs =
|
|
1600
|
+
if (ok && newIds.length > 0) {
|
|
1601
|
+
const refs = newIds.map((m) => `${id}/${m}`);
|
|
1226
1602
|
const list = store.settings?.enabledModels ?? [];
|
|
1227
1603
|
await store.updateSettings({ enabledModels: Array.from(new Set([...list, ...refs])) });
|
|
1228
1604
|
}
|
|
@@ -1284,6 +1660,8 @@ function ImportProviderModal({
|
|
|
1284
1660
|
</p>
|
|
1285
1661
|
) : id ? (
|
|
1286
1662
|
<p className="mt-1 text-xs text-gray-500">{t("providers_models.id_preview", id)}</p>
|
|
1663
|
+
) : name.trim() ? (
|
|
1664
|
+
<p className="mt-1 text-xs text-red-400">{t("providers_models.id_invalid")}</p>
|
|
1287
1665
|
) : null}
|
|
1288
1666
|
</div>
|
|
1289
1667
|
<div>
|
|
@@ -1358,6 +1736,71 @@ function ImportProviderModal({
|
|
|
1358
1736
|
</div>
|
|
1359
1737
|
)}
|
|
1360
1738
|
|
|
1739
|
+
{/* Fetch models from the endpoint — one-shot: fetch, tick, import */}
|
|
1740
|
+
<div>
|
|
1741
|
+
<div className="flex flex-wrap items-center gap-3">
|
|
1742
|
+
<button
|
|
1743
|
+
onClick={handleFetchModels}
|
|
1744
|
+
disabled={!isValidHttpUrl(baseUrl.trim()) || fetching}
|
|
1745
|
+
title={
|
|
1746
|
+
!isValidHttpUrl(baseUrl.trim())
|
|
1747
|
+
? t("providers_models.fetch_no_endpoint")
|
|
1748
|
+
: t("providers_models.fetch_models")
|
|
1749
|
+
}
|
|
1750
|
+
className="flex items-center gap-2 rounded-lg border border-gray-700 px-4 py-2 text-sm text-gray-300 transition-colors hover:bg-gray-800 disabled:cursor-not-allowed disabled:opacity-50"
|
|
1751
|
+
>
|
|
1752
|
+
{fetching ? <Loader2 className="h-4 w-4 animate-spin" /> : <Download className="h-4 w-4" />}
|
|
1753
|
+
{fetching ? t("providers_models.fetching") : t("providers_models.fetch_models")}
|
|
1754
|
+
</button>
|
|
1755
|
+
{fetchErr && (
|
|
1756
|
+
<span className="text-xs text-red-400">{t("providers_models.fetch_error", fetchErr)}</span>
|
|
1757
|
+
)}
|
|
1758
|
+
{fetchDone && !fetchErr && fetchedModels.length === 0 && (
|
|
1759
|
+
<span className="text-xs text-amber-400">{t("providers_models.fetch_empty")}</span>
|
|
1760
|
+
)}
|
|
1761
|
+
</div>
|
|
1762
|
+
{availableFetched.length > 0 && (
|
|
1763
|
+
<div className="mt-2 rounded-lg border border-gray-700">
|
|
1764
|
+
<div className="flex items-center justify-between border-b border-gray-700 px-3 py-2">
|
|
1765
|
+
<span className="text-xs text-gray-400">
|
|
1766
|
+
{t("providers_models.selected_count", String(fetchSel.size), String(availableFetched.length))}
|
|
1767
|
+
</span>
|
|
1768
|
+
<button
|
|
1769
|
+
onClick={toggleAllFetched}
|
|
1770
|
+
className="text-xs text-blue-400 hover:text-blue-300"
|
|
1771
|
+
>
|
|
1772
|
+
{allFetchedSelected ? t("providers_models.deselect_all") : t("providers_models.select_all")}
|
|
1773
|
+
</button>
|
|
1774
|
+
</div>
|
|
1775
|
+
<div className="max-h-44 overflow-y-auto p-1.5">
|
|
1776
|
+
{availableFetched.map((m) => (
|
|
1777
|
+
<label
|
|
1778
|
+
key={m.id}
|
|
1779
|
+
className="flex cursor-pointer items-center gap-2.5 rounded-md px-2 py-1.5 hover:bg-gray-800"
|
|
1780
|
+
>
|
|
1781
|
+
<input
|
|
1782
|
+
type="checkbox"
|
|
1783
|
+
checked={fetchSel.has(m.id)}
|
|
1784
|
+
onChange={() => toggleFetched(m.id)}
|
|
1785
|
+
className="h-3.5 w-3.5 accent-blue-500"
|
|
1786
|
+
/>
|
|
1787
|
+
<span className="truncate font-mono text-xs text-gray-200">{m.id}</span>
|
|
1788
|
+
<span className={`ml-auto flex shrink-0 items-center gap-1 rounded border px-1 py-px text-[10px] ${m.vision ? "border-blue-500/40 bg-blue-500/10 text-blue-400" : "border-gray-700 bg-gray-800 text-gray-500"}`}>
|
|
1789
|
+
{m.vision && <ImageIcon className="h-2.5 w-2.5" />}
|
|
1790
|
+
{m.vision ? t("providers_models.modality_vision") : t("providers_models.modality_text")}
|
|
1791
|
+
</span>
|
|
1792
|
+
{m.contextWindow && (
|
|
1793
|
+
<span className="shrink-0 text-[10px] text-gray-500">
|
|
1794
|
+
{formatTokens(m.contextWindow)}
|
|
1795
|
+
</span>
|
|
1796
|
+
)}
|
|
1797
|
+
</label>
|
|
1798
|
+
))}
|
|
1799
|
+
</div>
|
|
1800
|
+
</div>
|
|
1801
|
+
)}
|
|
1802
|
+
</div>
|
|
1803
|
+
|
|
1361
1804
|
<div className="flex items-center justify-end gap-3 pt-1">
|
|
1362
1805
|
{submitError && (
|
|
1363
1806
|
<span className="flex items-center gap-1 text-sm text-red-400">
|