@qredence/fleet 0.6.1 → 0.6.2

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 (271) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/web/client/assets/agent-disclosure-CMrxF7L-.js +1 -0
  3. package/dist/web/client/assets/analytics-stub-C2vgmGm_.js +1 -0
  4. package/dist/web/client/assets/artifacts-panel-DmQghvw8.js +1 -0
  5. package/dist/web/client/assets/{bot-Bs7QWJ2q.js → bot-DbB9BKL0.js} +1 -1
  6. package/dist/web/client/assets/bundle-mjs-cJTHqqzI.js +1 -0
  7. package/dist/web/client/assets/button-Dl0ce3Y5.js +1 -0
  8. package/dist/web/client/assets/{card-DA3Vnqay.js → card-DCEnYd2G.js} +1 -1
  9. package/dist/web/client/assets/chat-C24kD2SP.js +52 -0
  10. package/dist/web/client/assets/chat-command-palette-BIwjhE6s.js +1 -0
  11. package/dist/web/client/assets/check-B3LlvM65.js +1 -0
  12. package/dist/web/client/assets/{chevron-down-BEVGmnSb.js → chevron-down-DUUprRP5.js} +1 -1
  13. package/dist/web/client/assets/chevron-right-NVqQIoiO.js +1 -0
  14. package/dist/web/client/assets/{chunk-YOKDWASO-BAf618wr.js → chunk-YOKDWASO-Bte3iwlH.js} +6 -6
  15. package/dist/web/client/assets/citations-BUvM92nt.js +1 -0
  16. package/dist/web/client/assets/collapsible-CUxOjhDJ.js +1 -0
  17. package/dist/web/client/assets/command-Dv96gATQ.js +1 -0
  18. package/dist/web/client/assets/createBaseUIEventDetails-B58Jldei.js +1 -0
  19. package/dist/web/client/assets/createLucideIcon-_dfI7Arx.js +1 -0
  20. package/dist/web/client/assets/dialog-BCb4rQh0.js +1 -0
  21. package/dist/web/client/assets/dist-52wg4XPY.js +1 -0
  22. package/dist/web/client/assets/dist-DbHxXSgQ.js +41 -0
  23. package/dist/web/client/assets/ease-CMumuPlX.js +1 -0
  24. package/dist/web/client/assets/{eye-B0DFz5hL.js → eye-CDHqtVoE.js} +1 -1
  25. package/dist/web/client/assets/file-text-TmalmYrb.js +1 -0
  26. package/dist/web/client/assets/{folder-BC5p7qK7.js → folder-vuNT4shY.js} +1 -1
  27. package/dist/web/client/assets/{fork-picker-dialog-B7NNpVmW.js → fork-picker-dialog-CpwEwsxA.js} +1 -1
  28. package/dist/web/client/assets/gauge-BsDqNM1A.js +1 -0
  29. package/dist/web/client/assets/globals-DCtBkCSD.css +2 -0
  30. package/dist/web/client/assets/{hard-drive-CHqgr7VQ.js → hard-drive-BT7UxHQu.js} +1 -1
  31. package/dist/web/client/assets/highlighted-body-KPVGNVTW-CgT7gqvs.js +1 -0
  32. package/dist/web/client/assets/horizontal-resize-VLjLByUV.js +1 -0
  33. package/dist/web/client/assets/index-BGnQeUYE.js +12 -0
  34. package/dist/web/client/assets/input-CxZp56Im.js +1 -0
  35. package/dist/web/client/assets/input-group-D7lAfKHR.js +1 -0
  36. package/dist/web/client/assets/ipython-tool-CkHaO3PW.js +3 -0
  37. package/dist/web/client/assets/is-ref-object-BcRWZ4l7.js +1 -0
  38. package/dist/web/client/assets/{loader-circle-DjfHXUPB.js → loader-circle-B5GIZGxd.js} +1 -1
  39. package/dist/web/client/assets/markdown-BHkByC9K.js +2 -0
  40. package/dist/web/client/assets/{markdown-code-xNyjdZ4g.js → markdown-code-CDTRq-HZ.js} +1 -1
  41. package/dist/web/client/assets/mermaid-HWGCJPDP-CY3N5ECk.js +1 -0
  42. package/dist/web/client/assets/message-queue-Dl8wbCOu.js +1 -0
  43. package/dist/web/client/assets/model-selector-list-CRZCXeBf.js +1 -0
  44. package/dist/web/client/assets/{notify-DxL0VD7Z.js → notify-DjVixft7.js} +1 -1
  45. package/dist/web/client/assets/{openui-renderer-TLNe5e_Q.js → openui-renderer-Bkkx5kmA.js} +37 -37
  46. package/dist/web/client/assets/{package-CdcJFPf2.js → package-BKBPgwMP.js} +1 -1
  47. package/dist/web/client/assets/{pencil-DcUwsKLn.js → pencil-CdO6qfv3.js} +1 -1
  48. package/dist/web/client/assets/{plug-Dt6VN0zF.js → plug-BRROUIw-.js} +1 -1
  49. package/dist/web/client/assets/prompt-input-WaGSKZCU.js +1 -0
  50. package/dist/web/client/assets/prompt-suggestions-BNyTcyWg.js +1 -0
  51. package/dist/web/client/assets/provider-catalog-C0XBIasJ.js +1 -0
  52. package/dist/web/client/assets/provider-label-Cka0ep0S.js +1 -0
  53. package/dist/web/client/assets/react-CwJFpaho.js +1 -0
  54. package/dist/web/client/assets/react-dom-DX3XddaT.js +1 -0
  55. package/dist/web/client/assets/{refresh-cw-IThTJ3j-.js → refresh-cw-l9WPHRkq.js} +1 -1
  56. package/dist/web/client/assets/repl-panel-L9dmPqio.js +1 -0
  57. package/dist/web/client/assets/{resource-helpers-Q2T0YCMO.js → resource-helpers-BuWybA8l.js} +1 -1
  58. package/dist/web/client/assets/resources-panel-mT-aMCvV.js +1 -0
  59. package/dist/web/client/assets/right-panel-context-CS8tJMzE.js +1 -0
  60. package/dist/web/client/assets/right-panel-registry-BCW7fQTG.js +2 -0
  61. package/dist/web/client/assets/{rotate-ccw-WNFNkKQD.js → rotate-ccw-CfGhzOv7.js} +1 -1
  62. package/dist/web/client/assets/routes-BWe5Iz-2.js +16 -0
  63. package/dist/web/client/assets/safe-external-url-BbAom7Bm.js +1 -0
  64. package/dist/web/client/assets/search-BjcXAUrI.js +1 -0
  65. package/dist/web/client/assets/session-insights-panel-B0rl37lo.js +1 -0
  66. package/dist/web/client/assets/session-reasoning-panel-8D2P7iaJ.js +1 -0
  67. package/dist/web/client/assets/session-tool-renderer-3E3cv8D0.js +1395 -0
  68. package/dist/web/client/assets/settings-dialog-B8lHq2tT.js +2 -0
  69. package/dist/web/client/assets/{skeleton-CkR2VmWc.js → skeleton-C3mo31Qu.js} +1 -1
  70. package/dist/web/client/assets/skeleton-loaders-BMa_G4yX.js +1 -0
  71. package/dist/web/client/assets/{shield-check-CkA2viVW.js → sparkles-D8XIY8pN.js} +1 -1
  72. package/dist/web/client/assets/square-DQaQu9bp.js +1 -0
  73. package/dist/web/client/assets/{square-terminal-BYTN_I86.js → square-terminal-BsopiuN7.js} +1 -1
  74. package/dist/web/client/assets/{subagent-chat-panel-oeLDPDAK.js → subagent-chat-panel-C5ukYiUx.js} +1 -1
  75. package/dist/web/client/assets/subagent-transcript-lqNcSVbH.js +1 -0
  76. package/dist/web/client/assets/subagents-panel-SJKhaVTr.js +1 -0
  77. package/dist/web/client/assets/{sun-BWiZFty0.js → sun-D0llhiMU.js} +1 -1
  78. package/dist/web/client/assets/surfaces-CpfsGAIA.js +1 -0
  79. package/dist/web/client/assets/switch-D3FhZU-S.js +1 -0
  80. package/dist/web/client/assets/terminal-BQAKkBY6.js +1 -0
  81. package/dist/web/client/assets/toast-lnCWGgSE.js +1 -0
  82. package/dist/web/client/assets/tokens-Ch5WqXC_.js +1 -0
  83. package/dist/web/client/assets/tool-result-B_yb2JoE.js +4 -0
  84. package/dist/web/client/assets/tool-timeline-VnMRQoLS.js +1 -0
  85. package/dist/web/client/assets/{triangle-alert-CU-gd7ui.js → triangle-alert-GAYh_5d3.js} +1 -1
  86. package/dist/web/client/assets/ui-preferences-aG2U2jjW.js +1 -0
  87. package/dist/web/client/assets/use-presence-7I2qv4qI.js +1 -0
  88. package/dist/web/client/assets/use-reduced-motion-BOcG709U.js +9 -0
  89. package/dist/web/client/assets/useBaseUiId-D9ZGPZ6f.js +1 -0
  90. package/dist/web/client/assets/useControlled-CgAAWIy9.js +1 -0
  91. package/dist/web/client/assets/utils-Brtgag-m.js +1 -0
  92. package/dist/web/client/assets/virtualized-turn-list-BgUgX6tM.js +6 -0
  93. package/dist/web/client/assets/workspace-panel-CKF5JQl2.js +1 -0
  94. package/dist/web/client/assets/workspace-path-nav-DqPbETfJ.js +2 -0
  95. package/dist/web/client/assets/{wrench-BJNNe07k.js → wrench-Myc12BTA.js} +1 -1
  96. package/dist/web/client/assets/x-BGsDD848.js +1 -0
  97. package/dist/web/client/bundle-budget.json +6 -6
  98. package/dist/web/server/_tanstack-start-manifest_v-BDPifIFN-DTSNCHBX.js +91 -0
  99. package/dist/web/server/{artifacts-panel-D3ySO--V-XSL53CXL.js → artifacts-panel-BN3DgqfV-N73J6N5Y.js} +39 -44
  100. package/dist/web/server/{chat-command-palette-kAbXhWVg-TJWXH2WW.js → chat-command-palette-G8awyZRw-2QE7FXGT.js} +18 -18
  101. package/dist/web/server/{chunk-SALXCFVO.js → chunk-33QA7BQJ.js} +19 -1
  102. package/dist/web/server/{chunk-5UCAJBAH.js → chunk-43S5N7SH.js} +80 -47
  103. package/dist/web/server/chunk-4EBSM4JR.js +74 -0
  104. package/dist/web/server/{chunk-ZIFSJ3HQ.js → chunk-4OTHKQMG.js} +185 -109
  105. package/dist/web/server/{chunk-NNKJTKOQ.js → chunk-6SOMNRAX.js} +309 -279
  106. package/dist/web/server/chunk-7E76R7MB.js +2138 -0
  107. package/dist/web/server/{chunk-EBG3XFGQ.js → chunk-7FK6YEMA.js} +49 -44
  108. package/dist/web/server/chunk-7HXCGBUP.js +56 -0
  109. package/dist/web/server/{chunk-P66QQWUM.js → chunk-7NZ3FJDA.js} +14 -1
  110. package/dist/web/server/{chunk-HF7DG7PC.js → chunk-7UTDOTOU.js} +80 -78
  111. package/dist/web/server/{chunk-OZO5ARFA.js → chunk-BQROC4PL.js} +11 -2
  112. package/dist/web/server/{chunk-JTCCQZLN.js → chunk-BUXJSBE3.js} +2 -2
  113. package/dist/web/server/{chunk-NIZBFVJF.js → chunk-CAPTFJOC.js} +9 -7
  114. package/dist/web/server/{chunk-YGYOBX7G.js → chunk-CCYLHNZJ.js} +1767 -52
  115. package/dist/web/server/{chunk-DJMHPJBP.js → chunk-CHEC7TWB.js} +3 -1
  116. package/dist/web/server/{chunk-NJ4QEZHK.js → chunk-CW6KZUKT.js} +7 -5
  117. package/dist/web/server/chunk-DLA5TLKX.js +164 -0
  118. package/dist/web/server/{chunk-MNBGB2SP.js → chunk-E5HALE4M.js} +4 -4
  119. package/dist/web/server/{chunk-D27LRYVT.js → chunk-EDAWH2MT.js} +10 -9
  120. package/dist/web/server/{chunk-NGCQJ33Y.js → chunk-ENGEUJIH.js} +1494 -1644
  121. package/dist/web/server/{chunk-RIP3PBWT.js → chunk-ESM7OCRL.js} +4 -4
  122. package/dist/web/server/{chunk-O3HDELZ2.js → chunk-FT74GAAH.js} +676 -670
  123. package/dist/web/server/{chunk-WNCAL4HN.js → chunk-HQ5TEXHT.js} +132 -152
  124. package/dist/web/server/{chunk-YOM42BKD.js → chunk-IPV4GLJL.js} +16 -16
  125. package/dist/web/server/{chunk-UL2725KQ.js → chunk-IXGLKAPN.js} +54 -46
  126. package/dist/web/server/{chunk-3TIMGWWI.js → chunk-JPDRUSUD.js} +2 -2
  127. package/dist/web/server/{chunk-4WBFCB4O.js → chunk-JVOW2NWC.js} +179 -177
  128. package/dist/web/server/chunk-K6PTNSCW.js +31 -0
  129. package/dist/web/server/{chunk-AR7O7JXD.js → chunk-KBWUBWVJ.js} +24 -1
  130. package/dist/web/server/{chunk-QIULBRTU.js → chunk-MJXXVQNA.js} +79 -84
  131. package/dist/web/server/{chunk-NWDI3OWB.js → chunk-NCK2FJAD.js} +30 -26
  132. package/dist/web/server/{chunk-QFRCJWQQ.js → chunk-NMBH57JT.js} +94 -33
  133. package/dist/web/server/{chunk-EAJTWMK5.js → chunk-NZ6KQT2X.js} +2 -2
  134. package/dist/web/server/{chunk-2DDWXTVG.js → chunk-O2UYZT3Z.js} +11 -11
  135. package/dist/web/server/{chunk-DLUZFOG3.js → chunk-OMEDERPG.js} +21 -25
  136. package/dist/web/server/{chunk-BLSX7WHW.js → chunk-OSMP55KI.js} +23 -2
  137. package/dist/web/server/{chunk-S3PQ6HKH.js → chunk-OVJYUWSQ.js} +2 -2
  138. package/dist/web/server/{chunk-UCUFC553.js → chunk-RXUMFFUV.js} +3 -3
  139. package/dist/web/server/{chunk-DO2O27B2.js → chunk-SDV3P3IW.js} +2 -2
  140. package/dist/web/server/chunk-TLNZNR7C.js +46 -0
  141. package/dist/web/server/{chunk-FYDQK6UX.js → chunk-UDD5W4CR.js} +32 -10
  142. package/dist/web/server/{chunk-MNPHMZU7.js → chunk-UE32PAV2.js} +47 -57
  143. package/dist/web/server/{chunk-KP2PNDGL.js → chunk-WB2LJC3R.js} +29 -32
  144. package/dist/web/server/{chunk-ETTDO4UO.js → chunk-WTYNN6EV.js} +1 -26
  145. package/dist/web/server/{chunk-EJEPDVK6.js → chunk-WU6X3GPJ.js} +48 -5
  146. package/dist/web/server/{chunk-XIB6XNUX.js → chunk-XJ6TGSUB.js} +425 -404
  147. package/dist/web/server/{chunk-PLYZ7P2Y.js → chunk-YMPJMHXZ.js} +41 -4
  148. package/dist/web/server/{chunk-GETSIVNU.js → chunk-YVGCPUAW.js} +7 -7
  149. package/dist/web/server/{chunk-4UBOIY2S.js → chunk-ZNFXBGLK.js} +1 -1
  150. package/dist/web/server/chunk-ZOVXMNJM.js +477 -0
  151. package/dist/web/server/{fork-picker-dialog-Ds6Tgtu3-DIBWN7MV.js → fork-picker-dialog-YKlapaxN-DR5L74ST.js} +9 -8
  152. package/dist/web/server/{markdown-DTnMbD87-FXGGAPJD.js → markdown-BzNejPoZ-6ITTDAV6.js} +2 -3
  153. package/dist/web/server/{markdown-code-BStjFfsy-SSLWUT4S.js → markdown-code-DAwXuW6m-HHVELO6I.js} +3 -4
  154. package/dist/web/server/{fleet-message-queue-D_w8lSeY-T3HB7HVQ.js → message-queue-Demph1x4-RBJUC3AT.js} +14 -10
  155. package/dist/web/server/{model-selector-list-DxeGZoD2-P6S6FSJH.js → model-selector-list-BmzLiCx9-TK6JGGKU.js} +20 -19
  156. package/dist/web/server/{openui-renderer-MKFv6LlH-MDRSVFEY.js → openui-renderer-moJGf0LA-QCU3PI6H.js} +17 -18
  157. package/dist/web/server/{prompt-suggestions-BOItmGnD-YQA7RHLG.js → prompt-suggestions-yPZqX__K-3VGJC4IF.js} +7 -6
  158. package/dist/web/server/{repl-panel-CuyF8wt5-CHDT2Q3N.js → repl-panel-CgUF1qUw-3DFD2V53.js} +10 -11
  159. package/dist/web/server/{resources-panel-CE5pD4vy-V5FXBTYC.js → resources-panel-ChUliWV--JITAGS6Q.js} +6 -7
  160. package/dist/web/server/{router-Dg72SESP-PCWKLFRG.js → router-CPdFlpbe-LAD4MNZB.js} +3111 -235
  161. package/dist/web/server/{routes-BGrVtPYF-SURPAJN6.js → routes-hkom6S6L-DUPPQHPY.js} +5045 -4285
  162. package/dist/web/server/server.js +2 -2
  163. package/dist/web/server/{session-insights-panel-CUhdgvRt-VB2HUCQP.js → session-insights-panel-xgrkX1Rp-FDNURBXZ.js} +9 -9
  164. package/dist/web/server/{fleet-reasoning-panel-DG_vuvv0-NCZWEEIT.js → session-reasoning-panel-m1RgcIph-NUXGXVKE.js} +21 -22
  165. package/dist/web/server/session-tool-renderer-CglQ2ky7-2JVYNZG2.js +45 -0
  166. package/dist/web/server/{settings-dialog-CK0FJlTg-HZRBAXDZ.js → settings-dialog-BCEfmgtP-T3WQEZHB.js} +175 -1373
  167. package/dist/web/server/{subagent-chat-panel-gzamnTgK-PQ2TLLJF.js → subagent-chat-panel-BTwI1kdB-LKBWA4GD.js} +32 -41
  168. package/dist/web/server/{subagents-panel-Berjd7HJ-EI5ZKC6V.js → subagents-panel-8Z9_csoV-HYMEEBHB.js} +37 -45
  169. package/dist/web/server/{fleet-tool-timeline-D6yM4ZMz-ZSFVRRRI.js → tool-timeline-QL9k5dzA-RLU26HXT.js} +6 -6
  170. package/dist/web/server/{workspace-panel-CBBa_3UO-B4PPFPMA.js → workspace-panel-BHEB9nRM-TS62SYBA.js} +24 -31
  171. package/package.json +1 -1
  172. package/dist/web/client/assets/action-swap-roll-COzQ86wm.js +0 -1
  173. package/dist/web/client/assets/agent-activity-svETLf_5.js +0 -1
  174. package/dist/web/client/assets/agent-disclosure-DAMuuGcM.js +0 -1
  175. package/dist/web/client/assets/analytics-stub-B6zGMuSV.js +0 -1
  176. package/dist/web/client/assets/artifacts-panel-HVjqBMyx.js +0 -1
  177. package/dist/web/client/assets/artifacts-utils-N_kUFbz2.js +0 -1
  178. package/dist/web/client/assets/bundle-mjs-DKHVkVWu.js +0 -1
  179. package/dist/web/client/assets/button-C5wFDY5_.js +0 -1
  180. package/dist/web/client/assets/chat-BhYseKd6.js +0 -52
  181. package/dist/web/client/assets/chat-command-palette-LILDO_vG.js +0 -1
  182. package/dist/web/client/assets/check-JjHKAZas.js +0 -1
  183. package/dist/web/client/assets/chevron-right-DrJxToLs.js +0 -1
  184. package/dist/web/client/assets/chevron-up-CnSvySGH.js +0 -1
  185. package/dist/web/client/assets/circle-alert-CONlFReH.js +0 -1
  186. package/dist/web/client/assets/circle-x-CkKCB__4.js +0 -1
  187. package/dist/web/client/assets/citations-BPv8HIpf.js +0 -2
  188. package/dist/web/client/assets/cn-C8c0S2mI.js +0 -1
  189. package/dist/web/client/assets/collapsible-BoXtZZWN.js +0 -1
  190. package/dist/web/client/assets/command-PhicLCoO.js +0 -1
  191. package/dist/web/client/assets/createBaseUIEventDetails-DV0dQrBX.js +0 -1
  192. package/dist/web/client/assets/createLucideIcon-DwxZHm0M.js +0 -1
  193. package/dist/web/client/assets/dialog-pBGUjAQ7.js +0 -1
  194. package/dist/web/client/assets/dist-BPaFisIZ.js +0 -41
  195. package/dist/web/client/assets/earth-DGZXAN5r.js +0 -1
  196. package/dist/web/client/assets/ease-u56MhKYS.js +0 -1
  197. package/dist/web/client/assets/file-text-T-NcAlZs.js +0 -1
  198. package/dist/web/client/assets/fleet-message-queue-fbYYwMj0.js +0 -1
  199. package/dist/web/client/assets/fleet-pi-tool-renderer-BRgNnmaJ.js +0 -1395
  200. package/dist/web/client/assets/fleet-reasoning-panel-CjA2dwUJ.js +0 -1
  201. package/dist/web/client/assets/fleet-subagent-list-iKUtLJKZ.js +0 -1
  202. package/dist/web/client/assets/fleet-tool-timeline-C8heL7ae.js +0 -1
  203. package/dist/web/client/assets/gauge-DNpstbBn.js +0 -1
  204. package/dist/web/client/assets/globals-CuIiqOTg.css +0 -2
  205. package/dist/web/client/assets/highlighted-body-KPVGNVTW-sUCZ1fHv.js +0 -1
  206. package/dist/web/client/assets/horizontal-resize-Cp3iHMH7.js +0 -1
  207. package/dist/web/client/assets/image-BbPmlw-n.js +0 -1
  208. package/dist/web/client/assets/index-CSGplyr_.js +0 -12
  209. package/dist/web/client/assets/input-PcdubeKn.js +0 -1
  210. package/dist/web/client/assets/input-group-C2HJEZvl.js +0 -1
  211. package/dist/web/client/assets/ipython-tool-CyuMOxz1.js +0 -3
  212. package/dist/web/client/assets/layout-gyLzPvVv.js +0 -1
  213. package/dist/web/client/assets/markdown-lvexwooo.js +0 -2
  214. package/dist/web/client/assets/mermaid-HWGCJPDP-Bm7CuruA.js +0 -1
  215. package/dist/web/client/assets/message-square-hbDao-A1.js +0 -1
  216. package/dist/web/client/assets/model-selector-list-CoXX358G.js +0 -1
  217. package/dist/web/client/assets/plus-DXN1Bg_z.js +0 -1
  218. package/dist/web/client/assets/prompt-input-fwP8TsgQ.js +0 -1
  219. package/dist/web/client/assets/prompt-suggestions-BlGXmWS7.js +0 -1
  220. package/dist/web/client/assets/provider-catalog-DYMFdbKc.js +0 -1
  221. package/dist/web/client/assets/provider-label-B4q5mI65.js +0 -1
  222. package/dist/web/client/assets/react-dom-Bwxum3ti.js +0 -1
  223. package/dist/web/client/assets/repl-panel-C5om8MGU.js +0 -1
  224. package/dist/web/client/assets/resources-panel-D867-goy.js +0 -1
  225. package/dist/web/client/assets/right-panel-context-DHlNWJsF.js +0 -1
  226. package/dist/web/client/assets/right-panel-registry-BBlxLxnx.js +0 -2
  227. package/dist/web/client/assets/routes-XGsAIqBJ.js +0 -16
  228. package/dist/web/client/assets/safe-external-url-D3PJJIcM.js +0 -1
  229. package/dist/web/client/assets/search-eWVnAJsb.js +0 -1
  230. package/dist/web/client/assets/session-insights-panel-YnaXvTpi.js +0 -1
  231. package/dist/web/client/assets/settings-dialog-BSBasR3o.js +0 -2
  232. package/dist/web/client/assets/skeleton-loaders-C9vHwAYV.js +0 -1
  233. package/dist/web/client/assets/sparkles-DuclzqlE.js +0 -1
  234. package/dist/web/client/assets/square-Bhn8gjr0.js +0 -1
  235. package/dist/web/client/assets/subagent-transcript-DaVHjNUH.js +0 -1
  236. package/dist/web/client/assets/subagent-utils-DDH5qm9Z.js +0 -1
  237. package/dist/web/client/assets/subagents-panel-D_aVgSCi.js +0 -1
  238. package/dist/web/client/assets/surfaces-BhAXz9So.js +0 -1
  239. package/dist/web/client/assets/switch-WhXeJNNY.js +0 -1
  240. package/dist/web/client/assets/terminal-DOS1s1gm.js +0 -1
  241. package/dist/web/client/assets/toast-D3c9XeGe.js +0 -1
  242. package/dist/web/client/assets/tool-result-Cki8WUNc.js +0 -4
  243. package/dist/web/client/assets/ui-preferences-CImQGZm_.js +0 -1
  244. package/dist/web/client/assets/use-reduced-motion-eORd7fqW.js +0 -9
  245. package/dist/web/client/assets/useBaseUiId-CHqXB2UQ.js +0 -1
  246. package/dist/web/client/assets/useControlled-CJJ9BOQB.js +0 -1
  247. package/dist/web/client/assets/utils-Eg7xtNmV.js +0 -1
  248. package/dist/web/client/assets/virtualized-turn-list-CdMa-ydT.js +0 -6
  249. package/dist/web/client/assets/workspace-panel-77bDbprs.js +0 -1
  250. package/dist/web/client/assets/workspace-path-nav-C0AQNZyy.js +0 -1
  251. package/dist/web/client/assets/x-CsRC_tCI.js +0 -1
  252. package/dist/web/server/_tanstack-start-manifest_v-0L7fqnH4-KMVGUFE4.js +0 -95
  253. package/dist/web/server/agent-activity-BuEE6iVw-CDZLK4D2.js +0 -514
  254. package/dist/web/server/chunk-2JHTYWD5.js +0 -1196
  255. package/dist/web/server/chunk-3JMESBAT.js +0 -35
  256. package/dist/web/server/chunk-42XU6WV7.js +0 -56
  257. package/dist/web/server/chunk-AQ66E5OW.js +0 -33
  258. package/dist/web/server/chunk-BYXBJQAS.js +0 -0
  259. package/dist/web/server/chunk-FAGDMGLK.js +0 -6589
  260. package/dist/web/server/chunk-FJV6EQDW.js +0 -36
  261. package/dist/web/server/chunk-GL6HWDJB.js +0 -19
  262. package/dist/web/server/chunk-L46H6IDX.js +0 -13
  263. package/dist/web/server/chunk-NIDBN7BQ.js +0 -86
  264. package/dist/web/server/chunk-ON33WDZX.js +0 -31
  265. package/dist/web/server/chunk-PVJCTQFK.js +0 -22
  266. package/dist/web/server/chunk-QPNUGF3V.js +0 -35
  267. package/dist/web/server/chunk-S5LFXXDY.js +0 -1265
  268. package/dist/web/server/chunk-VPKX7QRU.js +0 -42
  269. package/dist/web/server/chunk-ZCVWADNW.js +0 -37
  270. package/dist/web/server/fleet-pi-tool-renderer-qwc-qZFq-4U556N5Q.js +0 -51
  271. package/dist/web/server/fleet-subagent-list-BGb0PjhF-2X67FMUV.js +0 -18
@@ -1,1196 +0,0 @@
1
- import {
2
- Bot
3
- } from "./chunk-UCA4WN66.js";
4
- import {
5
- GitBranch,
6
- Globe,
7
- ShieldCheck
8
- } from "./chunk-BLSX7WHW.js";
9
- import {
10
- Sparkles
11
- } from "./chunk-3JMESBAT.js";
12
- import {
13
- LoaderCircle
14
- } from "./chunk-TNL4YV63.js";
15
- import {
16
- KNOWN_PROVIDERS,
17
- isCustomProviderId,
18
- isOccProviderId
19
- } from "./chunk-RJOANOT4.js";
20
- import {
21
- DialogBackdrop,
22
- DialogClose,
23
- DialogDescription$1,
24
- DialogPopup,
25
- DialogPortal$1,
26
- DialogTitle$1,
27
- SurfaceProvider,
28
- getNodeChildren,
29
- isMouseLikePointerType,
30
- surfaceClasses,
31
- useFloatingParentNodeId,
32
- useFloatingTree,
33
- useRenderDialogRoot,
34
- useSurface
35
- } from "./chunk-4WBFCB4O.js";
36
- import {
37
- Button,
38
- Timeout,
39
- contains,
40
- cva,
41
- getTarget,
42
- isInteractiveElement,
43
- isTargetInsideEnabledTrigger,
44
- mergeCleanups,
45
- ownerDocument,
46
- require_shim,
47
- useTimeout
48
- } from "./chunk-WNCAL4HN.js";
49
- import {
50
- useValueAsRef
51
- } from "./chunk-MNBGB2SP.js";
52
- import {
53
- NOOP,
54
- addEventListener,
55
- createChangeEventDetails,
56
- isElement,
57
- triggerHover,
58
- useIsoLayoutEffect,
59
- useOnMount,
60
- useRefWithInit,
61
- useStableCallback
62
- } from "./chunk-XIB6XNUX.js";
63
- import {
64
- Plug
65
- } from "./chunk-AHTO6GDS.js";
66
- import {
67
- createLucideIcon
68
- } from "./chunk-4ZIEVI5O.js";
69
- import {
70
- cn
71
- } from "./chunk-DJMHPJBP.js";
72
-
73
- // web/app/dist/server/assets/provider-label-CovTgPRx.js
74
- import * as React$1 from "react";
75
- import { jsx, jsxs } from "react/jsx-runtime";
76
- import * as ReactDOM from "react-dom";
77
- var ArrowLeft = createLucideIcon("arrow-left", [["path", {
78
- d: "m12 19-7-7 7-7",
79
- key: "1l729n"
80
- }], ["path", {
81
- d: "M19 12H5",
82
- key: "x3x0zl"
83
- }]]);
84
- var Brain = createLucideIcon("brain", [
85
- ["path", {
86
- d: "M12 18V5",
87
- key: "adv99a"
88
- }],
89
- ["path", {
90
- d: "M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4",
91
- key: "1e3is1"
92
- }],
93
- ["path", {
94
- d: "M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5",
95
- key: "1gqd8o"
96
- }],
97
- ["path", {
98
- d: "M17.997 5.125a4 4 0 0 1 2.526 5.77",
99
- key: "iwvgf7"
100
- }],
101
- ["path", {
102
- d: "M18 18a4 4 0 0 0 2-7.464",
103
- key: "efp6ie"
104
- }],
105
- ["path", {
106
- d: "M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517",
107
- key: "1gq6am"
108
- }],
109
- ["path", {
110
- d: "M6 18a4 4 0 0 1-2-7.464",
111
- key: "k1g0md"
112
- }],
113
- ["path", {
114
- d: "M6.003 5.125a4 4 0 0 0-2.526 5.77",
115
- key: "q97ue3"
116
- }]
117
- ]);
118
- var Cpu = createLucideIcon("cpu", [
119
- ["path", {
120
- d: "M12 20v2",
121
- key: "1lh1kg"
122
- }],
123
- ["path", {
124
- d: "M12 2v2",
125
- key: "tus03m"
126
- }],
127
- ["path", {
128
- d: "M17 20v2",
129
- key: "1rnc9c"
130
- }],
131
- ["path", {
132
- d: "M17 2v2",
133
- key: "11trls"
134
- }],
135
- ["path", {
136
- d: "M2 12h2",
137
- key: "1t8f8n"
138
- }],
139
- ["path", {
140
- d: "M2 17h2",
141
- key: "7oei6x"
142
- }],
143
- ["path", {
144
- d: "M2 7h2",
145
- key: "asdhe0"
146
- }],
147
- ["path", {
148
- d: "M20 12h2",
149
- key: "1q8mjw"
150
- }],
151
- ["path", {
152
- d: "M20 17h2",
153
- key: "1fpfkl"
154
- }],
155
- ["path", {
156
- d: "M20 7h2",
157
- key: "1o8tra"
158
- }],
159
- ["path", {
160
- d: "M7 20v2",
161
- key: "4gnj0m"
162
- }],
163
- ["path", {
164
- d: "M7 2v2",
165
- key: "1i4yhu"
166
- }],
167
- ["rect", {
168
- x: "4",
169
- y: "4",
170
- width: "16",
171
- height: "16",
172
- rx: "2",
173
- key: "1vbyd7"
174
- }],
175
- ["rect", {
176
- x: "8",
177
- y: "8",
178
- width: "8",
179
- height: "8",
180
- rx: "1",
181
- key: "z9xiuo"
182
- }]
183
- ]);
184
- var Server = createLucideIcon("server", [
185
- ["rect", {
186
- width: "20",
187
- height: "8",
188
- x: "2",
189
- y: "2",
190
- rx: "2",
191
- ry: "2",
192
- key: "ngkwjq"
193
- }],
194
- ["rect", {
195
- width: "20",
196
- height: "8",
197
- x: "2",
198
- y: "14",
199
- rx: "2",
200
- ry: "2",
201
- key: "iecqi9"
202
- }],
203
- ["line", {
204
- x1: "6",
205
- x2: "6.01",
206
- y1: "6",
207
- y2: "6",
208
- key: "16zg32"
209
- }],
210
- ["line", {
211
- x1: "6",
212
- x2: "6.01",
213
- y1: "18",
214
- y2: "18",
215
- key: "nzw8ys"
216
- }]
217
- ]);
218
- var Settings = createLucideIcon("settings", [["path", {
219
- d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",
220
- key: "1i5ecw"
221
- }], ["circle", {
222
- cx: "12",
223
- cy: "12",
224
- r: "3",
225
- key: "1v7zrd"
226
- }]]);
227
- var Trash2 = createLucideIcon("trash-2", [
228
- ["path", {
229
- d: "M10 11v6",
230
- key: "nco0om"
231
- }],
232
- ["path", {
233
- d: "M14 11v6",
234
- key: "outv1u"
235
- }],
236
- ["path", {
237
- d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",
238
- key: "miytrc"
239
- }],
240
- ["path", {
241
- d: "M3 6h18",
242
- key: "d0wm0j"
243
- }],
244
- ["path", {
245
- d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
246
- key: "e791ji"
247
- }]
248
- ]);
249
- var Wind = createLucideIcon("wind", [
250
- ["path", {
251
- d: "M12.8 19.6A2 2 0 1 0 14 16H2",
252
- key: "148xed"
253
- }],
254
- ["path", {
255
- d: "M17.5 8a2.5 2.5 0 1 1 2 4H2",
256
- key: "1u4tom"
257
- }],
258
- ["path", {
259
- d: "M9.8 4.4A2 2 0 1 1 11 8H2",
260
- key: "75valh"
261
- }]
262
- ]);
263
- var Zap = createLucideIcon("zap", [["path", {
264
- d: "M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z",
265
- key: "1v7up4"
266
- }]]);
267
- var import_shim = require_shim();
268
- function resolveValue(value, pointerType) {
269
- if (pointerType != null && !isMouseLikePointerType(pointerType)) return 0;
270
- if (typeof value === "function") return value();
271
- return value;
272
- }
273
- function getDelay(value, prop, pointerType) {
274
- const result = resolveValue(value, pointerType);
275
- if (typeof result === "number") return result;
276
- return result?.[prop];
277
- }
278
- function getRestMs(value) {
279
- if (typeof value === "function") return value();
280
- return value;
281
- }
282
- function isClickLikeOpenEvent(openEventType, interactedInside) {
283
- return interactedInside || openEventType === "click" || openEventType === "mousedown";
284
- }
285
- function isHoverOpenEvent(openEventType) {
286
- return openEventType?.includes("mouse") && openEventType !== "mousedown";
287
- }
288
- function usePopupHandleStore(handle) {
289
- const subscribe = React$1.useCallback((listener) => {
290
- if (handle === void 0) return NOOP;
291
- return handle.subscribeStore(listener);
292
- }, [handle]);
293
- const getSnapshot = React$1.useCallback(() => {
294
- return handle === void 0 ? void 0 : handle.store;
295
- }, [handle]);
296
- return (0, import_shim.useSyncExternalStore)(subscribe, getSnapshot, () => handle?.serverStore);
297
- }
298
- var HoverInteraction = class HoverInteraction2 {
299
- constructor() {
300
- this.pointerType = void 0;
301
- this.interactedInside = false;
302
- this.handler = void 0;
303
- this.blockMouseMove = true;
304
- this.performedPointerEventsMutation = false;
305
- this.pointerEventsScopeElement = null;
306
- this.pointerEventsReferenceElement = null;
307
- this.pointerEventsFloatingElement = null;
308
- this.restTimeoutPending = false;
309
- this.openChangeTimeout = new Timeout();
310
- this.restTimeout = new Timeout();
311
- this.handleCloseOptions = void 0;
312
- }
313
- static create() {
314
- return new HoverInteraction2();
315
- }
316
- dispose = () => {
317
- this.openChangeTimeout.clear();
318
- this.restTimeout.clear();
319
- };
320
- disposeEffect = () => {
321
- return this.dispose;
322
- };
323
- };
324
- var pointerEventsMutationOwnerByScopeElement = /* @__PURE__ */ new WeakMap();
325
- function clearSafePolygonPointerEventsMutation(instance) {
326
- if (!instance.performedPointerEventsMutation) return;
327
- const scopeElement = instance.pointerEventsScopeElement;
328
- if (scopeElement && pointerEventsMutationOwnerByScopeElement.get(scopeElement) === instance) {
329
- instance.pointerEventsScopeElement?.style.removeProperty("pointer-events");
330
- instance.pointerEventsReferenceElement?.style.removeProperty("pointer-events");
331
- instance.pointerEventsFloatingElement?.style.removeProperty("pointer-events");
332
- pointerEventsMutationOwnerByScopeElement.delete(scopeElement);
333
- }
334
- instance.performedPointerEventsMutation = false;
335
- instance.pointerEventsScopeElement = null;
336
- instance.pointerEventsReferenceElement = null;
337
- instance.pointerEventsFloatingElement = null;
338
- }
339
- function applySafePolygonPointerEventsMutation(instance, options) {
340
- const { scopeElement, referenceElement, floatingElement } = options;
341
- const existingOwner = pointerEventsMutationOwnerByScopeElement.get(scopeElement);
342
- if (existingOwner && existingOwner !== instance) clearSafePolygonPointerEventsMutation(existingOwner);
343
- clearSafePolygonPointerEventsMutation(instance);
344
- instance.performedPointerEventsMutation = true;
345
- instance.pointerEventsScopeElement = scopeElement;
346
- instance.pointerEventsReferenceElement = referenceElement;
347
- instance.pointerEventsFloatingElement = floatingElement;
348
- pointerEventsMutationOwnerByScopeElement.set(scopeElement, instance);
349
- scopeElement.style.pointerEvents = "none";
350
- referenceElement.style.pointerEvents = "auto";
351
- floatingElement.style.pointerEvents = "auto";
352
- }
353
- function useHoverInteractionSharedState(store) {
354
- const data = store.context.dataRef.current;
355
- const instance = useRefWithInit(() => data.hoverInteractionState ?? HoverInteraction.create()).current;
356
- if (!data.hoverInteractionState) data.hoverInteractionState = instance;
357
- useOnMount(data.hoverInteractionState.disposeEffect);
358
- return data.hoverInteractionState;
359
- }
360
- function useHoverFloatingInteraction(context, parameters = {}) {
361
- const { enabled = true, closeDelay: closeDelayProp = 0, nodeId: nodeIdProp } = parameters;
362
- const store = "rootStore" in context ? context.rootStore : context;
363
- const open = store.useState("open");
364
- const floatingElement = store.useState("floatingElement");
365
- const domReferenceElement = store.useState("domReferenceElement");
366
- const { dataRef } = store.context;
367
- const tree = useFloatingTree();
368
- const parentId = useFloatingParentNodeId();
369
- const instance = useHoverInteractionSharedState(store);
370
- const childClosedTimeout = useTimeout();
371
- const isClickLikeOpenEvent$2 = useStableCallback(() => {
372
- return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside);
373
- });
374
- const isHoverOpen = useStableCallback(() => {
375
- return isHoverOpenEvent(dataRef.current.openEvent?.type);
376
- });
377
- const clearPointerEvents = useStableCallback(() => {
378
- clearSafePolygonPointerEventsMutation(instance);
379
- });
380
- useIsoLayoutEffect(() => {
381
- if (!open) {
382
- instance.pointerType = void 0;
383
- instance.restTimeoutPending = false;
384
- instance.interactedInside = false;
385
- clearPointerEvents();
386
- }
387
- }, [
388
- open,
389
- instance,
390
- clearPointerEvents
391
- ]);
392
- React$1.useEffect(() => {
393
- return clearPointerEvents;
394
- }, [clearPointerEvents]);
395
- useIsoLayoutEffect(() => {
396
- if (!enabled) return;
397
- if (open && instance.handleCloseOptions?.blockPointerEvents && isHoverOpen() && isElement(domReferenceElement) && floatingElement) {
398
- const ref = domReferenceElement;
399
- const floatingEl = floatingElement;
400
- const doc = ownerDocument(floatingElement);
401
- const parentFloating = tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.elements.floating;
402
- if (parentFloating) parentFloating.style.pointerEvents = "";
403
- const cachedScopeElement = instance.pointerEventsScopeElement !== floatingEl ? instance.pointerEventsScopeElement : null;
404
- const parentScopeElement = parentFloating !== floatingEl ? parentFloating : null;
405
- const scopeElement = instance.handleCloseOptions?.getScope?.() ?? cachedScopeElement ?? parentScopeElement ?? ref.closest("[data-rootownerid]") ?? doc.body;
406
- applySafePolygonPointerEventsMutation(instance, {
407
- scopeElement,
408
- referenceElement: ref,
409
- floatingElement: floatingEl
410
- });
411
- return () => {
412
- clearPointerEvents();
413
- };
414
- }
415
- }, [
416
- enabled,
417
- open,
418
- domReferenceElement,
419
- floatingElement,
420
- instance,
421
- isHoverOpen,
422
- tree,
423
- parentId,
424
- clearPointerEvents
425
- ]);
426
- React$1.useEffect(() => {
427
- if (!enabled) return;
428
- function hasParentChildren() {
429
- return !!(tree && parentId && getNodeChildren(tree.nodesRef.current, parentId).length > 0);
430
- }
431
- function closeWithDelay(event) {
432
- const closeDelay = getDelay(closeDelayProp, "close", instance.pointerType);
433
- const close = () => {
434
- store.setOpen(false, createChangeEventDetails(triggerHover, event));
435
- tree?.events.emit("floating.closed", event);
436
- };
437
- if (closeDelay) instance.openChangeTimeout.start(closeDelay, close);
438
- else {
439
- instance.openChangeTimeout.clear();
440
- close();
441
- }
442
- }
443
- function handleInteractInside(event) {
444
- const target = getTarget(event);
445
- if (!isInteractiveElement(target)) {
446
- instance.interactedInside = false;
447
- return;
448
- }
449
- instance.interactedInside = target?.closest("[aria-haspopup]") != null;
450
- }
451
- function onFloatingMouseEnter() {
452
- instance.openChangeTimeout.clear();
453
- childClosedTimeout.clear();
454
- tree?.events.off("floating.closed", onNodeClosed);
455
- clearPointerEvents();
456
- }
457
- function onFloatingMouseLeave(event) {
458
- if (hasParentChildren() && tree) {
459
- tree.events.on("floating.closed", onNodeClosed);
460
- return;
461
- }
462
- if (isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements)) return;
463
- const currentNodeId = dataRef.current.floatingContext?.nodeId ?? nodeIdProp;
464
- const relatedTarget = event.relatedTarget;
465
- if (tree && currentNodeId && isElement(relatedTarget) && getNodeChildren(tree.nodesRef.current, currentNodeId, false).some((node) => contains(node.context?.elements.floating, relatedTarget))) return;
466
- if (instance.handler) {
467
- instance.handler(event);
468
- return;
469
- }
470
- clearPointerEvents();
471
- if (isHoverOpen() && !isClickLikeOpenEvent$2()) closeWithDelay(event);
472
- }
473
- function onNodeClosed(event) {
474
- if (!tree || !parentId || hasParentChildren()) return;
475
- childClosedTimeout.start(0, () => {
476
- tree.events.off("floating.closed", onNodeClosed);
477
- store.setOpen(false, createChangeEventDetails(triggerHover, event));
478
- tree.events.emit("floating.closed", event);
479
- });
480
- }
481
- const floating = floatingElement;
482
- return mergeCleanups(floating && addEventListener(floating, "mouseenter", onFloatingMouseEnter), floating && addEventListener(floating, "mouseleave", onFloatingMouseLeave), floating && addEventListener(floating, "pointerdown", handleInteractInside, true), () => {
483
- tree?.events.off("floating.closed", onNodeClosed);
484
- });
485
- }, [
486
- enabled,
487
- floatingElement,
488
- store,
489
- dataRef,
490
- closeDelayProp,
491
- nodeIdProp,
492
- isHoverOpen,
493
- isClickLikeOpenEvent$2,
494
- clearPointerEvents,
495
- instance,
496
- tree,
497
- parentId,
498
- childClosedTimeout
499
- ]);
500
- }
501
- var EMPTY_REF = { current: null };
502
- function useHoverReferenceInteraction(context, props = {}) {
503
- const { enabled = true, delay = 0, handleClose = null, mouseOnly = false, restMs = 0, move = true, triggerElementRef = EMPTY_REF, externalTree, isActiveTrigger = true, getHandleCloseContext, isClosing, shouldOpen: shouldOpenProp, guardStaleOpen = false } = props;
504
- const store = "rootStore" in context ? context.rootStore : context;
505
- const { dataRef, events } = store.context;
506
- const tree = useFloatingTree(externalTree);
507
- const instance = useHoverInteractionSharedState(store);
508
- const isHoverCloseActiveRef = React$1.useRef(false);
509
- const handleCloseRef = useValueAsRef(handleClose);
510
- const delayRef = useValueAsRef(delay);
511
- const restMsRef = useValueAsRef(restMs);
512
- const enabledRef = useValueAsRef(enabled);
513
- const shouldOpenRef = useValueAsRef(shouldOpenProp);
514
- const isClosingRef = useValueAsRef(isClosing);
515
- const isClickLikeOpenEvent$1 = useStableCallback(() => {
516
- return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside);
517
- });
518
- const checkShouldOpen = useStableCallback(() => {
519
- return shouldOpenRef.current?.() !== false;
520
- });
521
- const isOverInactiveTrigger = useStableCallback((currentDomReference, currentTarget, target) => {
522
- const allTriggers = store.context.triggerElements;
523
- if (allTriggers.hasElement(currentTarget)) return !currentDomReference || !contains(currentDomReference, currentTarget);
524
- if (!isElement(target)) return false;
525
- const targetElement = target;
526
- return allTriggers.hasMatchingElement((trigger) => contains(trigger, targetElement)) && (!currentDomReference || !contains(currentDomReference, targetElement));
527
- });
528
- const cleanupMouseMoveHandler = useStableCallback(() => {
529
- if (!instance.handler) return;
530
- ownerDocument(store.select("domReferenceElement")).removeEventListener("mousemove", instance.handler);
531
- instance.handler = void 0;
532
- });
533
- const clearPointerEvents = useStableCallback(() => {
534
- clearSafePolygonPointerEventsMutation(instance);
535
- });
536
- if (isActiveTrigger) instance.handleCloseOptions = handleCloseRef.current?.__options;
537
- React$1.useEffect(() => cleanupMouseMoveHandler, [cleanupMouseMoveHandler]);
538
- React$1.useEffect(() => {
539
- if (!enabled) return;
540
- function onOpenChangeLocal(details) {
541
- if (!details.open) {
542
- isHoverCloseActiveRef.current = details.reason === triggerHover;
543
- cleanupMouseMoveHandler();
544
- instance.openChangeTimeout.clear();
545
- instance.restTimeout.clear();
546
- instance.blockMouseMove = true;
547
- instance.restTimeoutPending = false;
548
- } else isHoverCloseActiveRef.current = false;
549
- }
550
- events.on("openchange", onOpenChangeLocal);
551
- return () => {
552
- events.off("openchange", onOpenChangeLocal);
553
- };
554
- }, [
555
- enabled,
556
- events,
557
- instance,
558
- cleanupMouseMoveHandler
559
- ]);
560
- React$1.useEffect(() => {
561
- if (!enabled) return;
562
- function closeWithDelay(event, runElseBranch = true) {
563
- const closeDelay = getDelay(delayRef.current, "close", instance.pointerType);
564
- if (closeDelay) instance.openChangeTimeout.start(closeDelay, () => {
565
- store.setOpen(false, createChangeEventDetails(triggerHover, event));
566
- tree?.events.emit("floating.closed", event);
567
- });
568
- else if (runElseBranch) {
569
- instance.openChangeTimeout.clear();
570
- store.setOpen(false, createChangeEventDetails(triggerHover, event));
571
- tree?.events.emit("floating.closed", event);
572
- }
573
- }
574
- const trigger = triggerElementRef.current ?? (isActiveTrigger ? store.select("domReferenceElement") : null);
575
- if (!isElement(trigger)) return;
576
- function onMouseEnter(event) {
577
- instance.openChangeTimeout.clear();
578
- instance.blockMouseMove = false;
579
- if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) return;
580
- const restMsValue = getRestMs(restMsRef.current);
581
- const openDelay = getDelay(delayRef.current, "open", instance.pointerType);
582
- const eventTarget = getTarget(event);
583
- const currentTarget = event.currentTarget ?? null;
584
- const currentDomReference = store.select("domReferenceElement");
585
- let triggerNode = currentTarget;
586
- if (isElement(eventTarget) && !store.context.triggerElements.hasElement(eventTarget)) {
587
- for (const triggerElement of store.context.triggerElements.elements()) if (contains(triggerElement, eventTarget)) {
588
- triggerNode = triggerElement;
589
- break;
590
- }
591
- }
592
- if (isElement(currentTarget) && isElement(currentDomReference) && !store.context.triggerElements.hasElement(currentTarget) && contains(currentTarget, currentDomReference)) triggerNode = currentDomReference;
593
- const isOverInactive = triggerNode == null ? false : isOverInactiveTrigger(currentDomReference, triggerNode, eventTarget);
594
- const isOpen = store.select("open");
595
- const isInClosingTransition = isClosingRef.current?.() ?? store.select("transitionStatus") === "ending";
596
- const isHoverCloseTransition = !isOpen && isInClosingTransition && isHoverCloseActiveRef.current;
597
- const isReenteringSameTriggerDuringCloseTransition = !isOverInactive && isElement(triggerNode) && isElement(currentDomReference) && contains(currentDomReference, triggerNode) && isHoverCloseTransition;
598
- const isRestOnlyDelay = restMsValue > 0 && !openDelay;
599
- const shouldOpenImmediately = isOverInactive && (isOpen || isHoverCloseTransition) || isReenteringSameTriggerDuringCloseTransition;
600
- const shouldOpen = !isOpen || isOverInactive;
601
- if (shouldOpenImmediately) {
602
- if (checkShouldOpen()) store.setOpen(true, createChangeEventDetails(triggerHover, event, triggerNode));
603
- return;
604
- }
605
- if (isRestOnlyDelay) return;
606
- if (openDelay) instance.openChangeTimeout.start(openDelay, () => {
607
- if (shouldOpen && checkShouldOpen()) store.setOpen(true, createChangeEventDetails(triggerHover, event, triggerNode));
608
- });
609
- else if (shouldOpen) {
610
- if (checkShouldOpen()) store.setOpen(true, createChangeEventDetails(triggerHover, event, triggerNode));
611
- }
612
- }
613
- function onMouseLeave(event) {
614
- if (isClickLikeOpenEvent$1()) {
615
- clearPointerEvents();
616
- return;
617
- }
618
- cleanupMouseMoveHandler();
619
- const domReferenceElement = store.select("domReferenceElement");
620
- const doc = ownerDocument(domReferenceElement);
621
- instance.restTimeout.clear();
622
- instance.restTimeoutPending = false;
623
- const handleCloseContextBase = dataRef.current.floatingContext ?? getHandleCloseContext?.();
624
- if (isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements)) return;
625
- if (handleCloseRef.current && handleCloseContextBase) {
626
- if (!store.select("open")) instance.openChangeTimeout.clear();
627
- const currentTrigger = triggerElementRef.current;
628
- instance.handler = handleCloseRef.current({
629
- ...handleCloseContextBase,
630
- tree,
631
- x: event.clientX,
632
- y: event.clientY,
633
- onClose() {
634
- clearPointerEvents();
635
- cleanupMouseMoveHandler();
636
- if (enabledRef.current && !isClickLikeOpenEvent$1() && currentTrigger === store.select("domReferenceElement")) closeWithDelay(event, true);
637
- }
638
- });
639
- doc.addEventListener("mousemove", instance.handler);
640
- instance.handler(event);
641
- return;
642
- }
643
- if (instance.pointerType === "touch" ? !contains(store.select("floatingElement"), event.relatedTarget) : true) closeWithDelay(event);
644
- }
645
- function onMouseOut(event) {
646
- if (contains(trigger, event.relatedTarget)) return;
647
- instance.openChangeTimeout.clear();
648
- instance.restTimeout.clear();
649
- instance.restTimeoutPending = false;
650
- }
651
- const staleOpenGuard = guardStaleOpen ? addEventListener(trigger, "mouseout", onMouseOut) : void 0;
652
- if (move) return mergeCleanups(addEventListener(trigger, "mousemove", onMouseEnter, { once: true }), addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave), staleOpenGuard);
653
- return mergeCleanups(addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave), staleOpenGuard);
654
- }, [
655
- cleanupMouseMoveHandler,
656
- clearPointerEvents,
657
- dataRef,
658
- delayRef,
659
- store,
660
- enabled,
661
- handleCloseRef,
662
- instance,
663
- isActiveTrigger,
664
- isOverInactiveTrigger,
665
- isClickLikeOpenEvent$1,
666
- mouseOnly,
667
- move,
668
- restMsRef,
669
- triggerElementRef,
670
- tree,
671
- enabledRef,
672
- getHandleCloseContext,
673
- isClosingRef,
674
- checkShouldOpen,
675
- guardStaleOpen
676
- ]);
677
- return React$1.useMemo(() => {
678
- if (!enabled) return;
679
- function setPointerRef(event) {
680
- instance.pointerType = event.pointerType;
681
- }
682
- return {
683
- onPointerDown: setPointerRef,
684
- onPointerEnter: setPointerRef,
685
- onMouseMove(event) {
686
- const { nativeEvent } = event;
687
- const trigger = event.currentTarget;
688
- const currentDomReference = store.select("domReferenceElement");
689
- const currentOpen = store.select("open");
690
- const isOverInactive = isOverInactiveTrigger(currentDomReference, trigger, event.target);
691
- if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) return;
692
- if (currentOpen && isOverInactive && instance.handleCloseOptions?.blockPointerEvents) {
693
- const floatingElement = store.select("floatingElement");
694
- if (floatingElement) {
695
- const scopeElement = instance.handleCloseOptions?.getScope?.() ?? trigger.ownerDocument.body;
696
- applySafePolygonPointerEventsMutation(instance, {
697
- scopeElement,
698
- referenceElement: trigger,
699
- floatingElement
700
- });
701
- }
702
- }
703
- const restMsValue = getRestMs(restMsRef.current);
704
- if (currentOpen && !isOverInactive || restMsValue === 0) return;
705
- if (!isOverInactive && instance.restTimeoutPending && event.movementX ** 2 + event.movementY ** 2 < 2) return;
706
- instance.restTimeout.clear();
707
- function handleMouseMove() {
708
- instance.restTimeoutPending = false;
709
- if (isClickLikeOpenEvent$1()) return;
710
- const latestOpen = store.select("open");
711
- if (!instance.blockMouseMove && (!latestOpen || isOverInactive) && checkShouldOpen()) store.setOpen(true, createChangeEventDetails(triggerHover, nativeEvent, trigger));
712
- }
713
- if (instance.pointerType === "touch") ReactDOM.flushSync(() => {
714
- handleMouseMove();
715
- });
716
- else if (isOverInactive && currentOpen) handleMouseMove();
717
- else {
718
- instance.restTimeoutPending = true;
719
- instance.restTimeout.start(restMsValue, handleMouseMove);
720
- }
721
- }
722
- };
723
- }, [
724
- enabled,
725
- instance,
726
- isClickLikeOpenEvent$1,
727
- isOverInactiveTrigger,
728
- mouseOnly,
729
- store,
730
- restMsRef,
731
- checkShouldOpen
732
- ]);
733
- }
734
- var CURSOR_SPEED_THRESHOLD = 0.1;
735
- var CURSOR_SPEED_THRESHOLD_SQUARED = CURSOR_SPEED_THRESHOLD * CURSOR_SPEED_THRESHOLD;
736
- var POLYGON_BUFFER = 0.5;
737
- function hasIntersectingEdge(pointX, pointY, xi, yi, xj, yj) {
738
- return yi >= pointY !== yj >= pointY && pointX <= (xj - xi) * (pointY - yi) / (yj - yi) + xi;
739
- }
740
- function isPointInQuadrilateral(pointX, pointY, x1, y1, x2, y2, x3, y3, x4, y4) {
741
- let isInsideValue = false;
742
- if (hasIntersectingEdge(pointX, pointY, x1, y1, x2, y2)) isInsideValue = !isInsideValue;
743
- if (hasIntersectingEdge(pointX, pointY, x2, y2, x3, y3)) isInsideValue = !isInsideValue;
744
- if (hasIntersectingEdge(pointX, pointY, x3, y3, x4, y4)) isInsideValue = !isInsideValue;
745
- if (hasIntersectingEdge(pointX, pointY, x4, y4, x1, y1)) isInsideValue = !isInsideValue;
746
- return isInsideValue;
747
- }
748
- function isInsideRect(pointX, pointY, rect) {
749
- return pointX >= rect.x && pointX <= rect.x + rect.width && pointY >= rect.y && pointY <= rect.y + rect.height;
750
- }
751
- function isInsideAxisAlignedRect(pointX, pointY, x1, y1, x2, y2) {
752
- return pointX >= Math.min(x1, x2) && pointX <= Math.max(x1, x2) && pointY >= Math.min(y1, y2) && pointY <= Math.max(y1, y2);
753
- }
754
- function safePolygon(options = {}) {
755
- const { blockPointerEvents = false } = options;
756
- const timeout = new Timeout();
757
- const fn = ({ x, y, placement, elements, onClose, nodeId, tree }) => {
758
- const side = placement?.split("-")[0];
759
- let hasLanded = false;
760
- let lastX = null;
761
- let lastY = null;
762
- let lastCursorTime = typeof performance !== "undefined" ? performance.now() : 0;
763
- function isCursorMovingSlowly(nextX, nextY) {
764
- const currentTime = performance.now();
765
- const elapsedTime = currentTime - lastCursorTime;
766
- if (lastX === null || lastY === null || elapsedTime === 0) {
767
- lastX = nextX;
768
- lastY = nextY;
769
- lastCursorTime = currentTime;
770
- return false;
771
- }
772
- const deltaX = nextX - lastX;
773
- const deltaY = nextY - lastY;
774
- const distanceSquared = deltaX * deltaX + deltaY * deltaY;
775
- const thresholdSquared = elapsedTime * elapsedTime * CURSOR_SPEED_THRESHOLD_SQUARED;
776
- lastX = nextX;
777
- lastY = nextY;
778
- lastCursorTime = currentTime;
779
- return distanceSquared < thresholdSquared;
780
- }
781
- function close() {
782
- timeout.clear();
783
- onClose();
784
- }
785
- return function onMouseMove(event) {
786
- timeout.clear();
787
- const domReference = elements.domReference;
788
- const floating = elements.floating;
789
- if (!domReference || !floating || side == null || x == null || y == null) return;
790
- const { clientX, clientY } = event;
791
- const target = getTarget(event);
792
- const isLeave = event.type === "mouseleave";
793
- const isOverFloatingEl = contains(floating, target);
794
- const isOverReferenceEl = contains(domReference, target);
795
- if (isOverFloatingEl) {
796
- hasLanded = true;
797
- if (!isLeave) return;
798
- }
799
- if (isOverReferenceEl) {
800
- hasLanded = false;
801
- if (!isLeave) {
802
- hasLanded = true;
803
- return;
804
- }
805
- }
806
- if (isLeave && isElement(event.relatedTarget) && contains(floating, event.relatedTarget)) return;
807
- function hasOpenChildNode() {
808
- return Boolean(tree && getNodeChildren(tree.nodesRef.current, nodeId).length > 0);
809
- }
810
- function closeIfNoOpenChild() {
811
- if (!hasOpenChildNode()) close();
812
- }
813
- if (hasOpenChildNode()) return;
814
- const refRect = domReference.getBoundingClientRect();
815
- const rect = floating.getBoundingClientRect();
816
- const cursorLeaveFromRight = x > rect.right - rect.width / 2;
817
- const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;
818
- const isFloatingWider = rect.width > refRect.width;
819
- const isFloatingTaller = rect.height > refRect.height;
820
- const left = (isFloatingWider ? refRect : rect).left;
821
- const right = (isFloatingWider ? refRect : rect).right;
822
- const top = (isFloatingTaller ? refRect : rect).top;
823
- const bottom = (isFloatingTaller ? refRect : rect).bottom;
824
- if (side === "top" && y >= refRect.bottom - 1 || side === "bottom" && y <= refRect.top + 1 || side === "left" && x >= refRect.right - 1 || side === "right" && x <= refRect.left + 1) {
825
- closeIfNoOpenChild();
826
- return;
827
- }
828
- let isInsideTroughRect = false;
829
- switch (side) {
830
- case "top":
831
- isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, refRect.top + 1, right, rect.bottom - 1);
832
- break;
833
- case "bottom":
834
- isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, rect.top + 1, right, refRect.bottom - 1);
835
- break;
836
- case "left":
837
- isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, rect.right - 1, bottom, refRect.left + 1, top);
838
- break;
839
- case "right":
840
- isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, refRect.right - 1, bottom, rect.left + 1, top);
841
- }
842
- if (isInsideTroughRect) return;
843
- if (hasLanded && !isInsideRect(clientX, clientY, refRect)) {
844
- closeIfNoOpenChild();
845
- return;
846
- }
847
- if (!isLeave && isCursorMovingSlowly(clientX, clientY)) {
848
- closeIfNoOpenChild();
849
- return;
850
- }
851
- let isInsidePolygon = false;
852
- switch (side) {
853
- case "top": {
854
- const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
855
- const cursorPointOneX = isFloatingWider ? x + cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
856
- const cursorPointTwoX = isFloatingWider ? x - cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
857
- const cursorPointY = y + POLYGON_BUFFER + 1;
858
- const commonYLeft = cursorLeaveFromRight ? rect.bottom - POLYGON_BUFFER : isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top;
859
- const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top : rect.bottom - POLYGON_BUFFER;
860
- isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight);
861
- break;
862
- }
863
- case "bottom": {
864
- const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
865
- const cursorPointOneX = isFloatingWider ? x + cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
866
- const cursorPointTwoX = isFloatingWider ? x - cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
867
- const cursorPointY = y - POLYGON_BUFFER;
868
- const commonYLeft = cursorLeaveFromRight ? rect.top + POLYGON_BUFFER : isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom;
869
- const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom : rect.top + POLYGON_BUFFER;
870
- isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight);
871
- break;
872
- }
873
- case "left": {
874
- const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
875
- const cursorPointOneY = isFloatingTaller ? y + cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
876
- const cursorPointTwoY = isFloatingTaller ? y - cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
877
- const cursorPointX = x + POLYGON_BUFFER + 1;
878
- const commonXTop = cursorLeaveFromBottom ? rect.right - POLYGON_BUFFER : isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left;
879
- const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left : rect.right - POLYGON_BUFFER;
880
- isInsidePolygon = isPointInQuadrilateral(clientX, clientY, commonXTop, rect.top, commonXBottom, rect.bottom, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY);
881
- break;
882
- }
883
- case "right": {
884
- const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
885
- const cursorPointOneY = isFloatingTaller ? y + cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
886
- const cursorPointTwoY = isFloatingTaller ? y - cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
887
- const cursorPointX = x - POLYGON_BUFFER;
888
- const commonXTop = cursorLeaveFromBottom ? rect.left + POLYGON_BUFFER : isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right;
889
- const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right : rect.left + POLYGON_BUFFER;
890
- isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY, commonXTop, rect.top, commonXBottom, rect.bottom);
891
- break;
892
- }
893
- }
894
- if (!isInsidePolygon) closeIfNoOpenChild();
895
- else if (!hasLanded) timeout.start(40, closeIfNoOpenChild);
896
- };
897
- };
898
- fn.__options = {
899
- ...options,
900
- blockPointerEvents
901
- };
902
- return fn;
903
- }
904
- var COMPACT_ACTION_BUTTON_CLASS = "h-8 shrink-0 cursor-pointer rounded-full border-border/45 bg-background/65 px-3 text-[0.6875rem] font-semibold text-foreground/75 shadow-sm transition-[background-color,border-color,box-shadow,opacity,transform] duration-150 hover:bg-foreground/5 active:scale-[0.96] disabled:opacity-50";
905
- var HIT_AREA_EXPAND_CLASS = "relative after:absolute after:top-1/2 after:left-1/2 after:size-10 after:-translate-x-1/2 after:-translate-y-1/2";
906
- var HIT_AREA_EXPAND_DENSE_CLASS = "relative after:absolute after:inset-x-0 after:-top-1.5 after:-bottom-1.5";
907
- var CHROME_PILL_CLASS = "relative inline-flex h-9 items-center gap-1.5 rounded-[10px] border border-border/70 px-3 text-label font-medium whitespace-nowrap shadow-sm backdrop-blur transition-colors";
908
- var CHROME_PILL_INACTIVE_CLASS = "bg-sidebar text-foreground/55 hover:bg-background hover:text-foreground/75";
909
- var CHROME_PILL_ACTIVE_CLASS = "bg-background text-foreground/75";
910
- `${CHROME_PILL_INACTIVE_CLASS}`;
911
- `${CHROME_PILL_ACTIVE_CLASS}`;
912
- var CHAT_HEADER_LAYER_CLASS = "relative z-10 overflow-visible";
913
- var PANEL_OVERLAY_CLASS = "h-full min-h-0 w-[min(360px,calc(100vw-1.5rem))] overflow-hidden rounded-md border border-border/70 bg-background/95 shadow-lg backdrop-blur";
914
- var fleetPiRowSurface = cva("flex min-w-0 rounded-[4px] border", {
915
- variants: {
916
- tone: {
917
- default: "border-border/30 bg-background/30",
918
- muted: "border-border/20 bg-foreground/1.5",
919
- inset: "border-border/60 bg-foreground/2",
920
- dashed: "border-dashed border-border/25 bg-background/10"
921
- },
922
- padding: {
923
- sm: "p-2",
924
- md: "px-2.5 py-2",
925
- lg: "p-2.5"
926
- },
927
- interactive: {
928
- true: "transition-[border-color,background-color,box-shadow] duration-200 hover:border-border/45 hover:bg-foreground/2 hover:shadow-sm",
929
- lift: "transition-[border-color,background-color,box-shadow,transform] duration-200 hover:-translate-y-px hover:border-border/45 hover:bg-foreground/3.5 hover:shadow-sm",
930
- false: ""
931
- }
932
- },
933
- defaultVariants: {
934
- tone: "default",
935
- padding: "sm",
936
- interactive: false
937
- }
938
- });
939
- function AlertDialogRoot(props) {
940
- return useRenderDialogRoot("alert-dialog", props);
941
- }
942
- var DIALOG_SURFACE_OFFSET = 4;
943
- function AlertDialog({ ...props }) {
944
- return /* @__PURE__ */ jsx(AlertDialogRoot, {
945
- "data-slot": "alert-dialog",
946
- ...props
947
- });
948
- }
949
- function AlertDialogPortal({ ...props }) {
950
- return /* @__PURE__ */ jsx(DialogPortal$1, {
951
- "data-slot": "alert-dialog-portal",
952
- ...props
953
- });
954
- }
955
- function AlertDialogBackdrop({ className, ...props }) {
956
- return /* @__PURE__ */ jsx(DialogBackdrop, {
957
- "data-slot": "alert-dialog-backdrop",
958
- className: cn("fixed inset-0 isolate z-[60] bg-black/10 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className),
959
- ...props
960
- });
961
- }
962
- function AlertDialogContent({ className, children, ...props }) {
963
- const substrate = useSurface();
964
- const level = Math.min(substrate + DIALOG_SURFACE_OFFSET, 8);
965
- return /* @__PURE__ */ jsxs(AlertDialogPortal, { children: [/* @__PURE__ */ jsx(AlertDialogBackdrop, {}), /* @__PURE__ */ jsx(DialogPopup, {
966
- "data-slot": "alert-dialog-content",
967
- className: cn("fixed top-1/2 left-1/2 z-[60] grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl p-6 text-sm text-popover-foreground outline-none sm:max-w-md data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", surfaceClasses(level), className),
968
- ...props,
969
- children: /* @__PURE__ */ jsx(SurfaceProvider, {
970
- value: level,
971
- children
972
- })
973
- })] });
974
- }
975
- function AlertDialogTitle({ className, ...props }) {
976
- return /* @__PURE__ */ jsx(DialogTitle$1, {
977
- "data-slot": "alert-dialog-title",
978
- className: cn("font-heading text-base leading-none font-medium", className),
979
- ...props
980
- });
981
- }
982
- function AlertDialogDescription({ className, ...props }) {
983
- return /* @__PURE__ */ jsx(DialogDescription$1, {
984
- "data-slot": "alert-dialog-description",
985
- className: cn("text-sm text-pretty text-muted-foreground", className),
986
- ...props
987
- });
988
- }
989
- function AlertDialogFooter({ className, ...props }) {
990
- return /* @__PURE__ */ jsx("div", {
991
- "data-slot": "alert-dialog-footer",
992
- className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
993
- ...props
994
- });
995
- }
996
- function AlertDialogCancel({ ...props }) {
997
- return /* @__PURE__ */ jsx(DialogClose, {
998
- "data-slot": "alert-dialog-cancel",
999
- render: /* @__PURE__ */ jsx(Button, { variant: "outline" }),
1000
- ...props
1001
- });
1002
- }
1003
- function AlertDialogAction({ ...props }) {
1004
- return /* @__PURE__ */ jsx(DialogClose, {
1005
- "data-slot": "alert-dialog-action",
1006
- render: /* @__PURE__ */ jsx(Button, { variant: "destructive" }),
1007
- ...props
1008
- });
1009
- }
1010
- function Spinner({ className, ...props }) {
1011
- return /* @__PURE__ */ jsx(LoaderCircle, {
1012
- "data-slot": "spinner",
1013
- role: "status",
1014
- "aria-label": "Loading",
1015
- className: cn("size-4 animate-spin", className),
1016
- ...props
1017
- });
1018
- }
1019
- var PROVIDER_METADATA = {
1020
- "amazon-bedrock": {
1021
- icon: Server,
1022
- placeholder: "AKIA... (AWS access key id)",
1023
- help: "Amazon Bedrock uses standard AWS credentials (AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY) plus AWS_REGION. This field sets AWS_ACCESS_KEY_ID in .env.local."
1024
- },
1025
- openai: {
1026
- icon: Sparkles,
1027
- placeholder: "sk-proj-...",
1028
- help: "Stored securely in your root .env.local file. Overrides the active OPENAI_API_KEY environment variable."
1029
- },
1030
- "openai-chat-completions": {
1031
- icon: Sparkles,
1032
- placeholder: "sk-... or nvapi-...",
1033
- help: "OpenAI-compatible Chat Completions root (e.g. https://opencode.ai/zen/v1). Paste \u2026/chat/completions if you want \u2014 it is normalized. Requires API key, base URL, and model name."
1034
- },
1035
- "openai-chat-completions-model": {
1036
- icon: Sparkles,
1037
- placeholder: "meta/llama-3.1-70b-instruct",
1038
- help: "Gateway model name registered when /models is empty or incomplete."
1039
- },
1040
- anthropic: {
1041
- icon: Bot,
1042
- placeholder: "sk-ant-...",
1043
- help: "Stored securely in your root .env.local file. Overrides the active ANTHROPIC_API_KEY environment variable."
1044
- },
1045
- "google-vertex": {
1046
- icon: ShieldCheck,
1047
- placeholder: "Path to service account JSON, or credentials text...",
1048
- help: "Stored securely in your root .env.local file. Overrides the active GOOGLE_APPLICATION_CREDENTIALS environment variable."
1049
- },
1050
- google: {
1051
- icon: Brain,
1052
- placeholder: "AIzaSy...",
1053
- help: "Stored securely in your root .env.local file. Overrides the active GEMINI_API_KEY environment variable."
1054
- },
1055
- mistral: {
1056
- icon: Wind,
1057
- placeholder: "Your Mistral API key...",
1058
- help: "Stored securely in your root .env.local file. Overrides the active MISTRAL_API_KEY environment variable."
1059
- },
1060
- groq: {
1061
- icon: Zap,
1062
- placeholder: "gsk_...",
1063
- help: "Stored securely in your root .env.local file. Overrides the active GROQ_API_KEY environment variable."
1064
- },
1065
- openrouter: {
1066
- icon: Globe,
1067
- placeholder: "sk-or-...",
1068
- help: "Stored securely in your root .env.local file. Overrides the active OPENROUTER_API_KEY environment variable."
1069
- },
1070
- "vercel-ai-gateway": {
1071
- icon: GitBranch,
1072
- placeholder: "Your AI Gateway API key...",
1073
- help: "Stored securely in your root .env.local file. Overrides the active AI_GATEWAY_API_KEY environment variable."
1074
- },
1075
- "github-copilot": {
1076
- icon: Bot,
1077
- placeholder: "OAuth subscription",
1078
- help: "GitHub Copilot uses device-code OAuth. Sign in from Settings; credentials are stored in auth.json."
1079
- },
1080
- "openai-codex": {
1081
- icon: Sparkles,
1082
- placeholder: "OAuth subscription",
1083
- help: "OpenAI Codex uses ChatGPT OAuth. Sign in from Settings; credentials are stored in auth.json."
1084
- },
1085
- ollama: {
1086
- icon: Cpu,
1087
- placeholder: "http://localhost:11434 (default)",
1088
- help: "Configure local Ollama execution endpoints. Overrides the active OLLAMA_BASE_URL environment variable."
1089
- },
1090
- custom: {
1091
- icon: Plug,
1092
- placeholder: "sk-... / provider key",
1093
- help: "Register any OpenAI-, Anthropic-, or Google-compatible endpoint through Pi's native custom-provider mechanism. Requires a name, API key, https base URL, API family, and at least one model id. Deployed accounts only."
1094
- }
1095
- };
1096
- var BRAND_CLASS = "size-4";
1097
- function OpenAiMark({ className }) {
1098
- return /* @__PURE__ */ jsx("svg", {
1099
- viewBox: "0 0 24 24",
1100
- className: cn(BRAND_CLASS, className),
1101
- fill: "currentColor",
1102
- "aria-hidden": true,
1103
- children: /* @__PURE__ */ jsx("path", { d: "M22.282 9.821a5.985 5.985 0 0 0-.516-4.91 6.046 6.046 0 0 0-6.51-2.9A6.065 6.065 0 0 0 4.981 4.18a5.985 5.985 0 0 0-3.998 2.9 6.046 6.046 0 0 0 .743 7.097 5.98 5.98 0 0 0 .51 4.911 6.051 6.051 0 0 0 6.515 2.9A5.985 5.985 0 0 0 13.26 24a6.056 6.056 0 0 0 5.772-4.206 5.99 5.99 0 0 0 3.997-2.9 6.056 6.056 0 0 0-.747-7.073zM13.26 22.43a4.476 4.476 0 0 1-2.876-1.04l.141-.081 4.779-2.758a.795.795 0 0 0 .392-.681v-6.737l2.02 1.168a.071.071 0 0 1 .038.052v5.583a4.504 4.504 0 0 1-4.494 4.494zM3.6 18.304a4.47 4.47 0 0 1-.535-3.014l.142.085 4.783 2.759a.771.771 0 0 0 .78 0l5.843-3.368v2.332a.08.08 0 0 1-.033.062L9.74 19.95a4.5 4.5 0 0 1-6.14-1.646zM2.34 7.896a4.485 4.485 0 0 1 2.366-1.973V11.6a.766.766 0 0 0 .388.676l5.814 3.354-2.02 1.168a.076.076 0 0 1-.071 0l-4.83-2.786A4.504 4.504 0 0 1 2.34 7.872zm16.597 3.855l-5.833-3.387L15.119 7.2a.076.076 0 0 1 .071 0l4.83 2.791a4.494 4.494 0 0 1-.676 8.105v-5.678a.079.079 0 0 0-.041-.067zm2.01-3.023l-.141-.085-4.774-2.782a.776.776 0 0 0-.785 0L9.409 9.23V6.897a.066.066 0 0 1 .028-.061l4.83-2.787a4.5 4.5 0 0 1 6.68 4.66zM8.306 12.683l-2.02-1.163a.08.08 0 0 1-.038-.057V6.074a4.5 4.5 0 0 1 7.375-3.453l-.142.08L8.704 5.46a.795.795 0 0 0-.392.681zm1.098-2.016l2.602-1.5 2.607 1.5v2.999l-2.597 1.5-2.607-1.5z" })
1104
- });
1105
- }
1106
- function AnthropicMark({ className }) {
1107
- return /* @__PURE__ */ jsx("svg", {
1108
- viewBox: "0 0 24 24",
1109
- className: cn(BRAND_CLASS, className),
1110
- fill: "currentColor",
1111
- "aria-hidden": true,
1112
- children: /* @__PURE__ */ jsx("path", { d: "M17.305 14.256h-3.778l-2.28-7.23h-.005l-2.32 7.23H5.145L9.93 3h4.14l4.235 11.256zm-8.48 2.37h6.37l1.16 3.374h3.465L14.18 3h-4.36L4.15 20h3.465l1.21-3.374z" })
1113
- });
1114
- }
1115
- function GoogleMark({ className }) {
1116
- return /* @__PURE__ */ jsxs("svg", {
1117
- viewBox: "0 0 24 24",
1118
- className: cn(BRAND_CLASS, className),
1119
- fill: "currentColor",
1120
- "aria-hidden": true,
1121
- children: [
1122
- /* @__PURE__ */ jsx("path", { d: "M21.6 12.23c0-.71-.06-1.4-.18-2.05H12v3.87h5.38a4.6 4.6 0 0 1-2 3.02v2.5h3.24c1.89-1.74 2.98-4.3 2.98-7.34z" }),
1123
- /* @__PURE__ */ jsx("path", { d: "M12 22c2.7 0 4.96-.89 6.61-2.42l-3.24-2.5c-.9.6-2.04.96-3.37.96-2.59 0-4.78-1.75-5.56-4.1H3.1v2.58A9.99 9.99 0 0 0 12 22z" }),
1124
- /* @__PURE__ */ jsx("path", { d: "M6.44 13.94A5.99 5.99 0 0 1 6.12 12c0-.67.12-1.33.32-1.94V7.48H3.1A9.99 9.99 0 0 0 2 12c0 1.61.39 3.14 1.1 4.52l3.34-2.58z" }),
1125
- /* @__PURE__ */ jsx("path", { d: "M12 5.96c1.47 0 2.79.5 3.82 1.5l2.87-2.87C16.95 2.99 14.7 2 12 2A9.99 9.99 0 0 0 3.1 7.48l3.34 2.58C7.22 7.71 9.41 5.96 12 5.96z" })
1126
- ]
1127
- });
1128
- }
1129
- function GitHubMark({ className }) {
1130
- return /* @__PURE__ */ jsx("svg", {
1131
- viewBox: "0 0 24 24",
1132
- className: cn(BRAND_CLASS, className),
1133
- fill: "currentColor",
1134
- "aria-hidden": true,
1135
- children: /* @__PURE__ */ jsx("path", { d: "M12 .3a12 12 0 0 0-3.8 23.4c.6.1.8-.3.8-.6v-2.2c-3.3.7-4-1.4-4-1.4-.5-1.4-1.3-1.8-1.3-1.8-1.1-.7.1-.7.1-.7 1.2.1 1.8 1.2 1.8 1.2 1.1 1.8 2.8 1.3 3.5 1 .1-.8.4-1.3.8-1.6-2.7-.3-5.5-1.3-5.5-6 0-1.3.5-2.4 1.2-3.2-.1-.3-.5-1.5.1-3.2 0 0 1-.3 3.3 1.2a11.5 11.5 0 0 1 6 0c2.3-1.5 3.3-1.2 3.3-1.2.6 1.7.2 2.9.1 3.2.8.8 1.2 1.9 1.2 3.2 0 4.6-2.9 5.6-5.5 5.9.4.4.8 1.1.8 2.2v3.3c0 .3.2.7.8.6A12 12 0 0 0 12 .3z" })
1136
- });
1137
- }
1138
- function ProviderBrandIcon({ provider, api, className }) {
1139
- const id = provider.toLowerCase();
1140
- if (isCustomProviderId(id) || id === "custom") {
1141
- if (api === "anthropic-messages") return /* @__PURE__ */ jsx(AnthropicMark, { className });
1142
- if (api === "google-genai") return /* @__PURE__ */ jsx(GoogleMark, { className });
1143
- return /* @__PURE__ */ jsx(OpenAiMark, { className });
1144
- }
1145
- if (id === "openai" || id === "openai-codex" || isOccProviderId(id)) return /* @__PURE__ */ jsx(OpenAiMark, { className });
1146
- if (id === "anthropic") return /* @__PURE__ */ jsx(AnthropicMark, { className });
1147
- if (id === "google" || id === "google-vertex") return /* @__PURE__ */ jsx(GoogleMark, { className });
1148
- if (id === "github-copilot" || id === "github") return /* @__PURE__ */ jsx(GitHubMark, { className });
1149
- const Icon = provider in PROVIDER_METADATA ? PROVIDER_METADATA[provider].icon : Cpu;
1150
- return /* @__PURE__ */ jsx(Icon, {
1151
- className: cn(BRAND_CLASS, className),
1152
- "aria-hidden": true
1153
- });
1154
- }
1155
- function formatProviderLabel(provider) {
1156
- return KNOWN_PROVIDERS.find((entry) => entry.id === provider)?.name ?? provider;
1157
- }
1158
-
1159
- export {
1160
- ArrowLeft,
1161
- Cpu,
1162
- Settings,
1163
- Trash2,
1164
- getDelay,
1165
- usePopupHandleStore,
1166
- useHoverInteractionSharedState,
1167
- useHoverFloatingInteraction,
1168
- useHoverReferenceInteraction,
1169
- safePolygon,
1170
- COMPACT_ACTION_BUTTON_CLASS,
1171
- HIT_AREA_EXPAND_CLASS,
1172
- HIT_AREA_EXPAND_DENSE_CLASS,
1173
- CHROME_PILL_CLASS,
1174
- CHROME_PILL_INACTIVE_CLASS,
1175
- CHROME_PILL_ACTIVE_CLASS,
1176
- CHAT_HEADER_LAYER_CLASS,
1177
- PANEL_OVERLAY_CLASS,
1178
- fleetPiRowSurface,
1179
- AlertDialog,
1180
- AlertDialogContent,
1181
- AlertDialogTitle,
1182
- AlertDialogDescription,
1183
- AlertDialogFooter,
1184
- AlertDialogCancel,
1185
- AlertDialogAction,
1186
- Spinner,
1187
- PROVIDER_METADATA,
1188
- ProviderBrandIcon,
1189
- formatProviderLabel
1190
- };
1191
- /**
1192
- * @license lucide-react v1.38.0 - ISC
1193
- *
1194
- * This source code is licensed under the ISC license.
1195
- * See the LICENSE file in the root directory of this source tree.
1196
- */