@raingor/pi-web-switch 0.3.3 → 0.4.1

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.
Files changed (750) hide show
  1. package/README.ja.md +17 -1
  2. package/README.md +17 -1
  3. package/README.zh-CN.md +17 -1
  4. package/package.json +49 -3
  5. package/public/apple-touch-icon.png +0 -0
  6. package/public/icon-192.png +0 -0
  7. package/public/icon-512.png +0 -0
  8. package/public/pi.svg +47 -4
  9. package/public/sw.js +28 -5
  10. package/server/agent-session-manager.ts +827 -0
  11. package/server/chat-api-plugin.ts +488 -0
  12. package/server/pi-reader.ts +441 -71
  13. package/src/App.tsx +2 -0
  14. package/src/components/chat/ChatInput.tsx +863 -0
  15. package/src/components/chat/ChatPage.tsx +617 -0
  16. package/src/components/chat/ChatWindow.tsx +338 -0
  17. package/src/components/chat/MessageView.tsx +595 -0
  18. package/src/components/dashboard/DashboardPage.tsx +45 -5
  19. package/src/components/layout/AppShell.tsx +12 -5
  20. package/src/components/layout/Sidebar.tsx +3 -5
  21. package/src/components/providers/ProvidersModelsPage.tsx +768 -146
  22. package/src/components/sessions/SessionsPage.tsx +466 -148
  23. package/src/components/settings/SettingsPage.tsx +74 -55
  24. package/src/data/builtin-providers.ts +7 -7
  25. package/src/data/model-catalog.ts +967 -0
  26. package/src/hooks/useAgentSession.ts +1104 -0
  27. package/src/index.css +29 -1
  28. package/src/lib/config.ts +61 -0
  29. package/src/lib/translations/en.ts +99 -0
  30. package/src/lib/translations/ja.ts +99 -0
  31. package/src/lib/translations/zh-CN.ts +99 -0
  32. package/src/lib/translations/zh-TW.ts +99 -0
  33. package/src/main.tsx +13 -2
  34. package/src/store/config-store.ts +78 -21
  35. package/src/types/chat.ts +217 -0
  36. package/tsconfig.json +1 -1
  37. package/vite.config.ts +150 -1
  38. package/.pi/.pi-puppeteer/artifacts/screenshots/session-1-1785132166652.png +0 -0
  39. package/.pi/.pi-puppeteer/artifacts/screenshots/session-1-1785291744290.png +0 -0
  40. package/.pi/.pi-puppeteer/artifacts/screenshots/session-1-1785291756870.png +0 -0
  41. package/.pi/.pi-puppeteer/artifacts/screenshots/session-1-1785293871314.png +0 -0
  42. package/.pi/.pi-puppeteer/artifacts/screenshots/session-10-1785297139944.png +0 -0
  43. package/.pi/.pi-puppeteer/artifacts/screenshots/session-2-1785132240502.png +0 -0
  44. package/.pi/.pi-puppeteer/artifacts/screenshots/session-2-1785132249748.png +0 -0
  45. package/.pi/.pi-puppeteer/artifacts/screenshots/session-2-1785294992352.png +0 -0
  46. package/.pi/.pi-puppeteer/artifacts/screenshots/session-2-1785295104532.png +0 -0
  47. package/.pi/.pi-puppeteer/artifacts/screenshots/session-2-1785295132507.png +0 -0
  48. package/.pi/.pi-puppeteer/artifacts/screenshots/session-3-1785132387218.png +0 -0
  49. package/.pi/.pi-puppeteer/artifacts/screenshots/session-4-1785295319523.png +0 -0
  50. package/.pi/.pi-puppeteer/artifacts/screenshots/session-4-1785295349664.png +0 -0
  51. package/.pi/.pi-puppeteer/artifacts/screenshots/session-4-1785295399600.png +0 -0
  52. package/.pi/.pi-puppeteer/artifacts/screenshots/session-5-1785295450850.png +0 -0
  53. package/.pi/.pi-puppeteer/artifacts/screenshots/session-5-1785295487872.png +0 -0
  54. package/.pi/.pi-puppeteer/artifacts/screenshots/session-5-1785295562600.png +0 -0
  55. package/.pi/.pi-puppeteer/artifacts/screenshots/session-5-1785295761054.png +0 -0
  56. package/.pi/.pi-puppeteer/artifacts/screenshots/session-5-1785295840175.png +0 -0
  57. package/.pi/.pi-puppeteer/artifacts/screenshots/session-6-1785295915007.png +0 -0
  58. package/.pi/.pi-puppeteer/artifacts/screenshots/session-6-1785296069913.png +0 -0
  59. package/.pi/.pi-puppeteer/artifacts/screenshots/session-7-1785296128252.png +0 -0
  60. package/.pi/.pi-puppeteer/artifacts/screenshots/session-9-1785297091531.png +0 -0
  61. package/.pi/.pi-puppeteer/artifacts/screenshots/session-9-1785297116790.png +0 -0
  62. package/.pi/.pi-puppeteer/profiles/chrome/default/ActorSafetyLists/9.5220.3721/_metadata/verified_contents.json +0 -1
  63. package/.pi/.pi-puppeteer/profiles/chrome/default/ActorSafetyLists/9.5220.3721/listdata.json +0 -91946
  64. package/.pi/.pi-puppeteer/profiles/chrome/default/ActorSafetyLists/9.5220.3721/manifest.json +0 -5
  65. package/.pi/.pi-puppeteer/profiles/chrome/default/AmountExtractionHeuristicRegexes/4/_metadata/verified_contents.json +0 -1
  66. package/.pi/.pi-puppeteer/profiles/chrome/default/AmountExtractionHeuristicRegexes/4/heuristic_regexes.binarypb +0 -3
  67. package/.pi/.pi-puppeteer/profiles/chrome/default/AmountExtractionHeuristicRegexes/4/manifest.json +0 -5
  68. package/.pi/.pi-puppeteer/profiles/chrome/default/BrowserMetrics/BrowserMetrics-6A6978EB-A861.pma +0 -0
  69. package/.pi/.pi-puppeteer/profiles/chrome/default/BrowserMetrics-spare.pma +0 -0
  70. package/.pi/.pi-puppeteer/profiles/chrome/default/CaptchaProviders/8.5419.4434/_metadata/verified_contents.json +0 -1
  71. package/.pi/.pi-puppeteer/profiles/chrome/default/CaptchaProviders/8.5419.4434/captcha_providers.json +0 -12
  72. package/.pi/.pi-puppeteer/profiles/chrome/default/CaptchaProviders/8.5419.4434/manifest.json +0 -5
  73. package/.pi/.pi-puppeteer/profiles/chrome/default/CertificateRevocation/10680/LICENSE +0 -27
  74. package/.pi/.pi-puppeteer/profiles/chrome/default/CertificateRevocation/10680/_metadata/verified_contents.json +0 -1
  75. package/.pi/.pi-puppeteer/profiles/chrome/default/CertificateRevocation/10680/crl-set +0 -0
  76. package/.pi/.pi-puppeteer/profiles/chrome/default/CertificateRevocation/10680/manifest.json +0 -5
  77. package/.pi/.pi-puppeteer/profiles/chrome/default/ChromeFeatureState +0 -1
  78. package/.pi/.pi-puppeteer/profiles/chrome/default/Consent To Send Stats +0 -1
  79. package/.pi/.pi-puppeteer/profiles/chrome/default/Crowd Deny/2026.7.27.84/Preload Data +0 -24078
  80. package/.pi/.pi-puppeteer/profiles/chrome/default/Crowd Deny/2026.7.27.84/_metadata/verified_contents.json +0 -1
  81. package/.pi/.pi-puppeteer/profiles/chrome/default/Crowd Deny/2026.7.27.84/manifest.json +0 -6
  82. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/.com.google.Chrome.Hbf1ld +0 -0
  83. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Account Web Data +0 -0
  84. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Account Web Data-journal +0 -0
  85. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Affiliation Database +0 -0
  86. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Affiliation Database-journal +0 -0
  87. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillAiModelCache/LOCK +0 -0
  88. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillAiModelCache/LOG +0 -0
  89. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillAiModelCache/LOG.old +0 -0
  90. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillStrikeDatabase/LOCK +0 -0
  91. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillStrikeDatabase/LOG +0 -0
  92. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/AutofillStrikeDatabase/LOG.old +0 -0
  93. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/BookmarkMergedSurfaceOrdering +0 -2
  94. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/BudgetDatabase/LOCK +0 -0
  95. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/BudgetDatabase/LOG +0 -0
  96. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/BudgetDatabase/LOG.old +0 -0
  97. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/003827f5ea5ac9e9_0 +0 -0
  98. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/00473eec8b9b56d5_0 +0 -0
  99. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/05a190c784b641e3_0 +0 -0
  100. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/066df8884be8cf8d_0 +0 -0
  101. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/09627b0809e61f83_0 +0 -0
  102. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/09b27ac23861b1d7_0 +0 -0
  103. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/0fd9412b623e5a66_0 +0 -0
  104. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/118fb0fa2505d3b2_0 +0 -0
  105. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/1194588b7e2b20e9_0 +0 -0
  106. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/135a3004445f6f03_0 +0 -0
  107. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/13f1e7131fe25bc6_0 +0 -0
  108. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/15a2a5dccd304be7_0 +0 -0
  109. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/17893ac60e1e94c2_0 +0 -0
  110. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/19474b63539a4609_0 +0 -0
  111. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/1a1ecc22219568db_0 +0 -0
  112. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/1bb0006133ebefa3_0 +0 -0
  113. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/1cfaeeed4b13a026_0 +0 -0
  114. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/1e3cf5f23a4de58b_0 +0 -0
  115. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/20427e8d33888ba3_0 +0 -0
  116. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/2258d238accf0bfa_0 +0 -0
  117. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/228c3ad9d63adf48_0 +0 -0
  118. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/2437d308abe15ac2_0 +0 -0
  119. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/246f33a252b55bce_0 +0 -0
  120. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/25862298f2999d7d_0 +0 -0
  121. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/262d9bff9f7f64bb_0 +0 -0
  122. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/264aad789515de93_0 +0 -0
  123. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/269ad8897b8e63d0_0 +0 -0
  124. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/2cd2c50a38161cab_0 +0 -0
  125. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/2dd4db1365eeeac8_0 +0 -0
  126. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/2eae0c639fd772df_0 +0 -0
  127. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/30bb21d39b68bd84_0 +0 -0
  128. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/31121aeb5ecffa5f_0 +0 -0
  129. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/32766be1527c8e9a_0 +0 -0
  130. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/328e80b1ed10d28d_0 +0 -0
  131. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/339dcbdde8b8ac4e_0 +0 -0
  132. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/34439c1d4bfc8dad_0 +0 -0
  133. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/381d5603ee3fd8b9_0 +0 -0
  134. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/38fbe92680d28074_0 +0 -0
  135. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/393ce7bb08410970_0 +0 -0
  136. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/3d74b8be0f86614f_0 +0 -0
  137. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/4016e35a2021656d_0 +0 -0
  138. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/409bcaf42c9c09b4_0 +0 -0
  139. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/41888ebeeb475a59_0 +0 -0
  140. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/4714ef11264459f5_0 +0 -0
  141. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/479d2c4f7d4f3b38_0 +0 -0
  142. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/4824ea24720f1a77_0 +0 -0
  143. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/4a73d37e6e4ce922_0 +0 -0
  144. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/4ecdd068adbdf42a_0 +0 -0
  145. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/54e6cc05346dd07c_0 +0 -0
  146. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/5505ea174dc90263_0 +0 -0
  147. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/551679343b836505_0 +0 -0
  148. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/573f6264a77df462_0 +0 -0
  149. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/578926a5c39768ed_0 +0 -0
  150. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/582a8182776d9380_0 +0 -0
  151. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/5f3aa184b329759d_0 +0 -0
  152. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/6351cd107efed247_0 +0 -0
  153. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/637516a46d1d8587_0 +0 -0
  154. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/65e82d9cb58cbd6d_0 +0 -0
  155. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/66d24a1529d6dae0_0 +0 -0
  156. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/6995a7c799490d3d_0 +0 -0
  157. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/6d10426240c5ff67_0 +0 -0
  158. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/6dc325603c897784_0 +0 -0
  159. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/6fbab020dd731222_0 +0 -0
  160. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/70fa542a6974378a_0 +0 -0
  161. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/72a8c452abd1b0e6_0 +0 -0
  162. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/72df48e9888c822b_0 +0 -0
  163. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/73abcb8da3b9f73d_0 +0 -0
  164. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/741e8bcc257a64a9_0 +0 -0
  165. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/75df0820975fcdfa_0 +0 -0
  166. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/7789e307be36811d_0 +0 -0
  167. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/79a161a9b2f4a11e_0 +0 -0
  168. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/7afd0bc7f9852bf0_0 +0 -0
  169. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/7ce691ce1ceb3b8d_0 +0 -0
  170. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/7ef6780a186001ac_0 +0 -0
  171. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/80402f00feb6a222_0 +0 -0
  172. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/85b55ea0ca260643_0 +0 -0
  173. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/86300205c03092e4_0 +0 -0
  174. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/87c94a2eac816ea9_0 +0 -0
  175. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/880c25af3ab59187_0 +0 -0
  176. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/8a7d0881c813aeec_0 +0 -0
  177. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/8bad3b1bccd25517_0 +0 -0
  178. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/8bd9377481fa7d43_0 +0 -0
  179. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/8c1a58ce19e15d16_0 +0 -0
  180. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/8e44e385f5911b07_0 +0 -0
  181. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/90e39d8d065f6ac0_0 +0 -0
  182. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/93d81321f8c35eab_0 +0 -0
  183. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/93e9945beb439414_0 +0 -0
  184. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/944e08f273fccc44_0 +0 -0
  185. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/95edd63493c49660_0 +0 -0
  186. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9789c4ee76bdb350_0 +0 -0
  187. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9a5911308e0f26ad_0 +0 -0
  188. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9a6cdf8f5c03aee5_0 +0 -0
  189. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9aeb4a3d1a607b07_0 +0 -0
  190. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9aff0e1ff1742ee0_0 +0 -0
  191. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9bdabd2703f2e3ba_0 +0 -0
  192. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9d4d11ac8a8e264f_0 +0 -0
  193. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9dd169e672e31961_0 +0 -0
  194. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/9e72442bf8821115_0 +0 -0
  195. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/a330965ccf5564ca_0 +0 -0
  196. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/a3a3c6351a3f2f42_0 +0 -0
  197. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/a818977d416f829d_0 +0 -0
  198. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/aa452720fc9d634f_0 +0 -0
  199. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ac06b722aea9fcb8_0 +0 -0
  200. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/aca3b8cf1f98e0bb_0 +0 -0
  201. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/add439b7aae9334a_0 +0 -0
  202. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/b0113626d8ba968d_0 +0 -0
  203. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ba97b9d927729aa7_0 +0 -0
  204. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/bfcb9d225e4f11a8_0 +0 -0
  205. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/c364377515d768e0_0 +0 -0
  206. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/c4376485fa897eca_0 +0 -0
  207. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/c5b74f49505d3ecc_0 +0 -0
  208. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/c7e10eb03f6d5cc2_0 +0 -0
  209. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/c91efba145098b4c_0 +0 -0
  210. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/caecbbde37e3c866_0 +0 -0
  211. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/cdddd64b252697fd_0 +0 -0
  212. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d3efa3ab37db7796_0 +0 -0
  213. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d6289ab00fe343c0_0 +0 -0
  214. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d6be42432091d3ae_0 +0 -0
  215. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d7137f065f39412f_0 +0 -0
  216. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d83db61c108fa34f_0 +0 -0
  217. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d86cd6e1d99a8eaf_0 +0 -0
  218. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/d97f1cfcc2edd001_0 +0 -0
  219. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/de620df53673a107_0 +0 -0
  220. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/de86892a6fa4e33b_0 +0 -0
  221. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/deb2cfe585bf96b0_0 +0 -0
  222. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/df93d6767095d5ea_0 +0 -0
  223. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e1f8d8432edb7ea6_0 +0 -0
  224. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e2e1058ec6a8e645_0 +0 -0
  225. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e39ddd81e303f259_0 +0 -0
  226. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e468a0fb6aa7fd4e_0 +0 -0
  227. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e46f51470717ac3c_0 +0 -0
  228. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e4a531774ba47406_0 +0 -0
  229. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e57a3a1fa60638e1_0 +0 -0
  230. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e594d414c7f4d6a1_0 +0 -0
  231. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e771a081db13a5b8_0 +0 -0
  232. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e78c0ca6dbdafcd0_0 +0 -0
  233. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e8e671ad5c3fb2a8_0 +0 -0
  234. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/e96e46c4d92b214f_0 +0 -0
  235. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ea24ade36915d935_0 +0 -0
  236. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/eaa70273ce58d3b3_0 +0 -0
  237. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/eca41bfe04d1680d_0 +0 -0
  238. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ed551f6d52fa6049_0 +0 -0
  239. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ee2190fb8068ea31_0 +0 -0
  240. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/ee688f43baa25b4b_0 +0 -0
  241. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f016dffa17337f95_0 +0 -0
  242. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f0707f1f113fa72c_0 +0 -0
  243. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f12650f2be214ec8_0 +0 -0
  244. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f1887b75d61dbd90_0 +0 -0
  245. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f28900863f2e45b7_0 +0 -0
  246. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f4ee911c81881048_0 +0 -0
  247. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f557a2bca202c132_0 +0 -0
  248. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f61ed35c6c0b87d8_0 +0 -0
  249. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/f6f1caefb3e18ade_0 +0 -0
  250. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/fd695fa621d42490_0 +0 -0
  251. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/index +0 -0
  252. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/Cache_Data/index-dir/the-real-index +0 -0
  253. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/No_Vary_Search/journal.baj +0 -1
  254. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cache/No_Vary_Search/snapshot.baf +0 -0
  255. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/ClientCertificates/LOCK +0 -0
  256. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/ClientCertificates/LOG +0 -0
  257. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/ClientCertificates/LOG.old +0 -0
  258. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/02b3a268866a7a0c_0 +0 -0
  259. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/0edbc65a5e505019_0 +0 -0
  260. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/1051d2e224b9dd7a_0 +0 -0
  261. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/13cf7a1704163ded_0 +0 -0
  262. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/16860cee78cb7179_0 +0 -0
  263. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/17ea85d6fceb9229_0 +0 -0
  264. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/1b6c1ba202c59494_0 +0 -0
  265. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/1ebec9ea59157454_0 +0 -0
  266. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/1ee2a6b57d251d09_0 +0 -0
  267. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/2445a9737b996e2a_0 +0 -0
  268. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/2d10a08da99d6d96_0 +0 -0
  269. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/325c8b935b677e9d_0 +0 -0
  270. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/454c49e6be2650e9_0 +0 -0
  271. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/4a34df5a255ad22e_0 +0 -0
  272. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/4dfd5beef212627f_0 +0 -0
  273. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/5fe872a733479fff_0 +0 -0
  274. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/66943b0755a2799d_0 +0 -0
  275. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/6a1839253b0d0b0a_0 +0 -0
  276. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/6e13894af36f3b79_0 +0 -0
  277. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/786d3f1f49d31154_0 +0 -0
  278. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/82f67f35254528ab_0 +0 -0
  279. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/831e5a135cde918e_0 +0 -0
  280. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/9965b2c8a33ec50d_0 +0 -0
  281. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/a15b1367fd75ef89_0 +0 -0
  282. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/a7c7741248aeea07_0 +0 -0
  283. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/a8e54c52a52541a9_0 +0 -0
  284. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/afa0d16c75997a6c_0 +0 -0
  285. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/b35d29b5b3583a88_0 +0 -0
  286. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/bc55d051b6fd0744_0 +0 -0
  287. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/bc8566d00f634dfb_0 +0 -0
  288. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/c0be8aeb35882f7c_0 +0 -0
  289. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/c771807a395d295c_0 +0 -0
  290. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/c9058e9015c26dc7_0 +0 -0
  291. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/d6804628a868f972_0 +0 -0
  292. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/d7f211a5cec70609_0 +0 -0
  293. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/d9c03164fc246389_0 +0 -0
  294. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/e1011bf217f0ad7a_0 +0 -0
  295. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/efd85d739d006527_0 +0 -0
  296. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/f5fe496bf55cd561_0 +0 -0
  297. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/fc52f43646894a73_0 +0 -0
  298. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/fc8954eb9445852d_0 +0 -0
  299. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/ff6de2f37189b29f_0 +0 -0
  300. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/index +0 -0
  301. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/js/index-dir/the-real-index +0 -0
  302. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/wasm/index +0 -0
  303. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Code Cache/wasm/index-dir/the-real-index +0 -0
  304. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cookies +0 -0
  305. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Cookies-journal +0 -0
  306. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DIPS +0 -0
  307. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnGraphiteCache/data_0 +0 -0
  308. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnGraphiteCache/data_1 +0 -0
  309. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnGraphiteCache/data_2 +0 -0
  310. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnGraphiteCache/data_3 +0 -0
  311. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnGraphiteCache/index +0 -0
  312. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnWebGPUCache/data_0 +0 -0
  313. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnWebGPUCache/data_1 +0 -0
  314. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnWebGPUCache/data_2 +0 -0
  315. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnWebGPUCache/data_3 +0 -0
  316. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/DawnWebGPUCache/index +0 -0
  317. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Rules/CURRENT +0 -1
  318. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Rules/LOCK +0 -0
  319. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Rules/LOG +0 -2
  320. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Rules/MANIFEST-000001 +0 -0
  321. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Scripts/CURRENT +0 -1
  322. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Scripts/LOCK +0 -0
  323. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Scripts/LOG +0 -2
  324. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension Scripts/MANIFEST-000001 +0 -0
  325. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension State/CURRENT +0 -1
  326. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension State/LOCK +0 -0
  327. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension State/LOG +0 -3
  328. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension State/LOG.old +0 -3
  329. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Extension State/MANIFEST-000001 +0 -0
  330. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Favicons +0 -0
  331. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Favicons-journal +0 -0
  332. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/AvailabilityDB/LOCK +0 -0
  333. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/AvailabilityDB/LOG +0 -0
  334. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/AvailabilityDB/LOG.old +0 -0
  335. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/EventDB/LOCK +0 -0
  336. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/EventDB/LOG +0 -0
  337. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Feature Engagement Tracker/EventDB/LOG.old +0 -0
  338. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GCM Store/CURRENT +0 -1
  339. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GCM Store/LOCK +0 -0
  340. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GCM Store/LOG +0 -3
  341. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GCM Store/LOG.old +0 -3
  342. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GCM Store/MANIFEST-000001 +0 -0
  343. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GPUCache/data_0 +0 -0
  344. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GPUCache/data_1 +0 -0
  345. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GPUCache/data_2 +0 -0
  346. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GPUCache/data_3 +0 -0
  347. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/GPUCache/index +0 -0
  348. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/History +0 -0
  349. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/History-journal +0 -0
  350. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/LOCK +0 -0
  351. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/LOG +0 -0
  352. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/LOG.old +0 -0
  353. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Local Storage/leveldb/CURRENT +0 -1
  354. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Local Storage/leveldb/LOCK +0 -0
  355. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Local Storage/leveldb/LOG +0 -3
  356. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Local Storage/leveldb/LOG.old +0 -3
  357. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Local Storage/leveldb/MANIFEST-000001 +0 -0
  358. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Login Data +0 -0
  359. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Login Data For Account +0 -0
  360. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Login Data For Account-journal +0 -0
  361. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Login Data-journal +0 -0
  362. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Network Action Predictor +0 -0
  363. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Network Action Predictor-journal +0 -0
  364. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Network Persistent State +0 -1
  365. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/PersistentOriginTrials/LOCK +0 -0
  366. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/PersistentOriginTrials/LOG +0 -0
  367. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/PersistentOriginTrials/LOG.old +0 -0
  368. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Preferences +0 -1
  369. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/PreferredApps +0 -1
  370. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/README +0 -1
  371. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Reporting and NEL +0 -0
  372. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Reporting and NEL-journal +0 -0
  373. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Safe Browsing Cookies +0 -0
  374. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Safe Browsing Cookies-journal +0 -0
  375. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Secure Preferences +0 -1
  376. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SegmentInfoDB/LOCK +0 -0
  377. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SegmentInfoDB/LOG +0 -0
  378. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SegmentInfoDB/LOG.old +0 -0
  379. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalDB/LOCK +0 -0
  380. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalDB/LOG +0 -0
  381. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalDB/LOG.old +0 -0
  382. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalStorageConfigDB/LOCK +0 -0
  383. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalStorageConfigDB/LOG +0 -0
  384. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Segmentation Platform/SignalStorageConfigDB/LOG.old +0 -0
  385. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/ServerCertificate +0 -0
  386. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/ServerCertificate-journal +0 -0
  387. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/09ed93488198f423_0 +0 -0
  388. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/09ed93488198f423_1 +0 -0
  389. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/0a30220965d74d1e_0 +0 -0
  390. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/1300177f362c3a4a_0 +0 -0
  391. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/1300177f362c3a4a_1 +0 -0
  392. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/27b9ccf88365ee26_0 +0 -0
  393. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/2921673031323747_0 +0 -0
  394. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/2921673031323747_1 +0 -0
  395. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/35f037f406300022_0 +0 -0
  396. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/35f037f406300022_1 +0 -0
  397. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/3adbee165bfbf214_0 +0 -0
  398. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/3c8f4750e95148d9_0 +0 -0
  399. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/3ce96b151d8c7cc1_0 +0 -0
  400. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/3ce96b151d8c7cc1_1 +0 -0
  401. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/483d56a1df05215a_0 +0 -0
  402. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/483d56a1df05215a_1 +0 -0
  403. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/4d82f9d0e0941cce_0 +0 -0
  404. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/4f42af3671d8c6c6_0 +0 -0
  405. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/4f42af3671d8c6c6_1 +0 -0
  406. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5973e266a3773c26_0 +0 -0
  407. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5ad1663b68163b6f_0 +0 -0
  408. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5b4c15b3725d9989_0 +0 -0
  409. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5b4c15b3725d9989_1 +0 -0
  410. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5c619235d9c64bc3_0 +0 -0
  411. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5c619235d9c64bc3_1 +0 -0
  412. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5e3af97b8dccb412_0 +0 -0
  413. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/5e3af97b8dccb412_1 +0 -0
  414. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/6e068fc05df362b0_0 +0 -0
  415. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/6e068fc05df362b0_1 +0 -0
  416. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/755a4c7663f8dc02_0 +0 -0
  417. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/755a4c7663f8dc02_1 +0 -0
  418. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7969561312c7823f_0 +0 -0
  419. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7969561312c7823f_1 +0 -0
  420. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/79ffa2733a735063_0 +0 -0
  421. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7f91cd3066f0019f_0 +0 -0
  422. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7f91cd3066f0019f_1 +0 -0
  423. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7f97d42038a92017_0 +0 -0
  424. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/7f97d42038a92017_1 +0 -0
  425. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/820d43cc26b882ff_0 +0 -0
  426. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/820d43cc26b882ff_1 +0 -0
  427. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/88e95753fb6f9ea9_0 +0 -0
  428. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/8b469fd8bafad3b3_0 +0 -0
  429. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/8b469fd8bafad3b3_1 +0 -0
  430. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/900dd661df81967a_0 +0 -0
  431. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/9546d2c6dd38203c_0 +0 -0
  432. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/9546d2c6dd38203c_1 +0 -0
  433. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/96d03a8b051613e1_0 +0 -0
  434. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/96d03a8b051613e1_1 +0 -0
  435. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a0222364eb3781e3_0 +0 -0
  436. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a0222364eb3781e3_1 +0 -0
  437. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a524d2c2d64c3660_0 +0 -0
  438. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a524d2c2d64c3660_1 +0 -0
  439. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a78bfbcc1859fb76_0 +0 -0
  440. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/a78bfbcc1859fb76_1 +0 -0
  441. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/ac56d7aa94c8dd89_0 +0 -0
  442. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/ac56d7aa94c8dd89_1 +0 -0
  443. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/b5055aa76b1823e0_0 +0 -0
  444. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/b5055aa76b1823e0_1 +0 -0
  445. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c0b18bd33c20f43c_0 +0 -0
  446. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c0b18bd33c20f43c_1 +0 -0
  447. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c31100b4d5efc61d_0 +0 -0
  448. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c31100b4d5efc61d_1 +0 -0
  449. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c62331d49f110533_0 +0 -0
  450. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c62331d49f110533_1 +0 -0
  451. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/c7bb739419f12b43_0 +0 -0
  452. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/cdf6536f6656df3e_0 +0 -0
  453. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/cdf6536f6656df3e_1 +0 -0
  454. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d0e2620915e19afb_0 +0 -0
  455. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d0e2620915e19afb_1 +0 -0
  456. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d4313ca21cedf2ad_0 +0 -0
  457. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d4313ca21cedf2ad_1 +0 -0
  458. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d4cbe68232f52d97_0 +0 -0
  459. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d4cbe68232f52d97_1 +0 -0
  460. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d90bf1dbbf713592_0 +0 -0
  461. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/d90bf1dbbf713592_1 +0 -0
  462. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/df18dfd2a1ad9fb4_0 +0 -0
  463. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/df18dfd2a1ad9fb4_1 +0 -0
  464. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e321e1f483bdf8f3_0 +0 -0
  465. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e321e1f483bdf8f3_1 +0 -0
  466. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e3cf32438c59b057_0 +0 -0
  467. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e3cf32438c59b057_1 +0 -0
  468. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e5d70b58b9ad133a_0 +0 -0
  469. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e5d70b58b9ad133a_1 +0 -0
  470. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e6bebc23f041524b_0 +0 -0
  471. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/e6bebc23f041524b_1 +0 -0
  472. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/ec2dbc36a8a707bf_0 +0 -0
  473. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f0d3846d04ec57fa_0 +0 -0
  474. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f0d3846d04ec57fa_1 +0 -0
  475. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f41ecefc4e8c4d02_0 +0 -0
  476. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f41ecefc4e8c4d02_1 +0 -0
  477. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f641877808e85797_0 +0 -0
  478. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f641877808e85797_1 +0 -0
  479. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f792102a3adfa574_0 +0 -0
  480. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f792102a3adfa574_1 +0 -0
  481. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f87456efb50ead2b_0 +0 -0
  482. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f87456efb50ead2b_1 +0 -0
  483. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f9c75818bcb88359_0 +0 -0
  484. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/f9c75818bcb88359_1 +0 -0
  485. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/fb21145c8e2675cb_0 +0 -0
  486. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/fb21145c8e2675cb_1 +0 -0
  487. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/index +0 -0
  488. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/56407312-0248-4546-be02-0d16e58a3522/index-dir/the-real-index +0 -0
  489. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/0281c98fa97441e5_0 +0 -0
  490. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/319cb45fc46cfd93_0 +0 -0
  491. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/685282d5721939ea_0 +0 -0
  492. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/8634e8d5eb849493_0 +0 -0
  493. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/c6ba0abf049dda93_0 +0 -0
  494. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/ff32d8eaf874a37b_0 +0 -0
  495. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/index +0 -0
  496. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/d12381ba-daf3-4f23-9177-0ab3706f83a2/index-dir/the-real-index +0 -0
  497. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/046fd1ef5e540ebf33332849ed99f4174f5bbafc/index.txt +0 -0
  498. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/024678dda211fa26_0 +0 -0
  499. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/024678dda211fa26_1 +0 -0
  500. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/037830b98bc2d51d_0 +0 -0
  501. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/037830b98bc2d51d_1 +0 -0
  502. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/058b480bfb167f1d_0 +0 -0
  503. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/058b480bfb167f1d_1 +0 -0
  504. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/0655e9ff0425de79_0 +0 -0
  505. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/0a59caba16743dc4_0 +0 -0
  506. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/0a59caba16743dc4_1 +0 -0
  507. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/136ff5c99b26781c_0 +0 -0
  508. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/136ff5c99b26781c_1 +0 -0
  509. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/17a566dc27c99ba4_0 +0 -0
  510. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/17a566dc27c99ba4_1 +0 -0
  511. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/21f0f05b2eceebc6_0 +0 -0
  512. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/21f0f05b2eceebc6_1 +0 -0
  513. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/258481d12e2d6b56_0 +0 -0
  514. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/258481d12e2d6b56_1 +0 -0
  515. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/384fffcb0c07b624_0 +0 -0
  516. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/4d19946442d4bfbb_0 +0 -0
  517. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/4db2b1b4ab66bab9_0 +0 -0
  518. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/4db2b1b4ab66bab9_1 +0 -0
  519. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/51f125f305445381_0 +0 -0
  520. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/51f125f305445381_1 +0 -0
  521. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/5a8718d400d2f051_0 +0 -0
  522. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/5a8718d400d2f051_1 +0 -0
  523. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/61766447abeea15f_0 +0 -0
  524. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/61766447abeea15f_1 +0 -0
  525. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/62151dfee245ae9b_0 +0 -0
  526. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/62151dfee245ae9b_1 +0 -0
  527. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/696c1b7392b5c15a_0 +0 -0
  528. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/696c1b7392b5c15a_1 +0 -0
  529. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/6c82448ab5b28377_0 +0 -0
  530. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/6c82448ab5b28377_1 +0 -0
  531. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/6d24995ced602e98_0 +0 -0
  532. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/722befb3ecafcb3f_0 +0 -0
  533. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/78c3660b76e7d93a_0 +0 -0
  534. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/78c3660b76e7d93a_1 +0 -0
  535. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/798dd4b9b7d9d5c2_0 +0 -0
  536. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8595071248e29ee1_0 +0 -0
  537. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8595071248e29ee1_1 +0 -0
  538. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8b04b7c22f0fd1f9_0 +0 -0
  539. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8b04b7c22f0fd1f9_1 +0 -0
  540. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8f520d5d41ee00bd_0 +0 -0
  541. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/8f520d5d41ee00bd_1 +0 -0
  542. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/901ff14ab13b28c6_0 +0 -0
  543. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/901ff14ab13b28c6_1 +0 -0
  544. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a1d474dd0b6dd558_0 +0 -0
  545. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a1d474dd0b6dd558_1 +0 -0
  546. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a3011f5e2ef033c1_0 +0 -0
  547. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a3011f5e2ef033c1_1 +0 -0
  548. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a8b1cac4bc45ce95_0 +0 -0
  549. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/a8b1cac4bc45ce95_1 +0 -0
  550. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/ba58c86b9d2825b2_0 +0 -0
  551. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/ba58c86b9d2825b2_1 +0 -0
  552. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/c5d7b8f405d5e062_0 +0 -0
  553. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/ca40ebe1bbd077ac_0 +0 -0
  554. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/ca40ebe1bbd077ac_1 +0 -0
  555. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/d0ab2b640b0a13e7_0 +0 -0
  556. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/d0ab2b640b0a13e7_1 +0 -0
  557. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/d0c3865f553ac976_0 +0 -0
  558. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/d0c3865f553ac976_1 +0 -0
  559. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/da45add0238a285a_0 +0 -0
  560. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/da45add0238a285a_1 +0 -0
  561. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e4307c16470799da_0 +0 -0
  562. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e4307c16470799da_1 +0 -0
  563. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e7690ca8c63cad14_0 +0 -0
  564. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e7690ca8c63cad14_1 +0 -0
  565. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e7ba6f4de6562c89_0 +0 -0
  566. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/e7ba6f4de6562c89_1 +0 -0
  567. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/eb1bcf853b355e13_0 +0 -0
  568. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/eb1bcf853b355e13_1 +0 -0
  569. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/f32ce7214b1774ba_0 +0 -0
  570. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/f32ce7214b1774ba_1 +0 -0
  571. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/f62e4b05ee7d99f9_0 +0 -0
  572. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/f62e4b05ee7d99f9_1 +0 -0
  573. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/fc5ef4b63ae4bb4b_0 +0 -0
  574. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/index +0 -0
  575. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/3691c090-dad1-4066-a2d5-4462a09e7435/index-dir/the-real-index +0 -0
  576. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/52158ab3c1d3fdde_0 +0 -0
  577. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/9c3cfbb43286df23_0 +0 -0
  578. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/b19f1b829e018cf2_0 +0 -0
  579. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/b8ae4f867095f4fd_0 +0 -0
  580. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/bdc920a7c2524c3b_0 +0 -0
  581. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/ea5f9af36eefd38b_0 +0 -0
  582. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/index +0 -0
  583. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/de96e545-808a-4ef3-b7b1-a72521505ad2/index-dir/the-real-index +0 -0
  584. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/CacheStorage/2f12120e9e05877e5620444e87e1a223bba7f923/index.txt +0 -0
  585. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/Database/CURRENT +0 -1
  586. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/Database/LOCK +0 -0
  587. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/Database/LOG +0 -3
  588. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/Database/LOG.old +0 -3
  589. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/Database/MANIFEST-000001 +0 -0
  590. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_0 +0 -0
  591. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/2cc80dabc69f58b6_1 +0 -0
  592. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/fa813c9ad67834ac_0 +0 -0
  593. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/fa813c9ad67834ac_1 +0 -0
  594. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/index +0 -0
  595. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Service Worker/ScriptCache/index-dir/the-real-index +0 -0
  596. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Session Storage/CURRENT +0 -1
  597. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Session Storage/LOCK +0 -0
  598. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Session Storage/LOG +0 -3
  599. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Session Storage/LOG.old +0 -3
  600. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Session Storage/MANIFEST-000001 +0 -0
  601. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sessions/Session_13429768577966436 +0 -0
  602. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sessions/Tabs_13429770684888237 +0 -0
  603. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sessions/Tabs_13429770734729173 +0 -0
  604. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shared Dictionary/cache/index +0 -0
  605. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shared Dictionary/cache/index-dir/the-real-index +0 -0
  606. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shared Dictionary/db +0 -0
  607. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shared Dictionary/db-journal +0 -0
  608. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/SharedStorage +0 -0
  609. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shortcuts +0 -0
  610. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Shortcuts-journal +0 -0
  611. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Site Characteristics Database/CURRENT +0 -1
  612. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Site Characteristics Database/LOCK +0 -0
  613. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Site Characteristics Database/LOG +0 -3
  614. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Site Characteristics Database/LOG.old +0 -3
  615. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Site Characteristics Database/MANIFEST-000001 +0 -0
  616. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sync Data/LevelDB/CURRENT +0 -1
  617. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sync Data/LevelDB/LOCK +0 -0
  618. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sync Data/LevelDB/LOG +0 -3
  619. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sync Data/LevelDB/LOG.old +0 -3
  620. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Sync Data/LevelDB/MANIFEST-000001 +0 -0
  621. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Top Sites +0 -0
  622. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Top Sites-journal +0 -0
  623. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Translate Ranker Model +0 -0
  624. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/TransportSecurity +0 -1
  625. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Trust Tokens +0 -0
  626. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Trust Tokens-journal +0 -0
  627. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Web Data +0 -0
  628. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/Web Data-journal +0 -0
  629. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/WebStorage/QuotaManager +0 -0
  630. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/WebStorage/QuotaManager-journal +0 -0
  631. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/chrome_cart_db/LOCK +0 -0
  632. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/chrome_cart_db/LOG +0 -0
  633. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/chrome_cart_db/LOG.old +0 -0
  634. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/commerce_subscription_db/LOCK +0 -0
  635. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/commerce_subscription_db/LOG +0 -0
  636. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/commerce_subscription_db/LOG.old +0 -0
  637. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discount_infos_db/LOCK +0 -0
  638. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discount_infos_db/LOG +0 -0
  639. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discount_infos_db/LOG.old +0 -0
  640. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discounts_db/LOCK +0 -0
  641. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discounts_db/LOG +0 -0
  642. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/discounts_db/LOG.old +0 -0
  643. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/engine_allowlist.bf +0 -0
  644. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/heavy_ad_intervention_opt_out.db +0 -0
  645. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/heavy_ad_intervention_opt_out.db-journal +0 -0
  646. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/parcel_tracking_db/LOCK +0 -0
  647. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/parcel_tracking_db/LOG +0 -0
  648. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/parcel_tracking_db/LOG.old +0 -0
  649. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/CURRENT +0 -1
  650. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/LOCK +0 -0
  651. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/LOG +0 -3
  652. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/LOG.old +0 -3
  653. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/MANIFEST-000001 +0 -0
  654. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/metadata/CURRENT +0 -1
  655. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/metadata/LOCK +0 -0
  656. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/metadata/LOG +0 -3
  657. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/metadata/LOG.old +0 -3
  658. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/shared_proto_db/metadata/MANIFEST-000001 +0 -0
  659. package/.pi/.pi-puppeteer/profiles/chrome/default/Default/trusted_vault.pb +0 -2
  660. package/.pi/.pi-puppeteer/profiles/chrome/default/DevToolsActivePort +0 -2
  661. package/.pi/.pi-puppeteer/profiles/chrome/default/FileTypePolicies/145.0.7584.0/_metadata/verified_contents.json +0 -1
  662. package/.pi/.pi-puppeteer/profiles/chrome/default/FileTypePolicies/145.0.7584.0/download_file_types.pb +0 -0
  663. package/.pi/.pi-puppeteer/profiles/chrome/default/FileTypePolicies/145.0.7584.0/manifest.json +0 -5
  664. package/.pi/.pi-puppeteer/profiles/chrome/default/FirstPartySetsPreloaded/2025.7.24.0/LICENSE +0 -27
  665. package/.pi/.pi-puppeteer/profiles/chrome/default/FirstPartySetsPreloaded/2025.7.24.0/_metadata/verified_contents.json +0 -1
  666. package/.pi/.pi-puppeteer/profiles/chrome/default/FirstPartySetsPreloaded/2025.7.24.0/manifest.json +0 -5
  667. package/.pi/.pi-puppeteer/profiles/chrome/default/FirstPartySetsPreloaded/2025.7.24.0/sets.json +0 -70
  668. package/.pi/.pi-puppeteer/profiles/chrome/default/GPUPersistentCache/GPUCache/NDJN3PYMYS2VQL44TKFDS34NLSXM6YVU/cache.db +0 -0
  669. package/.pi/.pi-puppeteer/profiles/chrome/default/GPUPersistentCache/GPUCache/NDJN3PYMYS2VQL44TKFDS34NLSXM6YVU/cache.db-wal +0 -0
  670. package/.pi/.pi-puppeteer/profiles/chrome/default/GPUPersistentCache/GPUCache/NDJN3PYMYS2VQL44TKFDS34NLSXM6YVU/cache.journal +0 -0
  671. package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/data_0 +0 -0
  672. package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/data_1 +0 -0
  673. package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/data_2 +0 -0
  674. package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/data_3 +0 -0
  675. package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/f_000001 +0 -0
  676. package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/f_000002 +0 -0
  677. package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/f_000003 +0 -0
  678. package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/f_000004 +0 -0
  679. package/.pi/.pi-puppeteer/profiles/chrome/default/GraphiteDawnCache/index +0 -0
  680. package/.pi/.pi-puppeteer/profiles/chrome/default/Last Version +0 -1
  681. package/.pi/.pi-puppeteer/profiles/chrome/default/Local State +0 -1
  682. package/.pi/.pi-puppeteer/profiles/chrome/default/MEIPreload/1.1.0.3/_metadata/verified_contents.json +0 -1
  683. package/.pi/.pi-puppeteer/profiles/chrome/default/MEIPreload/1.1.0.3/manifest.json +0 -7
  684. package/.pi/.pi-puppeteer/profiles/chrome/default/MEIPreload/1.1.0.3/preloaded_data.pb +0 -0
  685. package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/_metadata/verified_contents.json +0 -1
  686. package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/crs.pb +0 -0
  687. package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/ct_config.pb +3 -322
  688. package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/kp_pinslist.pb +0 -0
  689. package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/manifest.json +0 -5
  690. package/.pi/.pi-puppeteer/profiles/chrome/default/PKIMetadata/1728/mtc_config.pb +0 -0
  691. package/.pi/.pi-puppeteer/profiles/chrome/default/SSLErrorAssistant/7/_metadata/verified_contents.json +0 -1
  692. package/.pi/.pi-puppeteer/profiles/chrome/default/SSLErrorAssistant/7/manifest.json +0 -5
  693. package/.pi/.pi-puppeteer/profiles/chrome/default/SSLErrorAssistant/7/ssl_error_assistant.pb +0 -54
  694. package/.pi/.pi-puppeteer/profiles/chrome/default/SafetyTips/3091/_metadata/verified_contents.json +0 -1
  695. package/.pi/.pi-puppeteer/profiles/chrome/default/SafetyTips/3091/manifest.json +0 -5
  696. package/.pi/.pi-puppeteer/profiles/chrome/default/SafetyTips/3091/safety_tips.pb +0 -0
  697. package/.pi/.pi-puppeteer/profiles/chrome/default/Subresource Filter/Indexed Rules/38/9.70.0/Ruleset Data +0 -0
  698. package/.pi/.pi-puppeteer/profiles/chrome/default/Subresource Filter/Unindexed Rules/9.70.0/Filtering Rules +0 -6106
  699. package/.pi/.pi-puppeteer/profiles/chrome/default/Subresource Filter/Unindexed Rules/9.70.0/LICENSE.txt +0 -383
  700. package/.pi/.pi-puppeteer/profiles/chrome/default/Subresource Filter/Unindexed Rules/9.70.0/_metadata/verified_contents.json +0 -1
  701. package/.pi/.pi-puppeteer/profiles/chrome/default/Subresource Filter/Unindexed Rules/9.70.0/manifest.json +0 -6
  702. package/.pi/.pi-puppeteer/profiles/chrome/default/TrustTokenKeyCommitments/2026.3.23.1/LICENSE +0 -27
  703. package/.pi/.pi-puppeteer/profiles/chrome/default/TrustTokenKeyCommitments/2026.3.23.1/_metadata/verified_contents.json +0 -1
  704. package/.pi/.pi-puppeteer/profiles/chrome/default/TrustTokenKeyCommitments/2026.3.23.1/keys.json +0 -1
  705. package/.pi/.pi-puppeteer/profiles/chrome/default/TrustTokenKeyCommitments/2026.3.23.1/manifest.json +0 -5
  706. package/.pi/.pi-puppeteer/profiles/chrome/default/Variations +0 -1
  707. package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/_metadata/verified_contents.json +0 -1
  708. package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/background_compiled.js +0 -40
  709. package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/bindings_main.js +0 -6281
  710. package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/bindings_main.wasm +0 -0
  711. package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/manifest.json +0 -5
  712. package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/offscreen.html +0 -2
  713. package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/offscreen_compiled.js +0 -131
  714. package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/streaming_worklet_processor.js +0 -78
  715. package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/voices.json +0 -1779
  716. package/.pi/.pi-puppeteer/profiles/chrome/default/WasmTtsEngine/20260723.1/wasm_tts_manifest_v3.json +0 -43
  717. package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/_metadata/verified_contents.json +0 -1
  718. package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/english_wikipedia.txt +0 -30000
  719. package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/female_names.txt +0 -3712
  720. package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/male_names.txt +0 -984
  721. package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/manifest.json +0 -5
  722. package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/passwords.txt +0 -30000
  723. package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/ranked_dicts +0 -0
  724. package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/surnames.txt +0 -10000
  725. package/.pi/.pi-puppeteer/profiles/chrome/default/ZxcvbnData/3/us_tv_and_film.txt +0 -19160
  726. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/0d784450fcc5b3ad7ab4efa85b2e1fe56bd5086b69807eab756f62c257ea0d8b +0 -0
  727. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/0d994b6c9c5d4b0316bcc7a79f4939a2390c638169ea6dc783198c17286d8255 +0 -0
  728. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/3eb16d6c28b502ac4cfee8f4a148df05f4d93229fa36a71db8b08d06329ff18a +0 -0
  729. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/4448b37acb13eb51a842a8ebc85ea826729571c7293f2213d855d3a76cb9a4f8 +0 -0
  730. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/545666a4efd056351597bb386aea1368105ededc976ed5650d8682daab9f37ff +0 -0
  731. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/56c21927faa028be6ce18c931660eec37e41da4bfbfd47cafa48350f828c0dbd +0 -0
  732. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/733776833212346a1018b95197c61bed2d107fbb7790a985ef692780e02f31cb +0 -0
  733. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/7b05c14dba04ed522210b733f004cb0e74d7679a653b19bd029f9bc0e6b19903 +0 -0
  734. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/8f2c0712b6800fa9622a039cb167cc9503d508a271247e445f08a96eded5772f +0 -0
  735. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/9bec6c2c0185d3305ac8495047a1aa01e725d58f8f18d219742a2988f07cd93a +0 -0
  736. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/9f157bd09a986baa46110a0acb7e3d7407208e58d02250c637902962e5ed2c5e +0 -0
  737. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/abd93867c038d4d17c101ace2226d7e21303d984d7097271392bae6be478495b +0 -0
  738. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/ae216724654f3e52d3c502328caf83f773e66cc5818c38850165864005a35169 +0 -0
  739. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/c8c2fd0acdb7eecaf4f66d5164204c4e8e5ebbabb6398e0ee6ec6d8af71ea672 +0 -0
  740. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/fd8fd38c229ab33755ff429ccc9919eba21b566551cbfb17d8e11e35e941ee0e +0 -0
  741. package/.pi/.pi-puppeteer/profiles/chrome/default/component_crx_cache/metadata.json +0 -1
  742. package/.pi/.pi-puppeteer/profiles/chrome/default/extensions_crx_cache/metadata.json +0 -1
  743. package/.pi/.pi-puppeteer/profiles/chrome/default/first_party_sets.db +0 -0
  744. package/.pi/.pi-puppeteer/profiles/chrome/default/first_party_sets.db-journal +0 -0
  745. package/.pi/.pi-puppeteer/profiles/chrome/default/segmentation_platform/ukm_db +0 -0
  746. package/.pi-subagents/artifacts/6d0b4431_custom.vision-agent_0_input.md +0 -54
  747. package/.pi-subagents/artifacts/6d0b4431_custom.vision-agent_0_meta.json +0 -114
  748. package/.pi-subagents/artifacts/6d0b4431_custom.vision-agent_0_output.md +0 -22
  749. package/.pi-subagents/artifacts/6d0b4431_custom.vision-agent_0_transcript.jsonl +0 -7
  750. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,1104 @@
1
+ // useAgentSession — core hook for managing pi agent chat sessions.
2
+ // Ported and simplified from pi-web's hooks/useAgentSession.ts.
3
+ // Handles: session loading, SSE events, message sending, model switching, abort, compact.
4
+
5
+ import { useState, useCallback, useRef, useEffect, useMemo, useReducer } from "react";
6
+ import type {
7
+ AgentMessage,
8
+ AssistantMessage,
9
+ SessionData,
10
+ SessionInfo,
11
+ SessionStatsInfo,
12
+ AttachedImage,
13
+ ChatInputHandle,
14
+ ModelEntry,
15
+ AgentStateResponse,
16
+ NoticeItem,
17
+ AgentPhase,
18
+ QueuedMessages,
19
+ SlashCommandInfo,
20
+ ContextUsage,
21
+ ToolResultMessage,
22
+ } from "@/types/chat";
23
+
24
+ // ─── Helpers ─────────────────────────────────────────────
25
+
26
+ export async function sendAgentCommand<T = unknown>(
27
+ sessionId: string,
28
+ command: Record<string, unknown>,
29
+ ): Promise<T> {
30
+ const res = await fetch(`/api/chat/agent/${encodeURIComponent(sessionId)}`, {
31
+ method: "POST",
32
+ headers: { "Content-Type": "application/json" },
33
+ body: JSON.stringify(command),
34
+ });
35
+ const body = (await res.json().catch(() => ({}))) as {
36
+ success?: boolean;
37
+ data?: T;
38
+ error?: string;
39
+ };
40
+ if (!res.ok || body.error) {
41
+ throw new Error(body.error ?? `HTTP ${res.status}`);
42
+ }
43
+ return body.data as T;
44
+ }
45
+
46
+ function normalizeToolCalls(message: AgentMessage): AgentMessage {
47
+ if (message.role !== "assistant") return message;
48
+ const am = message as AssistantMessage;
49
+ let changed = false;
50
+ const content = am.content.map((block) => {
51
+ if (block.type === "toolCall" && (block as any).tool_name && !block.toolName) {
52
+ changed = true;
53
+ const { tool_name, ...rest } = block as any;
54
+ return { ...rest, toolName: tool_name };
55
+ }
56
+ if (block.type === "toolCall" && (block as any).tool_input && !block.input) {
57
+ changed = true;
58
+ const { tool_input, ...rest } = block as any;
59
+ return { ...rest, input: tool_input };
60
+ }
61
+ return block;
62
+ });
63
+ return changed ? { ...am, content } : am;
64
+ }
65
+
66
+ function createNoticeId(): string {
67
+ if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
68
+ return crypto.randomUUID();
69
+ }
70
+ return `${Date.now()}-${Math.random().toString(36).slice(2)}`;
71
+ }
72
+
73
+ function extractMessageText(message: Partial<AgentMessage>): string {
74
+ const content = (message as { content?: unknown }).content;
75
+ if (typeof content === "string") return content;
76
+ if (!Array.isArray(content)) return "";
77
+ return content
78
+ .map((block) =>
79
+ block && typeof block === "object"
80
+ && (block as { type?: string }).type === "text"
81
+ && typeof (block as { text?: unknown }).text === "string"
82
+ ? (block as { text: string }).text
83
+ : "")
84
+ .filter(Boolean)
85
+ .join("\n");
86
+ }
87
+
88
+ function imageSignature(block: unknown): string {
89
+ if (!block || typeof block !== "object" || (block as { type?: unknown }).type !== "image") return "";
90
+ const source = (block as { source?: unknown }).source;
91
+ if (source && typeof source === "object") {
92
+ const src = source as { type?: unknown; media_type?: unknown; data?: unknown; url?: unknown };
93
+ return [src.type === "url" ? "url" : "base64", typeof src.media_type === "string" ? src.media_type : "", typeof src.data === "string" ? src.data : "", typeof src.url === "string" ? src.url : ""].join(":");
94
+ }
95
+ const flat = block as { data?: unknown; mimeType?: unknown };
96
+ return ["base64", typeof flat.mimeType === "string" ? flat.mimeType : "", typeof flat.data === "string" ? flat.data : "", ""].join(":");
97
+ }
98
+
99
+ function userMessageKey(message: Partial<AgentMessage>): string {
100
+ const content = (message as { content?: unknown }).content;
101
+ if (typeof content === "string") return JSON.stringify({ text: content, images: [] });
102
+ if (!Array.isArray(content)) return JSON.stringify({ text: "", images: [] });
103
+ return JSON.stringify({
104
+ text: extractMessageText(message),
105
+ images: content.map(imageSignature).filter(Boolean),
106
+ });
107
+ }
108
+
109
+ // ─── Stream Reducer ──────────────────────────────────────
110
+
111
+ interface StreamingState {
112
+ isStreaming: boolean;
113
+ streamingMessage: Partial<AgentMessage> | null;
114
+ }
115
+
116
+ type StreamAction =
117
+ | { type: "start" }
118
+ | { type: "update"; message: Partial<AgentMessage> }
119
+ | { type: "end" }
120
+ | { type: "reset" };
121
+
122
+ function streamReducer(state: StreamingState, action: StreamAction): StreamingState {
123
+ switch (action.type) {
124
+ case "start":
125
+ return { isStreaming: true, streamingMessage: null };
126
+ case "update":
127
+ return { isStreaming: true, streamingMessage: action.message };
128
+ case "end":
129
+ case "reset":
130
+ return { isStreaming: false, streamingMessage: null };
131
+ default:
132
+ return state;
133
+ }
134
+ }
135
+
136
+ // ─── Notice Reducer ──────────────────────────────────────
137
+
138
+ type NoticeAction =
139
+ | { type: "add"; notice: NoticeItem }
140
+ | { type: "mark_oldest_exiting" }
141
+ | { type: "remove"; id: string };
142
+
143
+ type NoticeState = { visible: NoticeItem[]; pending: NoticeItem[] };
144
+
145
+ const MAX_NOTICES = 5;
146
+ const NOTICE_VISIBLE_MS = 5000;
147
+ const NOTICE_EXIT_ANIMATION_MS = 180;
148
+
149
+ function markOldestNoticeExiting(notices: NoticeItem[]): NoticeItem[] {
150
+ const index = notices.findIndex((notice) => !notice.exiting);
151
+ if (index === -1) return notices;
152
+ return notices.map((notice, i) => (i === index ? { ...notice, exiting: true } : notice));
153
+ }
154
+
155
+ function fillPendingNotices(visible: NoticeItem[], pending: NoticeItem[]): NoticeState {
156
+ let nextVisible = visible;
157
+ let nextPending = pending;
158
+ while (nextPending.length > 0 && nextVisible.length < MAX_NOTICES) {
159
+ const [next, ...rest] = nextPending;
160
+ if (!next) break;
161
+ nextVisible = [...nextVisible, next];
162
+ nextPending = rest;
163
+ }
164
+ if (nextPending.length > 0 && !nextVisible.some((notice) => notice.exiting)) {
165
+ nextVisible = markOldestNoticeExiting(nextVisible);
166
+ }
167
+ return { visible: nextVisible, pending: nextPending };
168
+ }
169
+
170
+ function noticeReducer(state: NoticeState, action: NoticeAction): NoticeState {
171
+ switch (action.type) {
172
+ case "add": {
173
+ if (state.visible.some((notice) => notice.exiting) || state.visible.length >= MAX_NOTICES) {
174
+ return {
175
+ visible: state.visible.some((notice) => notice.exiting)
176
+ ? state.visible
177
+ : markOldestNoticeExiting(state.visible),
178
+ pending: [...state.pending, action.notice],
179
+ };
180
+ }
181
+ return { ...state, visible: [...state.visible, action.notice] };
182
+ }
183
+ case "mark_oldest_exiting":
184
+ return { ...state, visible: markOldestNoticeExiting(state.visible) };
185
+ case "remove": {
186
+ const visible = state.visible.filter((notice) => notice.id !== action.id);
187
+ return fillPendingNotices(visible, state.pending);
188
+ }
189
+ default:
190
+ return state;
191
+ }
192
+ }
193
+
194
+ // ─── Hook Options ────────────────────────────────────────
195
+
196
+ export interface UseAgentSessionOptions {
197
+ session: SessionInfo | null;
198
+ newSessionCwd: string | null;
199
+ onAgentEnd?: () => void;
200
+ onSessionCreated?: (session: SessionInfo) => void;
201
+ onSessionForked?: (newSessionId: string) => void;
202
+ modelsRefreshKey?: number;
203
+ chatInputRef?: React.RefObject<ChatInputHandle | null>;
204
+ onSessionStatsPanelOpen?: () => void;
205
+ }
206
+
207
+ export type ThinkingLevelOption = "auto" | "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
208
+
209
+ // ─── Main Hook ───────────────────────────────────────────
210
+
211
+ export function useAgentSession(opts: UseAgentSessionOptions) {
212
+ const {
213
+ session, newSessionCwd, onAgentEnd, onSessionCreated, onSessionForked,
214
+ modelsRefreshKey, onSessionStatsPanelOpen,
215
+ } = opts;
216
+
217
+ const isNew = session === null && newSessionCwd !== null;
218
+
219
+ const [data, setData] = useState<SessionData | null>(null);
220
+ const [loading, setLoading] = useState(!isNew);
221
+ const [error, setError] = useState<string | null>(null);
222
+ const [messages, setMessages] = useState<AgentMessage[]>([]);
223
+ const [entryIds, setEntryIds] = useState<string[]>([]);
224
+ const [streamState, dispatch] = useReducer(streamReducer, { isStreaming: false, streamingMessage: null });
225
+ const [agentRunning, setAgentRunning] = useState(false);
226
+ const [bashRunning, setBashRunning] = useState(false);
227
+ const [pendingBash, setPendingBash] = useState<{ command: string; excludeFromContext: boolean } | null>(null);
228
+ const [modelNames, setModelNames] = useState<Record<string, string>>({});
229
+ const [modelList, setModelList] = useState<ModelEntry[]>([]);
230
+ const [modelError, setModelError] = useState<string | null>(null);
231
+ const [newSessionModel, setNewSessionModel] = useState<{ provider: string; modelId: string } | null>(null);
232
+ const [newSessionDefaultModel, setNewSessionDefaultModel] = useState<{ provider: string; modelId: string } | null>(null);
233
+ const [thinkingLevel, setThinkingLevel] = useState<ThinkingLevelOption>("auto");
234
+ const [contextUsage, setContextUsage] = useState<ContextUsage | null>(null);
235
+ const [systemPrompt, setSystemPrompt] = useState<string | null>(null);
236
+ const [forkingEntryId, setForkingEntryId] = useState<string | null>(null);
237
+ const [currentModelOverride, setCurrentModelOverride] = useState<{ provider: string; modelId: string } | null>(null);
238
+ const [pendingModel, setPendingModel] = useState<{ provider: string; modelId: string } | null>(null);
239
+ const [isCompacting, setIsCompacting] = useState(false);
240
+ const [compactError, setCompactError] = useState<string | null>(null);
241
+ const [compactResult, setCompactResult] = useState<{ reason: string; tokensBefore: number; estimatedTokensAfter: number } | null>(null);
242
+ const [agentPhase, setAgentPhase] = useState<AgentPhase>(null);
243
+ const [slashCommands, setSlashCommands] = useState<SlashCommandInfo[]>([]);
244
+ const [slashCommandsLoading, setSlashCommandsLoading] = useState(false);
245
+ const [queuedMessages, setQueuedMessages] = useState<QueuedMessages>({ steering: [], followUp: [] });
246
+ const [noticeState, dispatchNotice] = useReducer(noticeReducer, { visible: [], pending: [] });
247
+ const [retryInfo, setRetryInfo] = useState<{ attempt: number; maxAttempts: number; errorMessage?: string } | null>(null);
248
+
249
+ const eventSourceRef = useRef<EventSource | null>(null);
250
+ const sessionIdRef = useRef<string | null>(session?.id ?? null);
251
+ const agentRunningRef = useRef(false);
252
+ const handleAgentEventRef = useRef<((event: any) => void) | null>(null);
253
+ const initialScrollDoneRef = useRef(false);
254
+ const lastUserMsgRef = useRef<HTMLDivElement | null>(null);
255
+ const messagesEndRef = useRef<HTMLDivElement | null>(null);
256
+ const scrollContainerRef = useRef<HTMLDivElement | null>(null);
257
+ const ensuringNewSessionRef = useRef<Promise<string | null> | null>(null);
258
+ const newSessionPromotedRef = useRef(false);
259
+ const newSessionModelOverrideRef = useRef<{ provider: string; modelId: string } | null>(null);
260
+ const thinkingLevelOverrideRef = useRef<Exclude<ThinkingLevelOption, "auto"> | null>(null);
261
+ const promptRunIdRef = useRef(0);
262
+ const optimisticUserMessageKeyRef = useRef<string | null>(null);
263
+ const toolPresetRef = useRef<"none" | "default" | "full">("default");
264
+ const [toolPreset, setToolPresetState] = useState<"none" | "default" | "full">("default");
265
+
266
+ const currentModel = currentModelOverride ?? data?.context.model ?? pendingModel ?? null;
267
+ const displayModel = isNew ? (newSessionModel ?? newSessionDefaultModel) : currentModel;
268
+
269
+ // ─── Session Stats ─────────────────────────────────────
270
+
271
+ const sessionStats = useMemo(() => {
272
+ const tokens = { input: 0, output: 0, cacheRead: 0, cacheWrite: 0, total: 0 };
273
+ let cost = 0;
274
+ let userMessages = 0;
275
+ let assistantMessages = 0;
276
+ let toolResults = 0;
277
+ let toolCalls = 0;
278
+ for (const msg of messages) {
279
+ if (msg.role === "user") userMessages += 1;
280
+ if (msg.role === "toolResult") toolResults += 1;
281
+ if (msg.role !== "assistant") continue;
282
+ assistantMessages += 1;
283
+ const u = (msg as AssistantMessage).usage;
284
+ toolCalls += (msg as AssistantMessage).content.filter((c) => c.type === "toolCall").length;
285
+ if (!u) continue;
286
+ tokens.input += u.input ?? 0;
287
+ tokens.output += u.output ?? 0;
288
+ tokens.cacheRead += u.cacheRead ?? 0;
289
+ tokens.cacheWrite += u.cacheWrite ?? 0;
290
+ cost += u.cost?.total ?? 0;
291
+ }
292
+ tokens.total = tokens.input + tokens.output + tokens.cacheRead + tokens.cacheWrite;
293
+ if (tokens.total === 0 && messages.length === 0) return null;
294
+ return {
295
+ sessionFile: data?.filePath || undefined,
296
+ sessionId: sessionIdRef.current ?? session?.id ?? "",
297
+ sessionName: session?.name,
298
+ userMessages,
299
+ assistantMessages,
300
+ toolCalls,
301
+ toolResults,
302
+ totalMessages: messages.length,
303
+ tokens,
304
+ cost,
305
+ ...(contextUsage ? { contextUsage } : {}),
306
+ } satisfies SessionStatsInfo;
307
+ }, [messages, contextUsage, data?.filePath, session?.id, session?.name]);
308
+
309
+ // ─── Load Session ──────────────────────────────────────
310
+
311
+ const loadSession = useCallback(async (sid: string, showLoading = false) => {
312
+ try {
313
+ if (showLoading) setLoading(true);
314
+ const res = await fetch(`/api/chat/sessions/${encodeURIComponent(sid)}`);
315
+ if (res.status === 404) {
316
+ if (showLoading) {
317
+ setData(null);
318
+ setMessages([]);
319
+ setError(null);
320
+ }
321
+ return null;
322
+ }
323
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
324
+ const d = await res.json() as SessionData;
325
+ if (sessionIdRef.current !== sid) return null;
326
+ setData(d);
327
+ setMessages(d.context.messages);
328
+ setEntryIds(d.context.entryIds ?? []);
329
+ setCurrentModelOverride(null);
330
+ setError(null);
331
+ if (showLoading) setLoading(false);
332
+
333
+ // Load agent state if running
334
+ try {
335
+ const stateRes = await fetch(`/api/chat/agent/${encodeURIComponent(sid)}`);
336
+ if (stateRes.ok) {
337
+ const agentState = await stateRes.json() as { running?: boolean; state?: AgentStateResponse };
338
+ if (sessionIdRef.current !== sid) return null;
339
+ const liveState = agentState.state;
340
+ if (liveState) {
341
+ if (liveState.contextUsage !== undefined) setContextUsage(liveState.contextUsage ?? null);
342
+ if (liveState.systemPrompt !== undefined) setSystemPrompt(liveState.systemPrompt ?? null);
343
+ if (liveState.thinkingLevel !== undefined) setThinkingLevel((liveState.thinkingLevel as ThinkingLevelOption) ?? "auto");
344
+ }
345
+ if (agentState.running && liveState?.isStreaming) {
346
+ agentRunningRef.current = true;
347
+ setAgentRunning(true);
348
+ setAgentPhase({ kind: "waiting_model" });
349
+ dispatch({ type: "start" });
350
+ }
351
+ }
352
+ } catch {
353
+ // ignore state fetch errors
354
+ }
355
+ return null;
356
+ } catch (e) {
357
+ setError(String(e));
358
+ return null;
359
+ } finally {
360
+ if (showLoading) setLoading(false);
361
+ }
362
+ }, []);
363
+
364
+ // ─── Load Models ───────────────────────────────────────
365
+
366
+ const loadModels = useCallback(async (signal?: AbortSignal) => {
367
+ const modelCwd = newSessionCwd ?? session?.cwd ?? "";
368
+ const modelsUrl = modelCwd ? `/api/chat/models?cwd=${encodeURIComponent(modelCwd)}` : "/api/chat/models";
369
+ console.log("[loadModels] Fetching models for cwd:", modelCwd, "URL:", modelsUrl);
370
+ try {
371
+ const res = await fetch(modelsUrl, signal ? { signal } : undefined);
372
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
373
+ const d = await res.json() as any;
374
+ console.log("[loadModels] Response:", { models: d.models, modelList: d.modelList, defaultModel: d.defaultModel, modelError: d.modelError });
375
+ setModelNames(d.models ?? {});
376
+ setModelError(d.modelError ?? null);
377
+ const nextModelList = d.modelList ?? [];
378
+ setModelList(nextModelList);
379
+ if (isNew && !sessionIdRef.current) {
380
+ const match = d.defaultModel
381
+ ? nextModelList.find((m: ModelEntry) => m.id === d.defaultModel?.modelId && m.provider === d.defaultModel?.provider)
382
+ : undefined;
383
+ const display = match ?? nextModelList[0];
384
+ setNewSessionDefaultModel(display ? { provider: display.provider, modelId: display.id } : null);
385
+ }
386
+ } catch (e) {
387
+ if (e instanceof DOMException && e.name === "AbortError") return;
388
+ console.error("Failed to load models:", e);
389
+ }
390
+ }, [isNew, newSessionCwd, session?.cwd]);
391
+
392
+ // ─── Ensure New Session ────────────────────────────────
393
+
394
+ const ensureNewSession = useCallback(async (): Promise<string | null> => {
395
+ if (sessionIdRef.current) return sessionIdRef.current;
396
+ if (!isNew || !newSessionCwd) return sessionIdRef.current;
397
+ if (ensuringNewSessionRef.current) return ensuringNewSessionRef.current;
398
+
399
+ const promise = (async () => {
400
+ const selectedModel = newSessionModelOverrideRef.current;
401
+ const selectedThinkingLevel = thinkingLevelOverrideRef.current;
402
+ if (selectedModel) setPendingModel(selectedModel);
403
+ const toolNames = toolPresetRef.current === "default"
404
+ ? ["read", "bash", "edit", "write", "grep", "find", "ls"]
405
+ : toolPresetRef.current === "full"
406
+ ? ["read", "bash", "edit", "write", "grep", "find", "ls"]
407
+ : [];
408
+ const res = await fetch("/api/chat/agent/new", {
409
+ method: "POST",
410
+ headers: { "Content-Type": "application/json" },
411
+ body: JSON.stringify({
412
+ cwd: newSessionCwd,
413
+ type: "ensure_session",
414
+ toolNames,
415
+ ...(selectedModel ? { provider: selectedModel.provider, modelId: selectedModel.modelId } : {}),
416
+ ...(selectedThinkingLevel ? { thinkingLevel: selectedThinkingLevel } : {}),
417
+ }),
418
+ });
419
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
420
+ const result = await res.json() as {
421
+ sessionId: string;
422
+ model?: { provider: string; modelId: string } | null;
423
+ thinkingLevel?: ThinkingLevelOption;
424
+ };
425
+ const realId = result.sessionId;
426
+ sessionIdRef.current = realId;
427
+ if (result.model) {
428
+ setPendingModel(result.model);
429
+ if (!selectedModel) setNewSessionDefaultModel(result.model);
430
+ }
431
+ if (result.thinkingLevel) {
432
+ setThinkingLevel(result.thinkingLevel);
433
+ }
434
+ return realId;
435
+ })();
436
+
437
+ ensuringNewSessionRef.current = promise;
438
+ try {
439
+ return await promise;
440
+ } finally {
441
+ ensuringNewSessionRef.current = null;
442
+ }
443
+ }, [isNew, newSessionCwd]);
444
+
445
+ // ─── Promote New Session ───────────────────────────────
446
+
447
+ const promoteNewSession = useCallback((messageCount = 0, firstMessage = "(no messages)") => {
448
+ const sid = sessionIdRef.current;
449
+ if (!isNew || !newSessionCwd || !sid || newSessionPromotedRef.current) return;
450
+ newSessionPromotedRef.current = true;
451
+ onSessionCreated?.({
452
+ id: sid,
453
+ path: "",
454
+ cwd: newSessionCwd,
455
+ created: new Date().toISOString(),
456
+ modified: new Date().toISOString(),
457
+ messageCount,
458
+ firstMessage,
459
+ });
460
+ }, [isNew, newSessionCwd, onSessionCreated]);
461
+
462
+ // ─── Event Source Connection ───────────────────────────
463
+
464
+ const closeEvents = useCallback(() => {
465
+ eventSourceRef.current?.close();
466
+ eventSourceRef.current = null;
467
+ }, []);
468
+
469
+ const connectEvents = useCallback((sid: string) => {
470
+ closeEvents();
471
+ const es = new EventSource(`/api/chat/agent/${encodeURIComponent(sid)}/events`);
472
+ eventSourceRef.current = es;
473
+
474
+ es.onmessage = (e) => {
475
+ try {
476
+ const event = JSON.parse(e.data);
477
+ if (event.type === "connected") return;
478
+ handleAgentEventRef.current?.(event);
479
+ } catch {
480
+ // ignore
481
+ }
482
+ };
483
+ es.onerror = () => {
484
+ // EventSource will auto-reconnect for recoverable errors
485
+ };
486
+ }, [closeEvents]);
487
+
488
+ // ─── Agent Event Handler ───────────────────────────────
489
+
490
+ const addNotice = useCallback((notice: { id?: string; message: string; type?: "info" | "success" | "warning" | "error" }) => {
491
+ const message = notice.message.trim();
492
+ if (!message) return;
493
+ dispatchNotice({
494
+ type: "add",
495
+ notice: {
496
+ id: notice.id ?? createNoticeId(),
497
+ message,
498
+ type: notice.type ?? "info",
499
+ },
500
+ });
501
+ }, []);
502
+
503
+ const handleAgentEvent = useCallback((event: any) => {
504
+ switch (event.type) {
505
+ case "agent_start":
506
+ agentRunningRef.current = true;
507
+ setAgentRunning(true);
508
+ setAgentPhase({ kind: "waiting_model" });
509
+ dispatch({ type: "start" });
510
+ break;
511
+
512
+ case "agent_end":
513
+ setAgentPhase(null);
514
+ setRetryInfo(null);
515
+ dispatch({ type: "end" });
516
+ if (sessionIdRef.current) {
517
+ loadSession(sessionIdRef.current);
518
+ fetch(`/api/chat/agent/${encodeURIComponent(sessionIdRef.current)}`)
519
+ .then((r) => r.json())
520
+ .then((d: { state?: AgentStateResponse }) => {
521
+ if (d.state?.contextUsage !== undefined) setContextUsage(d.state.contextUsage ?? null);
522
+ if (d.state?.systemPrompt !== undefined) setSystemPrompt(d.state.systemPrompt ?? null);
523
+ })
524
+ .catch(() => {});
525
+ }
526
+ break;
527
+
528
+ case "agent_settled": {
529
+ const wasRunning = agentRunningRef.current;
530
+ agentRunningRef.current = false;
531
+ if (!wasRunning) break;
532
+ setAgentRunning(false);
533
+ setAgentPhase(null);
534
+ setRetryInfo(null);
535
+ dispatch({ type: "end" });
536
+ setIsCompacting(false);
537
+ if (sessionIdRef.current) {
538
+ loadSession(sessionIdRef.current);
539
+ }
540
+ if (wasRunning) onAgentEnd?.();
541
+ break;
542
+ }
543
+
544
+ case "prompt_done": {
545
+ const runId = promptRunIdRef.current;
546
+ const promptWasPending = true;
547
+ promptRunIdRef.current = 0;
548
+ optimisticUserMessageKeyRef.current = null;
549
+ if (!promptWasPending) break;
550
+ const sid = sessionIdRef.current;
551
+ if (sid) loadSession(sid);
552
+ if (!agentRunningRef.current) {
553
+ setAgentRunning(false);
554
+ setAgentPhase(null);
555
+ dispatch({ type: "end" });
556
+ }
557
+ onAgentEnd?.();
558
+ break;
559
+ }
560
+
561
+ case "prompt_error":
562
+ addNotice({ type: "error", message: (event.errorMessage as string | undefined) ?? "Command failed" });
563
+ break;
564
+
565
+ case "message_start":
566
+ case "message_update": {
567
+ if (!agentRunningRef.current) break;
568
+ const msg = event.message as Partial<AgentMessage> | undefined;
569
+ if (msg?.role === "user") break;
570
+ if (msg) {
571
+ dispatch({ type: "update", message: normalizeToolCalls(msg as AgentMessage) });
572
+ }
573
+ setAgentPhase(null);
574
+ break;
575
+ }
576
+
577
+ case "message_end": {
578
+ if (!agentRunningRef.current) break;
579
+ const completed = event.message as AgentMessage | undefined;
580
+ if (completed && completed.role === "user") {
581
+ const delivered = normalizeToolCalls(completed);
582
+ const deliveredKey = userMessageKey(delivered);
583
+ const optimisticKey = optimisticUserMessageKeyRef.current;
584
+ optimisticUserMessageKeyRef.current = null;
585
+ setMessages((prev) => {
586
+ const last = prev[prev.length - 1];
587
+ if (optimisticKey && last?.role === "user" && userMessageKey(last) === optimisticKey) {
588
+ return optimisticKey === deliveredKey ? prev : [...prev.slice(0, -1), delivered];
589
+ }
590
+ return [...prev, delivered];
591
+ });
592
+ } else if (completed) {
593
+ setMessages((prev) => [...prev, normalizeToolCalls(completed)]);
594
+ }
595
+ dispatch({ type: "reset" });
596
+ setAgentPhase({ kind: "waiting_model" });
597
+ break;
598
+ }
599
+
600
+ case "tool_execution_start": {
601
+ const id = event.toolCallId as string;
602
+ const name = event.toolName as string;
603
+ setAgentPhase((prev) => {
604
+ const tools = prev?.kind === "running_tools" ? [...prev.tools] : [];
605
+ if (!tools.some((t) => t.id === id)) tools.push({ id, name });
606
+ return { kind: "running_tools", tools };
607
+ });
608
+ break;
609
+ }
610
+
611
+ case "tool_execution_end": {
612
+ const id = event.toolCallId as string;
613
+ setAgentPhase((prev) => {
614
+ if (prev?.kind !== "running_tools") return prev;
615
+ const tools = prev.tools.filter((t) => t.id !== id);
616
+ if (tools.length === 0) return { kind: "waiting_model" };
617
+ return { kind: "running_tools", tools };
618
+ });
619
+ break;
620
+ }
621
+
622
+ case "queue_update":
623
+ setQueuedMessages({
624
+ steering: [...((event.steering as string[] | undefined) ?? [])],
625
+ followUp: [...((event.followUp as string[] | undefined) ?? [])],
626
+ });
627
+ break;
628
+
629
+ case "auto_retry_start":
630
+ setRetryInfo({ attempt: event.attempt as number, maxAttempts: event.maxAttempts as number, errorMessage: event.errorMessage as string | undefined });
631
+ break;
632
+
633
+ case "auto_retry_end":
634
+ setRetryInfo(null);
635
+ break;
636
+
637
+ case "auto_compaction_start":
638
+ case "compaction_start":
639
+ setIsCompacting(true);
640
+ setCompactError(null);
641
+ setCompactResult(null);
642
+ break;
643
+
644
+ case "auto_compaction_end":
645
+ case "compaction_end":
646
+ setIsCompacting(false);
647
+ if (event.errorMessage) {
648
+ setCompactError(event.errorMessage as string);
649
+ setCompactResult(null);
650
+ } else if (!event.aborted) {
651
+ if (event.result) {
652
+ setCompactResult({
653
+ reason: (event.reason as string | undefined) ?? "auto",
654
+ tokensBefore: (event.result as any).tokensBefore ?? 0,
655
+ estimatedTokensAfter: (event.result as any).estimatedTokensAfter ?? 0,
656
+ });
657
+ }
658
+ if (sessionIdRef.current) loadSession(sessionIdRef.current);
659
+ }
660
+ break;
661
+ }
662
+ }, [addNotice, loadSession, onAgentEnd]);
663
+
664
+ handleAgentEventRef.current = handleAgentEvent;
665
+
666
+ // ─── Send Message ──────────────────────────────────────
667
+
668
+ const handleSend = useCallback(async (message: string, images?: AttachedImage[]) => {
669
+ const trimmedMessage = message.trim();
670
+ if (!trimmedMessage && !images?.length) return;
671
+ if (agentRunningRef.current) return;
672
+
673
+ const isBashCommand = !images?.length && trimmedMessage.startsWith("!");
674
+ if (isBashCommand) {
675
+ const isExcluded = trimmedMessage.startsWith("!!");
676
+ const bashCmd = (isExcluded ? trimmedMessage.slice(2) : trimmedMessage.slice(1)).trim();
677
+ if (!bashCmd) return;
678
+ // Execute bash command
679
+ try {
680
+ const sid = sessionIdRef.current ?? await ensureNewSession();
681
+ if (!sid) return;
682
+ setBashRunning(true);
683
+ setPendingBash({ command: bashCmd, excludeFromContext: isExcluded });
684
+ await sendAgentCommand(sid, { type: "bash", command: bashCmd, excludeFromContext: isExcluded });
685
+ await loadSession(sid);
686
+ promoteNewSession(1, trimmedMessage);
687
+ } catch (e) {
688
+ addNotice({ type: "error", message: e instanceof Error ? e.message : String(e) });
689
+ } finally {
690
+ setPendingBash(null);
691
+ setBashRunning(false);
692
+ }
693
+ return;
694
+ }
695
+
696
+ const promptRunId = promptRunIdRef.current + 1;
697
+ const imageBlocks = images?.map((img) => ({ type: "image" as const, source: { type: "base64" as const, media_type: img.mimeType, data: img.data } }));
698
+ const userMsg: AgentMessage = {
699
+ role: "user",
700
+ content: imageBlocks?.length
701
+ ? [...(message.trim() ? [{ type: "text" as const, text: message }] : []), ...imageBlocks]
702
+ : message,
703
+ timestamp: Date.now(),
704
+ };
705
+ setMessages((prev) => [...prev, userMsg]);
706
+ optimisticUserMessageKeyRef.current = userMessageKey(userMsg);
707
+ promptRunIdRef.current = promptRunId;
708
+ agentRunningRef.current = true;
709
+ setAgentRunning(true);
710
+ setAgentPhase({ kind: "waiting_model" });
711
+ dispatch({ type: "start" });
712
+
713
+ const piImages = images?.map((img) => ({ type: "image" as const, data: img.data, mimeType: img.mimeType }));
714
+
715
+ try {
716
+ if (isNew && newSessionCwd) {
717
+ const selectedModel = newSessionModel;
718
+ const sid = await ensureNewSession();
719
+ if (sid) {
720
+ if (selectedModel) {
721
+ setPendingModel(selectedModel);
722
+ await sendAgentCommand(sid, { type: "set_model", provider: selectedModel.provider, modelId: selectedModel.modelId });
723
+ }
724
+ connectEvents(sid);
725
+ await sendAgentCommand(sid, {
726
+ type: "prompt",
727
+ message,
728
+ ...(piImages?.length ? { images: piImages } : {}),
729
+ });
730
+ promoteNewSession(1, message);
731
+ }
732
+ } else if (session) {
733
+ connectEvents(session.id);
734
+ await sendAgentCommand(session.id, {
735
+ type: "prompt",
736
+ message,
737
+ ...(piImages?.length ? { images: piImages } : {}),
738
+ });
739
+ }
740
+ } catch (e) {
741
+ console.error("Failed to send message:", e);
742
+ addNotice({ type: "error", message: e instanceof Error ? e.message : String(e) });
743
+ const optimisticKey = optimisticUserMessageKeyRef.current;
744
+ if (optimisticKey) {
745
+ setMessages((prev) => {
746
+ const last = prev[prev.length - 1];
747
+ return last?.role === "user" && userMessageKey(last) === optimisticKey ? prev.slice(0, -1) : prev;
748
+ });
749
+ }
750
+ optimisticUserMessageKeyRef.current = null;
751
+ agentRunningRef.current = false;
752
+ setAgentRunning(false);
753
+ setAgentPhase(null);
754
+ dispatch({ type: "end" });
755
+ closeEvents();
756
+ if (message) opts.chatInputRef?.current?.insertIfEmpty(message);
757
+ }
758
+ }, [isNew, newSessionCwd, newSessionModel, session, ensureNewSession, connectEvents, promoteNewSession, addNotice, closeEvents, loadSession, opts.chatInputRef]);
759
+
760
+ // ─── Abort ─────────────────────────────────────────────
761
+
762
+ const handleAbort = useCallback(async () => {
763
+ const sid = sessionIdRef.current;
764
+ if (!sid) return;
765
+ try {
766
+ await sendAgentCommand(sid, { type: "abort" });
767
+ } catch (e) {
768
+ console.error("Failed to abort:", e);
769
+ }
770
+ }, []);
771
+
772
+ // ─── Fork ──────────────────────────────────────────────
773
+
774
+ const handleFork = useCallback(async (entryId: string) => {
775
+ const sid = sessionIdRef.current;
776
+ if (!sid) return;
777
+ setForkingEntryId(entryId);
778
+ try {
779
+ const result = await sendAgentCommand<{ cancelled?: boolean; newSessionId?: string }>(sid, {
780
+ type: "fork",
781
+ entryId,
782
+ });
783
+ if (!result?.cancelled && result?.newSessionId) {
784
+ onSessionForked?.(result.newSessionId);
785
+ }
786
+ } catch (e) {
787
+ console.error("Fork failed:", e);
788
+ } finally {
789
+ setForkingEntryId(null);
790
+ }
791
+ }, [onSessionForked]);
792
+
793
+ // ─── Model Change ──────────────────────────────────────
794
+
795
+ const handleModelChange = useCallback(async (provider: string, modelId: string) => {
796
+ if (isNew) {
797
+ const selectedModel = { provider, modelId };
798
+ newSessionModelOverrideRef.current = selectedModel;
799
+ setNewSessionModel(selectedModel);
800
+ setPendingModel(selectedModel);
801
+ const sid = sessionIdRef.current ?? await ensuringNewSessionRef.current;
802
+ if (!sid) return;
803
+ try {
804
+ await sendAgentCommand(sid, { type: "set_model", provider, modelId });
805
+ } catch (e) {
806
+ console.error("Failed to set model:", e);
807
+ }
808
+ return;
809
+ }
810
+ const sid = sessionIdRef.current;
811
+ if (!sid) return;
812
+ try {
813
+ await sendAgentCommand(sid, { type: "set_model", provider, modelId });
814
+ setCurrentModelOverride({ provider, modelId });
815
+ } catch (e) {
816
+ console.error("Failed to set model:", e);
817
+ }
818
+ }, [isNew]);
819
+
820
+ // ─── Compact ───────────────────────────────────────────
821
+
822
+ const handleCompact = useCallback(async () => {
823
+ const sid = sessionIdRef.current;
824
+ if (!sid || isCompacting) return;
825
+ setIsCompacting(true);
826
+ setCompactError(null);
827
+ setCompactResult(null);
828
+ try {
829
+ const result = await sendAgentCommand<any>(sid, { type: "compact" });
830
+ if (result) {
831
+ setCompactResult({
832
+ reason: "manual",
833
+ tokensBefore: result.tokensBefore ?? 0,
834
+ estimatedTokensAfter: result.estimatedTokensAfter ?? 0,
835
+ });
836
+ }
837
+ await loadSession(sid, true);
838
+ } catch (e) {
839
+ setCompactError(e instanceof Error ? e.message : String(e));
840
+ setCompactResult(null);
841
+ } finally {
842
+ setIsCompacting(false);
843
+ }
844
+ }, [isCompacting, loadSession]);
845
+
846
+ // ─── Steering & Follow-up ──────────────────────────────
847
+
848
+ const handleSteer = useCallback(async (message: string, images?: AttachedImage[]) => {
849
+ const sid = sessionIdRef.current;
850
+ if (!sid) return;
851
+ const piImages = images?.map((img) => ({ type: "image" as const, data: img.data, mimeType: img.mimeType }));
852
+ try {
853
+ await sendAgentCommand(sid, { type: "steer", message, ...(piImages?.length ? { images: piImages } : {}) });
854
+ } catch (e) {
855
+ console.error("Failed to steer:", e);
856
+ }
857
+ }, []);
858
+
859
+ const handleFollowUp = useCallback(async (message: string, images?: AttachedImage[]) => {
860
+ const sid = sessionIdRef.current;
861
+ if (!sid) return;
862
+ const piImages = images?.map((img) => ({ type: "image" as const, data: img.data, mimeType: img.mimeType }));
863
+ try {
864
+ await sendAgentCommand(sid, { type: "follow_up", message, ...(piImages?.length ? { images: piImages } : {}) });
865
+ } catch (e) {
866
+ console.error("Failed to follow up:", e);
867
+ }
868
+ }, []);
869
+
870
+ // ─── Recall Queue ──────────────────────────────────────
871
+
872
+ const handleRecallQueue = useCallback(async () => {
873
+ const sid = sessionIdRef.current;
874
+ if (!sid) return;
875
+ try {
876
+ const result = await sendAgentCommand<{ steering?: string[]; followUp?: string[] }>(sid, { type: "clear_queue" });
877
+ setQueuedMessages({ steering: [], followUp: [] });
878
+ const texts = [...(result?.steering ?? []), ...(result?.followUp ?? [])];
879
+ if (texts.length > 0) {
880
+ opts.chatInputRef?.current?.prependText(texts.join("\n\n"));
881
+ }
882
+ } catch (e) {
883
+ console.error("Failed to recall queued messages:", e);
884
+ addNotice({ type: "error", message: "Failed to recall queued messages" });
885
+ }
886
+ }, [opts.chatInputRef, addNotice]);
887
+
888
+ // ─── Thinking Level ────────────────────────────────────
889
+
890
+ const handleThinkingLevelChange = useCallback(async (level: ThinkingLevelOption) => {
891
+ setThinkingLevel(level);
892
+ if (isNew && !sessionIdRef.current) {
893
+ thinkingLevelOverrideRef.current = level === "auto" ? null : level;
894
+ }
895
+ if (level === "auto") return;
896
+ const sid = sessionIdRef.current ?? await ensuringNewSessionRef.current;
897
+ if (!sid) return;
898
+ try {
899
+ await sendAgentCommand(sid, { type: "set_thinking_level", level });
900
+ } catch (e) {
901
+ console.error("Failed to set thinking level:", e);
902
+ }
903
+ }, [isNew]);
904
+
905
+ // ─── Tool Preset ───────────────────────────────────────
906
+
907
+ const handleToolPresetChange = useCallback(async (preset: "none" | "default" | "full") => {
908
+ const toolNames = preset === "default" || preset === "full"
909
+ ? ["read", "bash", "edit", "write", "grep", "find", "ls"]
910
+ : [];
911
+ setToolPresetState(preset);
912
+ toolPresetRef.current = preset;
913
+ const sid = sessionIdRef.current ?? await ensuringNewSessionRef.current;
914
+ if (!sid) return;
915
+ try {
916
+ await sendAgentCommand(sid, { type: "set_tools", toolNames });
917
+ } catch (e) {
918
+ console.error("Failed to set tools:", e);
919
+ }
920
+ }, []);
921
+
922
+ // ─── Slash Commands ────────────────────────────────────
923
+
924
+ const loadSlashCommands = useCallback(async () => {
925
+ const sid = sessionIdRef.current ?? await ensureNewSession();
926
+ if (!sid) {
927
+ setSlashCommands([]);
928
+ return [];
929
+ }
930
+ setSlashCommandsLoading(true);
931
+ try {
932
+ const data = await sendAgentCommand<{ commands?: SlashCommandInfo[] }>(sid, { type: "get_commands" });
933
+ const commands = data?.commands ?? [];
934
+ setSlashCommands(commands);
935
+ return commands;
936
+ } catch {
937
+ setSlashCommands([]);
938
+ return [];
939
+ } finally {
940
+ setSlashCommandsLoading(false);
941
+ }
942
+ }, [ensureNewSession]);
943
+
944
+ // ─── Built-in Slash Commands ───────────────────────────
945
+
946
+ const handleBuiltinSlashCommand = useCallback(async (text: string): Promise<{ handled: boolean; message?: string; error?: string }> => {
947
+ if (!text.startsWith("/")) return { handled: false };
948
+ const match = text.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);
949
+ if (!match) return { handled: false };
950
+ const [, commandName, rawArgs = ""] = match;
951
+ const args = rawArgs.trim();
952
+ const sid = sessionIdRef.current ?? await ensureNewSession();
953
+ if (!sid) return { handled: true, error: "No active session" };
954
+
955
+ try {
956
+ switch (commandName) {
957
+ case "compact": {
958
+ if (isCompacting) return { handled: true, error: "Already compacting" };
959
+ setIsCompacting(true);
960
+ setCompactError(null);
961
+ setCompactResult(null);
962
+ const result = await sendAgentCommand<any>(sid, { type: "compact", ...(args ? { customInstructions: args } : {}) });
963
+ if (result) {
964
+ setCompactResult({ reason: "manual", tokensBefore: result.tokensBefore ?? 0, estimatedTokensAfter: result.estimatedTokensAfter ?? 0 });
965
+ }
966
+ await loadSession(sid, true);
967
+ return { handled: true, message: "Compacted context" };
968
+ }
969
+ case "name": {
970
+ if (!args) return { handled: true, error: "Usage: /name <name>" };
971
+ await sendAgentCommand(sid, { type: "set_session_name", name: args });
972
+ await loadSession(sid);
973
+ return { handled: true, message: `Session renamed to ${args}` };
974
+ }
975
+ case "copy": {
976
+ const data = await sendAgentCommand<{ text?: string }>(sid, { type: "get_last_assistant_text" });
977
+ const textToCopy = data?.text ?? "";
978
+ if (!textToCopy) return { handled: true, error: "No assistant message to copy" };
979
+ await navigator.clipboard.writeText(textToCopy);
980
+ return { handled: true, message: "Copied last assistant message" };
981
+ }
982
+ default:
983
+ return { handled: false };
984
+ }
985
+ } catch (e) {
986
+ return { handled: true, error: e instanceof Error ? e.message : String(e) };
987
+ } finally {
988
+ if (commandName === "compact") setIsCompacting(false);
989
+ }
990
+ }, [ensureNewSession, isCompacting, loadSession]);
991
+
992
+ // ─── Abort Compaction ──────────────────────────────────
993
+
994
+ const handleAbortCompaction = useCallback(async () => {
995
+ const sid = sessionIdRef.current;
996
+ if (!sid) return;
997
+ try {
998
+ await sendAgentCommand(sid, { type: "abort_compaction" });
999
+ } catch (e) {
1000
+ console.error("Failed to abort compaction:", e);
1001
+ }
1002
+ }, []);
1003
+
1004
+ // ─── Navigate ──────────────────────────────────────────
1005
+
1006
+ const handleNavigate = useCallback(async (entryId: string) => {
1007
+ const sid = sessionIdRef.current;
1008
+ if (!sid) return;
1009
+ sendAgentCommand(sid, { type: "navigate_tree", targetId: entryId }).catch(() => {});
1010
+ // Load context for the branch
1011
+ try {
1012
+ const res = await fetch(`/api/chat/sessions/${encodeURIComponent(sid)}/context?leafId=${encodeURIComponent(entryId)}`);
1013
+ if (!res.ok) return;
1014
+ const d = await res.json() as { context: { messages: AgentMessage[]; entryIds: string[] } };
1015
+ setMessages(d.context.messages);
1016
+ setEntryIds(d.context.entryIds ?? []);
1017
+ } catch (e) {
1018
+ console.error("Failed to load context:", e);
1019
+ }
1020
+ }, []);
1021
+
1022
+ // ─── Effects ───────────────────────────────────────────
1023
+
1024
+ // Load session when session.id changes
1025
+ useEffect(() => {
1026
+ if (session) {
1027
+ sessionIdRef.current = session.id;
1028
+ loadSession(session.id, true).then(() => {
1029
+ if (agentRunningRef.current) {
1030
+ connectEvents(session.id);
1031
+ }
1032
+ });
1033
+ } else {
1034
+ // Clear session data when no session is selected
1035
+ sessionIdRef.current = null;
1036
+ setData(null);
1037
+ setMessages([]);
1038
+ setEntryIds([]);
1039
+ setError(null);
1040
+ }
1041
+ return () => {
1042
+ closeEvents();
1043
+ };
1044
+ }, [session?.id, loadSession, connectEvents, closeEvents]);
1045
+
1046
+ // Load models - also reload when session changes to ensure we get the correct models for the session's cwd
1047
+ useEffect(() => {
1048
+ const controller = new AbortController();
1049
+ loadModels(controller.signal);
1050
+ return () => controller.abort();
1051
+ }, [loadModels, modelsRefreshKey, session?.id]);
1052
+
1053
+ // Notice auto-dismiss
1054
+ useEffect(() => {
1055
+ if (noticeState.visible.length === 0) return;
1056
+ const exiting = noticeState.visible.find((notice) => notice.exiting);
1057
+ if (exiting) {
1058
+ const t = setTimeout(() => dispatchNotice({ type: "remove", id: exiting.id }), NOTICE_EXIT_ANIMATION_MS);
1059
+ return () => clearTimeout(t);
1060
+ }
1061
+ const oldest = noticeState.visible[0];
1062
+ if (!oldest) return;
1063
+ const t = setTimeout(() => dispatchNotice({ type: "mark_oldest_exiting" }), NOTICE_VISIBLE_MS);
1064
+ return () => clearTimeout(t);
1065
+ }, [noticeState.visible]);
1066
+
1067
+ // Compact result auto-dismiss
1068
+ useEffect(() => {
1069
+ if (!compactResult) return;
1070
+ const t = setTimeout(() => setCompactResult(null), 6000);
1071
+ return () => clearTimeout(t);
1072
+ }, [compactResult]);
1073
+
1074
+ // Auto-scroll to bottom on new messages
1075
+ useEffect(() => {
1076
+ if (messages.length > 0 && messagesEndRef.current) {
1077
+ messagesEndRef.current.scrollIntoView({ behavior: agentRunning ? "smooth" : "auto" });
1078
+ }
1079
+ }, [messages.length, agentRunning]);
1080
+
1081
+ return {
1082
+ // State
1083
+ data, loading, error, messages, entryIds, streamState,
1084
+ agentRunning, modelNames, modelList, modelError,
1085
+ newSessionModel, toolPreset, thinkingLevel,
1086
+ retryInfo, contextUsage, systemPrompt, forkingEntryId,
1087
+ isCompacting, compactError, compactResult, currentModel, displayModel, sessionStats,
1088
+ slashCommands, slashCommandsLoading, queuedMessages,
1089
+ notices: noticeState.visible,
1090
+ agentPhase,
1091
+ isNew,
1092
+ bashRunning, pendingBash,
1093
+ // Refs
1094
+ sessionIdRef, messagesEndRef, scrollContainerRef, lastUserMsgRef,
1095
+ // Actions
1096
+ handleSend, handleAbort, handleFork, handleNavigate, handleModelChange,
1097
+ handleCompact, handleSteer, handleFollowUp, handleAbortCompaction,
1098
+ handleRecallQueue, handleBuiltinSlashCommand,
1099
+ handleToolPresetChange, handleThinkingLevelChange, loadSlashCommands,
1100
+ addNotice,
1101
+ // Derived
1102
+ isAutoModelSelection: isNew && newSessionModel === null,
1103
+ };
1104
+ }