efficient-shell 8.32.0 → 8.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/README.md +57 -15
  2. package/THIRD_PARTY_NOTICES.md +11 -2
  3. package/dist/{Browser-Y335UIBR.js → Browser-QBAMRKYI.js} +10 -10
  4. package/dist/{Documents-SP25WN7V.js → Documents-E3GMXALJ.js} +7 -7
  5. package/dist/{Files-SEGSJMVA.js → Files-2DWPYRM5.js} +22 -22
  6. package/dist/{Notepad-ZJ7N4TZM.js → Notepad-VQ66RWLT.js} +9 -9
  7. package/dist/{PomodoroTimer-ZR2VLO6G.js → PomodoroTimer-2HPCAEI5.js} +1 -1
  8. package/dist/{Preview-AZQSMBW5.js → Preview-VZYFOH2U.js} +22 -22
  9. package/dist/{Spreadsheet-UWD62JIM.js → Spreadsheet-4KXRJSHT.js} +8 -8
  10. package/dist/ai/index.d.ts +1 -1
  11. package/dist/ai/index.js +7 -7
  12. package/dist/ai.css +1 -1
  13. package/dist/apps/index.js +1 -1
  14. package/dist/bin/media-host-check.js +1 -1
  15. package/dist/bin/ui-check.js +1 -1
  16. package/dist/brand.css +1 -1
  17. package/dist/chunk-243NPEG6.js +2 -0
  18. package/dist/chunk-2UCDJCGZ.js +4 -0
  19. package/dist/{chunk-LK2SICMI.js → chunk-2UXAI77F.js} +1 -1
  20. package/dist/chunk-2ZD67TDP.js +2 -0
  21. package/dist/{chunk-3ZVRB3CV.js → chunk-3BPF6PP3.js} +1 -1
  22. package/dist/{chunk-VUCJ53H4.js → chunk-3C67XRVJ.js} +7 -7
  23. package/dist/chunk-3ER2WJNL.js +2 -0
  24. package/dist/{chunk-F64DN4BV.js → chunk-3J5QUHPO.js} +2 -2
  25. package/dist/chunk-44F7JLNV.js +2 -0
  26. package/dist/chunk-474G67EG.js +6 -0
  27. package/dist/chunk-47OCVZXD.js +2 -0
  28. package/dist/{chunk-BGLKEWVR.js → chunk-4C4SQ4YW.js} +1 -1
  29. package/dist/chunk-4CFQXH5N.js +2 -0
  30. package/dist/chunk-4FNGR474.js +2 -0
  31. package/dist/chunk-4L7GLO5W.js +2 -0
  32. package/dist/chunk-4RDYNULI.js +2 -0
  33. package/dist/chunk-57SJKYA4.js +29 -0
  34. package/dist/chunk-5DFKPSJQ.js +1 -0
  35. package/dist/chunk-5HDMPCZP.js +2 -0
  36. package/dist/chunk-5KZ4WKUI.js +2 -0
  37. package/dist/chunk-6I7EODFJ.js +7 -0
  38. package/dist/chunk-6IUDFVTN.js +2 -0
  39. package/dist/chunk-75IWV4ZF.js +2 -0
  40. package/dist/chunk-77SI7AKG.js +2 -0
  41. package/dist/chunk-7GB7CVQI.js +2 -0
  42. package/dist/chunk-7KCJ77BP.js +2 -0
  43. package/dist/chunk-7P3DXO3E.js +2 -0
  44. package/dist/{chunk-AWY3F6PV.js → chunk-7PCI6AUU.js} +1 -1
  45. package/dist/{chunk-77FLITYM.js → chunk-AS4CTEZD.js} +5 -5
  46. package/dist/{chunk-KWMMIOHD.js → chunk-B2XDNBR3.js} +13 -13
  47. package/dist/{chunk-3Z6ASFGL.js → chunk-BQ2IPQNR.js} +1 -1
  48. package/dist/chunk-BUGAWNOC.js +14 -0
  49. package/dist/chunk-BWIX3YIH.js +2 -0
  50. package/dist/{chunk-XEKPJGVZ.js → chunk-BX2IOAD5.js} +1 -1
  51. package/dist/chunk-BXQYRG7P.js +2 -0
  52. package/dist/chunk-BZR43D3G.js +2 -0
  53. package/dist/{chunk-MSQB2OE2.js → chunk-BZV4K6GR.js} +21 -21
  54. package/dist/chunk-CAUWHLN7.js +4 -0
  55. package/dist/{chunk-MTXTJLFK.js → chunk-CPXHU3Y2.js} +1 -1
  56. package/dist/{chunk-LLLAIPFX.js → chunk-CRYEG7OT.js} +1 -1
  57. package/dist/{chunk-NMK4UQXZ.js → chunk-DGLCMYSQ.js} +8 -8
  58. package/dist/chunk-DS6R5R3O.js +2 -0
  59. package/dist/chunk-EHMDGAWA.js +2 -0
  60. package/dist/chunk-EQPVQY5E.js +2 -0
  61. package/dist/chunk-FATXXVV3.js +2 -0
  62. package/dist/chunk-FEVWWOGL.js +2 -0
  63. package/dist/{chunk-QPX35URZ.js → chunk-FFJVCLGH.js} +10 -10
  64. package/dist/chunk-FMERDO2X.js +2 -0
  65. package/dist/chunk-FOXMWLVS.js +2 -0
  66. package/dist/chunk-FUSCAZEK.js +2 -0
  67. package/dist/chunk-G4GQOAWS.js +2 -0
  68. package/dist/{chunk-YRWRA7MW.js → chunk-GIM2422N.js} +1 -1
  69. package/dist/{chunk-UNEJ2ABD.js → chunk-GX2GSDJP.js} +1 -1
  70. package/dist/chunk-HSOREHQB.js +1 -0
  71. package/dist/chunk-I27TFZJH.js +2 -0
  72. package/dist/chunk-IBHBPSQN.js +2 -0
  73. package/dist/chunk-INUXPG27.js +2 -0
  74. package/dist/chunk-IWQSBA3D.js +2 -0
  75. package/dist/chunk-JJXFPGX4.js +6 -0
  76. package/dist/chunk-JMWKD4R5.js +2 -0
  77. package/dist/chunk-JREQY3YN.js +2 -0
  78. package/dist/chunk-K4RFJ7P2.js +2 -0
  79. package/dist/{chunk-TFMOGKW2.js → chunk-KKSW5IZ7.js} +10 -10
  80. package/dist/chunk-KTMEHSTB.js +2 -0
  81. package/dist/chunk-L65BESIE.js +1 -0
  82. package/dist/{chunk-KAWMOFSI.js → chunk-LCM5U6BY.js} +1 -1
  83. package/dist/{chunk-35YON46D.js → chunk-LEC4SZIV.js} +1 -1
  84. package/dist/chunk-LQD7K7HK.js +2 -0
  85. package/dist/{chunk-DJCC3WBR.js → chunk-LYYR5DSP.js} +8 -8
  86. package/dist/{chunk-F4GLNQIX.js → chunk-MEFXMUWI.js} +1 -1
  87. package/dist/chunk-MTZUYC4Y.js +5 -0
  88. package/dist/chunk-MVJ34HIV.js +2 -0
  89. package/dist/chunk-NEQFHRF3.js +2 -0
  90. package/dist/chunk-NFMDU4EJ.js +4 -0
  91. package/dist/chunk-NK7HBFNQ.js +2 -0
  92. package/dist/chunk-NTME34BP.js +2 -0
  93. package/dist/chunk-NTWI7EGJ.js +4 -0
  94. package/dist/chunk-NZBQVE3Q.js +2 -0
  95. package/dist/{chunk-72YFU346.js → chunk-OFHCDTJM.js} +1 -1
  96. package/dist/chunk-OIH56GH5.js +2 -0
  97. package/dist/chunk-OKRAYHGW.js +2 -0
  98. package/dist/chunk-OM5K4WCB.js +2 -0
  99. package/dist/chunk-ONC3BFFM.js +2 -0
  100. package/dist/chunk-OSXM35MX.js +2 -0
  101. package/dist/chunk-PAZU27H5.js +2 -0
  102. package/dist/chunk-PBGMVLOF.js +2 -0
  103. package/dist/{chunk-NT26CWMZ.js → chunk-PBMZJXSZ.js} +5 -5
  104. package/dist/chunk-PF3ANJFI.js +1 -0
  105. package/dist/chunk-PRJJK7VR.js +2 -0
  106. package/dist/chunk-PYW3HX7A.js +2 -0
  107. package/dist/chunk-QDOTMA3W.js +5 -0
  108. package/dist/chunk-QTM26JQP.js +2 -0
  109. package/dist/chunk-QYEMC2OA.js +2 -0
  110. package/dist/chunk-R2IXRW5N.js +2 -0
  111. package/dist/chunk-RAHDUMQ5.js +2 -0
  112. package/dist/chunk-RBXMTHOT.js +4 -0
  113. package/dist/{chunk-GWIPZKZJ.js → chunk-RCMP37VO.js} +3 -3
  114. package/dist/chunk-RERNKFEW.js +19 -0
  115. package/dist/chunk-ROUTBYMG.js +5 -0
  116. package/dist/chunk-T3NJAOJL.js +2 -0
  117. package/dist/{chunk-BDCMFW5N.js → chunk-T5SEGUCJ.js} +1 -1
  118. package/dist/chunk-TI5WUO3V.js +2 -0
  119. package/dist/chunk-UKC6VJE4.js +2 -0
  120. package/dist/chunk-URWQO4KB.js +2 -0
  121. package/dist/{chunk-UX6HNRFV.js → chunk-USYNZGY4.js} +6 -6
  122. package/dist/chunk-V3GM5NXB.js +2 -0
  123. package/dist/chunk-V6Q2GZAI.js +2 -0
  124. package/dist/{chunk-QFA5COE6.js → chunk-VB7Z3HXO.js} +1 -1
  125. package/dist/chunk-VRODVMV3.js +1 -0
  126. package/dist/chunk-VW4FHT46.js +2 -0
  127. package/dist/chunk-W5DLG5T2.js +2 -0
  128. package/dist/chunk-W5I35GZZ.js +2 -0
  129. package/dist/{chunk-DCUBOLIR.js → chunk-WQNIXV4T.js} +9 -9
  130. package/dist/chunk-WYDD26UO.js +2 -0
  131. package/dist/chunk-XUYWUGDM.js +2 -0
  132. package/dist/chunk-YHYAGJ6V.js +2 -0
  133. package/dist/chunk-YKKMR5DU.js +8 -0
  134. package/dist/chunk-YVULGIDQ.js +2 -0
  135. package/dist/chunk-Z5XEAC32.js +2 -0
  136. package/dist/chunk-ZBL4CN2E.js +2 -0
  137. package/dist/chunk-ZEN67DFI.js +2 -0
  138. package/dist/{chunk-JEXXJK7H.js → chunk-ZT5Y5JZB.js} +1 -1
  139. package/dist/chunk-ZXU4DEQM.js +2 -0
  140. package/dist/chunk-ZZIVSJ2B.js +2 -0
  141. package/dist/forms/BorderInput.js +1 -1
  142. package/dist/forms/ColorPicker.js +1 -1
  143. package/dist/forms/CornersInput.js +1 -1
  144. package/dist/forms/DatePicker.js +1 -1
  145. package/dist/forms/DateRangePicker.js +1 -1
  146. package/dist/forms/DateTimePicker.js +1 -1
  147. package/dist/forms/Input.js +1 -1
  148. package/dist/forms/InputNumber.js +1 -1
  149. package/dist/forms/LinkPicker.js +1 -1
  150. package/dist/forms/MediaLibrary.js +1 -1
  151. package/dist/forms/PositionInput.js +1 -1
  152. package/dist/forms/Select.d.ts +1 -1
  153. package/dist/forms/Select.js +1 -1
  154. package/dist/forms/SidesInput.js +1 -1
  155. package/dist/forms/Slider.js +1 -1
  156. package/dist/forms/Switch.js +1 -1
  157. package/dist/forms/TagInput.js +1 -1
  158. package/dist/forms/TextToolbar.d.ts +4 -1
  159. package/dist/forms/TextToolbar.js +1 -1
  160. package/dist/forms/Textarea.js +1 -1
  161. package/dist/forms/TimePicker.js +1 -1
  162. package/dist/forms/WidthsBar.js +1 -1
  163. package/dist/forms/settingRowContext.d.ts +11 -1
  164. package/dist/forms/settingRowContext.js +1 -1
  165. package/dist/forms/styles.d.ts +11 -4
  166. package/dist/forms/styles.js +1 -1
  167. package/dist/forms/textAlign.d.ts +89 -0
  168. package/dist/forms/textAlign.js +2 -0
  169. package/dist/icons/efficient-glyphs.d.ts +61 -0
  170. package/dist/icons/efficient-glyphs.js +1 -1
  171. package/dist/icons/efficient-looks.d.ts +22 -0
  172. package/dist/icons/efficient-looks.js +1 -1
  173. package/dist/icons/efficient-meanings.d.ts +61 -0
  174. package/dist/icons/efficient-meanings.js +1 -1
  175. package/dist/icons/efficient.d.ts +61 -0
  176. package/dist/icons/efficient.js +1 -1
  177. package/dist/icons/glyphs/BrandAdyenIcon.d.ts +11 -0
  178. package/dist/icons/glyphs/BrandAdyenIcon.js +1 -0
  179. package/dist/icons/glyphs/BrandAfterpayIcon.d.ts +11 -0
  180. package/dist/icons/glyphs/BrandAfterpayIcon.js +1 -0
  181. package/dist/icons/glyphs/BrandAircallIcon.d.ts +11 -0
  182. package/dist/icons/glyphs/BrandAircallIcon.js +1 -0
  183. package/dist/icons/glyphs/BrandAmericanexpressIcon.d.ts +11 -0
  184. package/dist/icons/glyphs/BrandAmericanexpressIcon.js +1 -0
  185. package/dist/icons/glyphs/BrandApplepayIcon.d.ts +11 -0
  186. package/dist/icons/glyphs/BrandApplepayIcon.js +1 -0
  187. package/dist/icons/glyphs/BrandBigcommerceIcon.d.ts +11 -0
  188. package/dist/icons/glyphs/BrandBigcommerceIcon.js +1 -0
  189. package/dist/icons/glyphs/BrandBrevoIcon.d.ts +11 -0
  190. package/dist/icons/glyphs/BrandBrevoIcon.js +1 -0
  191. package/dist/icons/glyphs/BrandCalendlyIcon.d.ts +11 -0
  192. package/dist/icons/glyphs/BrandCalendlyIcon.js +1 -0
  193. package/dist/icons/glyphs/BrandCampaignmonitorIcon.d.ts +11 -0
  194. package/dist/icons/glyphs/BrandCampaignmonitorIcon.js +1 -0
  195. package/dist/icons/glyphs/BrandDhlIcon.d.ts +11 -0
  196. package/dist/icons/glyphs/BrandDhlIcon.js +1 -0
  197. package/dist/icons/glyphs/BrandDropboxIcon.d.ts +11 -0
  198. package/dist/icons/glyphs/BrandDropboxIcon.js +1 -0
  199. package/dist/icons/glyphs/BrandEbayIcon.d.ts +11 -0
  200. package/dist/icons/glyphs/BrandEbayIcon.js +1 -0
  201. package/dist/icons/glyphs/BrandEtsyIcon.d.ts +11 -0
  202. package/dist/icons/glyphs/BrandEtsyIcon.js +1 -0
  203. package/dist/icons/glyphs/BrandFacebookIcon.d.ts +11 -0
  204. package/dist/icons/glyphs/BrandFacebookIcon.js +1 -0
  205. package/dist/icons/glyphs/BrandFedexIcon.d.ts +11 -0
  206. package/dist/icons/glyphs/BrandFedexIcon.js +1 -0
  207. package/dist/icons/glyphs/BrandGmailIcon.d.ts +11 -0
  208. package/dist/icons/glyphs/BrandGmailIcon.js +1 -0
  209. package/dist/icons/glyphs/BrandGoogleadsIcon.d.ts +11 -0
  210. package/dist/icons/glyphs/BrandGoogleadsIcon.js +1 -0
  211. package/dist/icons/glyphs/BrandGoogleanalyticsIcon.d.ts +11 -0
  212. package/dist/icons/glyphs/BrandGoogleanalyticsIcon.js +1 -0
  213. package/dist/icons/glyphs/BrandGooglecalendarIcon.d.ts +11 -0
  214. package/dist/icons/glyphs/BrandGooglecalendarIcon.js +1 -0
  215. package/dist/icons/glyphs/BrandGoogledriveIcon.d.ts +11 -0
  216. package/dist/icons/glyphs/BrandGoogledriveIcon.js +1 -0
  217. package/dist/icons/glyphs/BrandGooglepayIcon.d.ts +11 -0
  218. package/dist/icons/glyphs/BrandGooglepayIcon.js +1 -0
  219. package/dist/icons/glyphs/BrandGooglesheetsIcon.d.ts +11 -0
  220. package/dist/icons/glyphs/BrandGooglesheetsIcon.js +1 -0
  221. package/dist/icons/glyphs/BrandHubspotIcon.d.ts +11 -0
  222. package/dist/icons/glyphs/BrandHubspotIcon.js +1 -0
  223. package/dist/icons/glyphs/BrandInstagramIcon.d.ts +11 -0
  224. package/dist/icons/glyphs/BrandInstagramIcon.js +1 -0
  225. package/dist/icons/glyphs/BrandIntercomIcon.d.ts +11 -0
  226. package/dist/icons/glyphs/BrandIntercomIcon.js +1 -0
  227. package/dist/icons/glyphs/BrandKlarnaIcon.d.ts +11 -0
  228. package/dist/icons/glyphs/BrandKlarnaIcon.js +1 -0
  229. package/dist/icons/glyphs/BrandLineIcon.d.ts +11 -0
  230. package/dist/icons/glyphs/BrandLineIcon.js +1 -0
  231. package/dist/icons/glyphs/BrandLinkedinIcon.d.ts +11 -0
  232. package/dist/icons/glyphs/BrandLinkedinIcon.js +1 -0
  233. package/dist/icons/glyphs/BrandMailchimpIcon.d.ts +11 -0
  234. package/dist/icons/glyphs/BrandMailchimpIcon.js +1 -0
  235. package/dist/icons/glyphs/BrandMailgunIcon.d.ts +11 -0
  236. package/dist/icons/glyphs/BrandMailgunIcon.js +1 -0
  237. package/dist/icons/glyphs/BrandMakeIcon.d.ts +11 -0
  238. package/dist/icons/glyphs/BrandMakeIcon.js +1 -0
  239. package/dist/icons/glyphs/BrandMastercardIcon.d.ts +11 -0
  240. package/dist/icons/glyphs/BrandMastercardIcon.js +1 -0
  241. package/dist/icons/glyphs/BrandMessengerIcon.d.ts +11 -0
  242. package/dist/icons/glyphs/BrandMessengerIcon.js +1 -0
  243. package/dist/icons/glyphs/BrandMetaIcon.d.ts +11 -0
  244. package/dist/icons/glyphs/BrandMetaIcon.js +1 -0
  245. package/dist/icons/glyphs/BrandMyobIcon.d.ts +11 -0
  246. package/dist/icons/glyphs/BrandMyobIcon.js +1 -0
  247. package/dist/icons/glyphs/BrandNotionIcon.d.ts +11 -0
  248. package/dist/icons/glyphs/BrandNotionIcon.js +1 -0
  249. package/dist/icons/glyphs/BrandPaypalIcon.d.ts +11 -0
  250. package/dist/icons/glyphs/BrandPaypalIcon.js +1 -0
  251. package/dist/icons/glyphs/BrandPinterestIcon.d.ts +11 -0
  252. package/dist/icons/glyphs/BrandPinterestIcon.js +1 -0
  253. package/dist/icons/glyphs/BrandQuickbooksIcon.d.ts +11 -0
  254. package/dist/icons/glyphs/BrandQuickbooksIcon.js +1 -0
  255. package/dist/icons/glyphs/BrandSageIcon.d.ts +11 -0
  256. package/dist/icons/glyphs/BrandSageIcon.js +1 -0
  257. package/dist/icons/glyphs/BrandShopifyIcon.d.ts +11 -0
  258. package/dist/icons/glyphs/BrandShopifyIcon.js +1 -0
  259. package/dist/icons/glyphs/BrandSquareIcon.d.ts +11 -0
  260. package/dist/icons/glyphs/BrandSquareIcon.js +1 -0
  261. package/dist/icons/glyphs/BrandSquarespaceIcon.d.ts +11 -0
  262. package/dist/icons/glyphs/BrandSquarespaceIcon.js +1 -0
  263. package/dist/icons/glyphs/BrandStripeIcon.d.ts +11 -0
  264. package/dist/icons/glyphs/BrandStripeIcon.js +1 -0
  265. package/dist/icons/glyphs/BrandTelegramIcon.d.ts +11 -0
  266. package/dist/icons/glyphs/BrandTelegramIcon.js +1 -0
  267. package/dist/icons/glyphs/BrandTiktokIcon.d.ts +11 -0
  268. package/dist/icons/glyphs/BrandTiktokIcon.js +1 -0
  269. package/dist/icons/glyphs/BrandTrelloIcon.d.ts +11 -0
  270. package/dist/icons/glyphs/BrandTrelloIcon.js +1 -0
  271. package/dist/icons/glyphs/BrandUpsIcon.d.ts +11 -0
  272. package/dist/icons/glyphs/BrandUpsIcon.js +1 -0
  273. package/dist/icons/glyphs/BrandVisaIcon.d.ts +11 -0
  274. package/dist/icons/glyphs/BrandVisaIcon.js +1 -0
  275. package/dist/icons/glyphs/BrandVonageIcon.d.ts +11 -0
  276. package/dist/icons/glyphs/BrandVonageIcon.js +1 -0
  277. package/dist/icons/glyphs/BrandWechatIcon.d.ts +11 -0
  278. package/dist/icons/glyphs/BrandWechatIcon.js +1 -0
  279. package/dist/icons/glyphs/BrandWhatsappIcon.d.ts +11 -0
  280. package/dist/icons/glyphs/BrandWhatsappIcon.js +1 -0
  281. package/dist/icons/glyphs/BrandWiseIcon.d.ts +11 -0
  282. package/dist/icons/glyphs/BrandWiseIcon.js +1 -0
  283. package/dist/icons/glyphs/BrandWixIcon.d.ts +11 -0
  284. package/dist/icons/glyphs/BrandWixIcon.js +1 -0
  285. package/dist/icons/glyphs/BrandWoocommerceIcon.d.ts +11 -0
  286. package/dist/icons/glyphs/BrandWoocommerceIcon.js +1 -0
  287. package/dist/icons/glyphs/BrandXIcon.d.ts +11 -0
  288. package/dist/icons/glyphs/BrandXIcon.js +1 -0
  289. package/dist/icons/glyphs/BrandXeroIcon.d.ts +11 -0
  290. package/dist/icons/glyphs/BrandXeroIcon.js +1 -0
  291. package/dist/icons/glyphs/BrandYoutubeIcon.d.ts +11 -0
  292. package/dist/icons/glyphs/BrandYoutubeIcon.js +1 -0
  293. package/dist/icons/glyphs/BrandZapierIcon.d.ts +11 -0
  294. package/dist/icons/glyphs/BrandZapierIcon.js +1 -0
  295. package/dist/icons/glyphs/BrandZendeskIcon.d.ts +11 -0
  296. package/dist/icons/glyphs/BrandZendeskIcon.js +1 -0
  297. package/dist/icons/glyphs/BrandZoomIcon.d.ts +11 -0
  298. package/dist/icons/glyphs/BrandZoomIcon.js +1 -0
  299. package/dist/icons/index.d.ts +6 -4
  300. package/dist/icons/index.js +1 -1
  301. package/dist/icons/looks/BrandFacebookOutlineIcon.d.ts +11 -0
  302. package/dist/icons/looks/BrandFacebookOutlineIcon.js +1 -0
  303. package/dist/icons/looks/BrandFacebookSolidIcon.d.ts +11 -0
  304. package/dist/icons/looks/BrandFacebookSolidIcon.js +1 -0
  305. package/dist/icons/looks/BrandInstagramOutlineIcon.d.ts +11 -0
  306. package/dist/icons/looks/BrandInstagramOutlineIcon.js +1 -0
  307. package/dist/icons/looks/BrandInstagramSolidIcon.d.ts +11 -0
  308. package/dist/icons/looks/BrandInstagramSolidIcon.js +1 -0
  309. package/dist/icons/looks/BrandLineOutlineIcon.d.ts +11 -0
  310. package/dist/icons/looks/BrandLineOutlineIcon.js +1 -0
  311. package/dist/icons/looks/BrandLineSolidIcon.d.ts +11 -0
  312. package/dist/icons/looks/BrandLineSolidIcon.js +1 -0
  313. package/dist/icons/looks/BrandLinkedinOutlineIcon.d.ts +11 -0
  314. package/dist/icons/looks/BrandLinkedinOutlineIcon.js +1 -0
  315. package/dist/icons/looks/BrandLinkedinSolidIcon.d.ts +11 -0
  316. package/dist/icons/looks/BrandLinkedinSolidIcon.js +1 -0
  317. package/dist/icons/looks/BrandPinterestOutlineIcon.d.ts +11 -0
  318. package/dist/icons/looks/BrandPinterestOutlineIcon.js +1 -0
  319. package/dist/icons/looks/BrandPinterestSolidIcon.d.ts +11 -0
  320. package/dist/icons/looks/BrandPinterestSolidIcon.js +1 -0
  321. package/dist/icons/looks/BrandTelegramOutlineIcon.d.ts +11 -0
  322. package/dist/icons/looks/BrandTelegramOutlineIcon.js +1 -0
  323. package/dist/icons/looks/BrandTelegramSolidIcon.d.ts +11 -0
  324. package/dist/icons/looks/BrandTelegramSolidIcon.js +1 -0
  325. package/dist/icons/looks/BrandTiktokOutlineIcon.d.ts +11 -0
  326. package/dist/icons/looks/BrandTiktokOutlineIcon.js +1 -0
  327. package/dist/icons/looks/BrandTiktokSolidIcon.d.ts +11 -0
  328. package/dist/icons/looks/BrandTiktokSolidIcon.js +1 -0
  329. package/dist/icons/looks/BrandWechatOutlineIcon.d.ts +11 -0
  330. package/dist/icons/looks/BrandWechatOutlineIcon.js +1 -0
  331. package/dist/icons/looks/BrandWechatSolidIcon.d.ts +11 -0
  332. package/dist/icons/looks/BrandWechatSolidIcon.js +1 -0
  333. package/dist/icons/looks/BrandWhatsappOutlineIcon.d.ts +11 -0
  334. package/dist/icons/looks/BrandWhatsappOutlineIcon.js +1 -0
  335. package/dist/icons/looks/BrandWhatsappSolidIcon.d.ts +11 -0
  336. package/dist/icons/looks/BrandWhatsappSolidIcon.js +1 -0
  337. package/dist/icons/looks/BrandXOutlineIcon.d.ts +11 -0
  338. package/dist/icons/looks/BrandXOutlineIcon.js +1 -0
  339. package/dist/icons/looks/BrandXSolidIcon.d.ts +11 -0
  340. package/dist/icons/looks/BrandXSolidIcon.js +1 -0
  341. package/dist/icons/looks/BrandYoutubeOutlineIcon.d.ts +11 -0
  342. package/dist/icons/looks/BrandYoutubeOutlineIcon.js +1 -0
  343. package/dist/icons/looks/BrandYoutubeSolidIcon.d.ts +11 -0
  344. package/dist/icons/looks/BrandYoutubeSolidIcon.js +1 -0
  345. package/dist/icons/looks/map.d.ts +1 -1
  346. package/dist/icons/looks/map.js +1 -1
  347. package/dist/icons/sets.js +1 -1
  348. package/dist/index.d.ts +3 -2
  349. package/dist/index.js +141 -141
  350. package/dist/names-mX74Rrmy.d.ts +23 -0
  351. package/dist/shell/HelpCenter.js +1 -1
  352. package/dist/shell/LanguageSelect.js +1 -1
  353. package/dist/shell/Markdown.d.ts +1 -1
  354. package/dist/shell/SearchableSelect.js +1 -1
  355. package/dist/shell/SettingRow.d.ts +9 -1
  356. package/dist/shell/SettingRow.js +1 -1
  357. package/dist/shell/SidebarLayout.js +1 -1
  358. package/dist/telemetry/index.js +1 -1
  359. package/dist/templates/AuthScreen.js +1 -1
  360. package/dist/templates/ChatTemplate.js +1 -1
  361. package/dist/templates/CheckoutTemplate.js +1 -1
  362. package/dist/templates/DashboardTemplate.js +1 -1
  363. package/dist/templates/DataTablePage.js +1 -1
  364. package/dist/templates/EmailTemplate.js +1 -1
  365. package/dist/templates/FormLayoutPage.js +1 -1
  366. package/dist/ui/index.d.ts +3 -2
  367. package/dist/ui/index.js +1 -1
  368. package/dist/ui.css +16 -0
  369. package/dist/version.js +1 -1
  370. package/package.json +1 -1
  371. package/dist/chunk-74TPCYHX.js +0 -29
  372. package/dist/chunk-E4Z5OXBI.js +0 -1
  373. package/dist/chunk-GSS4E7X3.js +0 -1
  374. package/dist/chunk-HJH4WIBC.js +0 -19
  375. package/dist/chunk-JFSYWEHD.js +0 -1
  376. package/dist/chunk-L2OSJ2YC.js +0 -1
  377. package/dist/chunk-PNGL4ZW2.js +0 -6
  378. package/dist/chunk-STA76WXF.js +0 -2
  379. package/dist/chunk-WZNGOA4Z.js +0 -1
  380. package/dist/chunk-X7XJBK2E.js +0 -14
  381. package/dist/names-DYWfNBkN.d.ts +0 -21
  382. /package/dist/{chunk-2HDDCXTW.js → chunk-EHPZIBOL.js} +0 -0
  383. /package/dist/{chunk-WYHRPXEX.js → chunk-KJRYEKQP.js} +0 -0
@@ -1,19 +1,19 @@
1
- import{EditableGrid as e}from"./chunk-2RBWQVDC.js";import"./chunk-G6DKCCWH.js";import{AboutApp as t}from"./chunk-3ZVRB3CV.js";import{peekSpreadsheetPreviewStage as r,claimSpreadsheetPreviewStage as n,SPREADSHEET_PREVIEW_UPDATE_EVENT as o}from"./chunk-VTVSMRFX.js";import{WindowTitle as a}from"./chunk-L3NYH4QV.js";import"./chunk-CY5N5OA3.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-HVX37PKU.js";import"./chunk-5A7MWTXX.js";import"./chunk-Y53KNQKL.js";import"./chunk-FL2PUQX7.js";import"./chunk-ZN3O2KJ7.js";import"./chunk-YCQVEJOT.js";import"./chunk-KC3EX26K.js";import"./chunk-VWGWZY7A.js";import"./chunk-PKXQDCNR.js";import"./chunk-UGTRSRIW.js";import"./chunk-XWLWG4HS.js";import"./chunk-CDAJKLGL.js";import"./chunk-D323R2FT.js";import"./chunk-L2OSJ2YC.js";import"./chunk-PJCVNFWM.js";import"./chunk-QR4RM7PO.js";import"./chunk-5QFPTDQF.js";import"./chunk-4IU5BSVE.js";import"./chunk-K7U4RWXJ.js";import"./chunk-VH6GB73Q.js";import"./chunk-KIBL6M3T.js";import"./chunk-J75ZT2JQ.js";import"./chunk-Q5MD3VY6.js";import"./chunk-MRJKZWWV.js";import"./chunk-6KO5VTL7.js";import"./chunk-22S6LG6D.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-DTJRIWFR.js";import"./chunk-TWVUQUUD.js";import"./chunk-E6UCGCOC.js";import"./chunk-C3QOHMR6.js";import{useRef as l,useState as s,useEffect as c,useCallback as i}from"react";import{jsxs as u,jsx as d,Fragment as h}from"react/jsx-runtime";var m="ABCDEFGHIJKLMNOPQRSTUVWXYZ",p=10,x=30;function g(e){return e<26?m[e]:m[Math.floor(e/26)-1]+m[e%26]}function y(e){return Array.from({length:e},(e,t)=>({key:`col_${t}`,title:g(t),width:100}))}function b(e,t){return Array.from({length:e},()=>Array(t).fill(""))}function f(e){return{id:crypto.randomUUID(),name:e,columns:y(p),data:b(x,p),cellStyles:{}}}function v(e){return e.split("\n").map(e=>{if(e.includes("\t"))return e.split("\t").map(e=>e.trim());const t=[];let r="",n=!1;for(const o of e)'"'!==o?","!==o||n?r+=o:(t.push(r.trim()),r=""):n=!n;return t.push(r.trim()),t}).filter(e=>e.some(e=>e.trim()))}function k(e,t){const r=e.rows?e.rows.map(e=>e.map(e=>String(e??""))):v(e.csv??"");if(0===r.length)return null;const n=Math.max(p,r.reduce((e,t)=>Math.max(e,t.length),0)),o=r.map(e=>{for(;e.length<n;)e.push("");return e});for(;o.length<x;)o.push(Array(n).fill(""));return{id:crypto.randomUUID(),name:t,columns:y(n),data:o,cellStyles:{}}}function w(){const m=l(null),g=l(void 0);void 0===g.current&&(g.current=r());const w=l(g.current?.data??null),j=(()=>{const e=g.current;if(!e)return null;const t=k(e.data,"Sheet 1");if(!t)return null;return{sheet:t,title:e.data.filename.replace(/\.(csv|tsv|txt)$/i,"")}})(),[C,N]=s(j?[j.sheet]:[f("Sheet 1")]),[S,U]=s(0),M=l([]),L=l(C),D=l(!1);c(()=>{D.current?D.current=!1:L.current!==C&&(M.current.push(L.current),M.current.length>50&&M.current.shift()),L.current=C},[C]);const R=i(()=>{const e=M.current.pop();e&&(D.current=!0,N(e))},[]);c(()=>{const e=e=>{if(!m.current?.contains(document.activeElement)&&!m.current?.matches(":focus-within"))return;(e.ctrlKey||e.metaKey)&&!e.shiftKey&&("z"===e.key||"Z"===e.key)&&(e.preventDefault(),R())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[R]);const[E,K]=s(j?.title??"Untitled"),[$,V]=s(()=>g.current?.data.onEmail),A=i(e=>{const t=k(e,"Sheet 1");t&&(N([t]),U(0),K(e.filename.replace(/\.(csv|tsv|txt)$/i,"")),V(()=>e.onEmail))},[]);c(()=>{const e=g.current;null!=e&&(n(e),e.data!==w.current&&A(e.data))},[]),c(()=>{const e=g.current?.token;if(null==e)return;const t=t=>{const r=t.detail;r&&r.token===e&&A(r.data)};return window.addEventListener(o,t),()=>window.removeEventListener(o,t)},[]);const[W,J]=s(!1),[Q,B]=s(null),[F,T]=s(""),G=l(null),[O,I]=s("1"),[X,H]=s("10"),P=C[S]||C[0],Y=P.data,Z=P.columns,z=P.cellStyles??{},[_,q]=s(null),[ee,te]=s(null),re=i(()=>{if(ee){const e=Math.min(ee.anchor.row,ee.end.row),t=Math.max(ee.anchor.row,ee.end.row),r=Math.min(ee.anchor.col,ee.end.col),n=Math.max(ee.anchor.col,ee.end.col),o=[];for(let a=e;a<=t;a++)for(let e=r;e<=n;e++)o.push({row:a,col:e});return o}return _?[_]:[]},[ee,_]),ne=i((e,t)=>{const r=re();0!==r.length&&N(n=>n.map((n,o)=>{if(o!==S)return n;const a={...n.cellStyles??{}},l=`${r[0].row}:${r[0].col}`,s=void 0!==t?t:!(a[l]??{})[e];for(const{row:t,col:n}of r){const r=`${t}:${n}`;a[r]={...a[r]??{},[e]:s}}return{...n,cellStyles:a}}))},[re,S]),oe=ee?{row:ee.anchor.row,col:ee.anchor.col}:_,ae=oe?z[`${oe.row}:${oe.col}`]??{}:{},le=!!oe,se=i(e=>{N(t=>t.map((t,r)=>r===S?{...t,...e}:t))},[S]),ce=i(e=>{const t=e.reduce((e,t)=>Math.max(e,t.length),0);t!==Z.length?se({data:e,columns:y(t)}):se({data:e})},[se,Z.length]),ie=(e,t)=>{N(r=>r.map((r,n)=>n===e?{...r,name:t}:r)),B(null)},ue=()=>Y.filter(e=>e.some(e=>e.trim())).map(e=>e.map(e=>e.includes(",")||e.includes('"')||e.includes("\n")?`"${e.replace(/"/g,'""')}"`:e).join(",")).join("\n"),de=[];Y.forEach(e=>e.forEach(e=>{const t=parseFloat(e);!isNaN(t)&&e.trim()&&de.push(t)}));const he=Y.reduce((e,t)=>e+t.filter(e=>e.trim()).length,0);/* @__PURE__ */
1
+ import{EditableGrid as e}from"./chunk-2RBWQVDC.js";import"./chunk-G6DKCCWH.js";import{AboutApp as t}from"./chunk-3BPF6PP3.js";import{peekSpreadsheetPreviewStage as r,claimSpreadsheetPreviewStage as n,SPREADSHEET_PREVIEW_UPDATE_EVENT as o}from"./chunk-VTVSMRFX.js";import{WindowTitle as a}from"./chunk-L3NYH4QV.js";import"./chunk-CY5N5OA3.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-HVX37PKU.js";import"./chunk-5A7MWTXX.js";import"./chunk-Y53KNQKL.js";import"./chunk-FL2PUQX7.js";import"./chunk-ZN3O2KJ7.js";import"./chunk-YCQVEJOT.js";import"./chunk-KC3EX26K.js";import"./chunk-VWGWZY7A.js";import"./chunk-PKXQDCNR.js";import"./chunk-UGTRSRIW.js";import"./chunk-XWLWG4HS.js";import"./chunk-CDAJKLGL.js";import"./chunk-D323R2FT.js";import"./chunk-HSOREHQB.js";import"./chunk-PJCVNFWM.js";import"./chunk-QR4RM7PO.js";import"./chunk-5QFPTDQF.js";import"./chunk-4IU5BSVE.js";import"./chunk-K7U4RWXJ.js";import"./chunk-VH6GB73Q.js";import"./chunk-KIBL6M3T.js";import"./chunk-J75ZT2JQ.js";import"./chunk-Q5MD3VY6.js";import"./chunk-MRJKZWWV.js";import"./chunk-6KO5VTL7.js";import"./chunk-22S6LG6D.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-DTJRIWFR.js";import"./chunk-TWVUQUUD.js";import"./chunk-E6UCGCOC.js";import"./chunk-C3QOHMR6.js";import{useRef as l,useState as s,useEffect as c,useCallback as i}from"react";import{jsxs as u,jsx as d,Fragment as h}from"react/jsx-runtime";var m="ABCDEFGHIJKLMNOPQRSTUVWXYZ",p=10,x=30;function g(e){return e<26?m[e]:m[Math.floor(e/26)-1]+m[e%26]}function y(e){return Array.from({length:e},(e,t)=>({key:`col_${t}`,title:g(t),width:100}))}function b(e,t){return Array.from({length:e},()=>Array(t).fill(""))}function f(e){return{id:crypto.randomUUID(),name:e,columns:y(p),data:b(x,p),cellStyles:{}}}function v(e){return e.split("\n").map(e=>{if(e.includes("\t"))return e.split("\t").map(e=>e.trim());const t=[];let r="",n=!1;for(const o of e)'"'!==o?","!==o||n?r+=o:(t.push(r.trim()),r=""):n=!n;return t.push(r.trim()),t}).filter(e=>e.some(e=>e.trim()))}function k(e,t){const r=e.rows?e.rows.map(e=>e.map(e=>String(e??""))):v(e.csv??"");if(0===r.length)return null;const n=Math.max(p,r.reduce((e,t)=>Math.max(e,t.length),0)),o=r.map(e=>{for(;e.length<n;)e.push("");return e});for(;o.length<x;)o.push(Array(n).fill(""));return{id:crypto.randomUUID(),name:t,columns:y(n),data:o,cellStyles:{}}}function w(){const m=l(null),g=l(void 0);void 0===g.current&&(g.current=r());const w=l(g.current?.data??null),j=(()=>{const e=g.current;if(!e)return null;const t=k(e.data,"Sheet 1");if(!t)return null;return{sheet:t,title:e.data.filename.replace(/\.(csv|tsv|txt)$/i,"")}})(),[C,N]=s(j?[j.sheet]:[f("Sheet 1")]),[S,U]=s(0),M=l([]),D=l(C),L=l(!1);c(()=>{L.current?L.current=!1:D.current!==C&&(M.current.push(D.current),M.current.length>50&&M.current.shift()),D.current=C},[C]);const E=i(()=>{const e=M.current.pop();e&&(L.current=!0,N(e))},[]);c(()=>{const e=e=>{if(!m.current?.contains(document.activeElement)&&!m.current?.matches(":focus-within"))return;(e.ctrlKey||e.metaKey)&&!e.shiftKey&&("z"===e.key||"Z"===e.key)&&(e.preventDefault(),E())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[E]);const[R,K]=s(j?.title??"Untitled"),[$,A]=s(()=>g.current?.data.onEmail),V=i(e=>{const t=k(e,"Sheet 1");t&&(N([t]),U(0),K(e.filename.replace(/\.(csv|tsv|txt)$/i,"")),A(()=>e.onEmail))},[]);c(()=>{const e=g.current;null!=e&&(n(e),e.data!==w.current&&V(e.data))},[]),c(()=>{const e=g.current?.token;if(null==e)return;const t=t=>{const r=t.detail;r&&r.token===e&&V(r.data)};return window.addEventListener(o,t),()=>window.removeEventListener(o,t)},[]);const[W,Q]=s(!1),[B,F]=s(null),[J,T]=s(""),G=l(null),[O,H]=s("1"),[P,I]=s("10"),X=C[S]||C[0],Y=X.data,Z=X.columns,z=X.cellStyles??{},[_,q]=s(null),[ee,te]=s(null),re=i(()=>{if(ee){const e=Math.min(ee.anchor.row,ee.end.row),t=Math.max(ee.anchor.row,ee.end.row),r=Math.min(ee.anchor.col,ee.end.col),n=Math.max(ee.anchor.col,ee.end.col),o=[];for(let a=e;a<=t;a++)for(let e=r;e<=n;e++)o.push({row:a,col:e});return o}return _?[_]:[]},[ee,_]),ne=i((e,t)=>{const r=re();0!==r.length&&N(n=>n.map((n,o)=>{if(o!==S)return n;const a={...n.cellStyles??{}},l=`${r[0].row}:${r[0].col}`,s=void 0!==t?t:!(a[l]??{})[e];for(const{row:t,col:n}of r){const r=`${t}:${n}`;a[r]={...a[r]??{},[e]:s}}return{...n,cellStyles:a}}))},[re,S]),oe=ee?{row:ee.anchor.row,col:ee.anchor.col}:_,ae=oe?z[`${oe.row}:${oe.col}`]??{}:{},le=!!oe,se=i(e=>{N(t=>t.map((t,r)=>r===S?{...t,...e}:t))},[S]),ce=i(e=>{const t=e.reduce((e,t)=>Math.max(e,t.length),0);t!==Z.length?se({data:e,columns:y(t)}):se({data:e})},[se,Z.length]),ie=(e,t)=>{N(r=>r.map((r,n)=>n===e?{...r,name:t}:r)),F(null)},ue=()=>Y.filter(e=>e.some(e=>e.trim())).map(e=>e.map(e=>e.includes(",")||e.includes('"')||e.includes("\n")?`"${e.replace(/"/g,'""')}"`:e).join(",")).join("\n"),de=[];Y.forEach(e=>e.forEach(e=>{const t=parseFloat(e);!isNaN(t)&&e.trim()&&de.push(t)}));const he=Y.reduce((e,t)=>e+t.filter(e=>e.trim()).length,0);/* @__PURE__ */
2
2
  return u("div",{ref:m,className:"flex flex-col h-full",children:[
3
- /* @__PURE__ */d(a,{title:`${me=E||"Untitled",me.length>24?`${me.slice(0,23)}…`:me} - Spreadsheets`}),
3
+ /* @__PURE__ */d(a,{title:`${me=R||"Untitled",me.length>24?`${me.slice(0,23)}…`:me} - Spreadsheets`}),
4
4
  /* @__PURE__ */d(t,{app:"spreadsheet"}),
5
- /* @__PURE__ */u("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-gray-200 bg-gray-50 shrink-0",children:[W?/* @__PURE__ */d("input",{type:"text",value:E,onChange:e=>K(e.target.value),onBlur:()=>J(!1),onKeyDown:e=>{"Enter"===e.key&&J(!1)},autoFocus:!0,className:"text-sm font-medium text-gray-900 border border-gray-300 rounded px-2 py-0.5 w-40 focus:border-blue-500 focus:ring-blue-500"}):/* @__PURE__ */d("button",{onClick:()=>J(!0),className:"text-sm font-medium text-gray-900 hover:text-blue-600 truncate max-w-[200px]",title:"Click to rename",children:E||"Untitled"}),
5
+ /* @__PURE__ */u("div",{className:"flex items-center gap-2 px-3 py-2 border-b border-gray-200 bg-gray-50 shrink-0",children:[W?/* @__PURE__ */d("input",{type:"text",value:R,onChange:e=>K(e.target.value),onBlur:()=>Q(!1),onKeyDown:e=>{"Enter"===e.key&&Q(!1)},autoFocus:!0,className:"text-sm font-medium text-gray-900 border border-gray-300 rounded px-2 py-0.5 w-40 focus:border-blue-500 focus:ring-blue-500"}):/* @__PURE__ */d("button",{onClick:()=>Q(!0),className:"text-sm font-medium text-gray-900 hover:text-blue-600 truncate max-w-[200px]",title:"Click to rename",children:R||"Untitled"}),
6
6
  /* @__PURE__ */d("div",{className:"h-4 w-px bg-gray-300"}),
7
7
  /* @__PURE__ */d("input",{ref:G,type:"file",accept:".csv,.tsv,.txt,.xlsx,.xls,.ods",onChange:async e=>{const t=e.target.files?.[0];if(!t)return;const r=t.name.replace(/\.(csv|tsv|txt|xlsx|xls|ods)$/i,"");if(/\.(xlsx|xls|ods)$/i.test(t.name)){const e=new Uint8Array(await t.arrayBuffer()),n=await(import("xlsx")),o=n.read(e,{type:"array"}),a=o.SheetNames.map(e=>{const t=n.utils.sheet_to_json(o.Sheets[e],{header:1,defval:""}),r=Math.max(p,t.reduce((e,t)=>Math.max(e,t.length),0)),a=t.map(e=>{const t=e.map(e=>String(e??""));for(;t.length<r;)t.push("");return t});for(;a.length<x;)a.push(Array(r).fill(""));return{id:crypto.randomUUID(),name:e,columns:y(r),data:a}});N(a),U(0),K(r)}else{const e=v(await t.text());if(0===e.length)return;const n=Math.max(p,e.reduce((e,t)=>Math.max(e,t.length),0)),o=e.map(e=>{for(;e.length<n;)e.push("");return e});for(;o.length<x;)o.push(Array(n).fill(""));se({columns:y(n),data:o}),K(r)}G.current&&(G.current.value="")},className:"hidden"}),
8
8
  /* @__PURE__ */d("button",{onClick:()=>G.current?.click(),className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"Open"}),
9
- /* @__PURE__ */d("button",{onClick:()=>{const e=new Blob([ue()],{type:"text/csv"}),t=URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download=`${E||"spreadsheet"}.csv`,r.click(),URL.revokeObjectURL(t)},className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"Save CSV"}),$&&/* @__PURE__ */d("button",{onClick:()=>$(ue(),`${E||"spreadsheet"}.csv`),className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"Email"}),
9
+ /* @__PURE__ */d("button",{onClick:()=>{const e=new Blob([ue()],{type:"text/csv"}),t=URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download=`${R||"spreadsheet"}.csv`,r.click(),URL.revokeObjectURL(t)},className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"Save CSV"}),$&&/* @__PURE__ */d("button",{onClick:()=>$(ue(),`${R||"spreadsheet"}.csv`),className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"Email"}),
10
10
  /* @__PURE__ */d("div",{className:"h-4 w-px bg-gray-300"}),
11
11
  /* @__PURE__ */u("div",{className:"flex items-center gap-1",children:[
12
- /* @__PURE__ */d("input",{type:"number",min:"1",max:"50",value:O,onChange:e=>I(e.target.value),className:"w-10 text-xs text-center border border-gray-300 rounded px-1 py-0.5 focus:border-blue-500 focus:ring-blue-500"}),
12
+ /* @__PURE__ */d("input",{type:"number",min:"1",max:"50",value:O,onChange:e=>H(e.target.value),className:"w-10 text-xs text-center border border-gray-300 rounded px-1 py-0.5 focus:border-blue-500 focus:ring-blue-500"}),
13
13
  /* @__PURE__ */d("button",{onClick:()=>(e=>{const t=Z.length+e;se({columns:y(t),data:Y.map(t=>[...t,...Array(e).fill("")])})})(parseInt(O)||1),className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"+ Col"})]}),
14
14
  /* @__PURE__ */u("div",{className:"flex items-center gap-1",children:[
15
- /* @__PURE__ */d("input",{type:"number",min:"1",max:"500",value:X,onChange:e=>H(e.target.value),className:"w-10 text-xs text-center border border-gray-300 rounded px-1 py-0.5 focus:border-blue-500 focus:ring-blue-500"}),
16
- /* @__PURE__ */d("button",{onClick:()=>{return e=parseInt(X)||10,void se({data:[...Y,...Array.from({length:e},()=>Array(Z.length).fill(""))]});var e},className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"+ Row"})]}),
15
+ /* @__PURE__ */d("input",{type:"number",min:"1",max:"500",value:P,onChange:e=>I(e.target.value),className:"w-10 text-xs text-center border border-gray-300 rounded px-1 py-0.5 focus:border-blue-500 focus:ring-blue-500"}),
16
+ /* @__PURE__ */d("button",{onClick:()=>{return e=parseInt(P)||10,void se({data:[...Y,...Array.from({length:e},()=>Array(Z.length).fill(""))]});var e},className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"+ Row"})]}),
17
17
  /* @__PURE__ */d("div",{className:"h-4 w-px bg-gray-300"}),
18
18
  /* @__PURE__ */d("button",{onClick:()=>{se({columns:y(p),data:b(x,p)})},className:"text-xs text-gray-600 hover:text-gray-900 px-2 py-1 rounded hover:bg-gray-200 transition-colors",children:"Clear"}),
19
19
  /* @__PURE__ */d("div",{className:"h-4 w-px bg-gray-300"}),
@@ -28,7 +28,7 @@ return u("div",{ref:m,className:"flex flex-col h-full",children:[
28
28
  /* @__PURE__ */d("option",{value:"xl",children:"L"})]})]})]}),
29
29
  /* @__PURE__ */d("div",{className:"flex-1 min-h-0",children:/* @__PURE__ */d(e,{columns:Z,data:Y,onChange:ce,onColumnsChange:e=>se({columns:e}),cellStyles:z,onFocusChange:q,onSelectionChange:te,minRows:x,maxHeight:"100%"})}),
30
30
  /* @__PURE__ */u("div",{className:"flex items-center border-t border-gray-200 bg-gray-50 shrink-0",children:[
31
- /* @__PURE__ */u("div",{className:"flex items-center gap-0.5 px-1 py-1 overflow-x-auto flex-1 min-w-0",children:[C.map((e,t)=>/* @__PURE__ */d("button",{onClick:()=>U(t),onDoubleClick:()=>{B(t),T(e.name)},onContextMenu:e=>{e.preventDefault(),C.length>1&&(e=>{C.length<=1||(N(t=>t.filter((t,r)=>r!==e)),S>=e&&S>0&&U(S-1))})(t)},className:"px-3 py-1 text-xs font-medium rounded-b whitespace-nowrap transition-colors "+(t===S?"bg-white text-blue-700 border border-t-0 border-gray-300 -mt-px relative z-10":"text-gray-500 hover:text-gray-700 hover:bg-gray-100"),children:Q===t?/* @__PURE__ */d("input",{type:"text",value:F,onChange:e=>T(e.target.value),onBlur:()=>ie(t,F||e.name),onKeyDown:r=>{"Enter"===r.key&&ie(t,F||e.name),"Escape"===r.key&&B(null)},onClick:e=>e.stopPropagation(),autoFocus:!0,className:"w-20 text-xs border border-blue-400 rounded px-1 py-0 focus:ring-0 focus:outline-none"}):e.name},e.id)),
31
+ /* @__PURE__ */u("div",{className:"flex items-center gap-0.5 px-1 py-1 overflow-x-auto flex-1 min-w-0",children:[C.map((e,t)=>/* @__PURE__ */d("button",{onClick:()=>U(t),onDoubleClick:()=>{F(t),T(e.name)},onContextMenu:e=>{e.preventDefault(),C.length>1&&(e=>{C.length<=1||(N(t=>t.filter((t,r)=>r!==e)),S>=e&&S>0&&U(S-1))})(t)},className:"px-3 py-1 text-xs font-medium rounded-b whitespace-nowrap transition-colors "+(t===S?"bg-white text-blue-700 border border-t-0 border-gray-300 -mt-px relative z-10":"text-gray-500 hover:text-gray-700 hover:bg-gray-100"),children:B===t?/* @__PURE__ */d("input",{type:"text",value:J,onChange:e=>T(e.target.value),onBlur:()=>ie(t,J||e.name),onKeyDown:r=>{"Enter"===r.key&&ie(t,J||e.name),"Escape"===r.key&&F(null)},onClick:e=>e.stopPropagation(),autoFocus:!0,className:"w-20 text-xs border border-blue-400 rounded px-1 py-0 focus:ring-0 focus:outline-none"}):e.name},e.id)),
32
32
  /* @__PURE__ */d("button",{onClick:()=>{const e=`Sheet ${C.length+1}`;N(t=>[...t,f(e)]),U(C.length)},className:"px-2 py-1 text-xs text-gray-400 hover:text-gray-600 hover:bg-gray-100 rounded",title:"Add sheet",children:"+"})]}),
33
33
  /* @__PURE__ */u("div",{className:"flex items-center gap-4 px-3 py-1 text-xs text-gray-500 shrink-0 border-l border-gray-200",children:[
34
34
  /* @__PURE__ */u("span",{children:[he," cells"]}),de.length>0&&/* @__PURE__ */u(h,{children:[
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { UIMessage } from 'ai';
3
- import { b as IconName } from '../names-DYWfNBkN.js';
3
+ import { b as IconName } from '../names-mX74Rrmy.js';
4
4
  import { MarkdownTableAction } from '../shell/Markdown.js';
5
5
  import 'react';
6
6
 
package/dist/ai/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import{StepChain as e,StepChainItem as t}from"../chunk-SAKHGHF5.js";import{Markdown as n}from"../chunk-37JDUDCO.js";import{Textarea_default as r}from"../chunk-AWY3F6PV.js";import"../chunk-UJUTS6LJ.js";import"../chunk-PJPK2ADX.js";import{useContextMenu as o,ContextMenu as a}from"../chunk-AX7KPMDV.js";import{Banner as s}from"../chunk-WTY3SXO7.js";import"../chunk-B55IXYDR.js";import{IconButton_default as l}from"../chunk-4CANQ3B3.js";import"../chunk-JFSYWEHD.js";import{parseChartSpec as i}from"../chunk-CR7T435F.js";import{SpecChart as c}from"../chunk-TFMC2WAS.js";import"../chunk-X2S2XDZI.js";import"../chunk-5OTS2G3M.js";import"../chunk-36BRD5J3.js";import"../chunk-OSA24YH6.js";import"../chunk-CK2YOGUS.js";import"../chunk-BRHIRE4D.js";import"../chunk-VFC6QUEN.js";import"../chunk-W5M6P4DZ.js";import"../chunk-465RRWBY.js";import{ChartSkeleton as u}from"../chunk-Y4MI6NRI.js";import"../chunk-CNYAHYE6.js";import"../chunk-PJCVNFWM.js";import"../chunk-QR4RM7PO.js";import"../chunk-5QFPTDQF.js";import{Button_default as p}from"../chunk-4IU5BSVE.js";import"../chunk-K7U4RWXJ.js";import"../chunk-VH6GB73Q.js";import{Icon as d}from"../chunk-KIBL6M3T.js";import"../chunk-J75ZT2JQ.js";import{SpinnerRing as m}from"../chunk-Q5MD3VY6.js";import"../chunk-MRJKZWWV.js";import"../chunk-6KO5VTL7.js";import"../chunk-22S6LG6D.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-P5BOTIJU.js";import"../chunk-DTJRIWFR.js";import"../chunk-RSO67DWS.js";import"../chunk-MG7A3R75.js";import"../chunk-2JWPNR2U.js";import"../chunk-MAFUXCPZ.js";import"../chunk-TWVUQUUD.js";import"../chunk-EYKUKN32.js";import"../chunk-TZFACUMR.js";import"../chunk-E6UCGCOC.js";import"../chunk-C3QOHMR6.js";import{useRef as h,useState as g,useEffect as f,useId as v,useCallback as b,useMemo as y}from"react";import{jsx as k,jsxs as w}from"react/jsx-runtime";import{isToolUIPart as x,getToolName as N,DefaultChatTransport as C,lastAssistantMessageIsCompleteWithApprovalResponses as j}from"ai";import{useChat as A}from"@ai-sdk/react";function S({labels:e,placeholder:t,busy:n,focusWhen:o,onSend:a,onStop:s,onNewChat:i,actions:c}){const[u,m]=g(""),v=h(null);f(()=>{o&&v.current?.focus()},[o]);const b=()=>{!n&&u.trim()&&(a(u),m(""))};/* @__PURE__ */
2
+ import{StepChain as e,StepChainItem as t}from"../chunk-SAKHGHF5.js";import{Markdown as n}from"../chunk-37JDUDCO.js";import{Textarea_default as r}from"../chunk-7PCI6AUU.js";import"../chunk-UJUTS6LJ.js";import"../chunk-PJPK2ADX.js";import{useContextMenu as o,ContextMenu as a}from"../chunk-AX7KPMDV.js";import{Banner as s}from"../chunk-WTY3SXO7.js";import"../chunk-B55IXYDR.js";import{IconButton_default as l}from"../chunk-4CANQ3B3.js";import"../chunk-PF3ANJFI.js";import{parseChartSpec as i}from"../chunk-CR7T435F.js";import{SpecChart as c}from"../chunk-TFMC2WAS.js";import"../chunk-X2S2XDZI.js";import"../chunk-5OTS2G3M.js";import"../chunk-36BRD5J3.js";import"../chunk-OSA24YH6.js";import"../chunk-CK2YOGUS.js";import"../chunk-BRHIRE4D.js";import"../chunk-VFC6QUEN.js";import"../chunk-W5M6P4DZ.js";import"../chunk-465RRWBY.js";import{ChartSkeleton as u}from"../chunk-Y4MI6NRI.js";import"../chunk-CNYAHYE6.js";import"../chunk-PJCVNFWM.js";import"../chunk-QR4RM7PO.js";import"../chunk-5QFPTDQF.js";import{Button_default as p}from"../chunk-4IU5BSVE.js";import"../chunk-K7U4RWXJ.js";import"../chunk-VH6GB73Q.js";import{Icon as d}from"../chunk-KIBL6M3T.js";import"../chunk-J75ZT2JQ.js";import{SpinnerRing as m}from"../chunk-Q5MD3VY6.js";import"../chunk-MRJKZWWV.js";import"../chunk-6KO5VTL7.js";import"../chunk-22S6LG6D.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-P5BOTIJU.js";import"../chunk-DTJRIWFR.js";import"../chunk-RSO67DWS.js";import"../chunk-MG7A3R75.js";import"../chunk-2JWPNR2U.js";import"../chunk-MAFUXCPZ.js";import"../chunk-TWVUQUUD.js";import"../chunk-EYKUKN32.js";import"../chunk-TZFACUMR.js";import"../chunk-E6UCGCOC.js";import"../chunk-C3QOHMR6.js";import{useRef as h,useState as g,useEffect as f,useId as v,useCallback as b,useMemo as y}from"react";import{jsx as k,jsxs as w}from"react/jsx-runtime";import{isToolUIPart as x,getToolName as N,DefaultChatTransport as C,lastAssistantMessageIsCompleteWithApprovalResponses as j}from"ai";import{useChat as A}from"@ai-sdk/react";function S({labels:e,placeholder:t,busy:n,focusWhen:o,onSend:a,onStop:s,onNewChat:i,actions:c}){const[u,m]=g(""),v=h(null);f(()=>{o&&v.current?.focus()},[o]);const b=()=>{!n&&u.trim()&&(a(u),m(""))};/* @__PURE__ */
3
3
  return w("form",{className:"flex items-end gap-2 border-t border-gray-200 p-3",onSubmit:e=>{e.preventDefault(),b()},children:[i&&/* @__PURE__ */k(l,{type:"button",variant:"ghost","aria-label":e.newChat,title:e.newChat,onClick:i,children:/* @__PURE__ */k(d,{name:"add"})}),
4
- /* @__PURE__ */k("div",{className:"min-w-0 flex-1",children:/* @__PURE__ */k(r,{ref:v,"aria-label":e.inputLabel,placeholder:t,rows:1,autoGrow:!0,value:u,onChange:e=>m(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),b())},className:"max-h-32"})}),c?.map(e=>e.icon?/* @__PURE__ */k(l,{type:"button",variant:"ghost","aria-label":e.label,title:e.label,disabled:!u.trim(),onClick:()=>e.onSelect(u.trim()),children:/* @__PURE__ */k(d,{name:e.icon})},e.key):/* @__PURE__ */k(p,{type:"button",variant:"ghost",disabled:!u.trim(),onClick:()=>e.onSelect(u.trim()),children:e.label},e.key)),/* @__PURE__ */k(p,n?{type:"button",variant:"secondary",onClick:s,children:e.stop}:{type:"submit",disabled:!u.trim(),children:e.send})]})}function $(e){if(!x(e))return null;const t=e;return{toolName:N(e),toolCallId:t.toolCallId,state:t.state,input:t.input,output:t.output,errorText:t.errorText,approvalId:t.approval?.id,approved:t.approval?.approved}}function R(e){const t=/* @__PURE__ */new Map;for(const n of e.parts){if("data-tool-summary"!==n.type)continue;const e=n.data;e&&"string"==typeof e.tool_call_id&&Array.isArray(e.rows)&&e.rows.length>0&&t.set(e.tool_call_id,e)}return t}function T(e){return e.parts.map(e=>"text"===e.type?e.text:"").join("")}function _(e,t){const n=e[e.length-1];if(!n)throw new Error("assistant chat: no message to send");if("user"===n.role){const e=T(n).trim();if(!e)throw new Error("assistant chat: empty message");return{conversation_id:t,text:e,approvals:[]}}const r=function(e){const t=[];for(const n of e.parts){if(!x(n))continue;const e=n;if("approval-responded"!==e.state||!e.approval||"boolean"!=typeof e.approval.approved)continue;const r={approval_id:e.approval.id,approved:e.approval.approved};e.approval.reason&&(r.reason=e.approval.reason),t.push(r)}return t}(n);if(0===r.length)throw new Error("assistant chat: no approval decision to send");return{conversation_id:t,text:null,approvals:r}}var I=/* @__PURE__ */new Set(["proposed","approved","running"]);function D(e){return I.has(e.status)}function M(e){const t=[];for(const n of e.parts)"data-plan"===n.type&&t.push(n.data);return t}function O(e){const t=/* @__PURE__ */new Map;for(const n of e)for(const e of M(n))t.delete(e.id),t.set(e.id,e);return t}function L(e){const t=[...O(e).values()],n=t[t.length-1];if(!n)return null;if(D(n))return n;const r=e[e.length-1];return r&&"assistant"===r.role&&M(r).some(e=>e.id===n.id)?n:null}function U(e){const t=e.messages.filter(e=>e.text).map(e=>({id:e.id,role:e.role,parts:[{type:"text",text:e.text}],...e.source&&e.source!==e.role?{metadata:{source:e.source}}:{}})),n=(e.plans??[]).filter(D);return(e.pending_approvals.length>0||n.length>0)&&t.push({id:`pending-approvals-${e.id}`,role:"assistant",parts:[...n.map(e=>({type:"data-plan",id:e.id,data:e})),...e.pending_approvals.map(e=>({type:`tool-${e.tool_name}`,toolCallId:e.tool_call_id??e.approval_id,state:"approval-requested",input:e.input,approval:{id:e.approval_id}}))]}),t}function E(e,t){const n=e?.message?.trim();if(!n)return t;if(n.startsWith("{")){try{const e=JSON.parse(n);for(const t of["detail","errorText","message","title","error"]){const n=e[t];if("string"==typeof n&&n.trim())return n.trim()}}catch{return t}return t}return n.startsWith("<")||n.length>400?t:n}var J=/^(load failed|failed to fetch|network ?error( when attempting to fetch resource)?|(the )?network connection was lost|error in input stream|terminated)\.?$/i;function P(e){return!(!e||"AbortError"===e.name)&&J.test(e.message?.trim()??"")}var W=/* @__PURE__ */new Set(["budget_reached","not_permitted"]);function F(e,t,n){return P(e)?{text:n.connectionDropped,retryable:!0}:{text:E(e,n.genericError),retryable:!(t&&W.has(t))}}function B(e){const t=e[e.length-1];if(!t)return!1;if("user"===t.role)return""!==T(t).trim();const n=e[e.length-2];return!(!n||"user"!==n.role||!T(n).trim())&&!t.parts.some(e=>void 0!==$(e)?.approvalId)}function H(e){const t=e.replace(/^tool-/,"").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return t?t.charAt(0).toUpperCase()+t.slice(1):e}var z={propose_plan:{label:"Plan the changes",running:"Planning the changes",done:"Planned the changes"}};function Y(e,t){const n=t?.[e]??z[e];return"string"==typeof n?{label:n}:n??{label:H(e)}}function K(e,t){return Y(e,t).label}function q(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function G(e,t,n){const r=Y(e,n).describe;if(!r)return"";try{return r(q(t))?.trim()??""}catch{return""}}function Q(e,t){return null==e?"":"boolean"==typeof e?e?"Yes":"No":"object"!=typeof e?String(e):Array.isArray(e)?e.map(e=>Q(e,t+1)).filter(Boolean).join(", "):t>=3?"…":Object.entries(e).map(([e,n])=>{const r=Q(n,t+1);return r?`${H(e)}: ${r}`:""}).filter(Boolean).join("; ")}function V(e){const t=q(e),n=[];for(const[e,r]of Object.entries(t)){const t=Q(r,0);t&&n.push({label:H(e),value:t})}return 0===n.length&&null!=e&&"object"!=typeof e&&n.push({label:"Value",value:Q(e,0)}),n}var X={proposed:"planProposed",approved:"planApproved",running:"planRunning",completed:"planCompleted",failed:"planFailed",denied:"planDenied",expired:"planExpired"},Z={pending:"pending",running:"active",done:"complete",failed:"failed",skipped:"skipped"};function ee(e,t){const n=G(e.tool_name,e.input,t);return`${K(e.tool_name,t)}${n?` ${n}`:""}`}function te(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):e)}function ne(e,t){const n=e.steps.filter(e=>"done"===e.status).length;return`${te(t.planSummary,{done:n,total:e.steps.length})} · ${t[X[e.status]]}`}function re({plan:n,labels:r}){/* @__PURE__ */
4
+ /* @__PURE__ */k("div",{className:"min-w-0 flex-1",children:/* @__PURE__ */k(r,{ref:v,"aria-label":e.inputLabel,placeholder:t,rows:1,autoGrow:!0,value:u,onChange:e=>m(e.target.value),onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||e.nativeEvent.isComposing||(e.preventDefault(),b())},className:"max-h-32"})}),c?.map(e=>e.icon?/* @__PURE__ */k(l,{type:"button",variant:"ghost","aria-label":e.label,title:e.label,disabled:!u.trim(),onClick:()=>e.onSelect(u.trim()),children:/* @__PURE__ */k(d,{name:e.icon})},e.key):/* @__PURE__ */k(p,{type:"button",variant:"ghost",disabled:!u.trim(),onClick:()=>e.onSelect(u.trim()),children:e.label},e.key)),/* @__PURE__ */k(p,n?{type:"button",variant:"secondary",onClick:s,children:e.stop}:{type:"submit",disabled:!u.trim(),children:e.send})]})}function $(e){if(!x(e))return null;const t=e;return{toolName:N(e),toolCallId:t.toolCallId,state:t.state,input:t.input,output:t.output,errorText:t.errorText,approvalId:t.approval?.id,approved:t.approval?.approved}}function R(e){const t=/* @__PURE__ */new Map;for(const n of e.parts){if("data-tool-summary"!==n.type)continue;const e=n.data;e&&"string"==typeof e.tool_call_id&&Array.isArray(e.rows)&&e.rows.length>0&&t.set(e.tool_call_id,e)}return t}function T(e){return e.parts.map(e=>"text"===e.type?e.text:"").join("")}function _(e,t){const n=e[e.length-1];if(!n)throw new Error("assistant chat: no message to send");if("user"===n.role){const e=T(n).trim();if(!e)throw new Error("assistant chat: empty message");return{conversation_id:t,text:e,approvals:[]}}const r=function(e){const t=[];for(const n of e.parts){if(!x(n))continue;const e=n;if("approval-responded"!==e.state||!e.approval||"boolean"!=typeof e.approval.approved)continue;const r={approval_id:e.approval.id,approved:e.approval.approved};e.approval.reason&&(r.reason=e.approval.reason),t.push(r)}return t}(n);if(0===r.length)throw new Error("assistant chat: no approval decision to send");return{conversation_id:t,text:null,approvals:r}}var I=/* @__PURE__ */new Set(["proposed","approved","running"]);function D(e){return I.has(e.status)}function M(e){const t=[];for(const n of e.parts)"data-plan"===n.type&&t.push(n.data);return t}function O(e){const t=/* @__PURE__ */new Map;for(const n of e)for(const e of M(n))t.delete(e.id),t.set(e.id,e);return t}function L(e){const t=[...O(e).values()],n=t[t.length-1];if(!n)return null;if(D(n))return n;const r=e[e.length-1];return r&&"assistant"===r.role&&M(r).some(e=>e.id===n.id)?n:null}function U(e){const t=e.messages.filter(e=>e.text).map(e=>({id:e.id,role:e.role,parts:[{type:"text",text:e.text}],...e.source&&e.source!==e.role?{metadata:{source:e.source}}:{}})),n=(e.plans??[]).filter(D);return(e.pending_approvals.length>0||n.length>0)&&t.push({id:`pending-approvals-${e.id}`,role:"assistant",parts:[...n.map(e=>({type:"data-plan",id:e.id,data:e})),...e.pending_approvals.map(e=>({type:`tool-${e.tool_name}`,toolCallId:e.tool_call_id??e.approval_id,state:"approval-requested",input:e.input,approval:{id:e.approval_id}}))]}),t}function P(e,t){const n=e?.message?.trim();if(!n)return t;if(n.startsWith("{")){try{const e=JSON.parse(n);for(const t of["detail","errorText","message","title","error"]){const n=e[t];if("string"==typeof n&&n.trim())return n.trim()}}catch{return t}return t}return n.startsWith("<")||n.length>400?t:n}var E=/^(load failed|failed to fetch|network ?error( when attempting to fetch resource)?|(the )?network connection was lost|error in input stream|terminated)\.?$/i;function J(e){return!(!e||"AbortError"===e.name)&&E.test(e.message?.trim()??"")}var F=/* @__PURE__ */new Set(["budget_reached","not_permitted"]);function W(e,t,n){return J(e)?{text:n.connectionDropped,retryable:!0}:{text:P(e,n.genericError),retryable:!(t&&F.has(t))}}function B(e){const t=e[e.length-1];if(!t)return!1;if("user"===t.role)return""!==T(t).trim();const n=e[e.length-2];return!(!n||"user"!==n.role||!T(n).trim())&&!t.parts.some(e=>void 0!==$(e)?.approvalId)}function H(e){const t=e.replace(/^tool-/,"").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_\-.]+/g," ").trim().toLowerCase();return t?t.charAt(0).toUpperCase()+t.slice(1):e}var z={propose_plan:{label:"Plan the changes",running:"Planning the changes",done:"Planned the changes"}};function K(e,t){const n=t?.[e]??z[e];return"string"==typeof n?{label:n}:n??{label:H(e)}}function q(e,t){return K(e,t).label}function G(e){return e&&"object"==typeof e&&!Array.isArray(e)?e:{}}function Q(e,t,n){const r=K(e,n).describe;if(!r)return"";try{return r(G(t))?.trim()??""}catch{return""}}function Y(e,t){return null==e?"":"boolean"==typeof e?e?"Yes":"No":"object"!=typeof e?String(e):Array.isArray(e)?e.map(e=>Y(e,t+1)).filter(Boolean).join(", "):t>=3?"…":Object.entries(e).map(([e,n])=>{const r=Y(n,t+1);return r?`${H(e)}: ${r}`:""}).filter(Boolean).join("; ")}function V(e){const t=G(e),n=[];for(const[e,r]of Object.entries(t)){const t=Y(r,0);t&&n.push({label:H(e),value:t})}return 0===n.length&&null!=e&&"object"!=typeof e&&n.push({label:"Value",value:Y(e,0)}),n}var X={proposed:"planProposed",approved:"planApproved",running:"planRunning",completed:"planCompleted",failed:"planFailed",denied:"planDenied",expired:"planExpired"},Z={pending:"pending",running:"active",done:"complete",failed:"failed",skipped:"skipped"};function ee(e,t){const n=Q(e.tool_name,e.input,t);return`${q(e.tool_name,t)}${n?` ${n}`:""}`}function te(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):e)}function ne(e,t){const n=e.steps.filter(e=>"done"===e.status).length;return`${te(t.planSummary,{done:n,total:e.steps.length})} · ${t[X[e.status]]}`}function re({plan:n,labels:r}){/* @__PURE__ */
5
5
  return k("section",{"aria-label":r.plan,className:"border-t border-gray-200 bg-white px-3 py-2",children:/* @__PURE__ */k(e,{summary:ne(n,r),busy:D(n),label:r.plan,children:n.steps.map(e=>/* @__PURE__ */k(t,{label:e.title,status:Z[e.status],description:"done"!==e.status&&e.result_summary?e.result_summary:void 0},e.id))})})}function oe({approvalId:e,plan:t,input:n,labels:r,toolLabels:o,onApprove:a}){const s=function(e,t){if(e)return e.steps.map(e=>({key:e.id,title:e.title,tool_name:e.tool_name,input:e.input}));const n=t?.steps;return Array.isArray(n)?n.map((e,t)=>{const n=e??{};return{key:String(t),title:"string"==typeof n.title?n.title:"",tool_name:"string"==typeof n.tool?n.tool:"",input:n.args}}):[]}(t,n),l=te(r.planApprovalHeading,{count:s.length});/* @__PURE__ */
6
6
  return w("div",{role:"group","aria-label":l,className:"rounded-lg border border-amber-300 bg-amber-50 p-3 text-sm",children:[
7
7
  /* @__PURE__ */k("div",{className:"font-medium text-gray-900",children:l}),
@@ -15,12 +15,12 @@ return w("li",{children:[
15
15
  /* @__PURE__ */k(p,{size:"sm",variant:"secondary",onClick:()=>a(e,!1),children:r.deny})]})]})}function ae({questions:e,label:t,onAsk:n}){return 0===e.length?null:/* @__PURE__ */k("div",{role:"group","aria-label":t,className:"flex flex-wrap gap-2 pl-1",children:e.map(e=>/* @__PURE__ */k(p,{size:"sm",variant:"secondary",onClick:()=>n(e),children:e},e))})}function se({rows:e,label:t}){/* @__PURE__ */
16
16
  return k("dl",{"aria-label":t,className:"grid grid-cols-[max-content_1fr] gap-x-3 gap-y-1 text-xs",children:e.map((e,t)=>/* @__PURE__ */w("div",{className:"contents",children:[
17
17
  /* @__PURE__ */k("dt",{className:"text-gray-500",children:e.label}),
18
- /* @__PURE__ */k("dd",{className:"min-w-0 break-words "+(e.warn?"font-medium text-amber-700":"text-gray-800"),children:e.value})]},`${e.label}-${t}`))})}function le({tool:e,toolLabels:t,labels:n,onApprove:r}){const o=G(e.toolName,e.input,t),a=V(e.input),s=e.approvalId,l=`${n.approvalNeeded}: ${K(e.toolName,t)}${o?` ${o}`:""}`;/* @__PURE__ */
18
+ /* @__PURE__ */k("dd",{className:"min-w-0 break-words "+(e.warn?"font-medium text-amber-700":"text-gray-800"),children:e.value})]},`${e.label}-${t}`))})}function le({tool:e,toolLabels:t,labels:n,onApprove:r}){const o=Q(e.toolName,e.input,t),a=V(e.input),s=e.approvalId,l=`${n.approvalNeeded}: ${q(e.toolName,t)}${o?` ${o}`:""}`;/* @__PURE__ */
19
19
  return w("div",{role:"group","aria-label":l,className:"rounded-lg border border-amber-300 bg-amber-50 p-3 text-sm",children:[
20
20
  /* @__PURE__ */k("div",{className:"font-medium text-gray-900",children:l}),a.length>0&&/* @__PURE__ */k("div",{className:"mt-2",children:/* @__PURE__ */k(se,{rows:a})}),
21
21
  /* @__PURE__ */w("div",{className:"mt-3 flex gap-2",children:[
22
22
  /* @__PURE__ */k(p,{size:"sm",onClick:()=>r(s,!0),children:n.approve}),
23
- /* @__PURE__ */k(p,{size:"sm",variant:"secondary",onClick:()=>r(s,!1),children:n.deny})]})]})}var ie={running:"active",done:"complete",failed:"failed",declined:"stopped",waiting:"waiting"};function ce(e,t,n){return function(e,t,n,r,o,a){const s=Y(n,o),l=G(n,r,o),i=(e,t)=>({kind:e,base:t,subject:l,text:l?`${t} ${l}`:t});switch(e){case"output-available":return i("done",s.done??s.label);case"output-error":return i("failed",`${s.label} ${a.toolFailed}`);case"output-denied":return i("declined",`${s.label} ${a.toolDeclined}`);case"approval-requested":return i("waiting",`${a.approvalNeeded}: ${s.label}`);case"approval-responded":return!1===t?i("declined",`${s.label} — ${a.declined}`):i("running",`${a.approved}: ${s.running??s.label}`);default:return i("running",s.running??s.label)}}(e.state,e.approved,e.toolName,e.input,t,n)}function ue({tool:e,summary:n,toolLabels:r,labels:o,showOutput:a}){const s=ce(e,r,o),l=V(e.input),i=a&&"output-available"===e.state?V(e.output):[],c=a&&"output-error"===e.state&&e.errorText?e.errorText:"",u="output-available"===e.state&&n?n.rows:[];let p=null;return(l.length>0||i.length>0||c)&&(p=/* @__PURE__ */w("details",{className:u.length>0?"mt-1":void 0,children:[
23
+ /* @__PURE__ */k(p,{size:"sm",variant:"secondary",onClick:()=>r(s,!1),children:n.deny})]})]})}var ie={running:"active",done:"complete",failed:"failed",declined:"stopped",waiting:"waiting"};function ce(e,t,n){return function(e,t,n,r,o,a){const s=K(n,o),l=Q(n,r,o),i=(e,t)=>({kind:e,base:t,subject:l,text:l?`${t} ${l}`:t});switch(e){case"output-available":return i("done",s.done??s.label);case"output-error":return i("failed",`${s.label} ${a.toolFailed}`);case"output-denied":return i("declined",`${s.label} ${a.toolDeclined}`);case"approval-requested":return i("waiting",`${a.approvalNeeded}: ${s.label}`);case"approval-responded":return!1===t?i("declined",`${s.label} — ${a.declined}`):i("running",`${a.approved}: ${s.running??s.label}`);default:return i("running",s.running??s.label)}}(e.state,e.approved,e.toolName,e.input,t,n)}function ue({tool:e,summary:n,toolLabels:r,labels:o,showOutput:a}){const s=ce(e,r,o),l=V(e.input),i=a&&"output-available"===e.state?V(e.output):[],c=a&&"output-error"===e.state&&e.errorText?e.errorText:"",u="output-available"===e.state&&n?n.rows:[];let p=null;return(l.length>0||i.length>0||c)&&(p=/* @__PURE__ */w("details",{className:u.length>0?"mt-1":void 0,children:[
24
24
  /* @__PURE__ */k("summary",{className:"cursor-pointer select-none",children:o.details}),
25
25
  /* @__PURE__ */w("div",{className:"mt-1 space-y-2",children:[l.length>0&&/* @__PURE__ */k(se,{rows:l}),i.length>0&&/* @__PURE__ */k(se,{rows:i}),c&&/* @__PURE__ */k("div",{className:"text-red-600",children:c})]})]})),/* @__PURE__ */w(t,{label:s.base,description:s.subject||void 0,status:ie[s.kind],children:[u.length>0&&/* @__PURE__ */k(se,{rows:u,label:o.stepSources}),p]})}function pe(e,t){return e>0&&t>=100?e/(t/1e3):null}function de(e){return Math.ceil(e.length/4)}var me=(e,t)=>e.replace(/\{(\w+)\}/g,(e,n)=>t[n]??e),he=e=>Math.round(e).toLocaleString();function ge(e,t){const n=pe(e.output_tokens,e.generation_ms);return null===n?me(t.replyTokens,{tokens:he(e.output_tokens)}):me(t.replyStats,{tokens:he(e.output_tokens),seconds:(e.generation_ms/1e3).toFixed(1),rate:he(n)})}function fe(e,t,n){const r=t>=1e3?pe(de(e),t):null;return null===r?n.streaming:me(n.streamingRate,{rate:he(r)})}function ve(e){if("chart"!==e.lang)return null;if(!e.closed)/* @__PURE__ */return k(u,{height:200});const t=i(e.code);return t?/* @__PURE__ */k(c,{spec:t}):null}function be(e,t){return"approval-responded"===e.state&&t.some(t=>{return t.toolName===e.toolName&&"approval-requested"!==t.state&&(t.toolCallId===e.toolCallId||(n=t.input,r=e.input,JSON.stringify(n)===JSON.stringify(r)));var n,r})}function ye(e,t,n,r){const o=e.flatMap(e=>"tool"===e.kind?[ce(e.tool,n,r)]:[]);if(t){const e=o.find(e=>"running"===e.kind);return e?e.base:r.working}const a=[...new Set(o.map(e=>e.base))];return a.length>0?a.join(" · "):r.reasoning}function ke({message:e,live:t,labels:n}){const r=T(e),o=r.length>0,a=h(null),[s,l]=g(0);f(()=>{if(!t)return;null===a.current&&(a.current=performance.now());const e=setInterval(()=>l(performance.now()-(a.current??performance.now())),500);return()=>clearInterval(e)},[t]);const i=e.metadata?.usage;let c=null;return t?c=o?fe(r,s,n):null:i&&(c=ge(i,n)),c?/* @__PURE__ */k("div",{className:"px-1 text-xs tabular-nums text-gray-500",children:c}):null}function we({text:e,actions:t}){const n=o(),r=/* @__PURE__ */k("div",{className:"max-w-[85%] whitespace-pre-wrap break-words rounded-2xl bg-blue-600 px-3 py-2 text-sm text-white",children:e});return t?.length?/* @__PURE__ */w("div",{className:"flex justify-end",onContextMenu:e=>n.open(e,void 0),children:[r,n.state&&/* @__PURE__ */k(a,{...n.props,"aria-label":e,items:t.map(t=>({key:t.key,label:t.label,onSelect:()=>t.onSelect(e)}))})]}):/* @__PURE__ */k("div",{className:"flex justify-end",children:r})}function xe({message:r,toolLabels:o,labels:a,showReasoning:s,showToolOutput:l,showUsage:i,live:c,onApprove:u,plans:p,userActions:d,tableActions:m,onLinkClick:h}){const g=r.metadata?.source;if("system"===g){const e=T(r);return e?/* @__PURE__ */k("div",{className:"text-center text-xs text-gray-500",children:e}):null}if("user"===r.role){const e=T(r);return e?/* @__PURE__ */k(we,{text:e,actions:d}):null}const f=r.parts.map($),v=R(r),b=[],y=[];let x=-1;const N=e=>{x<0&&(x=b.push(null)-1),y.push(e)};if(r.parts.forEach((e,t)=>{if("text"===e.type)return void(e.text.trim()&&b.push(
26
26
  /* @__PURE__ */k(n,{renderFence:ve,tableActions:c?void 0:m,onLinkClick:h,children:e.text},t)));if("reasoning"===e.type)return void(s&&e.text.trim()&&N({kind:"reasoning",key:`r${t}`,text:e.text}));const r=f[t];r&&(be(r,f.slice(t+1).filter(e=>null!==e))||("approval-requested"===r.state&&r.approvalId&&"propose_plan"===r.toolName?b.push(
@@ -28,12 +28,12 @@ return w("div",{role:"group","aria-label":l,className:"rounded-lg border border-
28
28
  /* @__PURE__ */k(le,{tool:r,toolLabels:o,labels:a,onApprove:u},r.toolCallId)):N({kind:"tool",key:r.toolCallId,tool:r})))}),x>=0&&(b[x]=/* @__PURE__ */k(e,{summary:ye(y,c,o,a),busy:c,label:a.steps,children:y.map(e=>"tool"===e.kind?/* @__PURE__ */k(ue,{tool:e.tool,summary:v.get(e.tool.toolCallId),toolLabels:o,labels:a,showOutput:l},e.key):/* @__PURE__ */k(t,{status:"complete",label:/* @__PURE__ */w("details",{children:[
29
29
  /* @__PURE__ */k("summary",{className:"cursor-pointer select-none",children:a.reasoning}),
30
30
  /* @__PURE__ */k("div",{className:"mt-1 whitespace-pre-wrap text-gray-500",children:e.text})]})},e.key))},"chain")),0===b.length)return null;const C=/* @__PURE__ */w("div",{className:"max-w-[92%] min-w-0 space-y-2 rounded-2xl bg-white px-3 py-2 text-gray-800 shadow-sm",children:["staff"===g&&/* @__PURE__ */k("div",{className:"text-xs font-medium text-blue-600",children:a.teamName}),b]});return!i||g?/* @__PURE__ */k("div",{className:"flex justify-start",children:C}):/* @__PURE__ */w("div",{className:"flex flex-col items-start gap-1",children:[C,
31
- /* @__PURE__ */k(ke,{message:r,live:c,labels:a})]})}function Ne(e){const{messages:t,status:n,error:r,history:o,labels:a}=e,l=h(null),i=y(()=>function(e){const t=/* @__PURE__ */new Map;for(const n of O(e).values())t.set(n.approval_id,n);return t}(t),[t]),c=r?F(r,e.errorCode??null,a):null,u=t[t.length-1],d="ready"!==n||r||e.handedOver||"assistant"!==u?.role||!e.onAsk?[]:e.followups??[];return f(()=>{const e=l.current;e&&(e.scrollTop=e.scrollHeight)},[t,n]),/* @__PURE__ */w("div",{ref:l,role:"log","aria-label":e.title,"aria-live":"polite","aria-busy":"submitted"===n||"streaming"===n,className:"flex min-h-0 flex-1 flex-col gap-3 overflow-auto bg-gray-50 p-3",children:["loading"===o&&/* @__PURE__ */w("div",{role:"status",className:"flex items-center gap-2 text-xs text-gray-500",children:[
31
+ /* @__PURE__ */k(ke,{message:r,live:c,labels:a})]})}function Ne(e){const{messages:t,status:n,error:r,history:o,labels:a}=e,l=h(null),i=y(()=>function(e){const t=/* @__PURE__ */new Map;for(const n of O(e).values())t.set(n.approval_id,n);return t}(t),[t]),c=r?W(r,e.errorCode??null,a):null,u=t[t.length-1],d="ready"!==n||r||e.handedOver||"assistant"!==u?.role||!e.onAsk?[]:e.followups??[];return f(()=>{const e=l.current;e&&(e.scrollTop=e.scrollHeight)},[t,n]),/* @__PURE__ */w("div",{ref:l,role:"log","aria-label":e.title,"aria-live":"polite","aria-busy":"submitted"===n||"streaming"===n,className:"flex min-h-0 flex-1 flex-col gap-3 overflow-auto bg-gray-50 p-3",children:["loading"===o&&/* @__PURE__ */w("div",{role:"status",className:"flex items-center gap-2 text-xs text-gray-500",children:[
32
32
  /* @__PURE__ */k(m,{className:"h-3 w-3"}),a.loadingHistory]}),"failed"===o&&/* @__PURE__ */k(s,{tone:"warning",children:a.historyFailed}),0===t.length&&"idle"===o&&/* @__PURE__ */k("p",{className:"m-auto text-center text-sm text-gray-500",children:a.emptyState}),t.map((r,o)=>/* @__PURE__ */k(xe,{live:o===t.length-1&&("submitted"===n||"streaming"===n),message:r,toolLabels:e.toolLabels,labels:a,showReasoning:e.showReasoning,showToolOutput:e.showToolOutput,showUsage:e.showUsage,tableActions:e.tableActions,onApprove:e.onApprove,onLinkClick:e.onLinkClick,plans:i,userActions:e.userMessageActions},r.id)),e.onAsk&&/* @__PURE__ */k(ae,{questions:d,label:a.followups,onAsk:e.onAsk}),e.handedOver&&/* @__PURE__ */k("div",{role:"status",className:"text-center text-xs text-gray-500",children:a.teamJoined}),"submitted"===n&&/* @__PURE__ */w("div",{role:"status",className:"flex items-center gap-2 text-xs text-gray-500",children:[
33
33
  /* @__PURE__ */k(m,{className:"h-3 w-3"}),a.thinking]}),c&&/* @__PURE__ */w("div",{role:"alert",className:"flex flex-col items-start gap-2",children:[
34
- /* @__PURE__ */k(s,{tone:"danger",children:c.text}),c.retryable&&e.onRetry&&"error"===n&&/* @__PURE__ */k(p,{size:"sm",variant:"secondary",onClick:e.onRetry,children:a.retry})]})]})}var Ce={title:"Assistant",placeholder:"Ask a question…",inputLabel:"Message to the assistant",send:"Send",stop:"Stop",newChat:"New chat",open:"Open assistant",close:"Close assistant",thinking:"Thinking",loadingHistory:"Loading the conversation",historyFailed:"The earlier conversation could not be loaded.",emptyState:"Ask me anything to get started.",approvalNeeded:"Approval needed",approve:"Approve",deny:"Deny",approved:"Approved",declined:"Declined",toolFailed:"did not complete",toolDeclined:"was not approved",details:"Details",stepSources:"Where these figures came from",reasoning:"Reasoning",genericError:"Something went wrong. Please try again.",connectionDropped:"The connection dropped. Your question may still be answering; reopen the chat in a moment.",retry:"Retry",working:"Working",steps:"Steps",teamName:"Team",teamJoined:"A team member has joined",plan:"Plan",planSummary:"Plan: {done} of {total} done",planProposed:"waiting for your approval",planApproved:"approved, starting",planRunning:"in progress",planCompleted:"finished",planFailed:"stopped — not every step ran",planDenied:"not approved — nothing was changed",planExpired:"expired — nothing was changed",planApprovalHeading:"Approve this plan of {count} steps",approvePlan:"Approve plan",replyStats:"{tokens} tokens · {seconds} s · {rate} tok/s",replyTokens:"{tokens} tokens",streaming:"Streaming",streamingRate:"Streaming · ~{rate} tok/s",followups:"Suggested follow-up questions"},je=(e,t)=>`${e.replace(/\/+$/,"")}/${t}`;function Ae(e){return je(e,"assistant/chat/")}function Se(e,t){return je(e,`assistant/chat/${encodeURIComponent(t)}/`)}function $e(e){const t=h(e);t.current=e;const n=h(e.conversationId?{id:e.conversationId}:null),[r,o]=g("idle"),[a,s]=g(!1),[l,i]=g(null),[c,u]=g([]),[p,d]=g(n.current),m=b(e=>{n.current=e,d(e)},[]),v=b((e,n)=>(t.current.fetch??fetch)(e,n),[]),k=y(()=>new C({api:Ae(e.apiBase),fetch:v,prepareSendMessagesRequest:async({messages:e})=>{const{apiBase:r,getHeaders:o,credentials:a}=t.current;return{api:Ae(r),body:_(e,n.current?.id??null),headers:await(o?.())??{},...a?{credentials:a}:{}}}}),[v]),w=A({transport:k,sendAutomaticallyWhen:j,onData:e=>{if("data-error"===e.type)return void i(e.data.code);if("data-followups"===e.type)return void u(function(e){const t=e?.questions;if(!Array.isArray(t))return[];const n=[];for(const e of t){if("string"!=typeof e)continue;const t=e.trim();!t||t.includes("\n")||n.includes(t)||n.push(t)}return n.slice(0,3)}(e.data));if("data-conversation"!==e.type)return;const{id:r,guest_token:o}=e.data,a=n.current,s=o??(a?.id===r?a.guestToken:void 0);a&&a.id===r&&a.guestToken===s||(m(s?{id:r,guestToken:s}:{id:r}),t.current.onConversation?.(n.current))}}),{setMessages:x,stop:N}=w,S=b(async(e,n)=>{const{apiBase:r,getHeaders:a,credentials:l,onConversation:i}=t.current;o("loading"),u([]);try{const t=await v(Se(r,e),{method:"GET",headers:await(a?.())??{},...l?{credentials:l}:{},signal:n});if(n.aborted)return;if(404===t.status)return m(null),i?.(null),void o("idle");if(!t.ok)throw new Error(`history ${t.status}`);const c=await t.json();if(n.aborted)return;s(!0===c.handed_over),x(e=>e.length>0?e:U(c)),o("idle")}catch{n.aborted||o("failed")}},[v,x,m]),$=e.conversationId??null;f(()=>{if($===(n.current?.id??null)&&w.messages.length>0)return;if(null===$)return n.current&&(m(null),N(),x([]),u([])),void o("idle");n.current?.id===$||m({id:$});const e=new AbortController;return S($,e.signal),()=>e.abort()},[$,S,x,N,m]);const R=b(async e=>{const r=n.current?.id;if(r)try{const{apiBase:o,getHeaders:a,credentials:l}=t.current,i=await v(Se(o,r),{method:"GET",headers:await(a?.())??{},...l?{credentials:l}:{},...e?{signal:e}:{}});if(!i.ok||e?.aborted||n.current?.id!==r)return;const c=await i.json();s(!0===c.handed_over);const u=U(c).filter(e=>e.metadata?.source);if(0===u.length)return;x(e=>{const t=new Set(e.map(e=>e.id)),n=u.filter(e=>!t.has(e.id));return n.length>0?[...e,...n]:e})}catch{}},[v,x]),T=h(R);T.current=R;const{status:I}=w,D="submitted"===I||"streaming"===I,M=h(!1),O=h(!1),L=!!e.subscribe;f(()=>{const e=M.current&&!D;if(M.current=D,!e)return;if(L&&!O.current)return;O.current=!1;const t=new AbortController;return T.current(t.signal),()=>t.abort()},[D,L]);const E=h(D);E.current=D;const J=p?.id,P=p?.guestToken;f(()=>{const e=n.current,r=t.current.subscribe;if(e&&r)return r(e,()=>{E.current?O.current=!0:T.current()})??void 0},[J,P]);const W=b(e=>{const t=e.trim();t&&(i(null),u([]),w.sendMessage({text:t}))},[w]),F=b(()=>{B(w.messages)&&(i(null),u([]),w.regenerate())},[w]),H=b((e,t)=>{i(null),u([]),w.addToolApprovalResponse({id:e,approved:t})},[w]),z=b(()=>{N(),m(null),x([]),o("idle"),s(!1),i(null),u([]),t.current.onConversation?.(null)},[x,N,m]);return{messages:w.messages,status:w.status,error:w.error,errorCode:l,canRetry:B(w.messages),retry:F,historyState:r,handedOver:a,followups:c,send:W,stop:N,approve:H,reset:z}}function Re(e){const t={...Ce,...e.labels},n=e.variant??"panel",r=$e(e),o="submitted"===r.status||"streaming"===r.status,a=h(e.onBusyChange);a.current=e.onBusyChange,f(()=>{a.current?.(o)},[o]);const s="window"===n,i=e.showHeader??"window"!==n,c=e.title??t.title,u=L(r.messages),m=h(!1),{send:g}=r;return f(()=>{m.current||e.conversationId||!e.initialQuestion?.trim()||(m.current=!0,g(e.initialQuestion))},[]),/* @__PURE__ */w("section",{"aria-label":c,className:`flex h-full min-h-0 flex-col bg-white text-gray-900 ${e.className??""}`.trim(),children:[i&&/* @__PURE__ */w("header",{className:"flex items-center gap-2 border-b border-gray-200 px-3 py-2",children:[
34
+ /* @__PURE__ */k(s,{tone:"danger",children:c.text}),c.retryable&&e.onRetry&&"error"===n&&/* @__PURE__ */k(p,{size:"sm",variant:"secondary",onClick:e.onRetry,children:a.retry})]})]})}var Ce={title:"Assistant",placeholder:"Ask a question…",inputLabel:"Message to the assistant",send:"Send",stop:"Stop",newChat:"New chat",open:"Open assistant",close:"Close assistant",thinking:"Thinking",loadingHistory:"Loading the conversation",historyFailed:"The earlier conversation could not be loaded.",emptyState:"Ask me anything to get started.",approvalNeeded:"Approval needed",approve:"Approve",deny:"Deny",approved:"Approved",declined:"Declined",toolFailed:"did not complete",toolDeclined:"was not approved",details:"Details",stepSources:"Where these figures came from",reasoning:"Reasoning",genericError:"Something went wrong. Please try again.",connectionDropped:"The connection dropped. Your question may still be answering; reopen the chat in a moment.",retry:"Retry",working:"Working",steps:"Steps",teamName:"Team",teamJoined:"A team member has joined",plan:"Plan",planSummary:"Plan: {done} of {total} done",planProposed:"waiting for your approval",planApproved:"approved, starting",planRunning:"in progress",planCompleted:"finished",planFailed:"stopped — not every step ran",planDenied:"not approved — nothing was changed",planExpired:"expired — nothing was changed",planApprovalHeading:"Approve this plan of {count} steps",approvePlan:"Approve plan",replyStats:"{tokens} tokens · {seconds} s · {rate} tok/s",replyTokens:"{tokens} tokens",streaming:"Streaming",streamingRate:"Streaming · ~{rate} tok/s",followups:"Suggested follow-up questions"},je=(e,t)=>`${e.replace(/\/+$/,"")}/${t}`;function Ae(e){return je(e,"assistant/chat/")}function Se(e,t){return je(e,`assistant/chat/${encodeURIComponent(t)}/`)}function $e(e){const t=h(e);t.current=e;const n=h(e.conversationId?{id:e.conversationId}:null),[r,o]=g("idle"),[a,s]=g(!1),[l,i]=g(null),[c,u]=g([]),[p,d]=g(n.current),m=b(e=>{n.current=e,d(e)},[]),v=b((e,n)=>(t.current.fetch??fetch)(e,n),[]),k=y(()=>new C({api:Ae(e.apiBase),fetch:v,prepareSendMessagesRequest:async({messages:e})=>{const{apiBase:r,getHeaders:o,credentials:a}=t.current;return{api:Ae(r),body:_(e,n.current?.id??null),headers:await(o?.())??{},...a?{credentials:a}:{}}}}),[v]),w=A({transport:k,sendAutomaticallyWhen:j,onData:e=>{if("data-error"===e.type)return void i(e.data.code);if("data-followups"===e.type)return void u(function(e){const t=e?.questions;if(!Array.isArray(t))return[];const n=[];for(const e of t){if("string"!=typeof e)continue;const t=e.trim();!t||t.includes("\n")||n.includes(t)||n.push(t)}return n.slice(0,3)}(e.data));if("data-conversation"!==e.type)return;const{id:r,guest_token:o}=e.data,a=n.current,s=o??(a?.id===r?a.guestToken:void 0);a&&a.id===r&&a.guestToken===s||(m(s?{id:r,guestToken:s}:{id:r}),t.current.onConversation?.(n.current))}}),{setMessages:x,stop:N}=w,S=b(async(e,n)=>{const{apiBase:r,getHeaders:a,credentials:l,onConversation:i}=t.current;o("loading"),u([]);try{const t=await v(Se(r,e),{method:"GET",headers:await(a?.())??{},...l?{credentials:l}:{},signal:n});if(n.aborted)return;if(404===t.status)return m(null),i?.(null),void o("idle");if(!t.ok)throw new Error(`history ${t.status}`);const c=await t.json();if(n.aborted)return;s(!0===c.handed_over),x(e=>e.length>0?e:U(c)),o("idle")}catch{n.aborted||o("failed")}},[v,x,m]),$=e.conversationId??null;f(()=>{if($===(n.current?.id??null)&&w.messages.length>0)return;if(null===$)return n.current&&(m(null),N(),x([]),u([])),void o("idle");n.current?.id===$||m({id:$});const e=new AbortController;return S($,e.signal),()=>e.abort()},[$,S,x,N,m]);const R=b(async e=>{const r=n.current?.id;if(r)try{const{apiBase:o,getHeaders:a,credentials:l}=t.current,i=await v(Se(o,r),{method:"GET",headers:await(a?.())??{},...l?{credentials:l}:{},...e?{signal:e}:{}});if(!i.ok||e?.aborted||n.current?.id!==r)return;const c=await i.json();s(!0===c.handed_over);const u=U(c).filter(e=>e.metadata?.source);if(0===u.length)return;x(e=>{const t=new Set(e.map(e=>e.id)),n=u.filter(e=>!t.has(e.id));return n.length>0?[...e,...n]:e})}catch{}},[v,x]),T=h(R);T.current=R;const{status:I}=w,D="submitted"===I||"streaming"===I,M=h(!1),O=h(!1),L=!!e.subscribe;f(()=>{const e=M.current&&!D;if(M.current=D,!e)return;if(L&&!O.current)return;O.current=!1;const t=new AbortController;return T.current(t.signal),()=>t.abort()},[D,L]);const P=h(D);P.current=D;const E=p?.id,J=p?.guestToken;f(()=>{const e=n.current,r=t.current.subscribe;if(e&&r)return r(e,()=>{P.current?O.current=!0:T.current()})??void 0},[E,J]);const F=b(e=>{const t=e.trim();t&&(i(null),u([]),w.sendMessage({text:t}))},[w]),W=b(()=>{B(w.messages)&&(i(null),u([]),w.regenerate())},[w]),H=b((e,t)=>{i(null),u([]),w.addToolApprovalResponse({id:e,approved:t})},[w]),z=b(()=>{N(),m(null),x([]),o("idle"),s(!1),i(null),u([]),t.current.onConversation?.(null)},[x,N,m]);return{messages:w.messages,status:w.status,error:w.error,errorCode:l,canRetry:B(w.messages),retry:W,historyState:r,handedOver:a,followups:c,send:F,stop:N,approve:H,reset:z}}function Re(e){const t={...Ce,...e.labels},n=e.variant??"panel",r=$e(e),o="submitted"===r.status||"streaming"===r.status,a=h(e.onBusyChange);a.current=e.onBusyChange,f(()=>{a.current?.(o)},[o]);const s="window"===n,i=e.showHeader??"window"!==n,c=e.title??t.title,u=L(r.messages),m=h(!1),{send:g}=r;return f(()=>{m.current||e.conversationId||!e.initialQuestion?.trim()||(m.current=!0,g(e.initialQuestion))},[]),/* @__PURE__ */w("section",{"aria-label":c,className:`flex h-full min-h-0 flex-col bg-white text-gray-900 ${e.className??""}`.trim(),children:[i&&/* @__PURE__ */w("header",{className:"flex items-center gap-2 border-b border-gray-200 px-3 py-2",children:[
35
35
  /* @__PURE__ */k("h2",{className:"min-w-0 flex-1 truncate text-sm font-semibold",children:c}),r.messages.length>0&&/* @__PURE__ */k(p,{size:"sm",variant:"ghost",onClick:r.reset,children:t.newChat}),e.onClose&&/* @__PURE__ */k(l,{size:"sm","aria-label":t.close,onClick:e.onClose,children:/* @__PURE__ */k(d,{name:"close"})})]}),
36
36
  /* @__PURE__ */k(Ne,{messages:r.messages,status:r.status,error:r.error,errorCode:r.errorCode,onRetry:r.canRetry?r.retry:void 0,history:r.historyState,handedOver:r.handedOver,labels:t,title:c,toolLabels:e.toolLabels,showReasoning:s&&!0===e.showReasoning,showToolOutput:s,showUsage:s&&!0===e.showUsage,tableActions:e.tableActions,onApprove:r.approve,onLinkClick:e.onLinkClick,userMessageActions:e.userMessageActions,followups:r.followups,onAsk:r.send}),u&&/* @__PURE__ */k(re,{plan:u,labels:t},u.id),
37
37
  /* @__PURE__ */k(S,{labels:t,placeholder:e.placeholder??t.placeholder,busy:o,focusWhen:e.focusComposer,onSend:r.send,onStop:r.stop,onNewChat:!i&&!1!==e.showNewChat&&r.messages.length>0?r.reset:void 0,actions:e.composerActions})]})}function Te(e){const t={...Ce,...e.labels},[n,r]=g(e.defaultOpen??!1),o=v(),a=h(null),s=h(n),l=t=>{r(t),e.onOpenChange?.(t)};return f(()=>{s.current&&!n&&a.current?.focus(),s.current=n},[n]),/* @__PURE__ */w("div",{className:"rosh-assistant",style:{display:"contents"},children:[n&&/* @__PURE__ */k("div",{id:o,role:"dialog","aria-label":e.title??t.title,onKeyDown:e=>{"Escape"===e.key&&l(!1)},className:"fixed inset-x-2 bottom-20 z-[var(--z-window,1000)] h-[min(34rem,calc(100dvh-6rem))] overflow-hidden rounded-xl border border-gray-200 shadow-xl sm:inset-x-auto sm:right-4 sm:w-96",children:/* @__PURE__ */k(Re,{...e,onClose:()=>l(!1),focusComposer:!0})}),
38
38
  /* @__PURE__ */k("button",{ref:a,type:"button","aria-expanded":n,"aria-controls":n?o:void 0,"aria-label":n?t.close:t.open,onClick:()=>l(!n),className:"fixed bottom-4 right-4 z-[var(--z-window,1000)] flex h-12 w-12 items-center justify-center rounded-full shadow-lg bg-[var(--assistant-launcher-bg,var(--color-blue-600))] text-[var(--assistant-launcher-ink,var(--color-white))] hover:bg-[var(--assistant-launcher-bg-hover,var(--color-blue-700))] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[var(--assistant-launcher-bg,var(--color-blue-600))]",children:/* @__PURE__ */k(d,n?{name:"close",size:20}:{name:"chat-bubble-left-right",size:22})})]})}function _e(e){if("bubble"===e.variant)/* @__PURE__ */return k(Te,{...e});const t="window"!==e.variant;/* @__PURE__ */
39
- return k(Re,{...e,className:`${t?"border-l border-gray-200":""} ${e.className??""}`.trim()})}export{le as ApprovalCard,_e as AssistantChat,xe as AssistantMessage,Ce as DEFAULT_ASSISTANT_CHAT_LABELS,oe as PlanApprovalCard,re as PlanChecklist,ue as ToolStep,_ as buildRequestBody,de as estimateTokens,F as failureView,ge as finishedStats,P as isDroppedConnection,fe as liveStats,U as messagesFromHistory,L as pinnedPlan,O as plansOf,pe as tokensPerSecond,R as toolSummariesOf};
39
+ return k(Re,{...e,className:`${t?"border-l border-gray-200":""} ${e.className??""}`.trim()})}export{le as ApprovalCard,_e as AssistantChat,xe as AssistantMessage,Ce as DEFAULT_ASSISTANT_CHAT_LABELS,oe as PlanApprovalCard,re as PlanChecklist,ue as ToolStep,_ as buildRequestBody,de as estimateTokens,W as failureView,ge as finishedStats,J as isDroppedConnection,fe as liveStats,U as messagesFromHistory,L as pinnedPlan,O as plansOf,pe as tokensPerSecond,R as toolSummariesOf};
package/dist/ai.css CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-white:#fff}}.rosh-assistant .sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rosh-assistant .fixed{position:fixed}.rosh-assistant .sticky{position:sticky}.rosh-assistant .inset-x-2{inset-inline:.5rem}.rosh-assistant .top-0{top:0}.rosh-assistant .right-4{right:1rem}.rosh-assistant .bottom-4{bottom:1rem}.rosh-assistant .bottom-20{bottom:5rem}.rosh-assistant .z-30{z-index:30}.rosh-assistant .z-\[var\(--z-window\,1000\)\]{z-index:var(--z-window,1000)}.rosh-assistant .container{width:100%}@media (min-width:40rem){.rosh-assistant .container{max-width:40rem}}@media (min-width:48rem){.rosh-assistant .container{max-width:48rem}}@media (min-width:64rem){.rosh-assistant .container{max-width:64rem}}@media (min-width:80rem){.rosh-assistant .container{max-width:80rem}}@media (min-width:96rem){.rosh-assistant .container{max-width:96rem}}.rosh-assistant .m-auto{margin:auto}.rosh-assistant .my-1{margin-block:.25rem}.rosh-assistant .mt-0\.5{margin-top:.125rem}.rosh-assistant .mt-1{margin-top:.25rem}.rosh-assistant .mt-2{margin-top:.5rem}.rosh-assistant .mt-3{margin-top:.75rem}.rosh-assistant .ml-2{margin-left:.5rem}.rosh-assistant .block{display:block}.rosh-assistant .contents{display:contents}.rosh-assistant .flex{display:flex}.rosh-assistant .grid{display:grid}.rosh-assistant .hidden{display:none}.rosh-assistant .inline{display:inline}.rosh-assistant .inline-flex{display:inline-flex}.rosh-assistant .table{display:table}.rosh-assistant .size-3{width:.75rem;height:.75rem}.rosh-assistant .size-3\.5{width:.875rem;height:.875rem}.rosh-assistant .h-3{height:.75rem}.rosh-assistant .h-3\.5{height:.875rem}.rosh-assistant .h-4{height:1rem}.rosh-assistant .h-5{height:1.25rem}.rosh-assistant .h-6{height:1.5rem}.rosh-assistant .h-8{height:2rem}.rosh-assistant .h-10{height:2.5rem}.rosh-assistant .h-11{height:2.75rem}.rosh-assistant .h-12{height:3rem}.rosh-assistant .h-14{height:3.5rem}.rosh-assistant .h-16{height:4rem}.rosh-assistant .h-20{height:5rem}.rosh-assistant .h-\[min\(34rem\,calc\(100dvh-6rem\)\)\]{height:min(34rem,100dvh - 6rem)}.rosh-assistant .h-full{height:100%}.rosh-assistant .max-h-32{max-height:8rem}.rosh-assistant .min-h-0{min-height:0}.rosh-assistant .w-3{width:.75rem}.rosh-assistant .w-3\.5{width:.875rem}.rosh-assistant .w-4{width:1rem}.rosh-assistant .w-5{width:1.25rem}.rosh-assistant .w-6{width:1.5rem}.rosh-assistant .w-8{width:2rem}.rosh-assistant .w-10{width:2.5rem}.rosh-assistant .w-11{width:2.75rem}.rosh-assistant .w-12{width:3rem}.rosh-assistant .w-14{width:3.5rem}.rosh-assistant .w-16{width:4rem}.rosh-assistant .w-20{width:5rem}.rosh-assistant .w-full{width:100%}.rosh-assistant .max-w-\[85\%\]{max-width:85%}.rosh-assistant .max-w-\[92\%\]{max-width:92%}.rosh-assistant .min-w-0{min-width:0}.rosh-assistant .flex-1{flex:1}.rosh-assistant .shrink-0{flex-shrink:0}.rosh-assistant .grow{flex-grow:1}.rosh-assistant .basis-48{flex-basis:12rem}.rosh-assistant .border-collapse{border-collapse:collapse}.rosh-assistant .rotate-90{rotate:90deg}.rosh-assistant .cursor-pointer{cursor:pointer}.rosh-assistant .resize{resize:both}.rosh-assistant .resize-none{resize:none}.rosh-assistant .list-decimal{list-style-type:decimal}.rosh-assistant .list-disc{list-style-type:disc}.rosh-assistant .grid-cols-\[max-content_1fr\]{grid-template-columns:max-content 1fr}.rosh-assistant .flex-col{flex-direction:column}.rosh-assistant .flex-wrap{flex-wrap:wrap}.rosh-assistant .items-center{align-items:center}.rosh-assistant .items-end{align-items:flex-end}.rosh-assistant .items-start{align-items:flex-start}.rosh-assistant .justify-center{justify-content:center}.rosh-assistant .justify-end{justify-content:flex-end}.rosh-assistant .justify-start{justify-content:flex-start}.rosh-assistant .gap-1{gap:.25rem}.rosh-assistant .gap-2{gap:.5rem}.rosh-assistant .gap-3{gap:.75rem}:where(.rosh-assistant .space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.25rem * var(--tw-space-y-reverse));margin-block-end:calc(.25rem * calc(1 - var(--tw-space-y-reverse)))}:where(.rosh-assistant .space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.rosh-assistant .space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 3) * calc(1 - var(--tw-space-y-reverse)))}.rosh-assistant .gap-x-3{column-gap:.75rem}.rosh-assistant .gap-y-1{row-gap:.25rem}.rosh-assistant .gap-y-2{row-gap:.5rem}.rosh-assistant .self-center{align-self:center}.rosh-assistant .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rosh-assistant .overflow-auto{overflow:auto}.rosh-assistant .overflow-hidden{overflow:hidden}.rosh-assistant .overflow-x-auto{overflow-x:auto}.rosh-assistant .rounded{border-radius:.25rem}.rosh-assistant .rounded-\(--radius-control\){border-radius:var(--radius-control)}.rosh-assistant .rounded-2xl{border-radius:1rem}.rosh-assistant .rounded-full{border-radius:3.40282e38px}.rosh-assistant .rounded-lg{border-radius:.5rem}.rosh-assistant .rounded-xl{border-radius:.75rem}.rosh-assistant .rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rosh-assistant .border{border-style:var(--tw-border-style);border-width:1px}.rosh-assistant .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.rosh-assistant .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.rosh-assistant .border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.rosh-assistant .border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.rosh-assistant .border-dashed{--tw-border-style:dashed;border-style:dashed}.rosh-assistant .border-\[color\:var\(--line\)\]{border-color:var(--line)}.rosh-assistant .border-\[color\:var\(--status-neutral-solid\)\]{border-color:var(--status-neutral-solid)}.rosh-assistant .border-amber-200{border-color:oklch(92.4% .12 95.746)}.rosh-assistant .border-amber-300{border-color:oklch(87.9% .169 91.605)}.rosh-assistant .border-amber-700{border-color:oklch(55.5% .163 48.998)}.rosh-assistant .border-blue-200{border-color:oklch(88.2% .059 254.128)}.rosh-assistant .border-blue-300{border-color:oklch(80.9% .105 251.813)}.rosh-assistant .border-blue-700{border-color:oklch(48.8% .243 264.376)}.rosh-assistant .border-gray-100{border-color:oklch(96.7% .003 264.542)}.rosh-assistant .border-gray-200{border-color:oklch(92.8% .006 264.531)}.rosh-assistant .border-gray-300{border-color:oklch(87.2% .01 258.338)}.rosh-assistant .border-green-200{border-color:oklch(92.5% .084 155.995)}.rosh-assistant .border-green-700{border-color:oklch(52.7% .154 150.069)}.rosh-assistant .border-red-200{border-color:oklch(88.5% .062 18.334)}.rosh-assistant .border-red-300{border-color:oklch(80.8% .114 19.571)}.rosh-assistant .border-red-700{border-color:oklch(50.5% .213 27.518)}.rosh-assistant .bg-\[var\(--assistant-launcher-bg\,var\(--color-blue-600\)\)\]{background-color:var(--assistant-launcher-bg,var(--color-blue-600))}.rosh-assistant .bg-\[var\(--status-neutral-soft\)\]{background-color:var(--status-neutral-soft)}.rosh-assistant .bg-\[var\(--status-neutral-solid\)\]{background-color:var(--status-neutral-solid)}.rosh-assistant .bg-amber-50{background-color:oklch(98.7% .022 95.277)}.rosh-assistant .bg-amber-700{background-color:oklch(55.5% .163 48.998)}.rosh-assistant .bg-blue-50{background-color:oklch(97% .014 254.604)}.rosh-assistant .bg-blue-50\/60{background-color:oklab(97% -.00371685 -.0134976/.6)}.rosh-assistant .bg-blue-600{background-color:oklch(54.6% .245 262.881)}.rosh-assistant .bg-blue-700{background-color:oklch(48.8% .243 264.376)}.rosh-assistant .bg-gray-50{background-color:oklch(98.5% .002 247.839)}.rosh-assistant .bg-gray-100{background-color:oklch(96.7% .003 264.542)}.rosh-assistant .bg-gray-200{background-color:oklch(92.8% .006 264.531)}.rosh-assistant .bg-green-50{background-color:oklch(98.2% .018 155.826)}.rosh-assistant .bg-green-700{background-color:oklch(52.7% .154 150.069)}.rosh-assistant .bg-red-50{background-color:oklch(97.1% .013 17.38)}.rosh-assistant .bg-red-600{background-color:oklch(57.7% .245 27.325)}.rosh-assistant .bg-red-700{background-color:oklch(50.5% .213 27.518)}.rosh-assistant .bg-white{background-color:#fff}.rosh-assistant .p-0{padding:0}.rosh-assistant .p-3{padding:.75rem}.rosh-assistant .px-1{padding-inline:.25rem}.rosh-assistant .px-2{padding-inline:.5rem}.rosh-assistant .px-3{padding-inline:.75rem}.rosh-assistant .px-4{padding-inline:1rem}.rosh-assistant .px-5{padding-inline:1.25rem}.rosh-assistant .px-6{padding-inline:1.5rem}.rosh-assistant .px-8{padding-inline:2rem}.rosh-assistant .py-0\.5{padding-block:.125rem}.rosh-assistant .py-2{padding-block:.5rem}.rosh-assistant .py-3{padding-block:.75rem}.rosh-assistant .py-12{padding-block:3rem}.rosh-assistant .pl-1{padding-left:.25rem}.rosh-assistant .pl-3{padding-left:.75rem}.rosh-assistant .pl-5{padding-left:1.25rem}.rosh-assistant .text-center{text-align:center}.rosh-assistant .text-left{text-align:left}.rosh-assistant .align-top{vertical-align:top}.rosh-assistant .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rosh-assistant .text-2xl{font-size:1.5rem;line-height:var(--tw-leading,calc(2 / 1.5))}.rosh-assistant .text-base{font-size:1rem;line-height:var(--tw-leading,calc(1.5 / 1))}.rosh-assistant .text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75 / 1.125))}.rosh-assistant .text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25 / .875))}.rosh-assistant .text-xs{font-size:.75rem;line-height:var(--tw-leading,calc(1 / .75))}.rosh-assistant .text-\[0\.85em\]{font-size:.85em}.rosh-assistant .leading-relaxed{--tw-leading:1.625;line-height:1.625}.rosh-assistant .font-medium{--tw-font-weight:500;font-weight:500}.rosh-assistant .font-semibold{--tw-font-weight:600;font-weight:600}.rosh-assistant .tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.rosh-assistant .break-words{overflow-wrap:break-word}.rosh-assistant .whitespace-pre-wrap{white-space:pre-wrap}.rosh-assistant .text-\[color\:var\(--status-neutral-soft-ink\)\]{color:var(--status-neutral-soft-ink)}.rosh-assistant .text-\[color\:var\(--status-on-solid\)\]{color:var(--status-on-solid)}.rosh-assistant .text-\[var\(--assistant-launcher-ink\,var\(--color-white\)\)\]{color:var(--assistant-launcher-ink,var(--color-white))}.rosh-assistant .text-amber-600{color:oklch(66.6% .179 58.318)}.rosh-assistant .text-amber-700{color:oklch(55.5% .163 48.998)}.rosh-assistant .text-blue-600{color:oklch(54.6% .245 262.881)}.rosh-assistant .text-blue-700{color:oklch(48.8% .243 264.376)}.rosh-assistant .text-gray-400{color:oklch(70.7% .022 261.325)}.rosh-assistant .text-gray-500{color:oklch(55.1% .027 264.364)}.rosh-assistant .text-gray-600{color:oklch(44.6% .03 256.802)}.rosh-assistant .text-gray-700{color:oklch(37.3% .034 259.733)}.rosh-assistant .text-gray-800{color:oklch(27.8% .033 256.848)}.rosh-assistant .text-gray-900{color:oklch(21% .034 264.665)}.rosh-assistant .text-green-600{color:oklch(62.7% .194 149.214)}.rosh-assistant .text-inherit{color:inherit}.rosh-assistant .text-red-600{color:oklch(57.7% .245 27.325)}.rosh-assistant .text-white{color:#fff}.rosh-assistant .uppercase{text-transform:uppercase}.rosh-assistant .italic{font-style:italic}.rosh-assistant .tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.rosh-assistant .no-underline{text-decoration-line:none}.rosh-assistant .underline{text-decoration-line:underline}.rosh-assistant .underline-offset-4{text-underline-offset:4px}.rosh-assistant .opacity-80{opacity:.8}.rosh-assistant .shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.rosh-assistant .select-none{-webkit-user-select:none;user-select:none}.rosh-assistant .marker\:text-gray-400 ::marker{color:oklch(70.7% .022 261.325)}.rosh-assistant .marker\:text-gray-400::marker{color:oklch(70.7% .022 261.325)}.rosh-assistant .marker\:text-gray-400 ::-webkit-details-marker{color:oklch(70.7% .022 261.325)}.rosh-assistant .marker\:text-gray-400::-webkit-details-marker{color:oklch(70.7% .022 261.325)}.rosh-assistant .even\:bg-gray-50\/50:nth-child(2n){background-color:oklab(98.5% -.00075442 -.00185226/.5)}@media (hover:hover){.rosh-assistant .hover\:bg-\[var\(--assistant-launcher-bg-hover\,var\(--color-blue-700\)\)\]:hover{background-color:var(--assistant-launcher-bg-hover,var(--color-blue-700))}.rosh-assistant .hover\:text-gray-600:hover{color:oklch(44.6% .03 256.802)}.rosh-assistant .hover\:text-gray-700:hover{color:oklch(37.3% .034 259.733)}.rosh-assistant .hover\:underline:hover{text-decoration-line:underline}.rosh-assistant .hover\:opacity-100:hover{opacity:1}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-amber-800:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(47.3% .137 46.201)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-blue-100:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(93.2% .032 255.585)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-blue-700:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(48.8% .243 264.376)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-gray-50:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(98.5% .002 247.839)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-gray-100:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(96.7% .003 264.542)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-red-50:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(97.1% .013 17.38)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-red-700:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(50.5% .213 27.518)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:underline:not(:disabled):not([aria-disabled=true]):hover{text-decoration-line:underline}}.rosh-assistant .focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .focus-visible\:ring-\[color\:var\(--rosh-focus-ring\)\]:focus-visible{--tw-ring-color:var(--rosh-focus-ring)}.rosh-assistant .focus-visible\:ring-\[color\:var\(--rosh-focus-ring-invalid\)\]:focus-visible{--tw-ring-color:var(--rosh-focus-ring-invalid)}.rosh-assistant .focus-visible\:ring-\[color\:var\(--rosh-focus-ring-invalid-strong\)\]:focus-visible{--tw-ring-color:var(--rosh-focus-ring-invalid-strong)}.rosh-assistant .focus-visible\:ring-\[color\:var\(--rosh-focus-ring-strong\)\]:focus-visible{--tw-ring-color:var(--rosh-focus-ring-strong)}.rosh-assistant .focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.rosh-assistant .focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.rosh-assistant .focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.rosh-assistant .focus-visible\:outline-\[var\(--assistant-launcher-bg\,var\(--color-blue-600\)\)\]:focus-visible{outline-color:var(--assistant-launcher-bg,var(--color-blue-600))}.rosh-assistant .focus-visible\:outline-blue-600:focus-visible{outline-color:oklch(54.6% .245 262.881)}.rosh-assistant .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.rosh-assistant .disabled\:opacity-60:disabled{opacity:.6}.rosh-assistant .aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.rosh-assistant .aria-disabled\:opacity-60[aria-disabled=true]{opacity:.6}@media (prefers-reduced-motion:no-preference){.rosh-assistant .motion-safe\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}}@media (prefers-reduced-motion:reduce){.rosh-assistant .motion-reduce\:animate-none{animation:none}}@media (min-width:40rem){.rosh-assistant .sm\:inset-x-auto{inset-inline:auto}.rosh-assistant .sm\:right-4{right:1rem}.rosh-assistant .sm\:w-96{width:24rem}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-white:#fff}}.rosh-assistant .sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.rosh-assistant .fixed{position:fixed}.rosh-assistant .sticky{position:sticky}.rosh-assistant .inset-x-2{inset-inline:.5rem}.rosh-assistant .top-0{top:0}.rosh-assistant .right-4{right:1rem}.rosh-assistant .bottom-4{bottom:1rem}.rosh-assistant .bottom-20{bottom:5rem}.rosh-assistant .z-30{z-index:30}.rosh-assistant .z-\[var\(--z-window\,1000\)\]{z-index:var(--z-window,1000)}.rosh-assistant .container{width:100%}@media (min-width:40rem){.rosh-assistant .container{max-width:40rem}}@media (min-width:48rem){.rosh-assistant .container{max-width:48rem}}@media (min-width:64rem){.rosh-assistant .container{max-width:64rem}}@media (min-width:80rem){.rosh-assistant .container{max-width:80rem}}@media (min-width:96rem){.rosh-assistant .container{max-width:96rem}}.rosh-assistant .m-auto{margin:auto}.rosh-assistant .my-1{margin-block:.25rem}.rosh-assistant .mt-0\.5{margin-top:.125rem}.rosh-assistant .mt-1{margin-top:.25rem}.rosh-assistant .mt-2{margin-top:.5rem}.rosh-assistant .mt-3{margin-top:.75rem}.rosh-assistant .ml-2{margin-left:.5rem}.rosh-assistant .block{display:block}.rosh-assistant .contents{display:contents}.rosh-assistant .flex{display:flex}.rosh-assistant .grid{display:grid}.rosh-assistant .hidden{display:none}.rosh-assistant .inline{display:inline}.rosh-assistant .inline-flex{display:inline-flex}.rosh-assistant .table{display:table}.rosh-assistant .size-3{width:.75rem;height:.75rem}.rosh-assistant .size-3\.5{width:.875rem;height:.875rem}.rosh-assistant .h-3{height:.75rem}.rosh-assistant .h-3\.5{height:.875rem}.rosh-assistant .h-4{height:1rem}.rosh-assistant .h-5{height:1.25rem}.rosh-assistant .h-6{height:1.5rem}.rosh-assistant .h-8{height:2rem}.rosh-assistant .h-10{height:2.5rem}.rosh-assistant .h-11{height:2.75rem}.rosh-assistant .h-12{height:3rem}.rosh-assistant .h-14{height:3.5rem}.rosh-assistant .h-16{height:4rem}.rosh-assistant .h-20{height:5rem}.rosh-assistant .h-\[min\(34rem\,calc\(100dvh-6rem\)\)\]{height:min(34rem,100dvh - 6rem)}.rosh-assistant .h-full{height:100%}.rosh-assistant .max-h-32{max-height:8rem}.rosh-assistant .min-h-0{min-height:0}.rosh-assistant .w-3{width:.75rem}.rosh-assistant .w-3\.5{width:.875rem}.rosh-assistant .w-4{width:1rem}.rosh-assistant .w-5{width:1.25rem}.rosh-assistant .w-6{width:1.5rem}.rosh-assistant .w-8{width:2rem}.rosh-assistant .w-10{width:2.5rem}.rosh-assistant .w-11{width:2.75rem}.rosh-assistant .w-12{width:3rem}.rosh-assistant .w-14{width:3.5rem}.rosh-assistant .w-16{width:4rem}.rosh-assistant .w-20{width:5rem}.rosh-assistant .w-full{width:100%}.rosh-assistant .max-w-\[85\%\]{max-width:85%}.rosh-assistant .max-w-\[92\%\]{max-width:92%}.rosh-assistant .min-w-0{min-width:0}.rosh-assistant .flex-1{flex:1}.rosh-assistant .shrink-0{flex-shrink:0}.rosh-assistant .grow{flex-grow:1}.rosh-assistant .basis-48{flex-basis:12rem}.rosh-assistant .border-collapse{border-collapse:collapse}.rosh-assistant .rotate-90{rotate:90deg}.rosh-assistant .cursor-pointer{cursor:pointer}.rosh-assistant .resize{resize:both}.rosh-assistant .resize-none{resize:none}.rosh-assistant .list-decimal{list-style-type:decimal}.rosh-assistant .list-disc{list-style-type:disc}.rosh-assistant .grid-cols-\[max-content_1fr\]{grid-template-columns:max-content 1fr}.rosh-assistant .flex-col{flex-direction:column}.rosh-assistant .flex-wrap{flex-wrap:wrap}.rosh-assistant .items-center{align-items:center}.rosh-assistant .items-end{align-items:flex-end}.rosh-assistant .items-start{align-items:flex-start}.rosh-assistant .justify-center{justify-content:center}.rosh-assistant .justify-end{justify-content:flex-end}.rosh-assistant .justify-start{justify-content:flex-start}.rosh-assistant .gap-1{gap:.25rem}.rosh-assistant .gap-2{gap:.5rem}.rosh-assistant .gap-3{gap:.75rem}:where(.rosh-assistant .space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(.25rem * var(--tw-space-y-reverse));margin-block-end:calc(.25rem * calc(1 - var(--tw-space-y-reverse)))}:where(.rosh-assistant .space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.rosh-assistant .space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(.25rem * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(.25rem * 3) * calc(1 - var(--tw-space-y-reverse)))}.rosh-assistant .gap-x-3{column-gap:.75rem}.rosh-assistant .gap-y-1{row-gap:.25rem}.rosh-assistant .gap-y-2{row-gap:.5rem}.rosh-assistant .self-center{align-self:center}.rosh-assistant .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rosh-assistant .overflow-auto{overflow:auto}.rosh-assistant .overflow-hidden{overflow:hidden}.rosh-assistant .overflow-x-auto{overflow-x:auto}.rosh-assistant .rounded{border-radius:.25rem}.rosh-assistant .rounded-\(--radius-control\){border-radius:var(--radius-control)}.rosh-assistant .rounded-2xl{border-radius:1rem}.rosh-assistant .rounded-full{border-radius:3.40282e38px}.rosh-assistant .rounded-lg{border-radius:.5rem}.rosh-assistant .rounded-xl{border-radius:.75rem}.rosh-assistant .rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rosh-assistant .border{border-style:var(--tw-border-style);border-width:1px}.rosh-assistant .border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.rosh-assistant .border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.rosh-assistant .border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.rosh-assistant .border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.rosh-assistant .border-dashed{--tw-border-style:dashed;border-style:dashed}.rosh-assistant .border-\[color\:var\(--line\)\]{border-color:var(--line)}.rosh-assistant .border-\[color\:var\(--status-neutral-solid\)\]{border-color:var(--status-neutral-solid)}.rosh-assistant .border-amber-200{border-color:oklch(92.4% .12 95.746)}.rosh-assistant .border-amber-300{border-color:oklch(87.9% .169 91.605)}.rosh-assistant .border-amber-700{border-color:oklch(55.5% .163 48.998)}.rosh-assistant .border-blue-200{border-color:oklch(88.2% .059 254.128)}.rosh-assistant .border-blue-300{border-color:oklch(80.9% .105 251.813)}.rosh-assistant .border-blue-700{border-color:oklch(48.8% .243 264.376)}.rosh-assistant .border-gray-100{border-color:oklch(96.7% .003 264.542)}.rosh-assistant .border-gray-200{border-color:oklch(92.8% .006 264.531)}.rosh-assistant .border-gray-300{border-color:oklch(87.2% .01 258.338)}.rosh-assistant .border-green-200{border-color:oklch(92.5% .084 155.995)}.rosh-assistant .border-green-700{border-color:oklch(52.7% .154 150.069)}.rosh-assistant .border-red-200{border-color:oklch(88.5% .062 18.334)}.rosh-assistant .border-red-300{border-color:oklch(80.8% .114 19.571)}.rosh-assistant .border-red-700{border-color:oklch(50.5% .213 27.518)}.rosh-assistant .bg-\[var\(--assistant-launcher-bg\,var\(--color-blue-600\)\)\]{background-color:var(--assistant-launcher-bg,var(--color-blue-600))}.rosh-assistant .bg-\[var\(--status-neutral-soft\)\]{background-color:var(--status-neutral-soft)}.rosh-assistant .bg-\[var\(--status-neutral-solid\)\]{background-color:var(--status-neutral-solid)}.rosh-assistant .bg-amber-50{background-color:oklch(98.7% .022 95.277)}.rosh-assistant .bg-amber-700{background-color:oklch(55.5% .163 48.998)}.rosh-assistant .bg-blue-50{background-color:oklch(97% .014 254.604)}.rosh-assistant .bg-blue-50\/60{background-color:oklab(97% -.00371685 -.0134976/.6)}.rosh-assistant .bg-blue-600{background-color:oklch(54.6% .245 262.881)}.rosh-assistant .bg-blue-700{background-color:oklch(48.8% .243 264.376)}.rosh-assistant .bg-gray-50{background-color:oklch(98.5% .002 247.839)}.rosh-assistant .bg-gray-100{background-color:oklch(96.7% .003 264.542)}.rosh-assistant .bg-gray-200{background-color:oklch(92.8% .006 264.531)}.rosh-assistant .bg-green-50{background-color:oklch(98.2% .018 155.826)}.rosh-assistant .bg-green-700{background-color:oklch(52.7% .154 150.069)}.rosh-assistant .bg-red-50{background-color:oklch(97.1% .013 17.38)}.rosh-assistant .bg-red-600{background-color:oklch(57.7% .245 27.325)}.rosh-assistant .bg-red-700{background-color:oklch(50.5% .213 27.518)}.rosh-assistant .bg-white{background-color:#fff}.rosh-assistant .p-0{padding:0}.rosh-assistant .p-3{padding:.75rem}.rosh-assistant .px-1{padding-inline:.25rem}.rosh-assistant .px-2{padding-inline:.5rem}.rosh-assistant .px-3{padding-inline:.75rem}.rosh-assistant .px-4{padding-inline:1rem}.rosh-assistant .px-5{padding-inline:1.25rem}.rosh-assistant .px-6{padding-inline:1.5rem}.rosh-assistant .px-8{padding-inline:2rem}.rosh-assistant .py-0\.5{padding-block:.125rem}.rosh-assistant .py-2{padding-block:.5rem}.rosh-assistant .py-3{padding-block:.75rem}.rosh-assistant .py-12{padding-block:3rem}.rosh-assistant .pl-1{padding-left:.25rem}.rosh-assistant .pl-3{padding-left:.75rem}.rosh-assistant .pl-5{padding-left:1.25rem}.rosh-assistant .text-center{text-align:center}.rosh-assistant .text-left{text-align:left}.rosh-assistant .align-top{vertical-align:top}.rosh-assistant .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.rosh-assistant .text-2xl{font-size:1.5rem;line-height:var(--tw-leading,calc(2 / 1.5))}.rosh-assistant .text-base{font-size:1rem;line-height:var(--tw-leading,calc(1.5 / 1))}.rosh-assistant .text-lg{font-size:1.125rem;line-height:var(--tw-leading,calc(1.75 / 1.125))}.rosh-assistant .text-sm{font-size:.875rem;line-height:var(--tw-leading,calc(1.25 / .875))}.rosh-assistant .text-xs{font-size:.75rem;line-height:var(--tw-leading,calc(1 / .75))}.rosh-assistant .text-\[0\.85em\]{font-size:.85em}.rosh-assistant .leading-relaxed{--tw-leading:1.625;line-height:1.625}.rosh-assistant .font-medium{--tw-font-weight:500;font-weight:500}.rosh-assistant .font-semibold{--tw-font-weight:600;font-weight:600}.rosh-assistant .tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.rosh-assistant .break-words{overflow-wrap:break-word}.rosh-assistant .whitespace-pre-wrap{white-space:pre-wrap}.rosh-assistant .text-\[color\:var\(--status-neutral-soft-ink\)\]{color:var(--status-neutral-soft-ink)}.rosh-assistant .text-\[color\:var\(--status-on-solid\)\]{color:var(--status-on-solid)}.rosh-assistant .text-\[var\(--assistant-launcher-ink\,var\(--color-white\)\)\]{color:var(--assistant-launcher-ink,var(--color-white))}.rosh-assistant .text-amber-600{color:oklch(66.6% .179 58.318)}.rosh-assistant .text-amber-700{color:oklch(55.5% .163 48.998)}.rosh-assistant .text-blue-600{color:oklch(54.6% .245 262.881)}.rosh-assistant .text-blue-700{color:oklch(48.8% .243 264.376)}.rosh-assistant .text-gray-400{color:oklch(70.7% .022 261.325)}.rosh-assistant .text-gray-500{color:oklch(55.1% .027 264.364)}.rosh-assistant .text-gray-600{color:oklch(44.6% .03 256.802)}.rosh-assistant .text-gray-700{color:oklch(37.3% .034 259.733)}.rosh-assistant .text-gray-800{color:oklch(27.8% .033 256.848)}.rosh-assistant .text-gray-900{color:oklch(21% .034 264.665)}.rosh-assistant .text-green-600{color:oklch(62.7% .194 149.214)}.rosh-assistant .text-inherit{color:inherit}.rosh-assistant .text-red-600{color:oklch(57.7% .245 27.325)}.rosh-assistant .text-white{color:#fff}.rosh-assistant .uppercase{text-transform:uppercase}.rosh-assistant .italic{font-style:italic}.rosh-assistant .tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.rosh-assistant .no-underline{text-decoration-line:none}.rosh-assistant .underline{text-decoration-line:underline}.rosh-assistant .underline-offset-4{text-underline-offset:4px}.rosh-assistant .opacity-80{opacity:.8}.rosh-assistant .shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .outline{outline-style:var(--tw-outline-style);outline-width:1px}.rosh-assistant .transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}.rosh-assistant .select-none{-webkit-user-select:none;user-select:none}.rosh-assistant .marker\:text-gray-400 ::marker{color:oklch(70.7% .022 261.325)}.rosh-assistant .marker\:text-gray-400::marker{color:oklch(70.7% .022 261.325)}.rosh-assistant .marker\:text-gray-400 ::-webkit-details-marker{color:oklch(70.7% .022 261.325)}.rosh-assistant .marker\:text-gray-400::-webkit-details-marker{color:oklch(70.7% .022 261.325)}.rosh-assistant .even\:bg-gray-50\/50:nth-child(2n){background-color:oklab(98.5% -.00075442 -.00185226/.5)}@media (hover:hover){.rosh-assistant .hover\:bg-\[var\(--assistant-launcher-bg-hover\,var\(--color-blue-700\)\)\]:hover{background-color:var(--assistant-launcher-bg-hover,var(--color-blue-700))}.rosh-assistant .hover\:text-gray-600:hover{color:oklch(44.6% .03 256.802)}.rosh-assistant .hover\:text-gray-700:hover{color:oklch(37.3% .034 259.733)}.rosh-assistant .hover\:underline:hover{text-decoration-line:underline}.rosh-assistant .hover\:opacity-100:hover{opacity:1}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-amber-800:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(47.3% .137 46.201)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-blue-100:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(93.2% .032 255.585)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-blue-700:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(48.8% .243 264.376)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-gray-50:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(98.5% .002 247.839)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-gray-100:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(96.7% .003 264.542)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-red-50:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(97.1% .013 17.38)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:bg-red-700:not(:disabled):not([aria-disabled=true]):hover{background-color:oklch(50.5% .213 27.518)}.rosh-assistant .not-disabled\:not-aria-disabled\:hover\:underline:not(:disabled):not([aria-disabled=true]):hover{text-decoration-line:underline}}.rosh-assistant .focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.rosh-assistant .focus-visible\:ring-\[color\:var\(--rosh-focus-ring\)\]:focus-visible{--tw-ring-color:var(--rosh-focus-ring)}.rosh-assistant .focus-visible\:ring-\[color\:var\(--rosh-focus-ring-invalid\)\]:focus-visible{--tw-ring-color:var(--rosh-focus-ring-invalid)}.rosh-assistant .focus-visible\:ring-\[color\:var\(--rosh-focus-ring-invalid-strong\)\]:focus-visible{--tw-ring-color:var(--rosh-focus-ring-invalid-strong)}.rosh-assistant .focus-visible\:ring-\[color\:var\(--rosh-focus-ring-strong\)\]:focus-visible{--tw-ring-color:var(--rosh-focus-ring-strong)}.rosh-assistant .focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.rosh-assistant .focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.rosh-assistant .focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.rosh-assistant .focus-visible\:outline-\[var\(--assistant-launcher-bg\,var\(--color-blue-600\)\)\]:focus-visible{outline-color:var(--assistant-launcher-bg,var(--color-blue-600))}.rosh-assistant .focus-visible\:outline-blue-600:focus-visible{outline-color:oklch(54.6% .245 262.881)}.rosh-assistant .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.rosh-assistant .disabled\:opacity-60:disabled{opacity:.6}.rosh-assistant .aria-disabled\:cursor-not-allowed[aria-disabled=true]{cursor:not-allowed}.rosh-assistant .aria-disabled\:opacity-60[aria-disabled=true]{opacity:.6}@media (prefers-reduced-motion:no-preference){.rosh-assistant .motion-safe\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,cubic-bezier(.4, 0, .2, 1));transition-duration:var(--tw-duration,.15s)}}@media (prefers-reduced-motion:reduce){.rosh-assistant .motion-reduce\:animate-none{animation:none}}@media (min-width:40rem){.rosh-assistant .sm\:inset-x-auto{inset-inline:auto}.rosh-assistant .sm\:right-4{right:1rem}.rosh-assistant .sm\:w-96{width:24rem}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{openFilesInTrashMode,setFilesDemoTree}from"../chunk-IAQC775L.js";export{setBrowserStartUrl}from"../chunk-LWLCNQY7.js";export{BUILTIN_APP_INFO}from"../chunk-3ZVRB3CV.js";import"../chunk-RAAUW5OZ.js";import{setPdfPreview as e}from"../chunk-ESL5TDNA.js";export{setPdfPreview}from"../chunk-ESL5TDNA.js";import{setSpreadsheetPreview as t}from"../chunk-VTVSMRFX.js";export{setSpreadsheetPreview}from"../chunk-VTVSMRFX.js";import"../chunk-L3NYH4QV.js";import"../chunk-CY5N5OA3.js";import"../chunk-AW7TOB6N.js";import"../chunk-KNUR2UEG.js";import"../chunk-JDCM2VHG.js";import"../chunk-HVX37PKU.js";import"../chunk-5A7MWTXX.js";import"../chunk-Y53KNQKL.js";import"../chunk-FL2PUQX7.js";import"../chunk-ZN3O2KJ7.js";import"../chunk-YCQVEJOT.js";import"../chunk-KC3EX26K.js";import"../chunk-VWGWZY7A.js";import"../chunk-PKXQDCNR.js";import{toast_default as o}from"../chunk-4NXMMWL6.js";import"../chunk-UGTRSRIW.js";import"../chunk-XWLWG4HS.js";import"../chunk-CDAJKLGL.js";import"../chunk-D323R2FT.js";import"../chunk-L2OSJ2YC.js";import"../chunk-PJCVNFWM.js";import"../chunk-QR4RM7PO.js";import"../chunk-5QFPTDQF.js";import"../chunk-4IU5BSVE.js";import"../chunk-K7U4RWXJ.js";import"../chunk-VH6GB73Q.js";import"../chunk-KIBL6M3T.js";import"../chunk-J75ZT2JQ.js";import"../chunk-Q5MD3VY6.js";import"../chunk-MRJKZWWV.js";import"../chunk-6KO5VTL7.js";import"../chunk-22S6LG6D.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-DTJRIWFR.js";import"../chunk-TWVUQUUD.js";import{currentShellStrings as r}from"../chunk-E6UCGCOC.js";import"../chunk-C3QOHMR6.js";import{lazy as n}from"react";function i(e){const t=/\.([a-z0-9]+)(?:[?#].*)?$/i.exec((e||"").trim());return t?t[1].toLowerCase():""}var s=/* @__PURE__ */new Set(["csv","tsv"]),c=/* @__PURE__ */new Set(["xlsx","xls","xlsm","ods"]),m=/* @__PURE__ */new Set(["png","jpg","jpeg","gif","webp","bmp","svg","avif"]),p=/* @__PURE__ */new Set(["step","stp","stl","obj","gltf","glb","3mf","iges","igs"]);function l(e){const t=i(e);return"pdf"===t?"pdf":"dxf"===t?"dxf":s.has(t)?"csv":m.has(t)?"image":p.has(t)?"3d":null}function a(e){window.open(e,"_blank","noopener,noreferrer")}async function u(e,t,o){if(t.fetchBlob)return(await t.fetchBlob(o)).text();const r=await fetch(e);if(!r.ok)throw new Error(`fetch failed: ${r.status}`);return r.text()}function h(e,t){return(e instanceof Error?e.message:"")||t}async function j(n,s,m={}){const p=r().attachment,j=n?.url||"",k=n?.filename||p.fallbackName;if(!j&&!m.fetchBlob)return void o.error(p.noLink);const d=l(k)??l(j);if("csv"===d){try{t({csv:await u(j,m,n),filename:k}),s("/spreadsheet")}catch{o.error(p.spreadsheetFailed),j&&a(j)}return}if(c.has(i(k)||i(j)))return o.error(p.workbookUnavailable),void(j&&a(j));if(!d)return j?(o.info(p.noViewer),void a(j)):void o.error(p.noLink);if(!m.fetchBlob)return e({url:j,filename:k,kind:d}),void s("/preview");const f=e({filename:k,kind:d,converting:!0,convertingMessage:m.loadingMessage||p.loading});s("/preview");try{const e=await m.fetchBlob(n);f.update({url:URL.createObjectURL(e),filename:k,kind:d})}catch(e){f.update({filename:k,kind:d,converting:!1,convertingMessage:h(e,p.loadFailed)})}}var k=n(()=>import("../Calculator-4JDJKSA7.js")),d=n(()=>import("../Spreadsheet-UWD62JIM.js")),f=n(()=>import("../Weather-DS4YZ6SH.js")),w=n(()=>import("../CurrencyConverter-S7LG5PMX.js")),S=n(()=>import("../PomodoroTimer-ZR2VLO6G.js")),g=n(()=>import("../Notepad-ZJ7N4TZM.js")),v=n(()=>import("../WorldClock-7S4TITSF.js")),b=n(()=>import("../Stock-VNFYS73L.js")),L=n(()=>import("../Preview-AZQSMBW5.js")),T=n(()=>import("../PdfViewer-67VBUIRD.js")),V=n(()=>import("../Documents-SP25WN7V.js")),C=n(()=>import("../Files-SEGSJMVA.js")),W=n(()=>import("../Browser-Y335UIBR.js")),M={"/calculator":{component:k,label:"Calculator",size:"sm",allowPinOnTop:!0,utility:!0,widget:!0,dimensions:[280,420]},"/spreadsheet":{component:d,label:"Spreadsheets",size:"2xl",appStyle:!0,multiInstance:!0},"/notepad":{component:g,label:"Notepad",size:"lg",allowPinOnTop:!0,flushBody:!0},"/weather":{component:f,label:"Weather",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,400]},"/currency":{component:w,label:"Currency Converter",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,480]},"/pomodoro":{component:S,label:"Pomodoro Timer",size:"sm",utility:!0,widget:!0,dimensions:[320,600]},"/world-clock":{component:v,label:"World Clock",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,480]},"/stock":{component:b,label:"Stocks",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,360]}},N={"/preview":{component:L,label:"Preview",size:"2xl",appStyle:!0,multiInstance:!0},"/documents":{component:V,label:"Documents",size:"xl",appStyle:!0,multiInstance:!0},"/files":{component:C,label:"Files",size:"xl",appStyle:!0}},P={"/browser":{component:W,label:"Browser",size:"2xl",appStyle:!0,multiInstance:!0}},R={...M,...N,...P};export{W as Browser,k as Calculator,w as CurrencyConverter,V as Documents,C as Files,g as Notepad,T as PdfViewer,S as PomodoroTimer,L as Preview,d as Spreadsheet,b as Stock,f as Weather,v as WorldClock,l as attachmentKind,R as bundledApps,N as documentApps,j as openAttachment,M as utilityApps,P as webApps};
2
+ export{openFilesInTrashMode,setFilesDemoTree}from"../chunk-IAQC775L.js";export{setBrowserStartUrl}from"../chunk-LWLCNQY7.js";export{BUILTIN_APP_INFO}from"../chunk-3BPF6PP3.js";import"../chunk-RAAUW5OZ.js";import{setPdfPreview as e}from"../chunk-ESL5TDNA.js";export{setPdfPreview}from"../chunk-ESL5TDNA.js";import{setSpreadsheetPreview as t}from"../chunk-VTVSMRFX.js";export{setSpreadsheetPreview}from"../chunk-VTVSMRFX.js";import"../chunk-L3NYH4QV.js";import"../chunk-CY5N5OA3.js";import"../chunk-AW7TOB6N.js";import"../chunk-KNUR2UEG.js";import"../chunk-JDCM2VHG.js";import"../chunk-HVX37PKU.js";import"../chunk-5A7MWTXX.js";import"../chunk-Y53KNQKL.js";import"../chunk-FL2PUQX7.js";import"../chunk-ZN3O2KJ7.js";import"../chunk-YCQVEJOT.js";import"../chunk-KC3EX26K.js";import"../chunk-VWGWZY7A.js";import"../chunk-PKXQDCNR.js";import{toast_default as o}from"../chunk-4NXMMWL6.js";import"../chunk-UGTRSRIW.js";import"../chunk-XWLWG4HS.js";import"../chunk-CDAJKLGL.js";import"../chunk-D323R2FT.js";import"../chunk-HSOREHQB.js";import"../chunk-PJCVNFWM.js";import"../chunk-QR4RM7PO.js";import"../chunk-5QFPTDQF.js";import"../chunk-4IU5BSVE.js";import"../chunk-K7U4RWXJ.js";import"../chunk-VH6GB73Q.js";import"../chunk-KIBL6M3T.js";import"../chunk-J75ZT2JQ.js";import"../chunk-Q5MD3VY6.js";import"../chunk-MRJKZWWV.js";import"../chunk-6KO5VTL7.js";import"../chunk-22S6LG6D.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-DTJRIWFR.js";import"../chunk-TWVUQUUD.js";import{currentShellStrings as r}from"../chunk-E6UCGCOC.js";import"../chunk-C3QOHMR6.js";import{lazy as n}from"react";function i(e){const t=/\.([a-z0-9]+)(?:[?#].*)?$/i.exec((e||"").trim());return t?t[1].toLowerCase():""}var s=/* @__PURE__ */new Set(["csv","tsv"]),c=/* @__PURE__ */new Set(["xlsx","xls","xlsm","ods"]),m=/* @__PURE__ */new Set(["png","jpg","jpeg","gif","webp","bmp","svg","avif"]),p=/* @__PURE__ */new Set(["step","stp","stl","obj","gltf","glb","3mf","iges","igs"]);function l(e){const t=i(e);return"pdf"===t?"pdf":"dxf"===t?"dxf":s.has(t)?"csv":m.has(t)?"image":p.has(t)?"3d":null}function a(e){window.open(e,"_blank","noopener,noreferrer")}async function u(e,t,o){if(t.fetchBlob)return(await t.fetchBlob(o)).text();const r=await fetch(e);if(!r.ok)throw new Error(`fetch failed: ${r.status}`);return r.text()}function h(e,t){return(e instanceof Error?e.message:"")||t}async function j(n,s,m={}){const p=r().attachment,j=n?.url||"",k=n?.filename||p.fallbackName;if(!j&&!m.fetchBlob)return void o.error(p.noLink);const d=l(k)??l(j);if("csv"===d){try{t({csv:await u(j,m,n),filename:k}),s("/spreadsheet")}catch{o.error(p.spreadsheetFailed),j&&a(j)}return}if(c.has(i(k)||i(j)))return o.error(p.workbookUnavailable),void(j&&a(j));if(!d)return j?(o.info(p.noViewer),void a(j)):void o.error(p.noLink);if(!m.fetchBlob)return e({url:j,filename:k,kind:d}),void s("/preview");const f=e({filename:k,kind:d,converting:!0,convertingMessage:m.loadingMessage||p.loading});s("/preview");try{const e=await m.fetchBlob(n);f.update({url:URL.createObjectURL(e),filename:k,kind:d})}catch(e){f.update({filename:k,kind:d,converting:!1,convertingMessage:h(e,p.loadFailed)})}}var k=n(()=>import("../Calculator-4JDJKSA7.js")),d=n(()=>import("../Spreadsheet-4KXRJSHT.js")),f=n(()=>import("../Weather-DS4YZ6SH.js")),w=n(()=>import("../CurrencyConverter-S7LG5PMX.js")),S=n(()=>import("../PomodoroTimer-2HPCAEI5.js")),g=n(()=>import("../Notepad-VQ66RWLT.js")),v=n(()=>import("../WorldClock-7S4TITSF.js")),b=n(()=>import("../Stock-VNFYS73L.js")),L=n(()=>import("../Preview-VZYFOH2U.js")),T=n(()=>import("../PdfViewer-67VBUIRD.js")),P=n(()=>import("../Documents-E3GMXALJ.js")),C=n(()=>import("../Files-2DWPYRM5.js")),R=n(()=>import("../Browser-QBAMRKYI.js")),W={"/calculator":{component:k,label:"Calculator",size:"sm",allowPinOnTop:!0,utility:!0,widget:!0,dimensions:[280,420]},"/spreadsheet":{component:d,label:"Spreadsheets",size:"2xl",appStyle:!0,multiInstance:!0},"/notepad":{component:g,label:"Notepad",size:"lg",allowPinOnTop:!0,flushBody:!0},"/weather":{component:f,label:"Weather",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,400]},"/currency":{component:w,label:"Currency Converter",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,480]},"/pomodoro":{component:S,label:"Pomodoro Timer",size:"sm",utility:!0,widget:!0,dimensions:[320,600]},"/world-clock":{component:v,label:"World Clock",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,480]},"/stock":{component:b,label:"Stocks",size:"sm",utility:!0,widget:!0,autoHeight:!0,dimensions:[320,360]}},V={"/preview":{component:L,label:"Preview",size:"2xl",appStyle:!0,multiInstance:!0},"/documents":{component:P,label:"Documents",size:"xl",appStyle:!0,multiInstance:!0},"/files":{component:C,label:"Files",size:"xl",appStyle:!0}},M={"/browser":{component:R,label:"Browser",size:"2xl",appStyle:!0,multiInstance:!0}},x={...W,...V,...M};export{R as Browser,k as Calculator,w as CurrencyConverter,P as Documents,C as Files,g as Notepad,T as PdfViewer,S as PomodoroTimer,L as Preview,d as Spreadsheet,b as Stock,f as Weather,v as WorldClock,l as attachmentKind,x as bundledApps,V as documentApps,j as openAttachment,W as utilityApps,M as webApps};
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as e}from"module";import{join as n}from"path";import{existsSync as t,readFileSync as i,readdirSync as r}from"fs";var o=/[.+^$()|[\]\\]/g;function s(e){let n="",t=0;for(let i=0;i<e.length;i++){const r=e[i];"*"===r?"*"===e[i+1]?"/"===e[i+2]?(n+="(?:[^/]+/)*",i+=2):(n+=".*",i+=1):n+="[^/]*":"?"===r?n+="[^/]":"{"===r?(n+="(?:",t+=1):"}"===r&&t>0?(n+=")",t-=1):n+=","===r&&t>0?"|":r.replace(o,"\\$&")}if(0!==t)throw new Error(`unbalanced { in glob "${e}"`);return new RegExp(`^${n}$`)}function a(e){const n=e.map(s);return e=>n.some(n=>n.test(e))}var c=new Set(["node_modules",".git"]),g=new Set(["dist","coverage",".next",".turbo"]);function l(e){const n=e.search(/[*?{]/),t=-1===n?e:e.slice(0,n),i=t.lastIndexOf("/");return-1===i?"":t.slice(0,i)}function u(e,t){const i=a(t),o=[...new Set(t.map(l))].sort(),s=o.filter(e=>!o.some(n=>n!==e&&(""===n||e.startsWith(`${n}/`)))),u=new Set,d=t=>{let o;try{o=r(n(e,t),{withFileTypes:!0})}catch{return}for(const e of o){const n=t?`${t}/${e.name}`:e.name;e.isDirectory()?c.has(e.name)||""===t&&g.has(e.name)||d(n):e.isFile()&&i(n)&&u.add(n)}};for(const e of s)d(e);return[...u].sort(h)}var h=(e,n)=>e<n?-1:e>n?1:0,d={busy:{words:["Accepting","Adding","Applying","Approving","Arranging","Asking","Assigning","Booking","Building","Calculating","Cancelling","Capturing","Changing","Checking","Choosing","Closing","Combining","Comparing","Completing","Confirming","Connecting","Converting","Copying","Correcting","Counting","Creating","Deleting","Detaching","Downloading","Drawing","Duplicating","Emailing","Ending","Exporting","Fetching","Filing","Finding","Flushing","Generating","Grouping","Importing","Linking","Loading","Locating","Looking","Making","Marking","Matching","Measuring","Merging","Moving","Opening","Ordering","Paying","Pending","Posting","Preparing","Previewing","Pricing","Processing","Provisioning","Publishing","Purging","Pushing","Queued","Queuing","Quoting","Re-booking","Re-importing","Re-opening","Reading","Rebooting","Rebuilding","Receiving","Reconciling","Reconnecting","Recording","Refreshing","Refunding","Regenerating","Registering","Reinstating","Rejecting","Removing","Reopening","Requesting","Resending","Resetting","Resolving","Restarting","Restoring","Resuming","Retrying","Reversing","Reverting","Running","Saving","Searching","Sending","Setting","Settling","Sharing","Signing","Splitting","Starting","Submitting","Suggesting","Switching","Syncing","Taking","Testing","Transferring","Typing","Updating","Uploading","Verifying","Waiting","Withdrawing","Working"]}};new Set((d.busy?.words??[]).map(e=>e.toLowerCase()));var f=class extends Error{},m=new Set(["$schema","schema","include","exclude","allow"]),p=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),w=e=>"string"==typeof e&&""!==e.trim();var y="d3as2htf4hwbtr.cloudfront.net",S={dealer:{bucket:"inovit-dealer-portal-assets",hosts:["d201q0i87q901p.cloudfront.net"],key_pattern:"^marketing/"},media:{bucket:"regis-media-production",hosts:["media.regis.design","d21nnr9ivf9hcc.cloudfront.net"],key_pattern:"^[a-z0-9_]+/storefront/(?!uploads/thumbs/)"},site:{bucket:"inovit-ecommerce-media",hosts:["cdn.inovit.com","dhxlibd8r3td0.cloudfront.net"],key_pattern:"^images/"}},$=Object.values(S),R=Object.freeze([...new Set([...$.flatMap(e=>e.hosts),y,...$.map(e=>e.bucket)])].sort()),b=new RegExp([...R.map(e=>{return`(?<![\\w-])${n=e,n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w-])`;var n}),"(?<![\\w-])[a-z0-9]+\\.cloudfront\\.net(?![\\w-])","(?<![\\w-])(?:[a-z0-9-]+\\.)*s3(?:[.-][a-z0-9-]+)*\\.amazonaws\\.com(?![\\w-])","s3://"].join("|"),"gi");function k(e,n,t){const i=e.createSourceFile(n,t,e.ScriptTarget.Latest,!0,function(e,n){return n.endsWith(".tsx")?e.ScriptKind.TSX:n.endsWith(".jsx")?e.ScriptKind.JSX:/\.[cm]?js$/.test(n)?e.ScriptKind.JS:e.ScriptKind.TS}(e,n)),r=[],o=(e,n)=>{const t=i.getLineAndCharacterOfPosition(e.getStart(i)).line+1;for(const e of function(e){return[...e.matchAll(b)].map(e=>({match:e[0],index:e.index??0}))}(n)){const i=n.slice(0,e.index);r.push({line:t+(i.match(/\n/g)?.length??0),match:e.match})}},s=n=>{e.isStringLiteral(n)||e.isNoSubstitutionTemplateLiteral(n)||e.isTemplateHead(n)||e.isTemplateMiddle(n)||e.isTemplateTail(n)?o(n,n.text):e.isRegularExpressionLiteral(n)&&o(n,n.text.replace(/\\(.)/g,"$1")),e.forEachChild(n,s)};return s(i),r}var v="media-host-check.config.json",x="efficient-shell-media-host-check",C=`${x}: no code writes a media origin; files are reached through the storage backend, the API's URL, media() or imageCopyUrl() (harness API-15, SSOT-2).\n\n ${x} check this repository; exits 1 on a finding\n ${x} --json print the result as JSON\n\nRefused in any string, template or regular expression: every host and bucket in\nthe image-copies contract, any *.cloudfront.net host, any S3 endpoint, and s3://.\nReads ${v} in the current directory.`;function A(e,t,r){const o=[],s=a(r.exclude);for(const e of r.include)0===u(t,[e]).length&&o.push(`include "${e}" matches no file; delete it`);const c=u(t,r.include).filter(e=>(e=>/\.(?:[cm]?[jt]s|[jt]sx)$/.test(e)&&!e.endsWith(".d.ts"))(e)&&!s(e)),g=[];for(const r of c)for(const o of k(e,r,i(n(t,r),"utf8")))g.push({file:r,...o});const l=(e,n)=>e.toLowerCase()===n.toLowerCase();for(const e of r.allow)g.some(n=>n.file===e.file&&l(e.match,n.match))||o.push(`allow ${e.file} "${e.match}" matches nothing any more; delete it`);return{files:c.length,findings:g.filter(e=>!(e=>r.allow.some(n=>n.file===e.file&&l(n.match,e.match)))(e)),problems:o}}process.exitCode=function(e,r){let o=!1;for(const n of e){if("--help"===n||"-h"===n)return r.out(C),0;if("--version"===n||"-v"===n)return r.out(r.version),0;if("--json"!==n)return r.err(`${x}: unknown argument "${n}"\n\n${C}`),2;o=!0}const s=n(r.cwd,v);if(!t(s))return r.err(`${x}: no ${v} in ${r.cwd}. Run it from the repository root.`),2;let a;try{const e=function(e,n="media-host-check.config.json"){const t=[];if(!p(e))throw new f(`${n}: expected an object`);for(const n of Object.keys(e))m.has(n)||t.push(`unknown key "${n}"`);1!==e.schema&&t.push('"schema" must be 1');const i=(n,i)=>{const r=e[n];return void 0!==r||i?!Array.isArray(r)||!r.every(w)||i&&0===r.length?(t.push(`"${n}" must be ${i?"a non-empty":"an"} array of globs`),[]):r:[]},r=i("include",!0),o=i("exclude",!1),s=[];void 0===e.allow||Array.isArray(e.allow)||t.push('"allow" must be an array');for(const[n,i]of(Array.isArray(e.allow)?e.allow:[]).entries()){if(!(p(i)&&w(i.file)&&w(i.match)&&w(i.reason))){t.push(`allow[${n}] needs "file", "match" and "reason", each a non-empty string`);continue}const e=Object.keys(i).filter(e=>!["file","match","reason"].includes(e));e.length&&t.push(`allow[${n}] has unknown keys: ${e.join(", ")}`),s.push({file:i.file,match:i.match,reason:i.reason})}if(t.length)throw new f(`${n}:\n ${t.join("\n ")}`);return{schema:1,include:r,exclude:o,allow:s}}(JSON.parse(i(s,"utf8")),v);a=A(r.loadTypeScript(),r.cwd,e)}catch(e){return r.err(`${x}: ${e instanceof f||e instanceof SyntaxError?e.message:String(e)}`),2}const c=a.findings.length>0||a.problems.length>0;if(o)return r.out(JSON.stringify({ok:!c,...a},null,2)),c?1:0;if(!c)return r.out(`${x}: ${a.files} files, no media origin written in code (harness API-15, SSOT-2).`),0;for(const e of a.findings)r.err(`${e.file}:${e.line} "${e.match}" is a media origin written in code.`);for(const e of a.problems)r.err(`${v}: ${e}`);return a.findings.length&&r.err(`\nReach the file through the storage backend, the URL the API returns, media() or imageCopyUrl() (harness API-15, SSOT-2). An origin that must stay goes in "allow" in ${v}, with its reason.`),1}(process.argv.slice(2),{cwd:process.cwd(),out:e=>console.log(e),err:e=>console.error(e),loadTypeScript:()=>function(t){for(const i of[n(process.cwd(),"package.json"),t])try{return e(i)("typescript")}catch{}throw new Error("typescript is not installed")}(import.meta.url),version:"8.32.0"});
2
+ import{createRequire as e}from"module";import{join as n}from"path";import{existsSync as t,readFileSync as i,readdirSync as r}from"fs";var o=/[.+^$()|[\]\\]/g;function s(e){let n="",t=0;for(let i=0;i<e.length;i++){const r=e[i];"*"===r?"*"===e[i+1]?"/"===e[i+2]?(n+="(?:[^/]+/)*",i+=2):(n+=".*",i+=1):n+="[^/]*":"?"===r?n+="[^/]":"{"===r?(n+="(?:",t+=1):"}"===r&&t>0?(n+=")",t-=1):n+=","===r&&t>0?"|":r.replace(o,"\\$&")}if(0!==t)throw new Error(`unbalanced { in glob "${e}"`);return new RegExp(`^${n}$`)}function a(e){const n=e.map(s);return e=>n.some(n=>n.test(e))}var c=new Set(["node_modules",".git"]),g=new Set(["dist","coverage",".next",".turbo"]);function l(e){const n=e.search(/[*?{]/),t=-1===n?e:e.slice(0,n),i=t.lastIndexOf("/");return-1===i?"":t.slice(0,i)}function u(e,t){const i=a(t),o=[...new Set(t.map(l))].sort(),s=o.filter(e=>!o.some(n=>n!==e&&(""===n||e.startsWith(`${n}/`)))),u=new Set,d=t=>{let o;try{o=r(n(e,t),{withFileTypes:!0})}catch{return}for(const e of o){const n=t?`${t}/${e.name}`:e.name;e.isDirectory()?c.has(e.name)||""===t&&g.has(e.name)||d(n):e.isFile()&&i(n)&&u.add(n)}};for(const e of s)d(e);return[...u].sort(h)}var h=(e,n)=>e<n?-1:e>n?1:0,d={busy:{words:["Accepting","Adding","Applying","Approving","Arranging","Asking","Assigning","Booking","Building","Calculating","Cancelling","Capturing","Changing","Checking","Choosing","Closing","Combining","Comparing","Completing","Confirming","Connecting","Converting","Copying","Correcting","Counting","Creating","Deleting","Detaching","Downloading","Drawing","Duplicating","Emailing","Ending","Exporting","Fetching","Filing","Finding","Flushing","Generating","Grouping","Importing","Linking","Loading","Locating","Looking","Making","Marking","Matching","Measuring","Merging","Moving","Opening","Ordering","Paying","Pending","Posting","Preparing","Previewing","Pricing","Processing","Provisioning","Publishing","Purging","Pushing","Queued","Queuing","Quoting","Re-booking","Re-importing","Re-opening","Reading","Rebooting","Rebuilding","Receiving","Reconciling","Reconnecting","Recording","Refreshing","Refunding","Regenerating","Registering","Reinstating","Rejecting","Removing","Reopening","Requesting","Resending","Resetting","Resolving","Restarting","Restoring","Resuming","Retrying","Reversing","Reverting","Running","Saving","Searching","Sending","Setting","Settling","Sharing","Signing","Splitting","Starting","Submitting","Suggesting","Switching","Syncing","Taking","Testing","Transferring","Typing","Updating","Uploading","Verifying","Waiting","Withdrawing","Working"]}};new Set((d.busy?.words??[]).map(e=>e.toLowerCase()));var f=class extends Error{},m=new Set(["$schema","schema","include","exclude","allow"]),p=e=>"object"==typeof e&&null!==e&&!Array.isArray(e),w=e=>"string"==typeof e&&""!==e.trim();var y="d3as2htf4hwbtr.cloudfront.net",S={dealer:{bucket:"inovit-dealer-portal-assets",hosts:["d201q0i87q901p.cloudfront.net"],key_pattern:"^marketing/"},media:{bucket:"regis-media-production",hosts:["media.regis.design","d21nnr9ivf9hcc.cloudfront.net"],key_pattern:"^[a-z0-9_]+/storefront/(?!uploads/thumbs/)"},site:{bucket:"inovit-ecommerce-media",hosts:["cdn.inovit.com","dhxlibd8r3td0.cloudfront.net"],key_pattern:"^images/"}},$=Object.values(S),R=Object.freeze([...new Set([...$.flatMap(e=>e.hosts),y,...$.map(e=>e.bucket)])].sort()),b=new RegExp([...R.map(e=>{return`(?<![\\w-])${n=e,n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}(?![\\w-])`;var n}),"(?<![\\w-])[a-z0-9]+\\.cloudfront\\.net(?![\\w-])","(?<![\\w-])(?:[a-z0-9-]+\\.)*s3(?:[.-][a-z0-9-]+)*\\.amazonaws\\.com(?![\\w-])","s3://"].join("|"),"gi");function k(e,n,t){const i=e.createSourceFile(n,t,e.ScriptTarget.Latest,!0,function(e,n){return n.endsWith(".tsx")?e.ScriptKind.TSX:n.endsWith(".jsx")?e.ScriptKind.JSX:/\.[cm]?js$/.test(n)?e.ScriptKind.JS:e.ScriptKind.TS}(e,n)),r=[],o=(e,n)=>{const t=i.getLineAndCharacterOfPosition(e.getStart(i)).line+1;for(const e of function(e){return[...e.matchAll(b)].map(e=>({match:e[0],index:e.index??0}))}(n)){const i=n.slice(0,e.index);r.push({line:t+(i.match(/\n/g)?.length??0),match:e.match})}},s=n=>{e.isStringLiteral(n)||e.isNoSubstitutionTemplateLiteral(n)||e.isTemplateHead(n)||e.isTemplateMiddle(n)||e.isTemplateTail(n)?o(n,n.text):e.isRegularExpressionLiteral(n)&&o(n,n.text.replace(/\\(.)/g,"$1")),e.forEachChild(n,s)};return s(i),r}var v="media-host-check.config.json",x="efficient-shell-media-host-check",C=`${x}: no code writes a media origin; files are reached through the storage backend, the API's URL, media() or imageCopyUrl() (harness API-15, SSOT-2).\n\n ${x} check this repository; exits 1 on a finding\n ${x} --json print the result as JSON\n\nRefused in any string, template or regular expression: every host and bucket in\nthe image-copies contract, any *.cloudfront.net host, any S3 endpoint, and s3://.\nReads ${v} in the current directory.`;function A(e,t,r){const o=[],s=a(r.exclude);for(const e of r.include)0===u(t,[e]).length&&o.push(`include "${e}" matches no file; delete it`);const c=u(t,r.include).filter(e=>(e=>/\.(?:[cm]?[jt]s|[jt]sx)$/.test(e)&&!e.endsWith(".d.ts"))(e)&&!s(e)),g=[];for(const r of c)for(const o of k(e,r,i(n(t,r),"utf8")))g.push({file:r,...o});const l=(e,n)=>e.toLowerCase()===n.toLowerCase();for(const e of r.allow)g.some(n=>n.file===e.file&&l(e.match,n.match))||o.push(`allow ${e.file} "${e.match}" matches nothing any more; delete it`);return{files:c.length,findings:g.filter(e=>!(e=>r.allow.some(n=>n.file===e.file&&l(n.match,e.match)))(e)),problems:o}}process.exitCode=function(e,r){let o=!1;for(const n of e){if("--help"===n||"-h"===n)return r.out(C),0;if("--version"===n||"-v"===n)return r.out(r.version),0;if("--json"!==n)return r.err(`${x}: unknown argument "${n}"\n\n${C}`),2;o=!0}const s=n(r.cwd,v);if(!t(s))return r.err(`${x}: no ${v} in ${r.cwd}. Run it from the repository root.`),2;let a;try{const e=function(e,n="media-host-check.config.json"){const t=[];if(!p(e))throw new f(`${n}: expected an object`);for(const n of Object.keys(e))m.has(n)||t.push(`unknown key "${n}"`);1!==e.schema&&t.push('"schema" must be 1');const i=(n,i)=>{const r=e[n];return void 0!==r||i?!Array.isArray(r)||!r.every(w)||i&&0===r.length?(t.push(`"${n}" must be ${i?"a non-empty":"an"} array of globs`),[]):r:[]},r=i("include",!0),o=i("exclude",!1),s=[];void 0===e.allow||Array.isArray(e.allow)||t.push('"allow" must be an array');for(const[n,i]of(Array.isArray(e.allow)?e.allow:[]).entries()){if(!(p(i)&&w(i.file)&&w(i.match)&&w(i.reason))){t.push(`allow[${n}] needs "file", "match" and "reason", each a non-empty string`);continue}const e=Object.keys(i).filter(e=>!["file","match","reason"].includes(e));e.length&&t.push(`allow[${n}] has unknown keys: ${e.join(", ")}`),s.push({file:i.file,match:i.match,reason:i.reason})}if(t.length)throw new f(`${n}:\n ${t.join("\n ")}`);return{schema:1,include:r,exclude:o,allow:s}}(JSON.parse(i(s,"utf8")),v);a=A(r.loadTypeScript(),r.cwd,e)}catch(e){return r.err(`${x}: ${e instanceof f||e instanceof SyntaxError?e.message:String(e)}`),2}const c=a.findings.length>0||a.problems.length>0;if(o)return r.out(JSON.stringify({ok:!c,...a},null,2)),c?1:0;if(!c)return r.out(`${x}: ${a.files} files, no media origin written in code (harness API-15, SSOT-2).`),0;for(const e of a.findings)r.err(`${e.file}:${e.line} "${e.match}" is a media origin written in code.`);for(const e of a.problems)r.err(`${v}: ${e}`);return a.findings.length&&r.err(`\nReach the file through the storage backend, the URL the API returns, media() or imageCopyUrl() (harness API-15, SSOT-2). An origin that must stay goes in "allow" in ${v}, with its reason.`),1}(process.argv.slice(2),{cwd:process.cwd(),out:e=>console.log(e),err:e=>console.error(e),loadTypeScript:()=>function(t){for(const i of[n(process.cwd(),"package.json"),t])try{return e(i)("typescript")}catch{}throw new Error("typescript is not installed")}(import.meta.url),version:"8.34.0"});