@qredence/fleet 0.7.4 → 0.9.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 (227) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +5 -4
  3. package/bin/fleet-prime.mjs +33 -6
  4. package/bin/prime-runtime.mjs +79 -0
  5. package/dist/runtime-manifest.json +32 -0
  6. package/dist/web/client/assets/DialogTitle-BlVq-tcv.js +1 -0
  7. package/dist/web/client/assets/FloatingPortal-D8-EPDs2.js +1 -0
  8. package/dist/web/client/assets/activity-BPIKUzOU.js +1 -0
  9. package/dist/web/client/assets/agents-CGjUBYX7.js +2 -0
  10. package/dist/web/client/assets/agents-page-CTuFJL9H.js +1 -0
  11. package/dist/web/client/assets/alert-CzWGeumf.js +1 -0
  12. package/dist/web/client/assets/alert-dialog-D-e1Pr4q.js +1 -0
  13. package/dist/web/client/assets/arrow-up-right-CG9RNk4p.js +1 -0
  14. package/dist/web/client/assets/artifacts-panel-6JEdy6jU.js +1 -0
  15. package/dist/web/client/assets/badge-CzQFgmVK.js +1 -0
  16. package/dist/web/client/assets/button-CWYjn8Zk.js +1 -0
  17. package/dist/web/client/assets/{card-Hngi3HGC.js → card-Dj1SnGUU.js} +1 -1
  18. package/dist/web/client/assets/chat-command-palette-Bxr5EkO6.js +1 -0
  19. package/dist/web/client/assets/chat-hpzV6IA6.js +57 -0
  20. package/dist/web/client/assets/chat-queries-CfZiupub.js +3 -0
  21. package/dist/web/client/assets/clock-3-BwWCSCm_.js +1 -0
  22. package/dist/web/client/assets/code-block-pKKmFZ5w.js +3 -0
  23. package/dist/web/client/assets/collapsible-Bk6zCsRX.js +1 -0
  24. package/dist/web/client/assets/{command-CmtCIDdH.js → command-xo-NK4xO.js} +1 -1
  25. package/dist/web/client/assets/connectors-CFxLqG2x.js +2 -0
  26. package/dist/web/client/assets/connectors-page-DQJdoAnl.js +1 -0
  27. package/dist/web/client/assets/create-project-dialog-Db-WhUmP.js +1 -0
  28. package/dist/web/client/assets/createBaseUIEventDetails-DIxvaz-Y.js +1 -0
  29. package/dist/web/client/assets/dialog-CK8dym6z.js +1 -0
  30. package/dist/web/client/assets/eye-iNSvs0UA.js +1 -0
  31. package/dist/web/client/assets/file-code-corner-BkDULqko.js +1 -0
  32. package/dist/web/client/assets/{fork-picker-dialog-DfGlB17w.js → fork-picker-dialog-DSaFeUii.js} +1 -1
  33. package/dist/web/client/assets/globals-DJhWyayo.css +2 -0
  34. package/dist/web/client/assets/index-C9FHZDGw.js +13 -0
  35. package/dist/web/client/assets/input-CBoTMPC_.js +1 -0
  36. package/dist/web/client/assets/{input-group-EPMGh55u.js → input-group-BFubAtz9.js} +1 -1
  37. package/dist/web/client/assets/{ipython-tool-CMhnRVrC.js → ipython-tool-bieUhw9K.js} +1 -1
  38. package/dist/web/client/assets/markdown-CvBfbPCn.js +2 -0
  39. package/dist/web/client/assets/markdown-code-rFOkzN5N.js +4 -0
  40. package/dist/web/client/assets/mcp-connections-section-DEo6Kemv.js +2 -0
  41. package/dist/web/client/assets/message-queue-Btjt9wK2.js +1 -0
  42. package/dist/web/client/assets/{model-selector-list-BiU_7ivt.js → model-selector-list-CbDAT0Rw.js} +1 -1
  43. package/dist/web/client/assets/mutation-Da9zdeWr.js +1 -0
  44. package/dist/web/client/assets/notify-BIL0-CGy.js +1 -0
  45. package/dist/web/client/assets/open-panel-action-message-SdA1VU42.js +1 -0
  46. package/dist/web/client/assets/openui-renderer-DG-iML7M.js +291 -0
  47. package/dist/web/client/assets/pencil-Cbgq3ybX.js +1 -0
  48. package/dist/web/client/assets/plus-DUP2JPVG.js +1 -0
  49. package/dist/web/client/assets/product-page-header-Ck6I13CE.js +1 -0
  50. package/dist/web/client/assets/{prompt-input-Dy-DSPqF.js → prompt-input-CoV1gTUQ.js} +1 -1
  51. package/dist/web/client/assets/{prompt-suggestions-CrpAiKeB.js → prompt-suggestions-CAY5JI-C.js} +1 -1
  52. package/dist/web/client/assets/provider-catalog-CLEDlH_v.js +1 -0
  53. package/dist/web/client/assets/provider-label-BItazQ6H.js +1 -0
  54. package/dist/web/client/assets/reasoning-line-DGdPUMwT.js +1 -0
  55. package/dist/web/client/assets/rehype-katex-DITkIpVl.js +259 -0
  56. package/dist/web/client/assets/{repl-panel-DN5kZAcB.js → repl-panel-5xgkDXO5.js} +1 -1
  57. package/dist/web/client/assets/{resources-panel-DD6iWOF3.js → resources-panel-aJCKt9eF.js} +1 -1
  58. package/dist/web/client/assets/right-panel-context-CjX-HkDO.js +1 -0
  59. package/dist/web/client/assets/right-panel-registry-BAJ6TuEY.js +2 -0
  60. package/dist/web/client/assets/rotate-ccw-DLkfsmG9.js +1 -0
  61. package/dist/web/client/assets/routes-ja_liP8Z.js +14 -0
  62. package/dist/web/client/assets/select-DYh951qi.js +1 -0
  63. package/dist/web/client/assets/session-activity-panel-DwaXiSrS.js +1 -0
  64. package/dist/web/client/assets/{session-insights-panel-D0v_DKcb.js → session-insights-panel-BXEmuJKf.js} +1 -1
  65. package/dist/web/client/assets/session-reasoning-panel-CjJJK_bq.js +1 -0
  66. package/dist/web/client/assets/session-tool-renderer-DEABxZG3.js +166 -0
  67. package/dist/web/client/assets/{session-tree-panel-BBwP_EK2.js → session-tree-panel-5QgMvXoX.js} +1 -1
  68. package/dist/web/client/assets/settings-dialog-DiikSLhF.js +1 -0
  69. package/dist/web/client/assets/shield-check-7HDd-2Fn.js +1 -0
  70. package/dist/web/client/assets/{skeleton-DNAr5ULI.js → skeleton-B_Lq2XFl.js} +1 -1
  71. package/dist/web/client/assets/{skeleton-loaders-B28mF4tJ.js → skeleton-loaders-DWc1eDL3.js} +1 -1
  72. package/dist/web/client/assets/sparkles-CASAe1AI.js +1 -0
  73. package/dist/web/client/assets/{spinner-CSBXk3Lo.js → spinner-B5TaKP7k.js} +1 -1
  74. package/dist/web/client/assets/{subagent-chat-panel-DhvBO4dQ.js → subagent-chat-panel-R2RoX1Yt.js} +1 -1
  75. package/dist/web/client/assets/subagent-transcript-DVZhMo7a.js +1 -0
  76. package/dist/web/client/assets/{subagents-panel-DRo8Xs6j.js → subagents-panel-CMMRUP8F.js} +1 -1
  77. package/dist/web/client/assets/surfaces-BUjUJTyD.js +1 -0
  78. package/dist/web/client/assets/switch-BrxDfsX6.js +1 -0
  79. package/dist/web/client/assets/toast-BNWkgZ0u.js +1 -0
  80. package/dist/web/client/assets/tool-output-normalizer-DDU09Zc6.js +4 -0
  81. package/dist/web/client/assets/tool-part-normalizer-CF6bmJ0s.js +4 -0
  82. package/dist/web/client/assets/tool-result-7qREIVv_.js +5 -0
  83. package/dist/web/client/assets/tool-timeline-CGhwMeNl.js +2 -0
  84. package/dist/web/client/assets/trace-IsV5RRvM.js +1 -0
  85. package/dist/web/client/assets/trash-sm2UyOxe.js +1 -0
  86. package/dist/web/client/assets/types-gIgIxnnG.js +1 -0
  87. package/dist/web/client/assets/ui-preferences-B-PNDkyY.js +1 -0
  88. package/dist/web/client/assets/use-hover-capable-CLq8BADD.js +1 -0
  89. package/dist/web/client/assets/useBaseUiId-lKfDDIcw.js +1 -0
  90. package/dist/web/client/assets/useButton-CvcmqA2s.js +1 -0
  91. package/dist/web/client/assets/useNavigate-CVhM7pag.js +1 -0
  92. package/dist/web/client/assets/useRender-CzJUrRlB.js +1 -0
  93. package/dist/web/client/assets/useScrollLock-BcsteNzT.js +1 -0
  94. package/dist/web/client/assets/{utils-CFDGLzf6.js → utils-oBThwhjm.js} +1 -1
  95. package/dist/web/client/assets/with-selector-B_VDO56x.js +1 -0
  96. package/dist/web/client/assets/{workspace-panel-DdZutYnd.js → workspace-panel-Da5I4p_t.js} +1 -1
  97. package/dist/web/client/assets/workspace-path-nav-D-77sJ_A.js +2 -0
  98. package/dist/web/client/assets/wrench-BXX_Ah2s.js +1 -0
  99. package/dist/web/client/bundle-budget.json +6 -6
  100. package/dist/web/server/_tanstack-start-manifest_v-B6ne-00G-OFX7UD4K.js +119 -0
  101. package/dist/web/server/agents-BwzqhPjK-ANFHE5AG.js +22 -0
  102. package/dist/web/server/agents-page-DEqPV-eG-BR5MR74O.js +215 -0
  103. package/dist/web/server/{artifacts-panel-COSC8o7j-GKW2HH2G.js → artifacts-panel-DLO8OfXb-B2ZWCDFP.js} +35 -29
  104. package/dist/web/server/{chat-command-palette-CuOWdzkk-PKZQ5EZP.js → chat-command-palette-CaDQAMAu-KDH7BTDS.js} +22 -15
  105. package/dist/web/server/chunk-2ETDIMNM.js +40 -0
  106. package/dist/web/server/{chunk-2VKVSL6Y.js → chunk-35RIM6VP.js} +128 -127
  107. package/dist/web/server/chunk-5IE54MRG.js +207 -0
  108. package/dist/web/server/{chunk-VUBITQ5X.js → chunk-5MOXRFX6.js} +180 -7
  109. package/dist/web/server/{chunk-6GTTTYSE.js → chunk-6AFVCERK.js} +72 -79
  110. package/dist/web/server/chunk-6GYLXDX3.js +588 -0
  111. package/dist/web/server/chunk-7DQQMT5V.js +8993 -0
  112. package/dist/web/server/chunk-APOS34PW.js +8965 -0
  113. package/dist/web/server/{chunk-BUKOEXE7.js → chunk-AXN2OBPF.js} +2 -4
  114. package/dist/web/server/{chunk-WCKKN5BR.js → chunk-B5FKCW75.js} +357 -910
  115. package/dist/web/server/chunk-BD7YKYWL.js +1007 -0
  116. package/dist/web/server/{chunk-36CAMOVG.js → chunk-BZ2EAUZZ.js} +10 -12
  117. package/dist/web/server/chunk-CE7U5QB2.js +42 -0
  118. package/dist/web/server/chunk-FNV3WZXL.js +125 -0
  119. package/dist/web/server/{chunk-GLSR4ZI2.js → chunk-FSQWWR2M.js} +698 -832
  120. package/dist/web/server/chunk-FT7HNDR5.js +143 -0
  121. package/dist/web/server/chunk-GNXIDE26.js +44 -0
  122. package/dist/web/server/{chunk-ORCOCCER.js → chunk-HAFELESQ.js} +5 -7
  123. package/dist/web/server/{chunk-LLO4MNGE.js → chunk-HUHUPGHT.js} +53 -45
  124. package/dist/web/server/{chunk-QSM3BRMA.js → chunk-KBMRRJQN.js} +256 -157
  125. package/dist/web/server/chunk-KDCSEISZ.js +6890 -0
  126. package/dist/web/server/chunk-KSGGSGOA.js +50 -0
  127. package/dist/web/server/chunk-PQVTLG3E.js +270 -0
  128. package/dist/web/server/{chunk-YU6RHHK6.js → chunk-Q4ECIATK.js} +65 -53
  129. package/dist/web/server/{chunk-IN2ATSEG.js → chunk-R4BS3KYI.js} +2 -4
  130. package/dist/web/server/chunk-RX2ZJARF.js +73 -0
  131. package/dist/web/server/{chunk-AKSDWYJY.js → chunk-SYS5FDNA.js} +5 -5
  132. package/dist/web/server/chunk-TOJA3X5N.js +421 -0
  133. package/dist/web/server/chunk-TQ2RECTH.js +193 -0
  134. package/dist/web/server/{chunk-KHHXJZK7.js → chunk-TTNONWZZ.js} +16001 -14668
  135. package/dist/web/server/chunk-TXZDDJCT.js +5115 -0
  136. package/dist/web/server/{chunk-XA7EOCHM.js → chunk-UDUG3MYZ.js} +2 -2
  137. package/dist/web/server/{chunk-EBC7QORX.js → chunk-V2GCVTDP.js} +5056 -12556
  138. package/dist/web/server/{chunk-TMQ3MT3D.js → chunk-VDEUVEWL.js} +2255 -1
  139. package/dist/web/server/chunk-VM3U6PUU.js +769 -0
  140. package/dist/web/server/connectors-C0xm91Ss-DJVBGD73.js +22 -0
  141. package/dist/web/server/connectors-page-B6tJNZ6c-R5K4NSAT.js +66 -0
  142. package/dist/web/server/{create-project-dialog-0-arQpsX-ZELQKHS5.js → create-project-dialog-PFPHHWIV-GH7JR5IK.js} +27 -18
  143. package/dist/web/server/{dist-7G2NZPF4.js → dist-GQUZLXN5.js} +2 -2
  144. package/dist/web/server/{dist-E5637ZAY.js → dist-MN5NWCX6.js} +1 -1
  145. package/dist/web/server/{fork-picker-dialog-fj9p33Mq-I5SA3GLJ.js → fork-picker-dialog-DFpKOdAw-JPLJSYYU.js} +7 -12
  146. package/dist/web/server/{markdown-CShfYRVO-RBTK7TRB.js → markdown-Cc8V9dOF-JTNTJKQU.js} +7 -5
  147. package/dist/web/server/{markdown-code-BDV_2b2T-6JYA5FWZ.js → markdown-code-gaRnbgNM-V5LIRYCD.js} +46 -8
  148. package/dist/web/server/{message-queue-BBC843IU-GY4ZIMM4.js → message-queue-nQ2_kU82-KKSLYR4S.js} +7 -16
  149. package/dist/web/server/{model-selector-list-DE6aLNXt-LJZMCYOI.js → model-selector-list-By_G7_Hr-GXT27BZO.js} +12 -16
  150. package/dist/web/server/{openui-renderer-C3aqSKuS-PWLWJFYO.js → openui-renderer-B9D8-Av--LFZP4U5V.js} +20 -15
  151. package/dist/web/server/{prompt-suggestions-CpTK_fHV-UKJDTLVM.js → prompt-suggestions-B67Uy5Rk-5SMTSIFQ.js} +5 -4
  152. package/dist/web/server/{rehype-katex-IDPYWU6M.js → rehype-katex-CYHGKI6Q.js} +490 -843
  153. package/dist/web/server/{repl-panel-1kSS1UGd-U64BPA7X.js → repl-panel-1kSS1UGd-POXRYDDJ.js} +2 -3
  154. package/dist/web/server/{resources-panel-DWb0eGKa-K4EM3H7Y.js → resources-panel-CTzOOKPz-5G6RS2D6.js} +18 -12
  155. package/dist/web/server/router-CnBux_Ld-YTVBMJFL.js +23 -0
  156. package/dist/web/server/routes-BUGzvQoO-WW43X7W2.js +124 -0
  157. package/dist/web/server/server.js +3 -3
  158. package/dist/web/server/session-activity-panel-f0d3fCm7-I6L5IKFQ.js +181 -0
  159. package/dist/web/server/{session-insights-panel-CfMX2NRu-6HWZTTAC.js → session-insights-panel-BiVObm_6-AP4FITT7.js} +2 -12
  160. package/dist/web/server/session-reasoning-panel-QIt_xjP0-FKJWMNHO.js +70 -0
  161. package/dist/web/server/session-tool-renderer-Cg_ZPHxS-BNQKNJNZ.js +34 -0
  162. package/dist/web/server/{session-tree-panel-HNl6R9VZ-4JUF34M7.js → session-tree-panel-B--el8O5-NZOZJM5L.js} +18 -13
  163. package/dist/web/server/{settings-dialog-DGZBA5Z_-6HYFMPNZ.js → settings-dialog-D_eJN2ia-W47Y474K.js} +104 -795
  164. package/dist/web/server/{subagent-chat-panel-DuB4hqUk-LDCAJOCL.js → subagent-chat-panel-C9nWP21E-D5C2TTYD.js} +22 -17
  165. package/dist/web/server/{subagents-panel-wAvx3-Rs-L6UTDFUX.js → subagents-panel-fAKvBNRG-O7QHXNE2.js} +26 -22
  166. package/dist/web/server/{workspace-panel-CPzJZwgv-YS7PTI5C.js → workspace-panel-CZMNMU63-SYOSM3B7.js} +23 -17
  167. package/package.json +2 -2
  168. package/dist/web/client/assets/DialogTitle-D-zqaHvF.js +0 -1
  169. package/dist/web/client/assets/FloatingPortal-73ZRZeD9.js +0 -1
  170. package/dist/web/client/assets/action-swap-BcFwS6is.js +0 -1
  171. package/dist/web/client/assets/alert-dialog-DtXvVhsF.js +0 -1
  172. package/dist/web/client/assets/artifacts-panel-Bseg97yQ.js +0 -1
  173. package/dist/web/client/assets/badge-C--lf3bb.js +0 -57
  174. package/dist/web/client/assets/button-BJZe4vNJ.js +0 -1
  175. package/dist/web/client/assets/chat-command-palette-D_rm1r9d.js +0 -1
  176. package/dist/web/client/assets/chevron-up-CqeJYyZO.js +0 -1
  177. package/dist/web/client/assets/collapsible-DauSnbYp.js +0 -1
  178. package/dist/web/client/assets/create-project-dialog-m-9aoobN.js +0 -1
  179. package/dist/web/client/assets/createBaseUIEventDetails-DklXWq23.js +0 -1
  180. package/dist/web/client/assets/dialog-Ddouieuu.js +0 -1
  181. package/dist/web/client/assets/eye-Cs0lNChA.js +0 -1
  182. package/dist/web/client/assets/globals-C961mr-b.css +0 -2
  183. package/dist/web/client/assets/index-Bz5W4EOn.js +0 -13
  184. package/dist/web/client/assets/input-Def1xOZz.js +0 -1
  185. package/dist/web/client/assets/markdown-Big27m-v.js +0 -2
  186. package/dist/web/client/assets/markdown-code-7L4RiS50.js +0 -3
  187. package/dist/web/client/assets/message-queue-Bg2MiJHM.js +0 -1
  188. package/dist/web/client/assets/mutation-DOi2Qgfa.js +0 -1
  189. package/dist/web/client/assets/notify-DhtmUPfE.js +0 -1
  190. package/dist/web/client/assets/openui-renderer-MIB3JKYa.js +0 -291
  191. package/dist/web/client/assets/provider-label-B_vy60P0.js +0 -1
  192. package/dist/web/client/assets/rehype-katex-A4PtQgTX.js +0 -259
  193. package/dist/web/client/assets/right-panel-context-DHKWoetk.js +0 -1
  194. package/dist/web/client/assets/right-panel-registry-hKJN__3l.js +0 -2
  195. package/dist/web/client/assets/routes-C3h32Lj_.js +0 -16
  196. package/dist/web/client/assets/select-Buvv1tIo.js +0 -1
  197. package/dist/web/client/assets/session-reasoning-panel-DmEbXOrR.js +0 -1
  198. package/dist/web/client/assets/session-tool-renderer-Daol5fJw.js +0 -169
  199. package/dist/web/client/assets/settings-dialog-DYbx3xuq.js +0 -2
  200. package/dist/web/client/assets/sparkles-D_ANe-HY.js +0 -1
  201. package/dist/web/client/assets/subagent-transcript-Bx-rHni-.js +0 -1
  202. package/dist/web/client/assets/surfaces-B8xTOFeK.js +0 -1
  203. package/dist/web/client/assets/switch-CDfAwEvs.js +0 -1
  204. package/dist/web/client/assets/terminal-Ceucj7us.js +0 -1
  205. package/dist/web/client/assets/toast-9zXN-yVk.js +0 -1
  206. package/dist/web/client/assets/tool-part-normalizer-NbPs9kd1.js +0 -4
  207. package/dist/web/client/assets/tool-result-BccnO34D.js +0 -4
  208. package/dist/web/client/assets/tool-timeline-DlBZyd4j.js +0 -1
  209. package/dist/web/client/assets/types-D5hZ8IyV.js +0 -1
  210. package/dist/web/client/assets/ui-preferences-1YaENqef.js +0 -1
  211. package/dist/web/client/assets/use-hover-capable-MwFjBLZQ.js +0 -1
  212. package/dist/web/client/assets/workspace-path-nav-BRwuLsFl.js +0 -2
  213. package/dist/web/client/assets/wrench-BYnD147U.js +0 -1
  214. package/dist/web/server/_tanstack-start-manifest_v-YlngJGUa-YTWBGR7L.js +0 -93
  215. package/dist/web/server/chunk-2PAW6K4Q.js +0 -56
  216. package/dist/web/server/chunk-CHSKEU3V.js +0 -166
  217. package/dist/web/server/chunk-FB3UHLLN.js +0 -49
  218. package/dist/web/server/chunk-GLH2GWMG.js +0 -2182
  219. package/dist/web/server/chunk-OXEAXEWD.js +0 -13
  220. package/dist/web/server/chunk-SIJVVYQT.js +0 -234
  221. package/dist/web/server/chunk-UQV2NU63.js +0 -163
  222. package/dist/web/server/chunk-ZUZPJNLY.js +0 -25217
  223. package/dist/web/server/router-DZYr-9uT-AEXHEFXF.js +0 -31
  224. package/dist/web/server/routes-vYxWRhis-AAZ73SNP.js +0 -120
  225. package/dist/web/server/session-reasoning-panel-XXU2yIOW-XXCKHISS.js +0 -192
  226. package/dist/web/server/session-tool-renderer-Dtt74Mts-7YYNSWRV.js +0 -29
  227. package/dist/web/server/tool-timeline-BKWsrZHK-3LGCOTPH.js +0 -12
@@ -0,0 +1,588 @@
1
+ // web/app/dist/server/assets/composer-completion-C2x94SIt.js
2
+ var NETWORK_DISCONNECTED_MESSAGE = "Fleet Prime is not connected to the Prime Agent runtime. Start or reconnect the runtime, then try again.";
3
+ var FLEET_ADAPTER_CAPABILITIES = {
4
+ protocolVersion: 1,
5
+ schemaRevision: 4,
6
+ features: [
7
+ "reasoning-summary-v1",
8
+ "mcp-connections-v1",
9
+ "session-tree-v1",
10
+ "composer-intent-v1",
11
+ "composer-completion-v1"
12
+ ]
13
+ };
14
+ function composerCompletionIgnores(draft) {
15
+ if (draft.trimStart().startsWith("/")) return true;
16
+ return /(?:^|\s)@[^\s@]*$/.test(draft);
17
+ }
18
+ function normalizeCompletionDraft(text) {
19
+ return text.trim().replace(/\s+/g, " ");
20
+ }
21
+ function composerCompletionGhost(draft, completion, mode = "append") {
22
+ if (!completion) return void 0;
23
+ const normalizedCompletion = normalizeCompletionDraft(completion);
24
+ if (mode === "replace") return normalizedCompletion.length > 0 ? normalizedCompletion : void 0;
25
+ const normalizedDraft = normalizeCompletionDraft(draft);
26
+ if (normalizedCompletion.length <= normalizedDraft.length) return void 0;
27
+ if (!normalizedCompletion.toLowerCase().startsWith(normalizedDraft.toLowerCase())) return void 0;
28
+ const suffix = normalizedCompletion.slice(normalizedDraft.length);
29
+ return /\s$/.test(draft) ? suffix.replace(/^\s+/, "") : suffix;
30
+ }
31
+
32
+ // web/app/dist/server/assets/composer-intent-DESmzIO7.js
33
+ var COMPOSER_INTENT_COMMANDS = [
34
+ {
35
+ id: "context",
36
+ description: "Show how much of the model's context window the session has used",
37
+ handling: "local",
38
+ autoExecutable: true
39
+ },
40
+ {
41
+ id: "session",
42
+ description: "Show the current session's identifier and display name",
43
+ handling: "local",
44
+ autoExecutable: true
45
+ },
46
+ {
47
+ id: "copy",
48
+ description: "Copy the agent's last reply to the clipboard",
49
+ handling: "local",
50
+ autoExecutable: true
51
+ },
52
+ {
53
+ id: "share",
54
+ description: "Copy the whole conversation transcript to the clipboard",
55
+ handling: "local",
56
+ autoExecutable: true
57
+ },
58
+ {
59
+ id: "hotkeys",
60
+ description: "Show the keyboard shortcuts",
61
+ handling: "local",
62
+ autoExecutable: true
63
+ },
64
+ {
65
+ id: "changelog",
66
+ description: "Show what changed in recent Fleet Prime releases",
67
+ handling: "local",
68
+ autoExecutable: true
69
+ },
70
+ {
71
+ id: "system-prompt",
72
+ description: "Show the exact system prompt sent to the model",
73
+ handling: "local",
74
+ autoExecutable: true
75
+ },
76
+ {
77
+ id: "logs",
78
+ description: "Show where the runtime's log files are stored",
79
+ handling: "local",
80
+ autoExecutable: true
81
+ },
82
+ {
83
+ id: "agents",
84
+ description: "List the saved sessions",
85
+ handling: "local",
86
+ autoExecutable: true
87
+ },
88
+ {
89
+ id: "traces",
90
+ description: "Preview, upload, or configure Fleet Prime traces",
91
+ argumentHint: "[status|on|off|preview|upload]",
92
+ handling: "local",
93
+ autoExecutable: false
94
+ },
95
+ {
96
+ id: "model",
97
+ description: "Switch which AI model answers, or open the model picker",
98
+ argumentHint: "[provider/id]",
99
+ handling: "local",
100
+ autoExecutable: false
101
+ },
102
+ {
103
+ id: "effort",
104
+ description: "Set how much reasoning effort the model spends, or open the effort picker",
105
+ argumentHint: "[level]",
106
+ handling: "local",
107
+ autoExecutable: false
108
+ },
109
+ {
110
+ id: "fast",
111
+ description: "Toggle fast mode",
112
+ handling: "local",
113
+ autoExecutable: false
114
+ },
115
+ {
116
+ id: "settings",
117
+ description: "Open the app's Settings",
118
+ handling: "local",
119
+ autoExecutable: false
120
+ },
121
+ {
122
+ id: "mcp",
123
+ description: "Open the MCP server connections in Settings",
124
+ handling: "local",
125
+ autoExecutable: false
126
+ },
127
+ {
128
+ id: "export",
129
+ description: "Export the session to a file",
130
+ argumentHint: "[path]",
131
+ handling: "local",
132
+ autoExecutable: false
133
+ },
134
+ {
135
+ id: "name",
136
+ description: "Rename the current session",
137
+ argumentHint: "[name]",
138
+ handling: "local",
139
+ autoExecutable: false
140
+ },
141
+ {
142
+ id: "tree",
143
+ description: "Show the session's branch tree so another branch can be selected",
144
+ handling: "local",
145
+ autoExecutable: false
146
+ },
147
+ {
148
+ id: "fork",
149
+ description: "Create a new session forked from an earlier user message",
150
+ argumentHint: "[message-entry-id]",
151
+ handling: "local",
152
+ autoExecutable: false
153
+ },
154
+ {
155
+ id: "clone",
156
+ description: "Duplicate the current session at its current position",
157
+ handling: "local",
158
+ autoExecutable: false
159
+ },
160
+ {
161
+ id: "login",
162
+ description: "Open provider sign-in",
163
+ handling: "local",
164
+ autoExecutable: false
165
+ },
166
+ {
167
+ id: "logout",
168
+ description: "Open provider sign-out",
169
+ handling: "local",
170
+ autoExecutable: false
171
+ },
172
+ {
173
+ id: "reload",
174
+ description: "Reload keybindings, extensions, skills, prompts, and themes",
175
+ handling: "local",
176
+ autoExecutable: false
177
+ },
178
+ {
179
+ id: "new",
180
+ description: "Start a new chat session",
181
+ handling: "local",
182
+ autoExecutable: false
183
+ },
184
+ {
185
+ id: "compact",
186
+ description: "Compact the session context to free room in the model's context window",
187
+ argumentHint: "[instructions]",
188
+ handling: "session",
189
+ autoExecutable: false
190
+ },
191
+ {
192
+ id: "goal",
193
+ description: "Set or view a persistent goal for the session",
194
+ argumentHint: "[objective]",
195
+ handling: "session",
196
+ autoExecutable: false
197
+ }
198
+ ];
199
+ var COMPOSER_INTENT_COMMAND_BY_ID = new Map(COMPOSER_INTENT_COMMANDS.map((command) => [command.id, command]));
200
+ function composerIntentCommand(id) {
201
+ return id === void 0 ? void 0 : COMPOSER_INTENT_COMMAND_BY_ID.get(id);
202
+ }
203
+ var COMPOSER_INTENT_NONE = "none";
204
+ function isSingleTokenDraft(draft) {
205
+ return !/\s/.test(draft.trim());
206
+ }
207
+ function decideComposerIntent(input) {
208
+ if (input.codeTaskProbability >= 0.3) return {
209
+ outcome: "none",
210
+ reason: "code_task"
211
+ };
212
+ if (!input.command || input.command === "none") return {
213
+ outcome: "none",
214
+ reason: "no_match"
215
+ };
216
+ const command = composerIntentCommand(input.command);
217
+ if (!command) return {
218
+ outcome: "none",
219
+ reason: "no_match"
220
+ };
221
+ if (input.confidence < 0.6) return {
222
+ outcome: "none",
223
+ reason: "below_floor"
224
+ };
225
+ if (!input.requireConfirmation && input.confidence >= 0.8 && command.autoExecutable) return {
226
+ outcome: "matched",
227
+ command,
228
+ disposition: "execute"
229
+ };
230
+ return {
231
+ outcome: "matched",
232
+ command,
233
+ disposition: "suggest"
234
+ };
235
+ }
236
+
237
+ // web/app/dist/server/assets/provider-catalog-Bn82KRgx.js
238
+ var PI_CUSTOM_PROVIDER_APIS = Object.keys({
239
+ "openai-completions": true,
240
+ "openai-responses": true,
241
+ "anthropic-messages": true,
242
+ "google-genai": true
243
+ });
244
+ function isOccFamilyApi(api) {
245
+ return api === "openai-completions" || api === "openai-responses";
246
+ }
247
+ function isPiCustomProviderApi(value) {
248
+ return typeof value === "string" && PI_CUSTOM_PROVIDER_APIS.includes(value);
249
+ }
250
+ var PI_PROVIDER_CATALOG = [
251
+ {
252
+ id: "amazon-bedrock",
253
+ name: "Amazon Bedrock",
254
+ envVarName: "AWS_ACCESS_KEY_ID"
255
+ },
256
+ {
257
+ id: "openai",
258
+ name: "OpenAI",
259
+ envVarName: "OPENAI_API_KEY"
260
+ },
261
+ {
262
+ id: "openai-chat-completions",
263
+ name: "OpenAI Chat Completions",
264
+ envVarName: "OPENAI_CHAT_COMPLETIONS_API_KEY"
265
+ },
266
+ {
267
+ id: "openai-chat-completions-base-url",
268
+ name: "OpenAI Chat Completions Base URL",
269
+ envVarName: "OPENAI_CHAT_COMPLETIONS_BASE_URL"
270
+ },
271
+ {
272
+ id: "openai-chat-completions-model",
273
+ name: "OpenAI Chat Completions Model",
274
+ envVarName: "OPENAI_CHAT_COMPLETIONS_MODEL"
275
+ },
276
+ {
277
+ id: "anthropic",
278
+ name: "Anthropic",
279
+ envVarName: "ANTHROPIC_API_KEY"
280
+ },
281
+ {
282
+ id: "google-vertex",
283
+ name: "Google Vertex",
284
+ envVarName: "GOOGLE_CLOUD_API_KEY"
285
+ },
286
+ {
287
+ id: "google",
288
+ name: "Google Gemini",
289
+ envVarName: "GEMINI_API_KEY"
290
+ },
291
+ {
292
+ id: "mistral",
293
+ name: "Mistral",
294
+ envVarName: "MISTRAL_API_KEY"
295
+ },
296
+ {
297
+ id: "groq",
298
+ name: "Groq",
299
+ envVarName: "GROQ_API_KEY"
300
+ },
301
+ {
302
+ id: "openrouter",
303
+ name: "OpenRouter",
304
+ envVarName: "OPENROUTER_API_KEY"
305
+ },
306
+ {
307
+ id: "vercel-ai-gateway",
308
+ name: "Vercel AI Gateway",
309
+ envVarName: "AI_GATEWAY_API_KEY"
310
+ },
311
+ {
312
+ id: "github-copilot",
313
+ name: "GitHub Copilot",
314
+ envVarName: "GITHUB_COPILOT_TOKEN",
315
+ authType: "oauth"
316
+ },
317
+ {
318
+ id: "ollama",
319
+ name: "Ollama",
320
+ envVarName: "OLLAMA_BASE_URL"
321
+ },
322
+ {
323
+ id: "daytona",
324
+ name: "Daytona",
325
+ envVarName: "DAYTONA_API_KEY"
326
+ },
327
+ {
328
+ id: "daytona-target",
329
+ name: "Daytona Target",
330
+ envVarName: "DAYTONA_TARGET"
331
+ }
332
+ ];
333
+ var INFRA_PROVIDER_IDS = [
334
+ "daytona",
335
+ "daytona-target",
336
+ "openai-chat-completions-base-url",
337
+ "openai-chat-completions-model"
338
+ ];
339
+ var OPENAI_CHAT_COMPLETIONS_PROVIDER_ID = "openai-chat-completions";
340
+ var OCC_INSTANCE_ID_PREFIX = `${OPENAI_CHAT_COMPLETIONS_PROVIDER_ID}+`;
341
+ var CUSTOM_PROVIDER_ID_PREFIX = "custom+";
342
+ function isCustomProviderId(providerId) {
343
+ return providerId.startsWith(CUSTOM_PROVIDER_ID_PREFIX);
344
+ }
345
+ function isOccProviderId(providerId) {
346
+ return providerId === "openai-chat-completions" || providerId.startsWith(OCC_INSTANCE_ID_PREFIX);
347
+ }
348
+ function isNamedOccInstanceId(providerId) {
349
+ return providerId.startsWith(OCC_INSTANCE_ID_PREFIX);
350
+ }
351
+ var OCC_SLUG_MAX_LENGTH = 48;
352
+ function toInstanceSlug(displayName) {
353
+ return displayName.trim().toLowerCase().normalize("NFKD").replace(/[̀-ͯ]/g, "").replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, OCC_SLUG_MAX_LENGTH).replace(/^-+|-+$/g, "") || "provider";
354
+ }
355
+ function toOccInstanceId(slug) {
356
+ return `${OCC_INSTANCE_ID_PREFIX}${slug}`;
357
+ }
358
+ function toCustomProviderId(slug) {
359
+ return `${CUSTOM_PROVIDER_ID_PREFIX}${slug}`;
360
+ }
361
+ function allocateProviderId(baseSlug, existingIds, toId) {
362
+ for (let attempt = 1; attempt <= 50; attempt++) {
363
+ const id = toId(attempt === 1 ? baseSlug : `${baseSlug}-${attempt}`);
364
+ if (!existingIds.has(id)) return id;
365
+ }
366
+ return toId(`${baseSlug}-${Date.now().toString(36)}`);
367
+ }
368
+ function normalizeCustomProviderInstance(instance) {
369
+ const modelIds = instance.modelIds && instance.modelIds.length > 0 ? instance.modelIds : instance.modelId ? [instance.modelId] : [];
370
+ return {
371
+ api: instance.api ?? "openai-completions",
372
+ modelIds
373
+ };
374
+ }
375
+ var KNOWN_PROVIDERS = PI_PROVIDER_CATALOG.map(({ id, name, envVarName, authType }) => ({
376
+ id,
377
+ name,
378
+ envVarName,
379
+ authType
380
+ }));
381
+ var LLM_PROVIDER_ENV_SCRUB_IDS = KNOWN_PROVIDERS.flatMap((provider) => INFRA_PROVIDER_IDS.includes(provider.id) ? [] : [provider.id]);
382
+ KNOWN_PROVIDERS.filter((provider) => !INFRA_PROVIDER_IDS.includes(provider.id) && provider.authType !== "oauth");
383
+ Array.from(/* @__PURE__ */ new Set([
384
+ ...KNOWN_PROVIDERS.flatMap((provider) => LLM_PROVIDER_ENV_SCRUB_IDS.includes(provider.id) || provider.id === "openai-chat-completions-base-url" || provider.id === "openai-chat-completions-model" ? [provider.envVarName] : []),
385
+ "HF_TOKEN",
386
+ "ANT_LING_API_KEY",
387
+ "AZURE_OPENAI_API_KEY",
388
+ "NVIDIA_API_KEY",
389
+ "DEEPSEEK_API_KEY",
390
+ "GOOGLE_CLOUD_API_KEY",
391
+ "CEREBRAS_API_KEY",
392
+ "XAI_API_KEY",
393
+ "RADIUS_API_KEY",
394
+ "ZAI_API_KEY",
395
+ "ZAI_CODING_CN_API_KEY",
396
+ "MINIMAX_API_KEY",
397
+ "MINIMAX_CN_API_KEY",
398
+ "MOONSHOT_API_KEY",
399
+ "FIREWORKS_API_KEY",
400
+ "TOGETHER_API_KEY",
401
+ "OPENCODE_API_KEY",
402
+ "KIMI_API_KEY",
403
+ "CLOUDFLARE_API_KEY",
404
+ "CLOUDFLARE_ACCOUNT_ID",
405
+ "CLOUDFLARE_GATEWAY_ID",
406
+ "XIAOMI_API_KEY",
407
+ "XIAOMI_TOKEN_PLAN_CN_API_KEY",
408
+ "XIAOMI_TOKEN_PLAN_AMS_API_KEY",
409
+ "XIAOMI_TOKEN_PLAN_SGP_API_KEY",
410
+ "ANTHROPIC_OAUTH_TOKEN",
411
+ "ANTHROPIC_OAUTH_KEY",
412
+ "COPILOT_GITHUB_TOKEN",
413
+ "GITHUB_COPILOT_TOKEN",
414
+ "AWS_SECRET_ACCESS_KEY",
415
+ "AWS_BEARER_TOKEN_BEDROCK",
416
+ "AWS_PROFILE",
417
+ "AWS_ACCESS_KEY_ID",
418
+ "DAYTONA_API_KEY",
419
+ "ORG_DAYTONA_API_KEY",
420
+ "DAYTONA_TARGET"
421
+ ]));
422
+
423
+ // web/app/dist/server/assets/session-label-DAwGAfxA.js
424
+ var SECRET_VALUE_PATTERNS = [
425
+ /\bsk-[A-Za-z0-9._-]{8,}\b/g,
426
+ /\b(?:github_pat_|gh[pousr]_)[A-Za-z0-9_]{8,}\b/g,
427
+ /\bxox[baprs]-[A-Za-z0-9-]{8,}\b/g,
428
+ /\bAIza[A-Za-z0-9_-]{20,}\b/g
429
+ ];
430
+ var NAMED_SECRET_PATTERN = /\b(api[ _-]?key|access[ _-]?token|auth[ _-]?token|bearer|password|secret)\s*([:=])\s*(?:"[^"]*"|'[^']*'|[^\s,;]+)/gi;
431
+ function redactSessionLabelSecrets(label) {
432
+ let redacted = label.replace(NAMED_SECRET_PATTERN, (_match, name, separator) => `${name}${separator} [redacted]`);
433
+ for (const pattern of SECRET_VALUE_PATTERNS) redacted = redacted.replace(pattern, "[redacted]");
434
+ return redacted;
435
+ }
436
+ function meaningfulSessionLabel(value) {
437
+ const trimmed = value?.trim();
438
+ if (!trimmed || trimmed === "(no messages)") return void 0;
439
+ const redacted = redactSessionLabelSecrets(trimmed).trim();
440
+ return redacted.length > 0 ? redacted : void 0;
441
+ }
442
+ function fallbackSessionLabel(sessionId) {
443
+ return sessionId.slice(0, 8);
444
+ }
445
+ function sessionListTitle(input) {
446
+ return meaningfulSessionLabel(input.title) ?? meaningfulSessionLabel(input.firstMessage) ?? fallbackSessionLabel(input.sessionId);
447
+ }
448
+ function disambiguateSessionLabel(base, sessionId, collidingCount) {
449
+ if (collidingCount <= 1) return base;
450
+ const suffix = sessionId.slice(-4);
451
+ if (base.endsWith(suffix)) return base;
452
+ return `${base} \xB7 ${suffix}`;
453
+ }
454
+
455
+ // web/app/dist/server/assets/safe-storage-KcAWDo9R.js
456
+ function getStorage(kind) {
457
+ if (typeof window === "undefined") return null;
458
+ try {
459
+ return kind === "local" ? window.localStorage : window.sessionStorage;
460
+ } catch {
461
+ return null;
462
+ }
463
+ }
464
+ function readStoredValue(key, kind = "local") {
465
+ const storage = getStorage(kind);
466
+ if (!storage) return null;
467
+ try {
468
+ return storage.getItem(key);
469
+ } catch {
470
+ return null;
471
+ }
472
+ }
473
+ function writeStoredValue(key, value, kind = "local") {
474
+ const storage = getStorage(kind);
475
+ if (!storage) return;
476
+ try {
477
+ storage.setItem(key, value);
478
+ } catch {
479
+ }
480
+ }
481
+ function removeStoredValue(key, kind = "local") {
482
+ const storage = getStorage(kind);
483
+ if (!storage) return;
484
+ try {
485
+ storage.removeItem(key);
486
+ } catch {
487
+ }
488
+ }
489
+
490
+ // web/app/dist/server/assets/ui-preferences-BWuYffgK.js
491
+ import { useSyncExternalStore } from "react";
492
+ var UI_PREFERENCES_KEY = "fleet-prime:v1:ui-preferences";
493
+ var UI_PREFERENCES_EVENT = "fleet-prime:ui-preferences";
494
+ var DEFAULT_UI_PREFERENCES = {
495
+ density: "comfortable",
496
+ motion: "system",
497
+ transcript: "follow",
498
+ confirmSessionDelete: true
499
+ };
500
+ var listeners = /* @__PURE__ */ new Set();
501
+ var snapshot = DEFAULT_UI_PREFERENCES;
502
+ var snapshotRaw = null;
503
+ function readUiPreferences() {
504
+ try {
505
+ const raw = readStoredValue(UI_PREFERENCES_KEY) ?? "null";
506
+ if (raw === snapshotRaw) return snapshot;
507
+ const parsed = JSON.parse(raw);
508
+ const next = {
509
+ ...DEFAULT_UI_PREFERENCES,
510
+ ...parsed
511
+ };
512
+ snapshotRaw = raw;
513
+ if (next.density === snapshot.density && next.motion === snapshot.motion && next.transcript === snapshot.transcript && next.confirmSessionDelete === snapshot.confirmSessionDelete) return snapshot;
514
+ snapshot = next;
515
+ return snapshot;
516
+ } catch {
517
+ snapshotRaw = null;
518
+ snapshot = DEFAULT_UI_PREFERENCES;
519
+ return snapshot;
520
+ }
521
+ }
522
+ function applyUiPreferencesToDocument(preferences) {
523
+ if (typeof document === "undefined") return;
524
+ document.documentElement.dataset.density = preferences.density;
525
+ document.documentElement.classList.toggle("reduce-motion", preferences.motion === "reduced");
526
+ }
527
+ function writeUiPreferences(preferences) {
528
+ writeStoredValue(UI_PREFERENCES_KEY, JSON.stringify(preferences));
529
+ snapshot = preferences;
530
+ snapshotRaw = JSON.stringify(preferences);
531
+ applyUiPreferencesToDocument(preferences);
532
+ for (const listener of listeners) listener();
533
+ if (typeof window !== "undefined") window.dispatchEvent(new Event(UI_PREFERENCES_EVENT));
534
+ }
535
+ function subscribeUiPreferences(onStoreChange) {
536
+ listeners.add(onStoreChange);
537
+ if (typeof window === "undefined") return () => {
538
+ listeners.delete(onStoreChange);
539
+ };
540
+ window.addEventListener(UI_PREFERENCES_EVENT, onStoreChange);
541
+ window.addEventListener("storage", onStoreChange);
542
+ return () => {
543
+ listeners.delete(onStoreChange);
544
+ window.removeEventListener(UI_PREFERENCES_EVENT, onStoreChange);
545
+ window.removeEventListener("storage", onStoreChange);
546
+ };
547
+ }
548
+ function useUiPreferences() {
549
+ return useSyncExternalStore(subscribeUiPreferences, readUiPreferences, () => DEFAULT_UI_PREFERENCES);
550
+ }
551
+
552
+ export {
553
+ NETWORK_DISCONNECTED_MESSAGE,
554
+ FLEET_ADAPTER_CAPABILITIES,
555
+ composerCompletionIgnores,
556
+ normalizeCompletionDraft,
557
+ composerCompletionGhost,
558
+ COMPOSER_INTENT_COMMANDS,
559
+ composerIntentCommand,
560
+ COMPOSER_INTENT_NONE,
561
+ isSingleTokenDraft,
562
+ decideComposerIntent,
563
+ isOccFamilyApi,
564
+ isPiCustomProviderApi,
565
+ OPENAI_CHAT_COMPLETIONS_PROVIDER_ID,
566
+ isCustomProviderId,
567
+ isOccProviderId,
568
+ isNamedOccInstanceId,
569
+ toInstanceSlug,
570
+ toOccInstanceId,
571
+ toCustomProviderId,
572
+ allocateProviderId,
573
+ normalizeCustomProviderInstance,
574
+ KNOWN_PROVIDERS,
575
+ redactSessionLabelSecrets,
576
+ meaningfulSessionLabel,
577
+ fallbackSessionLabel,
578
+ sessionListTitle,
579
+ disambiguateSessionLabel,
580
+ readStoredValue,
581
+ writeStoredValue,
582
+ removeStoredValue,
583
+ DEFAULT_UI_PREFERENCES,
584
+ readUiPreferences,
585
+ applyUiPreferencesToDocument,
586
+ writeUiPreferences,
587
+ useUiPreferences
588
+ };