@harperfast/harper 5.2.6 → 5.2.7

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 (291) hide show
  1. package/dist/resources/PrimaryRocksDatabase.js +2 -3
  2. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  3. package/dist/resources/RecordEncoder.d.ts +16 -0
  4. package/dist/resources/RecordEncoder.js +93 -3
  5. package/dist/resources/RecordEncoder.js.map +1 -1
  6. package/dist/resources/Table.js +53 -0
  7. package/dist/resources/Table.js.map +1 -1
  8. package/dist/resources/graphql.js +1 -1
  9. package/dist/resources/graphql.js.map +1 -1
  10. package/dist/resources/tracked.js +5 -0
  11. package/dist/resources/tracked.js.map +1 -1
  12. package/npm-shrinkwrap.json +6 -6
  13. package/package.json +2 -2
  14. package/resources/DESIGN.md +5 -0
  15. package/resources/PrimaryRocksDatabase.ts +3 -3
  16. package/resources/RecordEncoder.ts +85 -3
  17. package/resources/Table.ts +60 -1
  18. package/resources/graphql.ts +1 -1
  19. package/resources/tracked.ts +4 -0
  20. package/studio/web/assets/{Chat-BNHY84-Z.js → Chat-etJeJv4a.js} +71 -95
  21. package/studio/web/assets/FloatingChat-BvmHsuVo.js +23 -0
  22. package/studio/web/assets/abnfDiagram-VCTEODGH-C0_BAZyO.js +1 -0
  23. package/studio/web/assets/{alertDialog-BaBrZQ4M.js → alertDialog-DIHt7Z0r.js} +1 -1
  24. package/studio/web/assets/apiToken-Bl5LC8EH.js +1 -0
  25. package/studio/web/assets/applications-Dta6Y0Rg.js +296 -0
  26. package/studio/web/assets/arc-CVRByUzA.js +1 -0
  27. package/studio/web/assets/architecture-7GRP2DOG-DNdx5tEU.js +1 -0
  28. package/studio/web/assets/architectureDiagram-5GKGNRK7-BWzrASgm.js +36 -0
  29. package/studio/web/assets/authStore-qKmCZcaf.js +3 -0
  30. package/studio/web/assets/blockDiagram-NRAW4CY4-BdJX9Khj.js +129 -0
  31. package/studio/web/assets/{button-DfBmT4rc.js → button-DhiX-njv.js} +1 -1
  32. package/studio/web/assets/c4Diagram-UCG6FXSJ-CI6MzGmQ.js +38 -0
  33. package/studio/web/assets/channel-DtCV8PTL.js +1 -0
  34. package/studio/web/assets/chevron-up-Df2c8uoU.js +1 -0
  35. package/studio/web/assets/chunk-75Z2AOVW-BT8tVmks.js +2 -0
  36. package/studio/web/assets/chunk-DU6HZSFF-9kAOOmI6.js +127 -0
  37. package/studio/web/assets/{chunk-2GRJ4B5K-DtwG__pv.js → chunk-F27PBJKO-BW7ao8AY.js} +1 -1
  38. package/studio/web/assets/{chunk-KEIR6QF5-BICK3FdT.js → chunk-FOHPRMQF-DHwB1DNv.js} +2 -2
  39. package/studio/web/assets/{chunk-5RXB4S5H-D3c7okHC.js → chunk-G27WJ6UU-COyLMcgK.js} +2 -2
  40. package/studio/web/assets/chunk-GMAD6QVW-BNyXpoQO.js +72 -0
  41. package/studio/web/assets/chunk-JQ64N6SF-Cyz1IeLf.js +1 -0
  42. package/studio/web/assets/{chunk-GF5L2VYU-DreJ7Snz.js → chunk-LCL6LL3I-HOzK_ppE.js} +3 -3
  43. package/studio/web/assets/chunk-OBVCFTLP-D4wWOqDQ.js +1 -0
  44. package/studio/web/assets/chunk-P2QGCYS3-DmIFY4d7.js +1 -0
  45. package/studio/web/assets/{chunk-KBJHAD2P-CLDPbAA-.js → chunk-POPQ4Y6H-BPrvMyKz.js} +1 -1
  46. package/studio/web/assets/{chunk-4I5QYGJK-D1FhvtQq.js → chunk-PWAF6VOD-2zB6IW9i.js} +1 -1
  47. package/studio/web/assets/chunk-R7TYR2AO-Irip67yr.js +10 -0
  48. package/studio/web/assets/chunk-RHFEMEQ7-2FgyI8YU.js +168 -0
  49. package/studio/web/assets/{chunk-6Q2QTUOP-QviMM6bR.js → chunk-SVP7TREG-FwtbH2QC.js} +1 -1
  50. package/studio/web/assets/chunk-TEH6E4GO-P87k5mNi.js +62 -0
  51. package/studio/web/assets/{chunk-XXDRQBXY-CaP_jixK.js → chunk-XXDRQBXY-BoGZu3HH.js} +1 -1
  52. package/studio/web/assets/classDiagram-DTDB5LWJ-DbO_dCNE.js +1 -0
  53. package/studio/web/assets/classDiagram-v2-JRS7N3AN-DbO_dCNE.js +1 -0
  54. package/studio/web/assets/{cose-bilkent-JH36ORCC-BVTNhTKD.js → cose-bilkent-JH36ORCC-Cuuf67Bh.js} +1 -1
  55. package/studio/web/assets/{createLucideIcon-BMkDbMrz.js → createLucideIcon-BKGPfjm2.js} +1 -1
  56. package/studio/web/assets/cssMode-IAbO_2KK.js +1 -0
  57. package/studio/web/assets/cynefin-OW5HDTMX-BRkpLFQV.js +1 -0
  58. package/studio/web/assets/cynefinDiagram-5FMLGOSQ-CHT1DaX6.js +62 -0
  59. package/studio/web/assets/cytoscape.esm-C2x7inlt.js +321 -0
  60. package/studio/web/assets/dagre-3AP2YEHR-DpUXBh63.js +4 -0
  61. package/studio/web/assets/dagre-PrKaheQc.js +1 -0
  62. package/studio/web/assets/diagram-S7CK7UJ4-BuymVFZT.js +30 -0
  63. package/studio/web/assets/diagram-UQ7AKVKN-CyP148RM.js +41 -0
  64. package/studio/web/assets/diagram-VSXAHHWV-CoCAg3M9.js +3 -0
  65. package/studio/web/assets/diagram-VX7I27RA-BpOqCFca.js +24 -0
  66. package/studio/web/assets/diagram-Z3DM3KII-Bfpw7Vbj.js +24 -0
  67. package/studio/web/assets/dialog-CBf0Mr1d.js +1 -0
  68. package/studio/web/assets/{dist-CeoU7cfW.js → dist-kYfyPZP9.js} +1 -1
  69. package/studio/web/assets/{dist-cY0BPcz0.js → dist-lkA3O3eM.js} +1 -1
  70. package/studio/web/assets/download-BtTOBem-.js +1 -0
  71. package/studio/web/assets/ebnfDiagram-PWID7BFC-DS_6aWqL.js +1 -0
  72. package/studio/web/assets/editor-CeRXEhRl.js +1 -0
  73. package/studio/web/assets/erDiagram-SSCWMZ5O-DJNk6Fgw.js +99 -0
  74. package/studio/web/assets/eventmodeling-NTZA5JFV-5jbe4A5P.js +1 -0
  75. package/studio/web/assets/flowDiagram-A5DVABFB-Dp9Ezlow.js +1 -0
  76. package/studio/web/assets/{ganttDiagram-PKOTCBZU-Cit41Zp3.js → ganttDiagram-EL5Y4UJY-2pOExxMY.js} +2 -2
  77. package/studio/web/assets/{getAnalytics-rTxZLIM5.js → getAnalytics-D4LKGeVy.js} +1 -1
  78. package/studio/web/assets/gitGraph-4MIJSDKK-CH5ZxwzF.js +1 -0
  79. package/studio/web/assets/gitGraphDiagram-WWUBYQGX-DVIsIhbO.js +106 -0
  80. package/studio/web/assets/html-DOV4s_YT.js +1 -0
  81. package/studio/web/assets/htmlMode-CdqjnAh4.js +1 -0
  82. package/studio/web/assets/index-CTqasm6g.js +824 -0
  83. package/studio/web/assets/index-Cxj2_wsl.css +1 -0
  84. package/studio/web/assets/index.lazy-VmcKgiEy.js +2 -0
  85. package/studio/web/assets/info-A6RAGUB7-CPQfTnaG.js +1 -0
  86. package/studio/web/assets/infoDiagram-RXCK75RN-DlwLYlwm.js +2 -0
  87. package/studio/web/assets/{ishikawaDiagram-WSZJBQD7-BJYRB-hU.js → ishikawaDiagram-5VMMS53U-BRXRp29U.js} +2 -2
  88. package/studio/web/assets/{javascript-CGzSV8Sd.js → javascript-Dj7yXfx5.js} +1 -1
  89. package/studio/web/assets/{journeyDiagram-NVQOT4AX-B8K4wuMz.js → journeyDiagram-EYS64GPL-B0ou8k0n.js} +1 -1
  90. package/studio/web/assets/jsonMode-khk65qzx.js +1 -0
  91. package/studio/web/assets/{kanban-definition-27J2QSJJ-DKFV1ovM.js → kanban-definition-3QL26DDD-uYg7iYzp.js} +11 -11
  92. package/studio/web/assets/languageServices-D_06p7dw.js +1 -0
  93. package/studio/web/assets/linear-Cnt8506Q.js +1 -0
  94. package/studio/web/assets/lspLanguageFeatures-DTA6wyQw.js +4 -0
  95. package/studio/web/assets/mermaid-parser.core-Ck-fC8b7.js +7 -0
  96. package/studio/web/assets/mermaid.core-CP8aNNYm.js +44 -0
  97. package/studio/web/assets/{mindmap-definition-FAOFIHXS-CKL4PdAv.js → mindmap-definition-FBJOCRG2-CgTZ-rit.js} +25 -25
  98. package/studio/web/assets/notifications-Bah46LXX.js +1 -0
  99. package/studio/web/assets/notifications-CBZXgxVc.js +1 -0
  100. package/studio/web/assets/packet-AYTQ26CC-DEyoPtPb.js +1 -0
  101. package/studio/web/assets/pegDiagram-XKGWAZYB-DrD-7sD9.js +1 -0
  102. package/studio/web/assets/pie-WAS4IAKB-wjj-EI1d.js +1 -0
  103. package/studio/web/assets/pieDiagram-E7YTZNPT-GntqDCzv.js +39 -0
  104. package/studio/web/assets/profile-QspOun_j.js +1 -0
  105. package/studio/web/assets/{quadrantDiagram-CIZ2JOQS-CSbsuWtH.js → quadrantDiagram-AXDQQJYC-0UeqXQGd.js} +1 -1
  106. package/studio/web/assets/radar-RG4KPBEZ-DFSA5h7k.js +1 -0
  107. package/studio/web/assets/railroad-74A4TZTK-CaOUG9wR.js +1 -0
  108. package/studio/web/assets/railroad-abnf-HS5TGJTU-Bc0Qi0WH.js +1 -0
  109. package/studio/web/assets/railroad-ebnf-LZEXJU2U-G8rVVZ2C.js +1 -0
  110. package/studio/web/assets/railroad-peg-WCYAUIDC-CrehKBhC.js +1 -0
  111. package/studio/web/assets/railroadDiagram-O6MQD6OU-yHUELZaV.js +1 -0
  112. package/studio/web/assets/regions-QdUi7bQ9.js +1 -0
  113. package/studio/web/assets/{editor.api-eUd8PqEu.js → register-Buvoxmb8.js} +139 -138
  114. package/studio/web/assets/{requirementDiagram-LRYGKXZP-ZIF0Wlho.js → requirementDiagram-EFPCY7ZU-DNEGFjuW.js} +2 -2
  115. package/studio/web/assets/rolldown-runtime-hePW80VL.js +1 -0
  116. package/studio/web/assets/safeParse-DeaoCCWH.js +1 -0
  117. package/studio/web/assets/{sankeyDiagram-W5VNT64P-BcRESt9x.js → sankeyDiagram-P5KCCOFB-DpyAmSVR.js} +1 -1
  118. package/studio/web/assets/{sequenceDiagram-SI44F4Z6-OpgTeJNU.js → sequenceDiagram-WJ2MYXX4-TyaT7xNk.js} +1 -1
  119. package/studio/web/assets/setComponentFile-BI4E_iDe.js +1 -0
  120. package/studio/web/assets/setLocalStorage-D_kflv4U.js +1 -0
  121. package/studio/web/assets/setSessionStorage-B0bf71m4.js +1 -0
  122. package/studio/web/assets/setup-Cop6LBQN.js +2 -0
  123. package/studio/web/assets/src-CMc7m_Ut.js +1 -0
  124. package/studio/web/assets/stateDiagram-HBIQ2CUA-CeEdTArZ.js +1 -0
  125. package/studio/web/assets/stateDiagram-v2-4QOOHH4V-D4tuw9Su.js +1 -0
  126. package/studio/web/assets/status-DRu3zRgl.js +61 -0
  127. package/studio/web/assets/step-vX8bovaY.js +1 -0
  128. package/studio/web/assets/swimlanes-XN3QIQJK-B54FmF46.js +1 -0
  129. package/studio/web/assets/swimlanesDiagram-VK2B7HYN-XOhmNEvq.js +8 -0
  130. package/studio/web/assets/tabs-B_G5zscN.js +1 -0
  131. package/studio/web/assets/{time-D55sDum-.js → time-Cclkb7kQ.js} +1 -1
  132. package/studio/web/assets/{timeline-definition-Z64GVDOM-Dy5A_tK2.js → timeline-definition-24CTP7MA-D-a9ujbo.js} +5 -5
  133. package/studio/web/assets/toggleHighContrast-C0dJLmZ0.js +49 -0
  134. package/studio/web/assets/treeView-Q6P3EWNA-CrW_6JnS.js +1 -0
  135. package/studio/web/assets/treemap-WGGIJYW6-BxyYLdP_.js +1 -0
  136. package/studio/web/assets/tsMode-dbDiapTA.js +11 -0
  137. package/studio/web/assets/typescript-CT1826cL.js +1 -0
  138. package/studio/web/assets/useEntityRestURL-D1u1X_gE.js +1 -0
  139. package/studio/web/assets/useLocalStorage-Dtj1QS8_.js +1 -0
  140. package/studio/web/assets/{vendor-core-CddkYGh5.js → vendor-core-RCcadM3e.js} +1 -1
  141. package/studio/web/assets/vendor-datadog-BRv-mOv1.js +6 -0
  142. package/studio/web/assets/{vendor-react-BhazFIp8.js → vendor-react-Dyj4O3HE.js} +1 -1
  143. package/studio/web/assets/vendor-tanstack-BiFWSB3W.js +1 -0
  144. package/studio/web/assets/{vendor-ui-BLIveqaL.js → vendor-ui-vhu-UHhF.js} +11 -11
  145. package/studio/web/assets/{vennDiagram-T6HMQDX7-DRvMIiSo.js → vennDiagram-4TSXK5OY-Cy7s7Mpy.js} +3 -3
  146. package/studio/web/assets/wardley-WFR3VGLG-BeBL35g2.js +1 -0
  147. package/studio/web/assets/{wardleyDiagram-T6FBY63Y-B04FSA0i.js → wardleyDiagram-VM6X3IG4-BylmIGSg.js} +3 -3
  148. package/studio/web/assets/workers-FpR9_D2K.js +3 -0
  149. package/studio/web/assets/x-B9o9hsep.js +1 -0
  150. package/studio/web/assets/xml-ZjKUMjth.js +1 -0
  151. package/studio/web/assets/{xychartDiagram-ELKLHX3M-BE0X7RA7.js → xychartDiagram-S5SC5T6Z-CoKALMXr.js} +3 -3
  152. package/studio/web/assets/yaml-B6gXbZU6.js +1 -0
  153. package/studio/web/assets/{yaml.worker-Iyy2Pf1T.js → yaml.worker-BDL8_iuk.js} +153 -153
  154. package/studio/web/harper-studio_black.png +0 -0
  155. package/studio/web/index.html +18 -24
  156. package/studio/web/assets/FloatingChat-BbztUci0.js +0 -23
  157. package/studio/web/assets/abnfDiagram-N423BO3Z-BRuH0ywn.js +0 -1
  158. package/studio/web/assets/apiToken-D0x_S8Wq.js +0 -1
  159. package/studio/web/assets/applications-BU83fSEG.js +0 -296
  160. package/studio/web/assets/arc-3Xw6uabx.js +0 -1
  161. package/studio/web/assets/architecture-TIHT7OUA-CsHfPErM.js +0 -1
  162. package/studio/web/assets/architectureDiagram-T3A2C74G-DrwbS7Gp.js +0 -36
  163. package/studio/web/assets/array-BifhSqXX.js +0 -1
  164. package/studio/web/assets/authStore-B3IhXrn6.js +0 -3
  165. package/studio/web/assets/blockDiagram-VBNYF7ZC-DKN1mht5.js +0 -132
  166. package/studio/web/assets/c4Diagram-5PPSVZJV-CT9bmjm_.js +0 -10
  167. package/studio/web/assets/card-ByrPS_wa.js +0 -1
  168. package/studio/web/assets/channel-mnKBfsP-.js +0 -1
  169. package/studio/web/assets/chevron-right-CY-tr2sG.js +0 -1
  170. package/studio/web/assets/chunk-3NCLNEKW-BVj72ixc.js +0 -1
  171. package/studio/web/assets/chunk-5FCAYU7R-Dh5nylU8.js +0 -1
  172. package/studio/web/assets/chunk-5HE753X5-Bw-yg4kO.js +0 -1
  173. package/studio/web/assets/chunk-5JV3BV7I-Cy5pj3QY.js +0 -1
  174. package/studio/web/assets/chunk-5TONJI2A-DQOY3q1H.js +0 -2
  175. package/studio/web/assets/chunk-7BUUIJ7U-Bb538aSH.js +0 -1
  176. package/studio/web/assets/chunk-7Z6QIM7H-BJhESwQK.js +0 -10
  177. package/studio/web/assets/chunk-BIQX33UG-DZEsGuSn.js +0 -1
  178. package/studio/web/assets/chunk-CQNSW5MT-B8S09OIh.js +0 -1
  179. package/studio/web/assets/chunk-CYSBUYHQ-C1Rf4art.js +0 -1
  180. package/studio/web/assets/chunk-EMLP6XTP-RLD4nXpI.js +0 -1
  181. package/studio/web/assets/chunk-I66GZJ75-DHPYnKNr.js +0 -125
  182. package/studio/web/assets/chunk-J7OUQ5F2-DcY_kb6i.js +0 -2
  183. package/studio/web/assets/chunk-JG7HCLWE-BYfiSaVt.js +0 -2
  184. package/studio/web/assets/chunk-JQJVKLGR-DtEmbHZj.js +0 -156
  185. package/studio/web/assets/chunk-MOZMSUNE-XVucA-n6.js +0 -1
  186. package/studio/web/assets/chunk-NSK5VX7P-DDFNzCU_.js +0 -2
  187. package/studio/web/assets/chunk-OSBZ3O6U-CrKZOUOr.js +0 -1
  188. package/studio/web/assets/chunk-QBLGF6JB-CxAyS2mW.js +0 -1
  189. package/studio/web/assets/chunk-QR6OTTB3-Df7OCENk.js +0 -62
  190. package/studio/web/assets/chunk-R7FJI6CG-Cnn3gE-Y.js +0 -1
  191. package/studio/web/assets/chunk-RYQCIY6F-N0MDKk5G.js +0 -1
  192. package/studio/web/assets/chunk-U6XO7XAA-BFxjP5U3.js +0 -2
  193. package/studio/web/assets/chunk-UBXNYLIW-rn0yw1mp.js +0 -1
  194. package/studio/web/assets/chunk-W5SLKNZC-DKMlAWZk.js +0 -1
  195. package/studio/web/assets/chunk-WRU74C26-Dg10j8Pf.js +0 -70
  196. package/studio/web/assets/chunk-YOTPTUD7-D0vRKqYp.js +0 -1
  197. package/studio/web/assets/chunk-ZIRB5QZD-O39ZBUk3.js +0 -32
  198. package/studio/web/assets/classDiagram-JCYQIIEL-BrXNP4fl.js +0 -1
  199. package/studio/web/assets/classDiagram-v2-OCEON4UE-BrXNP4fl.js +0 -1
  200. package/studio/web/assets/cssMode-DipmMR_-.js +0 -1
  201. package/studio/web/assets/cynefin-VYW2F7L2-Ds2Fw2Y0.js +0 -1
  202. package/studio/web/assets/cynefinDiagram-MW4NZA55-DcTzrsC5.js +0 -62
  203. package/studio/web/assets/cytoscape.esm-B-NFISlW.js +0 -321
  204. package/studio/web/assets/dagre-Buvkdvvj.js +0 -1
  205. package/studio/web/assets/dagre-VZM6K2ZE-CMyJ9QPU.js +0 -4
  206. package/studio/web/assets/diagram-7IWD3JNH-jEGuzdp3.js +0 -30
  207. package/studio/web/assets/diagram-B4RE2ZJO-Ba7wC7iw.js +0 -3
  208. package/studio/web/assets/diagram-LBJQPF4R-Bm7Wj_dF.js +0 -24
  209. package/studio/web/assets/diagram-Q27KOJAE-C-gdktLC.js +0 -24
  210. package/studio/web/assets/diagram-UB23O5K3-COBVIEEk.js +0 -41
  211. package/studio/web/assets/ebnfDiagram-BXEA7PRR-G-t56mVV.js +0 -1
  212. package/studio/web/assets/editor-BDfNodZS.js +0 -1
  213. package/studio/web/assets/erDiagram-JOGREHBK-DpHzpqx1.js +0 -85
  214. package/studio/web/assets/eventmodeling-45OFAUF4-CLEiVx5s.js +0 -1
  215. package/studio/web/assets/flowDiagram-UKHOOZJN-CIxxUUxn.js +0 -1
  216. package/studio/web/assets/getRegistrationInfo--NLLrics.js +0 -1
  217. package/studio/web/assets/gitGraph-TEB2WS4Q-CZFBqwW-.js +0 -1
  218. package/studio/web/assets/gitGraphDiagram-DS77QQ5N-DuGnRv2R.js +0 -106
  219. package/studio/web/assets/html-DmSSmgE8.js +0 -1
  220. package/studio/web/assets/htmlMode-B2LqJw1z.js +0 -1
  221. package/studio/web/assets/index-BO3NaEw8.css +0 -1
  222. package/studio/web/assets/index-BQB9R8Ug.js +0 -810
  223. package/studio/web/assets/index-BnYZFLIB.css +0 -1
  224. package/studio/web/assets/index.lazy-CtErm5q7.js +0 -13
  225. package/studio/web/assets/info-DKCQHKI2--1InqQeT.js +0 -1
  226. package/studio/web/assets/infoDiagram-6WML65LV-DliK38kp.js +0 -2
  227. package/studio/web/assets/isArrayLikeObject-BHDnhloL.js +0 -1
  228. package/studio/web/assets/jsonMode-BVS6P5Xk.js +0 -1
  229. package/studio/web/assets/languageServices-Bl-BvoAb.js +0 -1
  230. package/studio/web/assets/line-Bom3IjHi.js +0 -1
  231. package/studio/web/assets/linear-DwB_ruUT.js +0 -1
  232. package/studio/web/assets/lspLanguageFeatures-C7XtZA_w.js +0 -4
  233. package/studio/web/assets/map-BaFkSB1l.js +0 -1
  234. package/studio/web/assets/math-Bi_r_ZWc.js +0 -1
  235. package/studio/web/assets/mermaid-parser.core-Dd4RYr9Q.js +0 -4
  236. package/studio/web/assets/mermaid.core-Bbo24DGo.js +0 -11
  237. package/studio/web/assets/notifications-B8rDagJM.js +0 -1
  238. package/studio/web/assets/notifications-CPwYKDDH.js +0 -1
  239. package/studio/web/assets/packet-7NZHBO7P-BGMXB0XL.js +0 -1
  240. package/studio/web/assets/path-fybaL0A-.js +0 -1
  241. package/studio/web/assets/pegDiagram-VL7TDLO6-CWEktcBB.js +0 -1
  242. package/studio/web/assets/pie-RZYD4A2V-DgYg3tCt.js +0 -1
  243. package/studio/web/assets/pieDiagram-7S7Q4E2Y-DEAmZOqY.js +0 -39
  244. package/studio/web/assets/pollUnlessForbidden-DIDXGBc5.js +0 -1
  245. package/studio/web/assets/profile-D0hB1xdm.js +0 -1
  246. package/studio/web/assets/purify.es-DrVcFY1Q.js +0 -3
  247. package/studio/web/assets/queryClient-BLhQvmWC.js +0 -1
  248. package/studio/web/assets/radar-I7S5WNFK-Ag-zp_Rq.js +0 -1
  249. package/studio/web/assets/railroad-3IZDKUUU-aibJDIDV.js +0 -1
  250. package/studio/web/assets/railroad-abnf-AHOZXSZD-BBMEuvIl.js +0 -1
  251. package/studio/web/assets/railroad-ebnf-EBAXGLYW-Be1nseej.js +0 -1
  252. package/studio/web/assets/railroad-peg-LSFZ7HO6-DIvD-Eyb.js +0 -1
  253. package/studio/web/assets/railroadDiagram-AXF67PYL-BJWrgR10.js +0 -1
  254. package/studio/web/assets/react-VeAY02s6.js +0 -1
  255. package/studio/web/assets/react-redux-Ds7wf7Ax.js +0 -5
  256. package/studio/web/assets/regions-y_jxsBpN.js +0 -1
  257. package/studio/web/assets/register-3F1Tje_F.js +0 -2
  258. package/studio/web/assets/register-S_PdXsoi.js +0 -2
  259. package/studio/web/assets/rolldown-runtime-B0Z9INg1.js +0 -1
  260. package/studio/web/assets/select-CKgJgpkn.js +0 -1
  261. package/studio/web/assets/setComponentFile-DSHbURTI.js +0 -1
  262. package/studio/web/assets/setLocalStorage-CD_L8p_D.js +0 -1
  263. package/studio/web/assets/setup-J5SrM1Kp.js +0 -2
  264. package/studio/web/assets/src-DUvBCJIr.js +0 -1
  265. package/studio/web/assets/stateDiagram-OKZ733FA-D9oPLTjO.js +0 -1
  266. package/studio/web/assets/stateDiagram-v2-UEYNNEHI-CSD1wbuZ.js +0 -1
  267. package/studio/web/assets/status-IoJkDzlx.js +0 -61
  268. package/studio/web/assets/string-f6JzSHaO.js +0 -1
  269. package/studio/web/assets/swagger-ui-react-BlgSS25O.js +0 -240
  270. package/studio/web/assets/swimlanes-SLNWSIFB-BpeoNE9k.js +0 -2
  271. package/studio/web/assets/swimlanesDiagram-ULZ7WXOC-DHxwzxpp.js +0 -8
  272. package/studio/web/assets/table-BvFflPWi.js +0 -1
  273. package/studio/web/assets/tabs-Dd_ElZ36.js +0 -1
  274. package/studio/web/assets/textarea-a3RnTY31.js +0 -9
  275. package/studio/web/assets/toggleHighContrast-CyNC3SCQ.js +0 -49
  276. package/studio/web/assets/tokenization-CWuvR2gh.js +0 -7
  277. package/studio/web/assets/treeView-QDETBFTQ-uHZ-3Fz8.js +0 -1
  278. package/studio/web/assets/treemap-6X3UGDF4-BnUKyy3l.js +0 -1
  279. package/studio/web/assets/tsMode-CslzhcVk.js +0 -11
  280. package/studio/web/assets/typescript-Dtnury3t.js +0 -1
  281. package/studio/web/assets/useAuth-DiJUZS1C.js +0 -1
  282. package/studio/web/assets/useEntityRestURL-qfahJnvr.js +0 -1
  283. package/studio/web/assets/useLocalStorage-DetQlhBe.js +0 -1
  284. package/studio/web/assets/vendor-datadog-XDrpA25D.js +0 -6
  285. package/studio/web/assets/vendor-tanstack-FsM5XZNE.js +0 -1
  286. package/studio/web/assets/wardley-OPB4EBWU-Da7TLC2F.js +0 -1
  287. package/studio/web/assets/workers-BtibQGyk.js +0 -3
  288. package/studio/web/assets/x-D39AGKMb.js +0 -1
  289. package/studio/web/assets/xml-D41zWqPl.js +0 -1
  290. package/studio/web/assets/yaml-BFQ3mF1U.js +0 -1
  291. /package/studio/web/assets/{editor-jjEx9u7D.css → register-jjEx9u7D.css} +0 -0
@@ -1,19 +1,19 @@
1
- import{a as e,t}from"./rolldown-runtime-B0Z9INg1.js";import{C as n,S as r,_ as i,b as a,c as o,f as s,g as c,h as l,i as u,l as d,m as f,n as p,o as m,p as h,r as g,s as _,u as v,v as ee,x as te,y}from"./vendor-core-CddkYGh5.js";import{i as b,t as x}from"./button-DfBmT4rc.js";import{H as ne,L as re,k as ie,z as ae}from"./vendor-tanstack-FsM5XZNE.js";import{a as oe}from"./vendor-datadog-XDrpA25D.js";import{r as se}from"./vendor-react-BhazFIp8.js";import{Rt as S}from"./vendor-ui-BLIveqaL.js";import{t as C}from"./createLucideIcon-BMkDbMrz.js";import{l as ce,t as le}from"./react-VeAY02s6.js";import{i as ue,n as de,r as fe,t as pe}from"./x-D39AGKMb.js";import{t as me}from"./chevron-right-CY-tr2sG.js";import{c as he,f as ge,g as _e,h as ve,i as ye,l as be,m as xe,p as Se,r as Ce,t as we,u as Te}from"./setComponentFile-DSHbURTI.js";import{r as Ee}from"./queryClient-BLhQvmWC.js";import{n as De}from"./setLocalStorage-CD_L8p_D.js";import{t as Oe}from"./useLocalStorage-DetQlhBe.js";import{o as ke}from"./pollUnlessForbidden-DIDXGBc5.js";import{$n as Ae,At as je,Gt as Me,H as Ne,Kn as Pe,Nt as Fe,Ot as Ie,Un as Le,V as Re,Vn as ze,Wn as Be,Y as Ve,Yn as He,_t as Ue,ar as We,c as Ge,ct as Ke,d as qe,dn as Je,er as Ye,f as Xe,jt as Ze,kt as Qe,m as $e,or as et,rr as tt,ut as nt}from"./index-BQB9R8Ug.js";import{t as rt}from"./useEntityRestURL-qfahJnvr.js";import{n as it}from"./getAnalytics-rTxZLIM5.js";var at=C(`between-horizontal-start`,[[`rect`,{width:`13`,height:`7`,x:`8`,y:`3`,rx:`1`,key:`pkso9a`}],[`path`,{d:`m2 9 3 3-3 3`,key:`1agib5`}],[`rect`,{width:`13`,height:`7`,x:`8`,y:`14`,rx:`1`,key:`1q5fc1`}]]),ot=C(`book`,[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`,key:`k3hazp`}]]),st=C(`chart-area`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z`,key:`q0gr47`}]]),ct=C(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),lt=C(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),ut=C(`logs`,[[`path`,{d:`M3 5h1`,key:`1mv5vm`}],[`path`,{d:`M3 12h1`,key:`lp3yf2`}],[`path`,{d:`M3 19h1`,key:`w6f3n9`}],[`path`,{d:`M8 5h1`,key:`1nxr5w`}],[`path`,{d:`M8 12h1`,key:`1con00`}],[`path`,{d:`M8 19h1`,key:`k7p10e`}],[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}]]),dt=C(`message-square-heart`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7.5 9.5c0 .687.265 1.383.697 1.844l3.009 3.264a1.14 1.14 0 0 0 .407.314 1 1 0 0 0 .783-.004 1.14 1.14 0 0 0 .398-.31l3.008-3.264A2.77 2.77 0 0 0 16.5 9.5 2.5 2.5 0 0 0 12 8a2.5 2.5 0 0 0-4.5 1.5`,key:`1faxuh`}]]),ft=C(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),pt=C(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]);async function mt(){await b.delete(`/Chat/Messages/`)}var w=e(oe(),1),T=se();function ht({setMessages:e}){let[t,n]=(0,w.useState)(!1),r=(0,w.useCallback)(async()=>{if(!t){n(!0);try{await mt(),e([])}catch(e){console.error(`Failed to clear chat:`,e)}finally{n(!1)}}},[t,e]);return(0,T.jsxs)(`button`,{type:`button`,className:`clear-chat-button gap-1`,onClick:r,disabled:t,title:`Clear chat`,children:[t?(0,T.jsx)(Ae,{className:`animate-spin`,size:18}):(0,T.jsx)(Be,{size:18}),`Clear`]})}async function gt(){let{data:e}=await b.get(`/Chat/Messages/`);return e}var _t=`vercel.ai.error`,vt=Symbol.for(_t),yt,bt,E=class e extends (bt=Error,yt=vt,bt){constructor({name:e,message:t,cause:n}){super(t),this[yt]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,_t)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};function xt(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.toString():JSON.stringify(e)}var St=`AI_InvalidArgumentError`,Ct=`vercel.ai.error.${St}`,wt=Symbol.for(Ct),Tt,Et,Dt=class extends (Et=E,Tt=wt,Et){constructor({message:e,cause:t,argument:n}){super({name:St,message:e,cause:t}),this[Tt]=!0,this.argument=n}static isInstance(e){return E.hasMarker(e,Ct)}},Ot=`AI_JSONParseError`,kt=`vercel.ai.error.${Ot}`,At=Symbol.for(kt),jt,Mt,Nt=class extends (Mt=E,jt=At,Mt){constructor({text:e,cause:t}){super({name:Ot,message:`JSON parsing failed: Text: ${e}.
2
- Error message: ${xt(t)}`,cause:t}),this[jt]=!0,this.text=e}static isInstance(e){return E.hasMarker(e,kt)}},Pt=`AI_TypeValidationError`,Ft=`vercel.ai.error.${Pt}`,It=Symbol.for(Ft),Lt,Rt,D=class e extends (Rt=E,Lt=It,Rt){constructor({value:e,cause:t,context:n}){let r=`Type validation failed`;if(n?.field&&(r+=` for ${n.field}`),n?.entityName||n?.entityId){r+=` (`;let e=[];n.entityName&&e.push(n.entityName),n.entityId&&e.push(`id: "${n.entityId}"`),r+=e.join(`, `),r+=`)`}super({name:Pt,message:`${r}: Value: ${JSON.stringify(e)}.
3
- Error message: ${xt(t)}`,cause:t}),this[Lt]=!0,this.value=e,this.context=n}static isInstance(e){return E.hasMarker(e,Ft)}static wrap({value:t,cause:n,context:r}){return e.isInstance(n)&&n.value===t&&n.context?.field===r?.field&&n.context?.entityName===r?.entityName&&n.context?.entityId===r?.entityId?n:new e({value:t,cause:n,context:r})}},zt=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}},Bt=10,Vt=13,O=32;function Ht(e){}function Ut(e){if(typeof e==`function`)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=Ht,onError:n=Ht,onRetry:r=Ht,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`
4
- `)===-1&&e.indexOf(`\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new zt(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\r`)===-1){let r=e.indexOf(`
1
+ import{r as e,t}from"./rolldown-runtime-hePW80VL.js";import{C as n,S as r,_ as i,b as a,c as o,f as s,g as c,h as l,i as u,l as d,m as f,n as p,o as m,p as h,r as g,s as _,u as v,v as ee,x as te,y}from"./vendor-core-RCcadM3e.js";import{i as b,t as x}from"./button-DhiX-njv.js";import{H as ne,L as re,k as ie,z as ae}from"./vendor-tanstack-BiFWSB3W.js";import{a as oe}from"./vendor-datadog-BRv-mOv1.js";import{r as se}from"./vendor-react-Dyj4O3HE.js";import{n as ce}from"./setSessionStorage-B0bf71m4.js";import{It as le}from"./vendor-ui-vhu-UHhF.js";import{t as S}from"./createLucideIcon-BKGPfjm2.js";import{n as ue,r as de,t as fe}from"./chevron-up-Df2c8uoU.js";import{c as pe,f as me,g as he,h as ge,i as _e,l as ve,m as ye,p as be,r as xe,t as Se,u as Ce}from"./setComponentFile-BI4E_iDe.js";import{t as we}from"./x-B9o9hsep.js";import{n as Te}from"./setLocalStorage-D_kflv4U.js";import{t as Ee}from"./useLocalStorage-Dtj1QS8_.js";import{An as De,En as Oe,Er as ke,H as Ae,It as je,Mt as Me,Nr as Ne,Nt as Pe,Or as Fe,Pt as Ie,V as Le,Z as Re,br as ze,c as Be,cr as Ve,d as He,dr as Ue,f as We,ft as Ge,gr as Ke,in as qe,kr as Je,m as Ye,or as Xe,pr as Ze,ur as Qe,ut as $e,xr as et,yt as tt}from"./index-CTqasm6g.js";import{t as nt}from"./useEntityRestURL-D1u1X_gE.js";import{n as rt,t as it}from"./FloatingChat-BvmHsuVo.js";import{n as at}from"./getAnalytics-D4LKGeVy.js";var ot=S(`between-horizontal-start`,[[`rect`,{width:`13`,height:`7`,x:`8`,y:`3`,rx:`1`,key:`pkso9a`}],[`path`,{d:`m2 9 3 3-3 3`,key:`1agib5`}],[`rect`,{width:`13`,height:`7`,x:`8`,y:`14`,rx:`1`,key:`1q5fc1`}]]),st=S(`book`,[[`path`,{d:`M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H19a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H6.5a1 1 0 0 1 0-5H20`,key:`k3hazp`}]]),ct=S(`chart-area`,[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M7 11.207a.5.5 0 0 1 .146-.353l2-2a.5.5 0 0 1 .708 0l3.292 3.292a.5.5 0 0 0 .708 0l4.292-4.292a.5.5 0 0 1 .854.353V16a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1z`,key:`q0gr47`}]]),lt=S(`circle-x`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),ut=S(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),dt=S(`logs`,[[`path`,{d:`M3 5h1`,key:`1mv5vm`}],[`path`,{d:`M3 12h1`,key:`lp3yf2`}],[`path`,{d:`M3 19h1`,key:`w6f3n9`}],[`path`,{d:`M8 5h1`,key:`1nxr5w`}],[`path`,{d:`M8 12h1`,key:`1con00`}],[`path`,{d:`M8 19h1`,key:`k7p10e`}],[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}]]),ft=S(`message-square-heart`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}],[`path`,{d:`M7.5 9.5c0 .687.265 1.383.697 1.844l3.009 3.264a1.14 1.14 0 0 0 .407.314 1 1 0 0 0 .783-.004 1.14 1.14 0 0 0 .398-.31l3.008-3.264A2.77 2.77 0 0 0 16.5 9.5 2.5 2.5 0 0 0 12 8a2.5 2.5 0 0 0-4.5 1.5`,key:`1faxuh`}]]),pt=S(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),mt=S(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]);async function ht(){await b.delete(`/Chat/Messages/`)}var C=e(oe(),1),w=se();function gt({setMessages:e}){let[t,n]=(0,C.useState)(!1),r=(0,C.useCallback)(async()=>{if(!t){n(!0);try{await ht(),e([])}catch(e){console.error(`Failed to clear chat:`,e)}finally{n(!1)}}},[t,e]);return(0,w.jsxs)(`button`,{type:`button`,className:`clear-chat-button gap-1`,onClick:r,disabled:t,title:`Clear chat`,children:[t?(0,w.jsx)(ze,{className:`animate-spin`,size:18}):(0,w.jsx)(Qe,{size:18}),`Clear`]})}async function _t(){let{data:e}=await b.get(`/Chat/Messages/`);return e}var vt=`vercel.ai.error`,yt=Symbol.for(vt),bt,xt,T=class e extends (xt=Error,bt=yt,xt){constructor({name:e,message:t,cause:n}){super(t),this[bt]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,vt)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};function St(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.toString():JSON.stringify(e)}var Ct=`AI_InvalidArgumentError`,wt=`vercel.ai.error.${Ct}`,Tt=Symbol.for(wt),Et,Dt,Ot=class extends (Dt=T,Et=Tt,Dt){constructor({message:e,cause:t,argument:n}){super({name:Ct,message:e,cause:t}),this[Et]=!0,this.argument=n}static isInstance(e){return T.hasMarker(e,wt)}},kt=`AI_JSONParseError`,At=`vercel.ai.error.${kt}`,jt=Symbol.for(At),Mt,Nt,Pt=class extends (Nt=T,Mt=jt,Nt){constructor({text:e,cause:t}){super({name:kt,message:`JSON parsing failed: Text: ${e}.
2
+ Error message: ${St(t)}`,cause:t}),this[Mt]=!0,this.text=e}static isInstance(e){return T.hasMarker(e,At)}},Ft=`AI_TypeValidationError`,It=`vercel.ai.error.${Ft}`,Lt=Symbol.for(It),Rt,zt,E=class e extends (zt=T,Rt=Lt,zt){constructor({value:e,cause:t,context:n}){let r=`Type validation failed`;if(n?.field&&(r+=` for ${n.field}`),n?.entityName||n?.entityId){r+=` (`;let e=[];n.entityName&&e.push(n.entityName),n.entityId&&e.push(`id: "${n.entityId}"`),r+=e.join(`, `),r+=`)`}super({name:Ft,message:`${r}: Value: ${JSON.stringify(e)}.
3
+ Error message: ${St(t)}`,cause:t}),this[Rt]=!0,this.value=e,this.context=n}static isInstance(e){return T.hasMarker(e,It)}static wrap({value:t,cause:n,context:r}){return e.isInstance(n)&&n.value===t&&n.context?.field===r?.field&&n.context?.entityName===r?.entityName&&n.context?.entityId===r?.entityId?n:new e({value:t,cause:n,context:r})}},Bt=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}},Vt=10,Ht=13,D=32;function Ut(e){}function Wt(e){if(typeof e==`function`)throw TypeError("`config` must be an object, got a function instead. Did you mean `createParser({onEvent: fn})`?");let{onEvent:t=Ut,onError:n=Ut,onRetry:r=Ut,onComment:i,maxBufferSize:a}=e,o=[],s=0,c=!0,l,u=``,d=0,f,p=!1;function m(e){if(p)throw Error("Cannot feed parser: it was terminated after exceeding the configured max buffer size. Call `reset()` to resume parsing.");if(c&&(c=!1,e.charCodeAt(0)===239&&e.charCodeAt(1)===187&&e.charCodeAt(2)===191&&(e=e.slice(3))),o.length===0){let t=g(e);t!==``&&(o.push(t),s=t.length),h();return}if(e.indexOf(`
4
+ `)===-1&&e.indexOf(`\r`)===-1){o.push(e),s+=e.length,h();return}o.push(e);let t=o.join(``);o.length=0,s=0;let n=g(t);n!==``&&(o.push(n),s=n.length),h()}function h(){a!==void 0&&(s+u.length<=a||(p=!0,o.length=0,s=0,l=void 0,u=``,d=0,f=void 0,n(new Bt(`Buffered data exceeded max buffer size of ${a} characters`,{type:`max-buffer-size-exceeded`}))))}function g(e){let n=0;if(e.indexOf(`\r`)===-1){let r=e.indexOf(`
5
5
  `,n);for(;r!==-1;){if(n===r){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0,n=r+1,r=e.indexOf(`
6
- `,n);continue}let i=e.charCodeAt(n);if(Wt(e,n,i)){let i=e.charCodeAt(n+5)===O?n+6:n+5,a=e.slice(i,r);if(d===0&&e.charCodeAt(r+1)===Bt){t({id:l,event:f,data:a}),l=void 0,u=``,f=void 0,n=r+2,r=e.indexOf(`
6
+ `,n);continue}let i=e.charCodeAt(n);if(Gt(e,n,i)){let i=e.charCodeAt(n+5)===D?n+6:n+5,a=e.slice(i,r);if(d===0&&e.charCodeAt(r+1)===Vt){t({id:l,event:f,data:a}),l=void 0,u=``,f=void 0,n=r+2,r=e.indexOf(`
7
7
  `,n);continue}u=d===0?a:`${u}
8
- ${a}`,d++}else Gt(e,n,i)?f=e.slice(e.charCodeAt(n+6)===O?n+7:n+6,r)||void 0:_(e,n,r);n=r+1,r=e.indexOf(`
8
+ ${a}`,d++}else Kt(e,n,i)?f=e.slice(e.charCodeAt(n+6)===D?n+7:n+6,r)||void 0:_(e,n,r);n=r+1,r=e.indexOf(`
9
9
  `,n)}return e.slice(n)}for(;n<e.length;){let t=e.indexOf(`\r`,n),r=e.indexOf(`
10
- `,n),i=-1;if(t!==-1&&r!==-1?i=t<r?t:r:t===-1?r!==-1&&(i=r):i=t===e.length-1?-1:t,i===-1)break;_(e,n,i),n=i+1,e.charCodeAt(n-1)===Vt&&e.charCodeAt(n)===Bt&&n++}return e.slice(n)}function _(e,t,n){if(t===n){ee();return}let r=e.charCodeAt(t);if(Wt(e,t,r)){let r=e.charCodeAt(t+5)===O?t+6:t+5,i=e.slice(r,n);u=d===0?i:`${u}
11
- ${i}`,d++;return}if(Gt(e,t,r)){f=e.slice(e.charCodeAt(t+6)===O?t+7:t+6,n)||void 0;return}if(r===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let r=e.slice(e.charCodeAt(t+3)===O?t+4:t+3,n);r.includes(`\0`)||(l=r);return}if(r===58){if(i){let r=e.slice(t,n);i(r.slice(e.charCodeAt(t+1)===O?2:1))}return}let a=e.slice(t,n),o=a.indexOf(`:`);if(o===-1){v(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===O?2:1;v(s,a.slice(o+c),a)}function v(e,t,i){switch(e){case`event`:f=t||void 0;break;case`data`:u=d===0?t:`${u}
12
- ${t}`,d++;break;case`id`:t.includes(`\0`)||(l=t);break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new zt(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new zt(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:`unknown-field`,field:e,value:t,line:i}))}}function ee(){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0}function te(e={}){if(e.consume&&o.length>0){let e=o.join(``);_(e,0,e.length)}c=!0,l=void 0,u=``,d=0,f=void 0,o.length=0,s=0,p=!1}return{feed:m,reset:te}}function Wt(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function Gt(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}var Kt=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n,maxBufferSize:r}={}){let i;super({start(a){i=Ut({onEvent:e=>{a.enqueue(e)},onError(t){typeof e==`function`&&e(t),(e===`terminate`||t.type===`max-buffer-size-exceeded`)&&a.error(t)},onRetry:t,onComment:n,maxBufferSize:r})},transform(e){i.feed(e)}})}};new TextDecoder;var{btoa:qt,atob:Jt}=globalThis,Yt=globalThis.fetch;Xt(Yt);function Xt(e){if(typeof e!=`function`)return!1;let t=Function.prototype.toString.call(e);return t.includes(`internal/deps/undici`)||t.includes(`lazy loading of undici`)}var k=({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new Dt({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`},Zt=k();function A(e){if(e==null)return{};let t={};if(e instanceof Headers)e.forEach((e,n)=>{t[n.toLowerCase()]=e});else{Array.isArray(e)||(e=Object.entries(e));for(let[n,r]of e)r!=null&&(t[n.toLowerCase()]=r)}return t}function Qt(e){return globalThis.Buffer?.isBuffer(e)??!1}var $t=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,en=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function tn(e){let t=JSON.parse(e);return typeof t!=`object`||!t||$t.test(e)===!1&&en.test(e)===!1?t:nn(t)}function nn(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&n.constructor!==null&&typeof n.constructor==`object`&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function rn(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return tn(e)}try{return tn(e)}finally{Error.stackTraceLimit=t}}function an(e){if(e.type===`object`||Array.isArray(e.type)&&e.type.includes(`object`)){e.additionalProperties=!1;let{properties:t}=e;if(t!=null)for(let e of Object.keys(t))t[e]=j(t[e])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(j):j(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(j)),e.allOf!=null&&(e.allOf=e.allOf.map(j)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(j));let{definitions:t}=e;if(t!=null)for(let e of Object.keys(t))t[e]=j(t[e]);return e}function j(e){return typeof e==`boolean`?e:an(e)}var on=Symbol(`Let zodToJsonSchema decide on which parser to use`),sn={name:void 0,$refStrategy:`root`,basePath:[`#`],effectStrategy:`input`,pipeStrategy:`all`,dateStrategy:`format:date-time`,mapStrategy:`entries`,removeAdditionalStrategy:`passthrough`,allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:`definitions`,strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:`escape`,applyRegexFlags:!1,emailStrategy:`format:email`,base64Strategy:`contentEncoding:base64`,nameStrategy:`ref`},cn=e=>typeof e==`string`?{...sn,name:e}:{...sn,...e};function M(){return{}}function ln(e,t){let n={type:`array`};return e.type?._def&&e.type?._def?.typeName!==`ZodAny`&&(n.items=I(e.type._def,{...t,currentPath:[...t.currentPath,`items`]})),e.minLength&&(n.minItems=e.minLength.value),e.maxLength&&(n.maxItems=e.maxLength.value),e.exactLength&&(n.minItems=e.exactLength.value,n.maxItems=e.exactLength.value),n}function un(e){let t={type:`integer`,format:`int64`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value}return t}function dn(){return{type:`boolean`}}function fn(e,t){return I(e.type._def,t)}var pn=(e,t)=>I(e.innerType._def,t);function mn(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map(n=>mn(e,t,n))};switch(r){case`string`:case`format:date-time`:return{type:`string`,format:`date-time`};case`format:date`:return{type:`string`,format:`date`};case`integer`:return hn(e)}}var hn=e=>{let t={type:`integer`,format:`unix-time`};for(let n of e.checks)switch(n.kind){case`min`:t.minimum=n.value;break;case`max`:t.maximum=n.value}return t};function gn(e,t){return{...I(e.innerType._def,t),default:e.defaultValue()}}function _n(e,t){return t.effectStrategy===`input`?I(e.schema._def,t):M()}function vn(e){return{type:`string`,enum:Array.from(e.values)}}var yn=e=>`type`in e&&e.type===`string`?!1:`allOf`in e;function bn(e,t){let n=[I(e.left._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),I(e.right._def,{...t,currentPath:[...t.currentPath,`allOf`,`1`]})].filter(e=>!!e),r=[];return n.forEach(e=>{if(yn(e))r.push(...e.allOf);else{let t=e;if(`additionalProperties`in e&&e.additionalProperties===!1){let{additionalProperties:n,...r}=e;t=r}r.push(t)}}),r.length?{allOf:r}:void 0}function xn(e){let t=typeof e.value;return t!==`bigint`&&t!==`number`&&t!==`boolean`&&t!==`string`?{type:Array.isArray(e.value)?`array`:`object`}:{type:t===`bigint`?`integer`:t,const:e.value}}var Sn=void 0,N={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Sn===void 0&&(Sn=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),Sn),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function Cn(e,t){let n={type:`string`};if(e.checks)for(let r of e.checks)switch(r.kind){case`min`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value;break;case`max`:n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`email`:switch(t.emailStrategy){case`format:email`:P(n,`email`,r.message,t);break;case`format:idn-email`:P(n,`idn-email`,r.message,t);break;case`pattern:zod`:F(n,N.email,r.message,t)}break;case`url`:P(n,`uri`,r.message,t);break;case`uuid`:P(n,`uuid`,r.message,t);break;case`regex`:F(n,r.regex,r.message,t);break;case`cuid`:F(n,N.cuid,r.message,t);break;case`cuid2`:F(n,N.cuid2,r.message,t);break;case`startsWith`:F(n,RegExp(`^${wn(r.value,t)}`),r.message,t);break;case`endsWith`:F(n,RegExp(`${wn(r.value,t)}$`),r.message,t);break;case`datetime`:P(n,`date-time`,r.message,t);break;case`date`:P(n,`date`,r.message,t);break;case`time`:P(n,`time`,r.message,t);break;case`duration`:P(n,`duration`,r.message,t);break;case`length`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value,n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`includes`:F(n,RegExp(wn(r.value,t)),r.message,t);break;case`ip`:r.version!==`v6`&&P(n,`ipv4`,r.message,t),r.version!==`v4`&&P(n,`ipv6`,r.message,t);break;case`base64url`:F(n,N.base64url,r.message,t);break;case`jwt`:F(n,N.jwt,r.message,t);break;case`cidr`:r.version!==`v6`&&F(n,N.ipv4Cidr,r.message,t),r.version!==`v4`&&F(n,N.ipv6Cidr,r.message,t);break;case`emoji`:F(n,N.emoji(),r.message,t);break;case`ulid`:F(n,N.ulid,r.message,t);break;case`base64`:switch(t.base64Strategy){case`format:binary`:P(n,`binary`,r.message,t);break;case`contentEncoding:base64`:n.contentEncoding=`base64`;break;case`pattern:zod`:F(n,N.base64,r.message,t)}break;case`nanoid`:F(n,N.nanoid,r.message,t)}return n}function wn(e,t){return t.patternStrategy===`escape`?En(e):e}var Tn=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function En(e){let t=``;for(let n=0;n<e.length;n++)Tn.has(e[n])||(t+=`\\`),t+=e[n];return t}function P(e,t,n,r){e.format||e.anyOf?.some(e=>e.format)?(e.anyOf||=[],e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):e.format=t}function F(e,t,n,r){e.pattern||e.allOf?.some(e=>e.pattern)?(e.allOf||=[],e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:Dn(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):e.pattern=Dn(t,r)}function Dn(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes(`i`),m:e.flags.includes(`m`),s:e.flags.includes(`s`)},r=n.i?e.source.toLowerCase():e.source,i=``,a=!1,o=!1,s=!1;for(let e=0;e<r.length;e++){if(a){i+=r[e],a=!1;continue}if(n.i){if(o){if(r[e].match(/[a-z]/)){s?(i+=r[e],i+=`${r[e-2]}-${r[e]}`.toUpperCase(),s=!1):r[e+1]===`-`&&r[e+2]?.match(/[a-z]/)?(i+=r[e],s=!0):i+=`${r[e]}${r[e].toUpperCase()}`;continue}}else if(r[e].match(/[a-z]/)){i+=`[${r[e]}${r[e].toUpperCase()}]`;continue}}if(n.m){if(r[e]===`^`){i+=`(^|(?<=[\r
10
+ `,n),i=-1;if(t!==-1&&r!==-1?i=t<r?t:r:t===-1?r!==-1&&(i=r):i=t===e.length-1?-1:t,i===-1)break;_(e,n,i),n=i+1,e.charCodeAt(n-1)===Ht&&e.charCodeAt(n)===Vt&&n++}return e.slice(n)}function _(e,t,n){if(t===n){ee();return}let r=e.charCodeAt(t);if(Gt(e,t,r)){let r=e.charCodeAt(t+5)===D?t+6:t+5,i=e.slice(r,n);u=d===0?i:`${u}
11
+ ${i}`,d++;return}if(Kt(e,t,r)){f=e.slice(e.charCodeAt(t+6)===D?t+7:t+6,n)||void 0;return}if(r===105&&e.charCodeAt(t+1)===100&&e.charCodeAt(t+2)===58){let r=e.slice(e.charCodeAt(t+3)===D?t+4:t+3,n);r.includes(`\0`)||(l=r);return}if(r===58){if(i){let r=e.slice(t,n);i(r.slice(e.charCodeAt(t+1)===D?2:1))}return}let a=e.slice(t,n),o=a.indexOf(`:`);if(o===-1){v(a,``,a);return}let s=a.slice(0,o),c=a.charCodeAt(o+1)===D?2:1;v(s,a.slice(o+c),a)}function v(e,t,i){switch(e){case`event`:f=t||void 0;break;case`data`:u=d===0?t:`${u}
12
+ ${t}`,d++;break;case`id`:t.includes(`\0`)||(l=t);break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new Bt(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new Bt(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:`unknown-field`,field:e,value:t,line:i}))}}function ee(){d>0&&t({id:l,event:f,data:u}),l=void 0,u=``,d=0,f=void 0}function te(e={}){if(e.consume&&o.length>0){let e=o.join(``);_(e,0,e.length)}c=!0,l=void 0,u=``,d=0,f=void 0,o.length=0,s=0,p=!1}return{feed:m,reset:te}}function Gt(e,t,n){return n===100&&e.charCodeAt(t+1)===97&&e.charCodeAt(t+2)===116&&e.charCodeAt(t+3)===97&&e.charCodeAt(t+4)===58}function Kt(e,t,n){return n===101&&e.charCodeAt(t+1)===118&&e.charCodeAt(t+2)===101&&e.charCodeAt(t+3)===110&&e.charCodeAt(t+4)===116&&e.charCodeAt(t+5)===58}var qt=class extends TransformStream{constructor({onError:e,onRetry:t,onComment:n,maxBufferSize:r}={}){let i;super({start(a){i=Wt({onEvent:e=>{a.enqueue(e)},onError(t){typeof e==`function`&&e(t),(e===`terminate`||t.type===`max-buffer-size-exceeded`)&&a.error(t)},onRetry:t,onComment:n,maxBufferSize:r})},transform(e){i.feed(e)}})}};new TextDecoder;var{btoa:Jt,atob:Yt}=globalThis,Xt=globalThis.fetch;Zt(Xt);function Zt(e){if(typeof e!=`function`)return!1;let t=Function.prototype.toString.call(e);return t.includes(`internal/deps/undici`)||t.includes(`lazy loading of undici`)}var O=({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new Ot({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`},Qt=O();function k(e){if(e==null)return{};let t={};if(e instanceof Headers)e.forEach((e,n)=>{t[n.toLowerCase()]=e});else{Array.isArray(e)||(e=Object.entries(e));for(let[n,r]of e)r!=null&&(t[n.toLowerCase()]=r)}return t}function $t(e){return globalThis.Buffer?.isBuffer(e)??!1}var en=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,tn=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function nn(e){let t=JSON.parse(e);return typeof t!=`object`||!t||en.test(e)===!1&&tn.test(e)===!1?t:rn(t)}function rn(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&n.constructor!==null&&typeof n.constructor==`object`&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function an(e){let{stackTraceLimit:t}=Error;try{Error.stackTraceLimit=0}catch{return nn(e)}try{return nn(e)}finally{Error.stackTraceLimit=t}}function on(e){if(e.type===`object`||Array.isArray(e.type)&&e.type.includes(`object`)){e.additionalProperties=!1;let{properties:t}=e;if(t!=null)for(let e of Object.keys(t))t[e]=A(t[e])}e.items!=null&&(e.items=Array.isArray(e.items)?e.items.map(A):A(e.items)),e.anyOf!=null&&(e.anyOf=e.anyOf.map(A)),e.allOf!=null&&(e.allOf=e.allOf.map(A)),e.oneOf!=null&&(e.oneOf=e.oneOf.map(A));let{definitions:t}=e;if(t!=null)for(let e of Object.keys(t))t[e]=A(t[e]);return e}function A(e){return typeof e==`boolean`?e:on(e)}var sn=Symbol(`Let zodToJsonSchema decide on which parser to use`),cn={name:void 0,$refStrategy:`root`,basePath:[`#`],effectStrategy:`input`,pipeStrategy:`all`,dateStrategy:`format:date-time`,mapStrategy:`entries`,removeAdditionalStrategy:`passthrough`,allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:`definitions`,strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:`escape`,applyRegexFlags:!1,emailStrategy:`format:email`,base64Strategy:`contentEncoding:base64`,nameStrategy:`ref`},ln=e=>typeof e==`string`?{...cn,name:e}:{...cn,...e};function j(){return{}}function un(e,t){let n={type:`array`};return e.type?._def&&e.type?._def?.typeName!==`ZodAny`&&(n.items=F(e.type._def,{...t,currentPath:[...t.currentPath,`items`]})),e.minLength&&(n.minItems=e.minLength.value),e.maxLength&&(n.maxItems=e.maxLength.value),e.exactLength&&(n.minItems=e.exactLength.value,n.maxItems=e.exactLength.value),n}function dn(e){let t={type:`integer`,format:`int64`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value}return t}function fn(){return{type:`boolean`}}function pn(e,t){return F(e.type._def,t)}var mn=(e,t)=>F(e.innerType._def,t);function hn(e,t,n){let r=n??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map(n=>hn(e,t,n))};switch(r){case`string`:case`format:date-time`:return{type:`string`,format:`date-time`};case`format:date`:return{type:`string`,format:`date`};case`integer`:return gn(e)}}var gn=e=>{let t={type:`integer`,format:`unix-time`};for(let n of e.checks)switch(n.kind){case`min`:t.minimum=n.value;break;case`max`:t.maximum=n.value}return t};function _n(e,t){return{...F(e.innerType._def,t),default:e.defaultValue()}}function vn(e,t){return t.effectStrategy===`input`?F(e.schema._def,t):j()}function yn(e){return{type:`string`,enum:Array.from(e.values)}}var bn=e=>`type`in e&&e.type===`string`?!1:`allOf`in e;function xn(e,t){let n=[F(e.left._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]}),F(e.right._def,{...t,currentPath:[...t.currentPath,`allOf`,`1`]})].filter(e=>!!e),r=[];return n.forEach(e=>{if(bn(e))r.push(...e.allOf);else{let t=e;if(`additionalProperties`in e&&e.additionalProperties===!1){let{additionalProperties:n,...r}=e;t=r}r.push(t)}}),r.length?{allOf:r}:void 0}function Sn(e){let t=typeof e.value;return t!==`bigint`&&t!==`number`&&t!==`boolean`&&t!==`string`?{type:Array.isArray(e.value)?`array`:`object`}:{type:t===`bigint`?`integer`:t,const:e.value}}var Cn=void 0,M={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(Cn===void 0&&(Cn=RegExp(`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`,`u`)),Cn),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function wn(e,t){let n={type:`string`};if(e.checks)for(let r of e.checks)switch(r.kind){case`min`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value;break;case`max`:n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`email`:switch(t.emailStrategy){case`format:email`:N(n,`email`,r.message,t);break;case`format:idn-email`:N(n,`idn-email`,r.message,t);break;case`pattern:zod`:P(n,M.email,r.message,t)}break;case`url`:N(n,`uri`,r.message,t);break;case`uuid`:N(n,`uuid`,r.message,t);break;case`regex`:P(n,r.regex,r.message,t);break;case`cuid`:P(n,M.cuid,r.message,t);break;case`cuid2`:P(n,M.cuid2,r.message,t);break;case`startsWith`:P(n,RegExp(`^${Tn(r.value,t)}`),r.message,t);break;case`endsWith`:P(n,RegExp(`${Tn(r.value,t)}$`),r.message,t);break;case`datetime`:N(n,`date-time`,r.message,t);break;case`date`:N(n,`date`,r.message,t);break;case`time`:N(n,`time`,r.message,t);break;case`duration`:N(n,`duration`,r.message,t);break;case`length`:n.minLength=typeof n.minLength==`number`?Math.max(n.minLength,r.value):r.value,n.maxLength=typeof n.maxLength==`number`?Math.min(n.maxLength,r.value):r.value;break;case`includes`:P(n,RegExp(Tn(r.value,t)),r.message,t);break;case`ip`:r.version!==`v6`&&N(n,`ipv4`,r.message,t),r.version!==`v4`&&N(n,`ipv6`,r.message,t);break;case`base64url`:P(n,M.base64url,r.message,t);break;case`jwt`:P(n,M.jwt,r.message,t);break;case`cidr`:r.version!==`v6`&&P(n,M.ipv4Cidr,r.message,t),r.version!==`v4`&&P(n,M.ipv6Cidr,r.message,t);break;case`emoji`:P(n,M.emoji(),r.message,t);break;case`ulid`:P(n,M.ulid,r.message,t);break;case`base64`:switch(t.base64Strategy){case`format:binary`:N(n,`binary`,r.message,t);break;case`contentEncoding:base64`:n.contentEncoding=`base64`;break;case`pattern:zod`:P(n,M.base64,r.message,t)}break;case`nanoid`:P(n,M.nanoid,r.message,t)}return n}function Tn(e,t){return t.patternStrategy===`escape`?Dn(e):e}var En=new Set(`ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789`);function Dn(e){let t=``;for(let n=0;n<e.length;n++)En.has(e[n])||(t+=`\\`),t+=e[n];return t}function N(e,t,n,r){e.format||e.anyOf?.some(e=>e.format)?(e.anyOf||=[],e.format&&(e.anyOf.push({format:e.format}),delete e.format),e.anyOf.push({format:t,...n&&r.errorMessages&&{errorMessage:{format:n}}})):e.format=t}function P(e,t,n,r){e.pattern||e.allOf?.some(e=>e.pattern)?(e.allOf||=[],e.pattern&&(e.allOf.push({pattern:e.pattern}),delete e.pattern),e.allOf.push({pattern:On(t,r),...n&&r.errorMessages&&{errorMessage:{pattern:n}}})):e.pattern=On(t,r)}function On(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let n={i:e.flags.includes(`i`),m:e.flags.includes(`m`),s:e.flags.includes(`s`)},r=n.i?e.source.toLowerCase():e.source,i=``,a=!1,o=!1,s=!1;for(let e=0;e<r.length;e++){if(a){i+=r[e],a=!1;continue}if(n.i){if(o){if(r[e].match(/[a-z]/)){s?(i+=r[e],i+=`${r[e-2]}-${r[e]}`.toUpperCase(),s=!1):r[e+1]===`-`&&r[e+2]?.match(/[a-z]/)?(i+=r[e],s=!0):i+=`${r[e]}${r[e].toUpperCase()}`;continue}}else if(r[e].match(/[a-z]/)){i+=`[${r[e]}${r[e].toUpperCase()}]`;continue}}if(n.m){if(r[e]===`^`){i+=`(^|(?<=[\r
13
13
  ]))`;continue}if(r[e]===`$`){i+=`($|(?=[\r
14
14
  ]))`;continue}}if(n.s&&r[e]===`.`){i+=o?`${r[e]}\r
15
15
  `:`[${r[e]}\r
16
- ]`;continue}i+=r[e],r[e]===`\\`?a=!0:o&&r[e]===`]`?o=!1:!o&&r[e]===`[`&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function On(e,t){let n={type:`object`,additionalProperties:I(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]})??t.allowedAdditionalProperties};if(e.keyType?._def.typeName===`ZodString`&&e.keyType._def.checks?.length){let{type:r,...i}=Cn(e.keyType._def,t);return{...n,propertyNames:i}}if(e.keyType?._def.typeName===`ZodEnum`)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===`ZodBranded`&&e.keyType._def.type._def.typeName===`ZodString`&&e.keyType._def.type._def.checks?.length){let{type:r,...i}=fn(e.keyType._def,t);return{...n,propertyNames:i}}return n}function kn(e,t){return t.mapStrategy===`record`?On(e,t):{type:`array`,maxItems:125,items:{type:`array`,items:[I(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||M(),I(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||M()],minItems:2,maxItems:2}}}function An(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`).map(e=>t[e]),r=Array.from(new Set(n.map(e=>typeof e)));return{type:r.length===1?r[0]===`string`?`string`:`number`:[`string`,`number`],enum:n}}function jn(){return{not:M()}}function Mn(){return{type:`null`}}var Nn={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function Pn(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in Nn&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=Nn[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}if(n.every(e=>e._def.typeName===`ZodLiteral`&&!e.description)){let e=n.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case`string`:case`number`:case`boolean`:return[...e,n];case`bigint`:return[...e,`integer`];case`object`:if(t._def.value===null)return[...e,`null`];default:return e}},[]);if(e.length===n.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:n.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(n.every(e=>e._def.typeName===`ZodEnum`))return{type:`string`,enum:n.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return Fn(e,t)}var Fn=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>I(e._def,{...t,currentPath:[...t.currentPath,`anyOf`,`${n}`]})).filter(e=>!!e&&(!t.strictUnions||typeof e==`object`&&Object.keys(e).length>0));return n.length?{anyOf:n}:void 0};function In(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[Nn[e.innerType._def.typeName],`null`]};let n=I(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function Ln(e){let t={type:`number`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`int`:t.type=`integer`;break;case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value}return t}function Rn(e,t){let n={type:`object`,properties:{}},r=[],i=e.shape();for(let e in i){let a=i[e];if(a===void 0||a._def===void 0)continue;let o=Bn(a),s=I(a._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});s!==void 0&&(n.properties[e]=s,o||r.push(e))}r.length&&(n.required=r);let a=zn(e,t);return a!==void 0&&(n.additionalProperties=a),n}function zn(e,t){if(e.catchall._def.typeName!==`ZodNever`)return I(e.catchall._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]});switch(e.unknownKeys){case`passthrough`:return t.allowedAdditionalProperties;case`strict`:return t.rejectedAdditionalProperties;case`strip`:return t.removeAdditionalStrategy===`strict`?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Bn(e){try{return e.isOptional()}catch{return!0}}var Vn=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return I(e.innerType._def,t);let n=I(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return n?{anyOf:[{not:M()},n]}:M()},Hn=(e,t)=>{if(t.pipeStrategy===`input`)return I(e.in._def,t);if(t.pipeStrategy===`output`)return I(e.out._def,t);let n=I(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]});return{allOf:[n,I(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]})].filter(e=>e!==void 0)}};function Un(e,t){return I(e.type._def,t)}function Wn(e,t){let n={type:`array`,uniqueItems:!0,items:I(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]})};return e.minSize&&(n.minItems=e.minSize.value),e.maxSize&&(n.maxItems=e.maxSize.value),n}function Gn(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>I(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:I(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>I(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function Kn(){return{not:M()}}function qn(){return M()}var Jn=(e,t)=>I(e.innerType._def,t),Yn=(e,t,n)=>{switch(t){case`ZodString`:return Cn(e,n);case`ZodNumber`:return Ln(e);case`ZodObject`:return Rn(e,n);case`ZodBigInt`:return un(e);case`ZodBoolean`:return dn();case`ZodDate`:return mn(e,n);case`ZodUndefined`:return Kn();case`ZodNull`:return Mn();case`ZodArray`:return ln(e,n);case`ZodUnion`:case`ZodDiscriminatedUnion`:return Pn(e,n);case`ZodIntersection`:return bn(e,n);case`ZodTuple`:return Gn(e,n);case`ZodRecord`:return On(e,n);case`ZodLiteral`:return xn(e);case`ZodEnum`:return vn(e);case`ZodNativeEnum`:return An(e);case`ZodNullable`:return In(e,n);case`ZodOptional`:return Vn(e,n);case`ZodMap`:return kn(e,n);case`ZodSet`:return Wn(e,n);case`ZodLazy`:return()=>e.getter()._def;case`ZodPromise`:return Un(e,n);case`ZodNaN`:case`ZodNever`:return jn();case`ZodEffects`:return _n(e,n);case`ZodAny`:return M();case`ZodUnknown`:return qn();case`ZodDefault`:return gn(e,n);case`ZodBranded`:return fn(e,n);case`ZodReadonly`:return Jn(e,n);case`ZodCatch`:return pn(e,n);case`ZodPipeline`:return Hn(e,n);case`ZodFunction`:case`ZodVoid`:case`ZodSymbol`:return;default:return(e=>void 0)(t)}},Xn=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join(`/`)};function I(e,t,n=!1){let r=t.seen.get(e);if(t.override){let i=t.override?.call(t,e,t,r,n);if(i!==on)return i}if(r&&!n){let e=Zn(r,t);if(e!==void 0)return e}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let a=Yn(e,e.typeName,t),o=typeof a==`function`?I(a(),t):a;if(o&&Qn(e,t,o),t.postProcess){let n=t.postProcess(o,e,t);return i.jsonSchema=o,n}return i.jsonSchema=o,o}var Zn=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:Xn(t.currentPath,e.path)};case`none`:case`seen`:return e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join(`/`)}! Defaulting to any`),M()):t.$refStrategy===`seen`?M():void 0}},Qn=(e,t,n)=>(e.description&&(n.description=e.description),n),$n=e=>{let t=cn(e),n=t.name===void 0?t.basePath:[...t.basePath,t.definitionPath,t.name];return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}},er=(e,t)=>{let n=$n(t),r=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>({...e,[t]:I(r._def,{...n,currentPath:[...n.basePath,n.definitionPath,t]},!0)??M()}),{}):void 0,i=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,a=I(e._def,i===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,i]},!1)??M(),o=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;o!==void 0&&(a.title=o);let s=i===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy===`relative`?[]:n.basePath,n.definitionPath,i].join(`/`),[n.definitionPath]:{...r,[i]:a}};return s.$schema=`http://json-schema.org/draft-07/schema#`,s},tr=Symbol.for(`vercel.ai.schema`);function nr(e){let t;return()=>(t??=e(),t)}function rr(e,{validate:t}={}){return{[tr]:!0,_type:void 0,get jsonSchema(){return typeof e==`function`&&(e=e()),e},validate:t}}function ir(e){return typeof e==`object`&&!!e&&tr in e&&e[tr]===!0&&`jsonSchema`in e&&`validate`in e}function ar(e){return e==null?rr({type:`object`,properties:{},additionalProperties:!1}):ir(e)?e:`~standard`in e?e[`~standard`].vendor===`zod`?dr(e):or(e):e()}function or(e){return rr(()=>{if(!sr(e))throw Error(`Standard schema vendor '${e[`~standard`].vendor}' does not support JSON Schema conversion.`);return an(e[`~standard`].jsonSchema.input({target:`draft-07`}))},{validate:async t=>{let n=await e[`~standard`].validate(t);return`value`in n?{success:!0,value:n.value}:{success:!1,error:new D({value:t,cause:n.issues})}}})}function sr(e){return e[`~standard`].jsonSchema!=null}function cr(e,t){let n=t?.useReferences??!1;return rr(()=>er(e,{$refStrategy:n?`root`:`none`}),{validate:async t=>{let n=await e.safeParseAsync(t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function lr(e,t){let i=t?.useReferences??!1;return rr(()=>an(n(e,{target:`draft-7`,io:`input`,reused:i?`ref`:`inline`})),{validate:async t=>{let n=await r(e,t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function ur(e){return`_zod`in e}function dr(e,t){return ur(e)?lr(e,t):cr(e,t)}async function fr({value:e,schema:t,context:n}){let r=await pr({value:e,schema:t,context:n});if(!r.success)throw D.wrap({value:e,cause:r.error,context:n});return r.value}async function pr({value:e,schema:t,context:n}){let r=ar(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};let t=await r.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:D.wrap({value:e,cause:t.error,context:n}),rawValue:e}}catch(t){return{success:!1,error:D.wrap({value:e,cause:t,context:n}),rawValue:e}}}async function L({text:e,schema:t}){try{let n=rn(e);return t==null?{success:!0,value:n,rawValue:n}:await pr({value:n,schema:t})}catch(t){return{success:!1,error:Nt.isInstance(t)?t:new Nt({text:e,cause:t}),rawValue:void 0}}}function mr({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new Kt).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await L({text:e,schema:t}))}}))}async function R(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}new TextDecoder;var hr=Object.defineProperty,gr=(e,t)=>{for(var n in t)hr(e,n,{get:t[n],enumerable:!0})},_r=`AI_NoObjectGeneratedError`,vr=`vercel.ai.error.${_r}`,yr=Symbol.for(vr),br,z=class extends E{constructor({message:e=`No object generated.`,cause:t,text:n,response:r,usage:i,finishReason:a}){super({name:_r,message:e,cause:t}),this[br]=!0,this.text=n,this.response=r,this.usage=i,this.finishReason=a}static isInstance(e){return E.hasMarker(e,vr)}};br=yr;var xr=`AI_UIMessageStreamError`,Sr=`vercel.ai.error.${xr}`,Cr=Symbol.for(Sr),wr,B=class extends E{constructor({chunkType:e,chunkId:t,message:n}){super({name:xr,message:n}),this[wr]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return E.hasMarker(e,Sr)}};wr=Cr;function Tr(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let n={...e};for(let r in t)if(r!==`__proto__`&&r!==`constructor`&&r!==`prototype`&&Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(i===void 0)continue;let a=r in e?e[r]:void 0,o=typeof i==`object`&&!!i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp),s=typeof a==`object`&&!!a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);n[r]=o&&s?Tr(a,i):i}return n}var V={array:_,boolean:o,custom:d,discriminatedUnion:v,enum:p,instanceof:g,lazy:s,literal:h,looseObject:f,never:l,null:u,number:c,object:i,record:ee,string:y,union:a,unknown:te},H=V.lazy(()=>V.union([V.null(),V.string(),V.number(),V.boolean(),V.record(V.string(),H.optional()),V.array(H)])),U=V.record(V.string(),V.record(V.string(),H.optional())),W=V.union([V.string(),V.instanceof(Uint8Array),V.instanceof(ArrayBuffer),V.custom(Qt,{message:`Must be a Buffer`})]),Er=V.record(V.string(),V.string()),Dr=V.object({type:V.literal(`text`),text:V.string(),providerOptions:U.optional()}),Or=V.object({type:V.literal(`image`),image:V.union([W,V.instanceof(URL),Er]),mediaType:V.string().optional(),providerOptions:U.optional()}),kr=V.discriminatedUnion(`type`,[V.object({type:V.literal(`data`),data:W}),V.object({type:V.literal(`url`),url:V.instanceof(URL)}),V.object({type:V.literal(`reference`),reference:Er}),V.object({type:V.literal(`text`),text:V.string()})]),Ar=V.discriminatedUnion(`type`,[V.object({type:V.literal(`data`),data:W}),V.object({type:V.literal(`url`),url:V.instanceof(URL)})]),jr=V.object({type:V.literal(`file`),data:V.union([kr,W,V.instanceof(URL),Er]),filename:V.string().optional(),mediaType:V.string(),providerOptions:U.optional()}),Mr=V.object({type:V.literal(`reasoning`),text:V.string(),providerOptions:U.optional()}),Nr=V.object({type:V.literal(`custom`),kind:V.string().transform(e=>e),providerOptions:U.optional()}),Pr=V.object({type:V.literal(`reasoning-file`),data:V.union([Ar,W,V.instanceof(URL)]),mediaType:V.string(),providerOptions:U.optional()}),Fr=V.object({type:V.literal(`tool-call`),toolCallId:V.string(),toolName:V.string(),input:V.unknown(),providerOptions:U.optional(),providerExecuted:V.boolean().optional()}),Ir=V.discriminatedUnion(`type`,[V.object({type:V.literal(`text`),value:V.string(),providerOptions:U.optional()}),V.object({type:V.literal(`json`),value:H,providerOptions:U.optional()}),V.object({type:V.literal(`execution-denied`),reason:V.string().optional(),providerOptions:U.optional()}),V.object({type:V.literal(`error-text`),value:V.string(),providerOptions:U.optional()}),V.object({type:V.literal(`error-json`),value:H,providerOptions:U.optional()}),V.object({type:V.literal(`content`),value:V.array(V.union([V.object({type:V.literal(`text`),text:V.string(),providerOptions:U.optional()}),V.object({type:V.literal(`file`),data:kr,mediaType:V.string(),filename:V.string().optional(),providerOptions:U.optional()}),V.object({type:V.literal(`file-data`),data:V.string(),mediaType:V.string(),filename:V.string().optional(),providerOptions:U.optional()}),V.object({type:V.literal(`file-url`),url:V.string(),mediaType:V.string().optional(),providerOptions:U.optional()}),V.object({type:V.literal(`file-id`),fileId:V.union([V.string(),V.record(V.string(),V.string())]),providerOptions:U.optional()}),V.object({type:V.literal(`file-reference`),providerReference:V.record(V.string(),V.string()),providerOptions:U.optional()}),V.object({type:V.literal(`image-data`),data:V.string(),mediaType:V.string(),providerOptions:U.optional()}),V.object({type:V.literal(`image-url`),url:V.string(),providerOptions:U.optional()}),V.object({type:V.literal(`image-file-id`),fileId:V.union([V.string(),V.record(V.string(),V.string())]),providerOptions:U.optional()}),V.object({type:V.literal(`image-file-reference`),providerReference:V.record(V.string(),V.string()),providerOptions:U.optional()}),V.object({type:V.literal(`custom`),providerOptions:U.optional()})]))})]),Lr=V.object({type:V.literal(`tool-result`),toolCallId:V.string(),toolName:V.string(),output:Ir,providerOptions:U.optional()}),Rr=V.object({type:V.literal(`tool-approval-request`),approvalId:V.string(),toolCallId:V.string()}),zr=V.object({type:V.literal(`tool-approval-response`),approvalId:V.string(),approved:V.boolean(),reason:V.string().optional()}),Br=V.object({role:V.literal(`system`),content:V.string(),providerOptions:U.optional()}),Vr=V.object({role:V.literal(`user`),content:V.union([V.string(),V.array(V.union([Dr,Or,jr]))]),providerOptions:U.optional()}),Hr=V.object({role:V.literal(`assistant`),content:V.union([V.string(),V.array(V.union([Dr,Nr,jr,Mr,Pr,Fr,Lr,Rr]))]),providerOptions:U.optional()}),Ur=V.object({role:V.literal(`tool`),content:V.array(V.union([Lr,zr])),providerOptions:U.optional()});V.union([Br,Vr,Hr,Ur]),gr({},{array:()=>qr,choice:()=>Jr,json:()=>Yr,object:()=>Kr,text:()=>Gr});function Wr(e){let t=[`ROOT`],n=-1,r=null,i=0;function a(e){return e>=`0`&&e<=`9`||e>=`A`&&e<=`F`||e>=`a`&&e<=`f`}function o(e,i,a){switch(e){case`"`:n=i,t.pop(),t.push(a),t.push(`INSIDE_STRING`);break;case`f`:case`t`:case`n`:n=i,r=i,t.pop(),t.push(a),t.push(`INSIDE_LITERAL`);break;case`-`:t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=i,t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`{`:n=i,t.pop(),t.push(a),t.push(`INSIDE_OBJECT_START`);break;case`[`:n=i,t.pop(),t.push(a),t.push(`INSIDE_ARRAY_START`)}}function s(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_COMMA`);break;case`}`:n=r,t.pop()}}function c(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=r,t.pop()}}for(let l=0;l<e.length;l++){let u=e[l];switch(t[t.length-1]){case`ROOT`:o(u,l,`FINISH`);break;case`INSIDE_OBJECT_START`:switch(u){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break;case`}`:n=l,t.pop()}break;case`INSIDE_OBJECT_AFTER_COMMA`:u===`"`&&(t.pop(),t.push(`INSIDE_OBJECT_KEY`));break;case`INSIDE_OBJECT_KEY`:u===`"`&&(t.pop(),t.push(`INSIDE_OBJECT_AFTER_KEY`));break;case`INSIDE_OBJECT_AFTER_KEY`:u===`:`&&(t.pop(),t.push(`INSIDE_OBJECT_BEFORE_VALUE`));break;case`INSIDE_OBJECT_BEFORE_VALUE`:o(u,l,`INSIDE_OBJECT_AFTER_VALUE`);break;case`INSIDE_OBJECT_AFTER_VALUE`:s(u,l);break;case`INSIDE_STRING`:switch(u){case`"`:t.pop(),n=l;break;case`\\`:t.push(`INSIDE_STRING_ESCAPE`);break;default:n=l}break;case`INSIDE_ARRAY_START`:switch(u){case`]`:n=l,t.pop();break;default:n=l,o(u,l,`INSIDE_ARRAY_AFTER_VALUE`)}break;case`INSIDE_ARRAY_AFTER_VALUE`:switch(u){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=l,t.pop();break;default:n=l}break;case`INSIDE_ARRAY_AFTER_COMMA`:o(u,l,`INSIDE_ARRAY_AFTER_VALUE`);break;case`INSIDE_STRING_ESCAPE`:t.pop(),u===`u`?(i=0,t.push(`INSIDE_STRING_UNICODE_ESCAPE`)):n=l;break;case`INSIDE_STRING_UNICODE_ESCAPE`:a(u)&&(i++,i===4&&(t.pop(),n=l));break;case`INSIDE_NUMBER`:switch(u){case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=l;break;case`e`:case`E`:case`-`:case`.`:break;case`,`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&s(u,l);break;case`}`:t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&s(u,l);break;case`]`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l);break;default:t.pop()}break;case`INSIDE_LITERAL`:{let i=e.substring(r,l+1);!`false`.startsWith(i)&&!`true`.startsWith(i)&&!`null`.startsWith(i)?(t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`?s(u,l):t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l)):n=l;break}}}let l=e.slice(0,n+1);for(let n=t.length-1;n>=0;n--)switch(t[n]){case`INSIDE_STRING`:l+=`"`;break;case`INSIDE_OBJECT_KEY`:case`INSIDE_OBJECT_AFTER_KEY`:case`INSIDE_OBJECT_AFTER_COMMA`:case`INSIDE_OBJECT_START`:case`INSIDE_OBJECT_BEFORE_VALUE`:case`INSIDE_OBJECT_AFTER_VALUE`:l+=`}`;break;case`INSIDE_ARRAY_START`:case`INSIDE_ARRAY_AFTER_COMMA`:case`INSIDE_ARRAY_AFTER_VALUE`:l+=`]`;break;case`INSIDE_LITERAL`:{let t=e.substring(r,e.length);`true`.startsWith(t)?l+=`true`.slice(t.length):`false`.startsWith(t)?l+=`false`.slice(t.length):`null`.startsWith(t)&&(l+=`null`.slice(t.length))}}return l}async function G(e){if(e===void 0)return{value:void 0,state:`undefined-input`};let t=await L({text:e});return t.success?{value:t.value,state:`successful-parse`}:(t=await L({text:Wr(e)}),t.success?{value:t.value,state:`repaired-parse`}:{value:void 0,state:`failed-parse`})}var Gr=()=>({name:`text`,responseFormat:Promise.resolve({type:`text`}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),Kr=({schema:e,name:t,description:n})=>{let r=ar(e);return{name:`object`,responseFormat:R(r.jsonSchema).then(e=>({type:`json`,schema:e,...t!=null&&{name:t},...n!=null&&{description:n}})),async parseCompleteOutput({text:e},t){let n=await L({text:e});if(!n.success)throw new z({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let i=await pr({value:n.value,schema:r});if(!i.success)throw new z({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return i.value},async parsePartialOutput({text:e}){let t=await G(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return{partial:t.value}}},createElementStreamTransform(){}}},qr=({element:e,name:t,description:n})=>{let r=ar(e);return{name:`array`,responseFormat:R(r.jsonSchema).then(e=>{let{$schema:r,definitions:i,$defs:a,...o}=e;return{type:`json`,schema:{$schema:`http://json-schema.org/draft-07/schema#`,...i!=null&&{definitions:i},...a!=null&&{$defs:a},type:`object`,properties:{elements:{type:`array`,items:o}},required:[`elements`],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}}),async parseCompleteOutput({text:e},t){let n=await L({text:e});if(!n.success)throw new z({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let i=n.value;if(typeof i!=`object`||!i||!(`elements`in i)||!Array.isArray(i.elements))throw new z({message:`No object generated: response did not match schema.`,cause:new D({value:i,cause:`response must be an object with an elements array`}),text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let a=[];for(let n of i.elements){let i=await pr({value:n,schema:r});if(!i.success)throw new z({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});a.push(i.value)}return a},async parsePartialOutput({text:e}){let t=await G(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:{let e=t.value;if(typeof e!=`object`||!e||!(`elements`in e)||!Array.isArray(e.elements))return;let n=t.state===`repaired-parse`&&e.elements.length>0?e.elements.slice(0,-1):e.elements,i=[];for(let e of n){let t=await pr({value:e,schema:r});t.success&&i.push(t.value)}return{partial:i}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},n){if(t!=null)for(;e<t.length;e++)n.enqueue(t[e])}})}}},Jr=({options:e,name:t,description:n})=>({name:`choice`,responseFormat:Promise.resolve({type:`json`,schema:{$schema:`http://json-schema.org/draft-07/schema#`,type:`object`,properties:{result:{type:`string`,enum:e}},required:[`result`],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}),async parseCompleteOutput({text:t},n){let r=await L({text:t});if(!r.success)throw new z({message:`No object generated: could not parse the response.`,cause:r.error,text:t,response:n.response,usage:n.usage,finishReason:n.finishReason});let i=r.value;if(typeof i!=`object`||!i||!(`result`in i)||typeof i.result!=`string`||!e.includes(i.result))throw new z({message:`No object generated: response did not match schema.`,cause:new D({value:i,cause:`response must be an object that contains a choice value.`}),text:t,response:n.response,usage:n.usage,finishReason:n.finishReason});return i.result},async parsePartialOutput({text:t}){let n=await G(t);switch(n.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:{let t=n.value;if(typeof t!=`object`||!t||!(`result`in t)||typeof t.result!=`string`)return;let r=e.filter(e=>e.startsWith(t.result));return n.state===`successful-parse`?r.includes(t.result)?{partial:t.result}:void 0:r.length===1?{partial:r[0]}:void 0}}},createElementStreamTransform(){}}),Yr=({name:e,description:t}={})=>({name:`json`,responseFormat:Promise.resolve({type:`json`,...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:e},t){let n=await L({text:e});if(!n.success)throw new z({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await G(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return t.value===void 0?void 0:{partial:t.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,k({prefix:`aitxt`,size:24}),k({prefix:`call`,size:24}),TransformStream;var K=V.record(V.string(),H.optional()),Xr=nr(()=>dr(V.union([V.looseObject({type:V.literal(`text-start`),id:V.string(),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`text-delta`),id:V.string(),delta:V.string(),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`text-end`),id:V.string(),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`error`),errorText:V.string()}),V.looseObject({type:V.literal(`tool-input-start`),toolCallId:V.string(),toolName:V.string(),providerExecuted:V.boolean().optional(),providerMetadata:U.optional(),toolMetadata:K.optional(),dynamic:V.boolean().optional(),title:V.string().optional()}),V.looseObject({type:V.literal(`tool-input-delta`),toolCallId:V.string(),inputTextDelta:V.string()}),V.looseObject({type:V.literal(`tool-input-available`),toolCallId:V.string(),toolName:V.string(),input:V.unknown(),providerExecuted:V.boolean().optional(),providerMetadata:U.optional(),toolMetadata:K.optional(),dynamic:V.boolean().optional(),title:V.string().optional()}),V.looseObject({type:V.literal(`tool-input-error`),toolCallId:V.string(),toolName:V.string(),input:V.unknown(),providerExecuted:V.boolean().optional(),providerMetadata:U.optional(),toolMetadata:K.optional(),dynamic:V.boolean().optional(),errorText:V.string(),title:V.string().optional()}),V.looseObject({type:V.literal(`tool-approval-request`),approvalId:V.string(),toolCallId:V.string(),isAutomatic:V.boolean().optional(),signature:V.string().optional()}),V.looseObject({type:V.literal(`tool-approval-response`),approvalId:V.string(),approved:V.boolean(),reason:V.string().optional(),providerExecuted:V.boolean().optional(),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`tool-output-available`),toolCallId:V.string(),output:V.unknown(),providerExecuted:V.boolean().optional(),providerMetadata:U.optional(),toolMetadata:K.optional(),dynamic:V.boolean().optional(),preliminary:V.boolean().optional()}),V.looseObject({type:V.literal(`tool-output-error`),toolCallId:V.string(),errorText:V.string(),providerExecuted:V.boolean().optional(),providerMetadata:U.optional(),toolMetadata:K.optional(),dynamic:V.boolean().optional()}),V.looseObject({type:V.literal(`tool-output-denied`),toolCallId:V.string()}),V.looseObject({type:V.literal(`reasoning-start`),id:V.string(),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`reasoning-delta`),id:V.string(),delta:V.string(),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`reasoning-end`),id:V.string(),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`custom`),kind:V.string().transform(e=>e),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`source-url`),sourceId:V.string(),url:V.string(),title:V.string().optional(),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`source-document`),sourceId:V.string(),mediaType:V.string(),title:V.string(),filename:V.string().optional(),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`file`),url:V.string(),mediaType:V.string(),providerMetadata:U.optional()}),V.looseObject({type:V.literal(`reasoning-file`),url:V.string(),mediaType:V.string(),providerMetadata:U.optional()}),V.looseObject({type:V.custom(e=>typeof e==`string`&&e.startsWith(`data-`),{message:`Type must start with "data-"`}),id:V.string().optional(),data:V.unknown(),transient:V.boolean().optional()}),V.looseObject({type:V.literal(`start-step`)}),V.looseObject({type:V.literal(`finish-step`)}),V.looseObject({type:V.literal(`start`),messageId:V.string().optional(),messageMetadata:V.unknown().optional()}),V.looseObject({type:V.literal(`finish`),finishReason:V.enum([`stop`,`length`,`content-filter`,`tool-calls`,`error`,`other`]).optional(),messageMetadata:V.unknown().optional()}),V.looseObject({type:V.literal(`abort`),reason:V.string().optional()}),V.looseObject({type:V.literal(`message-metadata`),messageMetadata:V.unknown()})])));function Zr(e){return e.type.startsWith(`data-`)}function Qr(){return Object.create(null)}function $r(e){return e.type===`text`}function ei(e){return e.type.startsWith(`tool-`)}function ti(e){return e.type===`dynamic-tool`}function q(e){return ei(e)||ti(e)}function ni(e){return e.type.split(`-`).slice(1).join(`-`)}function ri(e){return ti(e)?e.toolName:ni(e)}function ii({lastMessage:e,messageId:t}){return{message:e?.role===`assistant`?e:{id:t,metadata:void 0,role:`assistant`,parts:[]},activeTextParts:Qr(),activeReasoningParts:Qr(),partialToolCalls:Qr()}}function ai({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:i,onToolCall:a,onData:o}){return e.pipeThrough(new TransformStream({async transform(e,s){await r(async({state:r,write:c})=>{function l(){let e=r.message.parts,t=e.length-1;for(;t>=0&&e[t].type!==`step-start`;)t--;return e.slice(t+1)}function u(){return l().filter(q)}function d(e){let t=u().find(t=>t.toolCallId===e);if(t==null){let n=r.message.parts;for(let r=n.length-1;r>=0;r--){let i=n[r];if(q(i)&&i.toolCallId===e){t=i;break}}}if(t==null)throw new B({chunkType:`tool-invocation`,chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function f(e){let t=r.message.parts.filter(q).find(t=>t.approval?.id===e);if(t==null)throw new B({chunkType:`tool-approval-response`,chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}function p(e,t){let n=t??l().find(t=>ei(t)&&t.toolCallId===e.toolCallId),i=e,a=n;if(n!=null){n.state=e.state,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput,a.preliminary=i.preliminary,e.title!==void 0&&(a.title=e.title),e.toolMetadata!==void 0&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=i.providerExecuted??n.providerExecuted;let t=i.providerMetadata;if(t!=null){if(e.state===`output-available`||e.state===`output-error`){let e=n;e.resultProviderMetadata=t}else n.callProviderMetadata=t}}else r.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...e.toolMetadata===void 0?{}:{toolMetadata:e.toolMetadata},input:i.input,output:i.output,rawInput:i.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,preliminary:i.preliminary,...i.providerMetadata!=null&&(e.state===`output-available`||e.state===`output-error`)?{resultProviderMetadata:i.providerMetadata}:{},...i.providerMetadata!=null&&e.state!==`output-available`&&e.state!==`output-error`?{callProviderMetadata:i.providerMetadata}:{}})}function m(e,t){let n=t??l().find(t=>t.type===`dynamic-tool`&&t.toolCallId===e.toolCallId),i=e,a=n;if(n!=null){n.state=e.state,a.toolName=e.toolName,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput??a.rawInput,a.preliminary=i.preliminary,e.title!==void 0&&(a.title=e.title),e.toolMetadata!==void 0&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=i.providerExecuted??n.providerExecuted;let t=i.providerMetadata;if(t!=null){if(e.state===`output-available`||e.state===`output-error`){let e=n;e.resultProviderMetadata=t}else n.callProviderMetadata=t}}else r.message.parts.push({type:`dynamic-tool`,toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,errorText:i.errorText,preliminary:i.preliminary,providerExecuted:i.providerExecuted,title:e.title,...e.toolMetadata===void 0?{}:{toolMetadata:e.toolMetadata},...i.providerMetadata!=null&&(e.state===`output-available`||e.state===`output-error`)?{resultProviderMetadata:i.providerMetadata}:{},...i.providerMetadata!=null&&e.state!==`output-available`&&e.state!==`output-error`?{callProviderMetadata:i.providerMetadata}:{}})}async function h(e){if(e!=null){let n=r.message.metadata==null?e:Tr(r.message.metadata,e);t!=null&&await fr({value:n,schema:t,context:{field:`message.metadata`,entityId:r.message.id}}),r.message.metadata=n}}switch(e.type){case`text-start`:{let t={type:`text`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeTextParts[e.id]=t,r.message.parts.push(t),c();break}case`text-delta`:{let t=r.activeTextParts[e.id];if(t==null)throw new B({chunkType:`text-delta`,chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=e.providerMetadata??t.providerMetadata,c();break}case`text-end`:{let t=r.activeTextParts[e.id];if(t==null)throw new B({chunkType:`text-end`,chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state=`done`,t.providerMetadata=e.providerMetadata??t.providerMetadata,delete r.activeTextParts[e.id],c();break}case`custom`:{let t={type:`custom`,kind:e.kind,providerMetadata:e.providerMetadata};r.message.parts.push(t),c();break}case`reasoning-start`:{let t={type:`reasoning`,id:e.id,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),c();break}case`reasoning-delta`:{let t=r.activeReasoningParts[e.id];if(t==null)throw new B({chunkType:`reasoning-delta`,chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=e.providerMetadata??t.providerMetadata,c();break}case`reasoning-end`:{let t=r.activeReasoningParts[e.id];if(t==null)throw new B({chunkType:`reasoning-end`,chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=e.providerMetadata??t.providerMetadata,t.state=`done`,delete r.activeReasoningParts[e.id],c();break}case`file`:case`reasoning-file`:r.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}}),c();break;case`source-url`:r.message.parts.push({type:`source-url`,sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),c();break;case`source-document`:r.message.parts.push({type:`source-document`,sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),c();break;case`tool-input-start`:{let t=l().filter(ei);r.partialToolCalls[e.toolCallId]={text:``,toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),c();break}case`tool-input-delta`:{let t=r.partialToolCalls[e.toolCallId];if(t==null)throw new B({chunkType:`tool-input-delta`,chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:n}=await G(t.text);t.dynamic?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n,title:t.title,toolMetadata:t.toolMetadata}):p({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n,title:t.title,toolMetadata:t.toolMetadata}),c();break}case`tool-input-available`:e.dynamic?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),c(),a&&!e.providerExecuted&&await a({toolCall:e});break;case`tool-input-error`:{let t=l().filter(q).find(t=>t.toolCallId===e.toolCallId);(t==null?e.dynamic:t.type===`dynamic-tool`)?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),c();break}case`tool-approval-request`:{let t=d(e.toolCallId);t.state=`approval-requested`,t.approval={id:e.approvalId,...e.isAutomatic===!0?{isAutomatic:!0}:{},...e.signature==null?{}:{signature:e.signature}},c();break}case`tool-approval-response`:{let t=f(e.approvalId),n=t.approval==null?{id:e.approvalId}:t.approval;t.state=`approval-responded`,t.approval={id:e.approvalId,approved:e.approved,...e.reason==null?{}:{reason:e.reason},...n.isAutomatic===!0?{isAutomatic:!0}:{},...n.signature==null?{}:{signature:n.signature}},e.providerExecuted!=null&&(t.providerExecuted=e.providerExecuted),e.providerMetadata!=null&&(t.callProviderMetadata=e.providerMetadata),c();break}case`tool-output-denied`:{let t=d(e.toolCallId);t.state=`output-denied`,c();break}case`tool-output-available`:{let t=d(e.toolCallId);t.type===`dynamic-tool`?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-available`,input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):p({toolCallId:e.toolCallId,toolName:ni(t),state:`output-available`,input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),c();break}case`tool-output-error`:{let t=d(e.toolCallId);t.type===`dynamic-tool`?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-error`,input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):p({toolCallId:e.toolCallId,toolName:ni(t),state:`output-error`,input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),c();break}case`start-step`:r.message.parts.push({type:`step-start`});break;case`finish-step`:r.activeTextParts=Qr(),r.activeReasoningParts=Qr();break;case`start`:e.messageId!=null&&(r.message.id=e.messageId),await h(e.messageMetadata),(e.messageId!=null||e.messageMetadata!=null)&&c();break;case`finish`:e.finishReason!=null&&(r.finishReason=e.finishReason),await h(e.messageMetadata),e.messageMetadata!=null&&c();break;case`message-metadata`:await h(e.messageMetadata),e.messageMetadata!=null&&c();break;case`error`:i?.(Error(e.errorText));break;default:if(Zr(e)){if(n?.[e.type]!=null){let t=r.message.parts.findIndex(t=>`id`in t&&`data`in t&&t.id===e.id&&t.type===e.type),i=t>=0?t:r.message.parts.length;await fr({value:e.data,schema:n[e.type],context:{field:`message.parts[${i}].data`,entityName:e.type,entityId:e.id}})}let t=e;if(t.transient){o?.(t);break}let i=t.id==null?void 0:r.message.parts.find(e=>t.type===e.type&&t.id===e.id);i==null?r.message.parts.push(t):i.data=t.data,o?.(t),c()}}s.enqueue(e)})}}))}async function oi({stream:e,onError:t,abortSignal:n}){let r=e.getReader(),i=()=>{r.cancel().catch(()=>{})};n?.aborted?i():n?.addEventListener(`abort`,i,{once:!0});try{for(;;){let{done:e}=await r.read();if(e)break}}catch(e){t?.(e)}finally{n?.removeEventListener(`abort`,i),r.releaseLock()}}k({prefix:`aitxt`,size:24}),k({prefix:`call`,size:24}),k({prefix:`aitxt`,size:24}),k({prefix:`call`,size:24}),V.record(V.string(),H.optional()),V.record(V.string(),V.string()),k({prefix:`call`,size:24}),k({prefix:`call`,size:24}),k({prefix:`aiobj`,size:24});var si=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,n)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){n(e)}}),this.processQueue()})}};k({prefix:`aiobj`,size:24}),k({prefix:`call`,size:24});async function ci(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error(`FileList is not supported in the current environment`);return Promise.all(Array.from(e).map(async e=>{let{name:t,type:n}=e;return{type:`file`,mediaType:n,filename:t,url:await new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{t(e.target?.result)},r.onerror=e=>n(e),r.readAsDataURL(e)})}}))}var li=class{constructor({api:e=`/api/chat`,credentials:t,headers:n,body:r,fetch:i,prepareSendMessagesRequest:a,prepareReconnectToStreamRequest:o}){this.api=e,this.credentials=t,this.headers=n,this.body=r,this.fetch=i,this.prepareSendMessagesRequest=a,this.prepareReconnectToStreamRequest=o}async sendMessages({abortSignal:e,...t}){let n=await R(this.body),r=await R(this.headers),i=await R(this.credentials),a={...A(r),...A(t.headers)},o=await this.prepareSendMessagesRequest?.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...n,...t.body},headers:a,credentials:i,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId}),s=o?.api??this.api,c=o?.headers===void 0?a:A(o.headers),l=o?.body===void 0?{...n,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId}:o.body,u=o?.credentials??i,d=await(this.fetch??globalThis.fetch)(s,{method:`POST`,headers:{"Content-Type":`application/json`,...c},body:JSON.stringify(l),credentials:u,signal:e});if(!d.ok)throw Error(await d.text()??`Failed to fetch the chat response.`);if(!d.body)throw Error(`The response body is empty.`);return this.processResponseStream(d.body)}async reconnectToStream(e){let t=await R(this.body),n=await R(this.headers),r=await R(this.credentials),i={...A(n),...A(e.headers)},a=await this.prepareReconnectToStreamRequest?.call(this,{api:this.api,id:e.chatId,body:{...t,...e.body},headers:i,credentials:r,requestMetadata:e.metadata}),o=a?.api??`${this.api}/${e.chatId}/stream`,s=a?.headers===void 0?i:A(a.headers),c=a?.credentials??r,l=await(this.fetch??globalThis.fetch)(o,{method:`GET`,headers:s,credentials:c,signal:e.abortSignal});if(l.status===204)return null;if(!l.ok)throw Error(await l.text()??`Failed to fetch the chat response.`);if(!l.body)throw Error(`The response body is empty.`);return this.processResponseStream(l.body)}},ui=class extends li{constructor(e={}){super(e)}processResponseStream(e){return mr({stream:e,schema:Xr}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},di=class{constructor({generateId:e=Zt,id:t=e(),transport:n=new ui,messageMetadataSchema:r,dataPartSchemas:i,state:a,onError:o,onToolCall:s,onFinish:c,onData:l,sendAutomaticallyWhen:u}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new si,this.sendMessage=async(e,t)=>{if(e==null){await this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...t});return}let n;if(`text`in e||`files`in e){let t=new AbortController;this.pendingMessagePreparations.add(t);let r;try{r=Array.isArray(e.files)?e.files:await ci(e.files)}finally{this.pendingMessagePreparations.delete(t)}if(t.signal.aborted)return;n={parts:[...r,...`text`in e&&e.text!=null?[{type:`text`,text:e.text}]:[]]}}else n=e;if(e.messageId!=null){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(t===-1)throw Error(`message with id ${e.messageId} not found`);if(this.state.messages[t].role!==`user`)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{...n,id:e.messageId,role:n.role??`user`,metadata:e.metadata})}else this.state.pushMessage({...n,id:n.id??this.generateId(),role:n.role??`user`,metadata:e.metadata});await this.makeRequest({trigger:`submit-message`,messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let n=e==null?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(n===-1)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,this.messages[n].role===`assistant`?n:n+1),await this.makeRequest({trigger:`regenerate-message`,messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:`resume-stream`,...e})},this.clearError=()=>{this.status===`error`&&(this.state.error=void 0,this.setStatus({status:`ready`}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:n,options:r})=>this.jobExecutor.run(async()=>{let i=this.state.messages,a=i[i.length-1],o=r=>q(r)&&r.state===`approval-requested`&&r.approval.id===e?{...r,state:`approval-responded`,approval:{...r.approval,id:e,approved:t,reason:n}}:r;this.state.replaceMessage(i.length-1,{...a,parts:a.parts.map(o)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(o)),this.status!==`streaming`&&this.status!==`submitted`&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{e&&this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...r})})}),this.addToolOutput=async({state:e=`output-available`,toolCallId:t,output:n,errorText:r,options:i})=>this.jobExecutor.run(async()=>{let a=this.state.messages,o=a[a.length-1],s=i=>q(i)&&i.toolCallId===t?{...i,state:e,output:n,errorText:r}:i;this.state.replaceMessage(a.length-1,{...o,parts:o.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),this.status!==`streaming`&&this.status!==`submitted`&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{e&&this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...i})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var e,t;for(let e of this.pendingMessagePreparations)e.abort();(e=this.activeResumeRequest)==null||e.abortController.abort(),(t=this.activeResponse)==null||t.abortController.abort()},this.id=t,this.transport=n,this.generateId=e,this.messageMetadataSchema=r,this.dataPartSchemas=i,this.state=a,this.onError=o,this.onToolCall=s,this.onFinish=c,this.onData=l,this.sendAutomaticallyWhen=u}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&typeof e==`object`&&`then`in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:n,body:r,messageId:i}){var a,o;let s=new AbortController,c=e===`resume-stream`?{abortController:s}:void 0;c&&((a=this.activeResumeRequest)==null||a.abortController.abort(),this.activeResumeRequest=c);let l=()=>c==null||this.activeResumeRequest===c,u=()=>{this.activeResumeRequest===c&&(this.activeResumeRequest=void 0)},d;if(e===`resume-stream`)try{let e=await this.transport.reconnectToStream({chatId:this.id,abortSignal:s.signal,metadata:t,headers:n,body:r});if(s.signal.aborted||!l()){await e?.cancel().catch(()=>{}),l()&&this.setStatus({status:`ready`}),u();return}if(e==null){this.setStatus({status:`ready`}),u();return}d=e}catch(e){if(s.signal.aborted||e.name===`AbortError`){l()&&this.setStatus({status:`ready`}),u();return}if(!l())return;this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:`error`,error:e}),u();return}this.setStatus({status:`submitted`,error:void 0});let f=this.lastMessage,p=!1,m=!1,h=!1,g;try{let a={state:ii({lastMessage:e===`resume-stream`||e===`regenerate-message`?void 0:this.state.snapshot(f),messageId:this.generateId()}),abortController:s};g=a,a.abortController.signal.addEventListener(`abort`,()=>{p=!0}),this.activeResponse=a;let o;if(o=e===`resume-stream`?d:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:a.abortController.signal,metadata:t,headers:n,body:r,trigger:e,messageId:i}),await oi({stream:ai({stream:o,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:e=>this.jobExecutor.run(()=>a.abortController.signal.aborted?Promise.resolve():e({state:a.state,write:()=>{a.abortController.signal.aborted||(this.setStatus({status:`streaming`}),a.state.message.id===this.lastMessage?.id?this.state.replaceMessage(this.state.messages.length-1,a.state.message):this.state.pushMessage(a.state.message))}})),onError:e=>{throw e}}),abortSignal:a.abortController.signal,onError:e=>{throw e}}),p)return l()&&this.setStatus({status:`ready`}),null;l()&&this.setStatus({status:`ready`})}catch(e){if(p||e.name===`AbortError`)return p=!0,l()&&this.setStatus({status:`ready`}),null;if(!l())return null;h=!0,e instanceof TypeError&&(e.message.toLowerCase().includes(`fetch`)||e.message.toLowerCase().includes(`network`))&&(m=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:`error`,error:e})}finally{try{g&&((o=this.onFinish)==null||o.call(this,{message:g.state.message,messages:this.state.messages,isAbort:p,isDisconnect:m,isError:h,finishReason:g.state.finishReason}))}finally{this.activeResponse===g&&(this.activeResponse=void 0),u()}}!h&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,metadata:t,headers:n,body:r})}};function fi({messages:e}){let t=e[e.length-1];if(!t||t.role!==`assistant`)return!1;let n=t.parts.reduce((e,t,n)=>t.type===`step-start`?n:e,-1),r=t.parts.slice(n+1).filter(q).filter(e=>!e.providerExecuted);return r.length>0&&r.every(e=>e.state===`output-available`||e.state===`output-error`)}function pi(e){return new ui({api:xe(`/`,`Chat/Messages/`),credentials:`include`,body:{orgId:e}})}var mi=e(t(((e,t)=>{function n(e,t){if(typeof e!=`function`)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let n,r=0;return function(...i){clearTimeout(n);let a=Date.now(),o=t-(a-r);o<=0?(r=a,e.apply(this,i)):n=setTimeout(()=>{r=Date.now(),e.apply(this,i)},o)}}t.exports=n}))(),1),hi=(e,t,n)=>{if(!t.has(e))throw TypeError(`Cannot `+n)},J=(e,t,n)=>(hi(e,t,`read from private field`),n?n.call(e):t.get(e)),Y=(e,t,n)=>{if(t.has(e))throw TypeError(`Cannot add the same private member more than once`);t instanceof WeakSet?t.add(e):t.set(e,n)},X=(e,t,n,r)=>(hi(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n);function gi(e,t){return t==null?e:(0,mi.default)(e,t)}function _i(e){return Array.isArray(e)?[...e]:typeof e==`object`&&e&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null)?{...e}:e}var Z,vi,yi,bi,xi,Si,Q,Ci,wi,Ti=class{constructor(e=[]){Y(this,Z,void 0),Y(this,vi,`ready`),Y(this,yi,void 0),Y(this,bi,new Set),Y(this,xi,new Set),Y(this,Si,new Set),this.pushMessage=e=>{X(this,Z,J(this,Z).concat(e)),J(this,Q).call(this)},this.popMessage=()=>{X(this,Z,J(this,Z).slice(0,-1)),J(this,Q).call(this)},this.replaceMessage=(e,t)=>{X(this,Z,[...J(this,Z).slice(0,e),this.snapshot(t),...J(this,Z).slice(e+1)]),J(this,Q).call(this)},this.snapshot=e=>{if(typeof e!=`object`||!e||!(`parts`in e)||!Array.isArray(e.parts))return e;let t=e,n={...t,parts:t.parts.map(e=>({...e}))};return`metadata`in t&&(n.metadata=_i(t.metadata)),n},this[`~registerMessagesCallback`]=(e,t)=>{let n=t?gi(e,t):e;return J(this,bi).add(n),()=>{J(this,bi).delete(n)}},this[`~registerStatusCallback`]=e=>(J(this,xi).add(e),()=>{J(this,xi).delete(e)}),this[`~registerErrorCallback`]=e=>(J(this,Si).add(e),()=>{J(this,Si).delete(e)}),Y(this,Q,()=>{J(this,bi).forEach(e=>e())}),Y(this,Ci,()=>{J(this,xi).forEach(e=>e())}),Y(this,wi,()=>{J(this,Si).forEach(e=>e())}),X(this,Z,e)}get status(){return J(this,vi)}set status(e){X(this,vi,e),J(this,Ci).call(this)}get error(){return J(this,yi)}set error(e){X(this,yi,e),J(this,wi).call(this)}get messages(){return J(this,Z)}set messages(e){X(this,Z,[...e]),J(this,Q).call(this)}};Z=new WeakMap,vi=new WeakMap,yi=new WeakMap,bi=new WeakMap,xi=new WeakMap,Si=new WeakMap,Q=new WeakMap,Ci=new WeakMap,wi=new WeakMap;var $,Ei=class extends di{constructor({messages:e,...t}){let n=new Ti(e);super({...t,state:n}),Y(this,$,void 0),this[`~registerMessagesCallback`]=(e,t)=>J(this,$)[`~registerMessagesCallback`](e,t),this[`~registerStatusCallback`]=e=>J(this,$)[`~registerStatusCallback`](e),this[`~registerErrorCallback`]=e=>J(this,$)[`~registerErrorCallback`](e),X(this,$,n)}};$=new WeakMap;function Di({throttle:e,experimental_throttle:t,resume:n=!1,...r}={}){let i=e??t,a=(0,w.useRef)({});`chat`in r||(a.current={onToolCall:r.onToolCall,onData:r.onData,onFinish:r.onFinish,onError:r.onError,sendAutomaticallyWhen:r.sendAutomaticallyWhen,transport:r.transport});let o,s=()=>a.current.transport??(o??=new ui),c={...r,transport:{sendMessages:e=>s().sendMessages(e),reconnectToStream:e=>s().reconnectToStream(e)},onToolCall:e=>{var t;return(t=a.current).onToolCall?.call(t,e)},onData:e=>{var t;return(t=a.current).onData?.call(t,e)},onFinish:e=>{var t;return(t=a.current).onFinish?.call(t,e)},onError:e=>{var t;return(t=a.current).onError?.call(t,e)},sendAutomaticallyWhen:e=>{var t;return(t=a.current).sendAutomaticallyWhen?.call(t,e)??!1}},l=(0,w.useRef)(`chat`in r?r.chat:new Ei(c));(`chat`in r&&r.chat!==l.current||`id`in r&&r.id!=null&&l.current.id!==r.id)&&(l.current=`chat`in r?r.chat:new Ei(c));let u=l.current,d=(0,w.useRef)({chat:u,messages:u.messages});d.current.chat!==u&&(d.current={chat:u,messages:u.messages});let f=(0,w.useCallback)(e=>{let t=!0,n=u[`~registerMessagesCallback`](()=>{!t||d.current.chat!==u||(d.current={chat:u,messages:u.messages},e())},i);return d.current={chat:u,messages:u.messages},()=>{t=!1,n()}},[u,i]),p=(0,w.useCallback)(()=>d.current.messages,[]),m=(0,w.useSyncExternalStore)(f,p,p),h=(0,w.useCallback)(e=>u[`~registerStatusCallback`](()=>{d.current.chat===u&&((u.status===`ready`||u.status===`error`)&&(d.current={chat:u,messages:u.messages}),e())}),[u]),g=(0,w.useCallback)(()=>u.status,[u]),_=(0,w.useSyncExternalStore)(h,g,g),v=(0,w.useSyncExternalStore)(l.current[`~registerErrorCallback`],()=>l.current.error,()=>l.current.error),ee=(0,w.useCallback)(e=>{typeof e==`function`&&(e=e(l.current.messages)),l.current.messages=e},[l]);return(0,w.useEffect)(()=>{n&&l.current.resumeStream()},[n,l]),{id:l.current.id,messages:m,setMessages:ee,sendMessage:l.current.sendMessage,regenerate:l.current.regenerate,clearError:l.current.clearError,stop:l.current.stop,error:v,resumeStream:l.current.resumeStream,status:_,addToolResult:l.current.addToolOutput,addToolOutput:l.current.addToolOutput,addToolApprovalResponse:l.current.addToolApprovalResponse}}function Oi({input:e,setInput:t,onSubmit:n,disabled:r,autoFocus:i}){let a=(0,w.useRef)(null);return(0,w.useEffect)(()=>{i&&!r&&a.current?.focus()},[i,r]),(0,T.jsxs)(`form`,{onSubmit:n,className:`input-area`,children:[(0,T.jsx)(`input`,{ref:a,value:e,onChange:e=>t(e.target.value),placeholder:`Type a message...`,disabled:r}),(0,T.jsx)(`button`,{type:`submit`,disabled:r||!e.trim(),children:(0,T.jsx)(ft,{size:18})})]})}function ki(){return(0,T.jsxs)(`div`,{className:`loading-state`,children:[(0,T.jsx)(Ae,{className:`animate-spin`,size:24}),(0,T.jsx)(`p`,{children:`Loading conversation...`})]})}var Ai={name:`collectFeedback`,description:`Collects feedback from the user by fetching a link to a pre-populated GitHub Discussion. Use this if the user lets us know we did something well, or if the user seems frustrated, or wants to report a bug.`,inputSchema:i({feedbackSummary:y().describe(`A brief summary of the feedback, used as the discussion title.`),feedbackDetails:y().describe(`Detailed feedback from the user or agent observation.`),recap:y().describe(`A sanitized recap of what the agent and user did together and if it was successful. No sensitive information.`)})};async function ji({input:{feedbackSummary:e,feedbackDetails:t,recap:n}}){let r=e,i=`${t}\n\n${n}`;return{success:!0,url:`https://github.com/HarperFast/harper-agent/discussions/new?category=usage-feedback&title=${encodeURIComponent(r)}&body=${encodeURIComponent(i)}`,message:`Feedback URL created! Ask the user to open it in their browser, and they will be brought to a form to approve the details of the feedback.`}}var Mi={...Ai,icon:dt,execute:ji},Ni={name:`createApp`,description:`Create a new Harper app with the specified name and template type.`,inputSchema:i({name:y().trim(),type:p(Se)})};async function Pi({input:{name:e,type:t},instanceClientParams:n,baseURL:r}){let i=Me(e),a=be(ge,`id`,t);if(!a)return{success:!1,message:`Error: Invalid template type, ${t}, please choose from: ${ge.map(e=>e.id).join(`, `)}`};let o=S.loading(`Creating from template...`,{description:`This may take a bit.`,duration:3e5});try{await Te({...n,project:i,template:a.npm||a.githubUrl})}catch(e){return{success:!1,message:`Error: ${e}`}}Fe(`ReloadApplicationRootEntries`,!0),S.loading(`Created successfully!`,{description:`${i} created! Restarting the HTTP service...`,id:o,duration:3e5});try{await Ue({...n,operation:`restart_service`,replicated:n.entityType===`cluster`})}catch(e){return{success:!1,message:`Error: ${e}`}}return S.success(`Created successfully!`,{description:`${i} created!`,id:o,duration:5e3}),{success:!0,message:`App "${i}" created successfully.`,webURL:r}}var Fi={...Ni,icon:Ye,execute:Pi,requiresApproval:!0},Ii={name:`deleteTableRecords`,description:`Deletes records in a particular table in a particular database on the server by their primary keys.`,inputSchema:i({database:y().trim(),table:y().trim(),primaryKeys:_(y())})};async function Li({input:{database:e,table:t,primaryKeys:n},instanceClientParams:r,params:i}){try{let a=await Xe({...r,databaseName:e,tableName:t,hashValues:n}),{databaseName:o,tableName:s}=i;return await Ee.invalidateQueries({queryKey:[r.entityId,o,s]}),{success:!0,data:a}}catch(e){return{success:!1,message:`Error: ${e}`}}}var Ri={...Ii,icon:at,execute:Li,requiresApproval:!0},zi={name:`dropComponentFile`,description:`Drops a component file by its full path (which was returned by getComponents)`,inputSchema:i({path:y().trim()})};async function Bi({input:{path:e},instanceClientParams:t}){try{let n=e.split(`/`),r=n.shift(),i=n.join(`/`);return{success:!0,data:await he({...t,file:i,project:r})}}catch(e){return{success:!1,message:`Error: ${e}`}}}var Vi={...zi,icon:Le,execute:Bi,requiresApproval:!0},Hi={name:`getAnalytics`,description:`Retrieves analytics metrics for the server, such as CPU usage or database operations (reads, writes, messages).`,inputSchema:i({metricName:y().describe(`The name of the metric to retrieve.`),startTime:c().describe(`The start of the time range for the metric, in milliseconds since the Unix epoch.`),endTime:c().describe(`The end of the time range for the metric, in milliseconds since the Unix epoch.`)})};async function Ui({input:e,instanceClientParams:t}){try{let{metricName:n,startTime:r,endTime:i}=e;return{success:!0,data:await it({metric:n,startTime:r,endTime:i,instanceParams:t})}}catch(e){return{success:!1,message:`Error retrieving analytics: ${e}`}}}var Wi={...Hi,icon:st,execute:Ui},Gi={name:`getComponentFile`,description:`Returns the contents of a component file by its full path (which was returned by getComponents)`,inputSchema:i({path:y().trim()})};async function Ki({input:{path:e},instanceClientParams:t}){try{let n=e.split(`/`),r=n.shift(),i=n.join(`/`);return{success:!0,data:await $e({...t,file:i,project:r})}}catch(e){return{success:!1,message:`Error: ${e}`}}}var qi={...Gi,icon:_e,execute:Ki},Ji={name:`getComponents`,description:`Retrieves a tree of all the component (files and folders) names and sizes stored on the server.`,inputSchema:i({})};async function Yi({instanceClientParams:e}){try{let t=await nt(e),{rootEntries:n}=Ce(t.entries);return{success:!0,items:ye(n).items}}catch(e){return{success:!1,message:`Error: ${e}`}}}var Xi={...Ji,icon:ve,execute:Yi},Zi={name:`getDescribeAll`,description:`Retrieves a map of the names of databases and their tables stored on the server.`,inputSchema:i({})};async function Qi({instanceClientParams:e}){try{return{success:!0,map:await Ke(e)}}catch(e){return{success:!1,message:`Error: ${e}`}}}var $i={...Zi,icon:et,execute:Qi},ea={name:`getDescribeTable`,description:`Returns the schema metadata describing a particular table in a particular database on the server.`,inputSchema:i({database:y().trim(),table:y().trim()})};async function ta({input:{database:e,table:t},instanceClientParams:n}){try{return{success:!0,data:await Re({...n,databaseName:e,tableName:t})}}catch(e){return{success:!1,message:`Error: ${e}`}}}var na={...ea,icon:Pe,execute:ta},ra={name:`getUserContext`,description:`Retrieves the context of what the user is looking at on their screen, such as the current page, the file they are viewing, the database and table visible to them, that sort of thing.`,inputSchema:i({})};async function ia({instanceClientParams:e,params:t}){let n=Je();if(n.includes(`/databases`)){let{databaseName:e,tableName:n}=t;return{success:!0,description:`viewing the database`,data:{databaseName:e,tableName:n}}}if(n.endsWith(`/apis`))return{success:!0,description:`viewing the APIs`};if(n.endsWith(`/status`))return{success:!0,description:`viewing the status graphs`};if(n.endsWith(`/logs`))return{success:!0,description:`viewing the logs`};if(n.includes(`/config/`))return{success:!0,description:`viewing the configuration pages`};let r=Ze(`FileFocused/${e.entityId}`,void 0),i=Ze(`FolderOpened/${e.entityId}`,[]),a=Ze(`FileSelected/${e.entityId}`,[]);return r?{success:!0,description:`editing application files`,data:{openedPath:r,expandedItems:i,selectedItems:a}}:{success:!0,description:n}}var aa={...ra,icon:ze,execute:ia},oa={name:`insertTableRecords`,description:`Inserts one or more records into a particular table in a particular database on the server.`,inputSchema:i({database:y().trim(),table:y().trim(),records:_(m())})};async function sa({input:{database:e,table:t,records:n},instanceClientParams:r,params:i}){try{let a=await Ve({...r,databaseName:e,tableName:t,records:n}),{databaseName:o,tableName:s}=i;return await Ee.invalidateQueries({queryKey:[r.entityId,o,s]}),{success:!0,data:a}}catch(e){return{success:!1,message:`Error: ${e}`}}}var ca={...oa,icon:at,execute:sa,requiresApproval:!0},la={name:`listAnalyticsMetrics`,description:`Lists the available analytics metric names available for calling getAnalytics upon.`,inputSchema:i({metricTypes:p([`builtin`,`custom`]),customWindowMS:c().optional().describe(`Default to one week time window for finding custom metrics.`)})};async function ua({metricTypes:e,customWindowMS:t,instanceParams:n}){let{data:r}=await n.instanceClient.post(`/`,{operation:`list_analytics_metrics`,metricTypes:e,customWindowMS:t});return r}async function da({input:e,instanceClientParams:t}){try{let{metricTypes:n,customWindowMS:r}=e;return{success:!0,metricNames:await ua({metricTypes:n,customWindowMS:r,instanceParams:t})}}catch(e){return{success:!1,message:`Error retrieving analytics: ${e}`}}}var fa={...la,icon:st,execute:da},pa=[`adding-tables-with-schemas`,`automatic-apis`,`caching`,`checking-authentication`,`creating-a-fabric-account-and-cluster`,`creating-harper-apps`,`custom-resources`,`defining-relationships`,`delegating-to-the-built-in-agent`,`deploying-to-harper-fabric`,`extending-tables`,`handling-binary-data`,`load-env`,`logging`,`programmatic-table-requests`,`querying-rest-apis`,`real-time-apps`,`schema-design-tooling`,`serving-web-content`,`typescript-type-stripping`,`using-blob-datatype`,`v5-upgrade`,`vector-indexing`],ma={"adding-tables-with-schemas":"---\nname: adding-tables-with-schemas\ndescription: Guidelines for adding tables to a Harper database using GraphQL schemas.\nmetadata:\n mode: synthesized\n---\n\n# Adding Tables with Schemas\n\nInstructions for the agent to follow when adding tables to a Harper database.\n\n## When to Use\n\nUse this skill when you need to define new data structures or modify existing ones in a Harper database.\n\n## How It Works\n\n1. **Create Dedicated Schema Files**: Prefer having a dedicated schema `.graphql` file for each table. Check the `config.yaml` file under `graphqlSchema.files` to see how it's configured. It typically accepts wildcards (e.g., `schemas/*.graphql`), but may be configured to point at a single file.\n2. **Use Directives**: All available directives for defining your schema are defined in `node_modules/harper/schema.graphql`. Common directives include `@table`, `@export`, `@primaryKey`, `@indexed`, and `@relationship`.\n3. **Define Relationships**: Link tables together using the `@relationship` directive. For more details, see the [Defining Relationships](defining-relationships.md) skill.\n4. **Enable Automatic APIs**: If you add `@table @export` to a schema type, Harper automatically sets up REST and WebSocket APIs for basic CRUD operations against that table. **Important**: REST endpoints also require `rest: true` in `config.yaml` — without it, `@export`ed tables will not respond to HTTP requests. For a detailed list of available endpoints and how to use them, see the [Automatic REST APIs](automatic-apis.md) skill.\n - `GET /{TableName}`: Describes the schema itself.\n - `GET /{TableName}/`: Lists all records (supports filtering, sorting, and pagination via query parameters). See the [Querying REST APIs](querying-rest-apis.md) skill for details.\n - `GET /{TableName}/{id}`: Retrieves a single record by its ID.\n - `POST /{TableName}/`: Creates a new record.\n - `PUT /{TableName}/{id}`: Updates an existing record.\n - `PATCH /{TableName}/{id}`: Performs a partial update on a record.\n - `DELETE /{TableName}/`: Deletes all records or filtered records.\n - `DELETE /{TableName}/{id}`: Deletes a single record by its ID.\n5. **Consider Table Extensions**: If you are going to [extend the table](./extending-tables.md) in your resources, then do not `@export` the table from the schema.\n\n## Examples\n\nIn a hypothetical `schemas/ExamplePerson.graphql`:\n\n```graphql\ntype ExamplePerson @table @export {\n id: ID @primaryKey\n name: String\n tag: String @indexed\n}\n```\n","automatic-apis":`---
16
+ ]`;continue}i+=r[e],r[e]===`\\`?a=!0:o&&r[e]===`]`?o=!1:!o&&r[e]===`[`&&(o=!0)}try{new RegExp(i)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join(`/`)} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return i}function kn(e,t){let n={type:`object`,additionalProperties:F(e.valueType._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]})??t.allowedAdditionalProperties};if(e.keyType?._def.typeName===`ZodString`&&e.keyType._def.checks?.length){let{type:r,...i}=wn(e.keyType._def,t);return{...n,propertyNames:i}}if(e.keyType?._def.typeName===`ZodEnum`)return{...n,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===`ZodBranded`&&e.keyType._def.type._def.typeName===`ZodString`&&e.keyType._def.type._def.checks?.length){let{type:r,...i}=pn(e.keyType._def,t);return{...n,propertyNames:i}}return n}function An(e,t){return t.mapStrategy===`record`?kn(e,t):{type:`array`,maxItems:125,items:{type:`array`,items:[F(e.keyType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`0`]})||j(),F(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`,`items`,`1`]})||j()],minItems:2,maxItems:2}}}function jn(e){let t=e.values,n=Object.keys(e.values).filter(e=>typeof t[t[e]]!=`number`).map(e=>t[e]),r=Array.from(new Set(n.map(e=>typeof e)));return{type:r.length===1?r[0]===`string`?`string`:`number`:[`string`,`number`],enum:n}}function Mn(){return{not:j()}}function Nn(){return{type:`null`}}var Pn={ZodString:`string`,ZodNumber:`number`,ZodBigInt:`integer`,ZodBoolean:`boolean`,ZodNull:`null`};function Fn(e,t){let n=e.options instanceof Map?Array.from(e.options.values()):e.options;if(n.every(e=>e._def.typeName in Pn&&(!e._def.checks||!e._def.checks.length))){let e=n.reduce((e,t)=>{let n=Pn[t._def.typeName];return n&&!e.includes(n)?[...e,n]:e},[]);return{type:e.length>1?e:e[0]}}if(n.every(e=>e._def.typeName===`ZodLiteral`&&!e.description)){let e=n.reduce((e,t)=>{let n=typeof t._def.value;switch(n){case`string`:case`number`:case`boolean`:return[...e,n];case`bigint`:return[...e,`integer`];case`object`:if(t._def.value===null)return[...e,`null`];default:return e}},[]);if(e.length===n.length){let t=e.filter((e,t,n)=>n.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:n.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(n.every(e=>e._def.typeName===`ZodEnum`))return{type:`string`,enum:n.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return In(e,t)}var In=(e,t)=>{let n=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,n)=>F(e._def,{...t,currentPath:[...t.currentPath,`anyOf`,`${n}`]})).filter(e=>!!e&&(!t.strictUnions||typeof e==`object`&&Object.keys(e).length>0));return n.length?{anyOf:n}:void 0};function Ln(e,t){if([`ZodString`,`ZodNumber`,`ZodBigInt`,`ZodBoolean`,`ZodNull`].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return{type:[Pn[e.innerType._def.typeName],`null`]};let n=F(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`0`]});return n&&{anyOf:[n,{type:`null`}]}}function Rn(e){let t={type:`number`};if(!e.checks)return t;for(let n of e.checks)switch(n.kind){case`int`:t.type=`integer`;break;case`min`:n.inclusive?t.minimum=n.value:t.exclusiveMinimum=n.value;break;case`max`:n.inclusive?t.maximum=n.value:t.exclusiveMaximum=n.value;break;case`multipleOf`:t.multipleOf=n.value}return t}function zn(e,t){let n={type:`object`,properties:{}},r=[],i=e.shape();for(let e in i){let a=i[e];if(a===void 0||a._def===void 0)continue;let o=Vn(a),s=F(a._def,{...t,currentPath:[...t.currentPath,`properties`,e],propertyPath:[...t.currentPath,`properties`,e]});s!==void 0&&(n.properties[e]=s,o||r.push(e))}r.length&&(n.required=r);let a=Bn(e,t);return a!==void 0&&(n.additionalProperties=a),n}function Bn(e,t){if(e.catchall._def.typeName!==`ZodNever`)return F(e.catchall._def,{...t,currentPath:[...t.currentPath,`additionalProperties`]});switch(e.unknownKeys){case`passthrough`:return t.allowedAdditionalProperties;case`strict`:return t.rejectedAdditionalProperties;case`strip`:return t.removeAdditionalStrategy===`strict`?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function Vn(e){try{return e.isOptional()}catch{return!0}}var Hn=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return F(e.innerType._def,t);let n=F(e.innerType._def,{...t,currentPath:[...t.currentPath,`anyOf`,`1`]});return n?{anyOf:[{not:j()},n]}:j()},Un=(e,t)=>{if(t.pipeStrategy===`input`)return F(e.in._def,t);if(t.pipeStrategy===`output`)return F(e.out._def,t);let n=F(e.in._def,{...t,currentPath:[...t.currentPath,`allOf`,`0`]});return{allOf:[n,F(e.out._def,{...t,currentPath:[...t.currentPath,`allOf`,n?`1`:`0`]})].filter(e=>e!==void 0)}};function Wn(e,t){return F(e.type._def,t)}function Gn(e,t){let n={type:`array`,uniqueItems:!0,items:F(e.valueType._def,{...t,currentPath:[...t.currentPath,`items`]})};return e.minSize&&(n.minItems=e.minSize.value),e.maxSize&&(n.maxItems=e.maxSize.value),n}function Kn(e,t){return e.rest?{type:`array`,minItems:e.items.length,items:e.items.map((e,n)=>F(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[]),additionalItems:F(e.rest._def,{...t,currentPath:[...t.currentPath,`additionalItems`]})}:{type:`array`,minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,n)=>F(e._def,{...t,currentPath:[...t.currentPath,`items`,`${n}`]})).reduce((e,t)=>t===void 0?e:[...e,t],[])}}function qn(){return{not:j()}}function Jn(){return j()}var Yn=(e,t)=>F(e.innerType._def,t),Xn=(e,t,n)=>{switch(t){case`ZodString`:return wn(e,n);case`ZodNumber`:return Rn(e);case`ZodObject`:return zn(e,n);case`ZodBigInt`:return dn(e);case`ZodBoolean`:return fn();case`ZodDate`:return hn(e,n);case`ZodUndefined`:return qn();case`ZodNull`:return Nn();case`ZodArray`:return un(e,n);case`ZodUnion`:case`ZodDiscriminatedUnion`:return Fn(e,n);case`ZodIntersection`:return xn(e,n);case`ZodTuple`:return Kn(e,n);case`ZodRecord`:return kn(e,n);case`ZodLiteral`:return Sn(e);case`ZodEnum`:return yn(e);case`ZodNativeEnum`:return jn(e);case`ZodNullable`:return Ln(e,n);case`ZodOptional`:return Hn(e,n);case`ZodMap`:return An(e,n);case`ZodSet`:return Gn(e,n);case`ZodLazy`:return()=>e.getter()._def;case`ZodPromise`:return Wn(e,n);case`ZodNaN`:case`ZodNever`:return Mn();case`ZodEffects`:return vn(e,n);case`ZodAny`:return j();case`ZodUnknown`:return Jn();case`ZodDefault`:return _n(e,n);case`ZodBranded`:return pn(e,n);case`ZodReadonly`:return Yn(e,n);case`ZodCatch`:return mn(e,n);case`ZodPipeline`:return Un(e,n);case`ZodFunction`:case`ZodVoid`:case`ZodSymbol`:return;default:return(e=>void 0)(t)}},Zn=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[n]===t[n];n++);return[(e.length-n).toString(),...t.slice(n)].join(`/`)};function F(e,t,n=!1){let r=t.seen.get(e);if(t.override){let i=t.override?.call(t,e,t,r,n);if(i!==sn)return i}if(r&&!n){let e=Qn(r,t);if(e!==void 0)return e}let i={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,i);let a=Xn(e,e.typeName,t),o=typeof a==`function`?F(a(),t):a;if(o&&$n(e,t,o),t.postProcess){let n=t.postProcess(o,e,t);return i.jsonSchema=o,n}return i.jsonSchema=o,o}var Qn=(e,t)=>{switch(t.$refStrategy){case`root`:return{$ref:e.path.join(`/`)};case`relative`:return{$ref:Zn(t.currentPath,e.path)};case`none`:case`seen`:return e.path.length<t.currentPath.length&&e.path.every((e,n)=>t.currentPath[n]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join(`/`)}! Defaulting to any`),j()):t.$refStrategy===`seen`?j():void 0}},$n=(e,t,n)=>(e.description&&(n.description=e.description),n),er=e=>{let t=ln(e),n=t.name===void 0?t.basePath:[...t.basePath,t.definitionPath,t.name];return{...t,currentPath:n,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,n])=>[n._def,{def:n._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}},tr=(e,t)=>{let n=er(t),r=typeof t==`object`&&t.definitions?Object.entries(t.definitions).reduce((e,[t,r])=>({...e,[t]:F(r._def,{...n,currentPath:[...n.basePath,n.definitionPath,t]},!0)??j()}),{}):void 0,i=typeof t==`string`?t:t?.nameStrategy===`title`?void 0:t?.name,a=F(e._def,i===void 0?n:{...n,currentPath:[...n.basePath,n.definitionPath,i]},!1)??j(),o=typeof t==`object`&&t.name!==void 0&&t.nameStrategy===`title`?t.name:void 0;o!==void 0&&(a.title=o);let s=i===void 0?r?{...a,[n.definitionPath]:r}:a:{$ref:[...n.$refStrategy===`relative`?[]:n.basePath,n.definitionPath,i].join(`/`),[n.definitionPath]:{...r,[i]:a}};return s.$schema=`http://json-schema.org/draft-07/schema#`,s},nr=Symbol.for(`vercel.ai.schema`);function rr(e){let t;return()=>(t??=e(),t)}function ir(e,{validate:t}={}){return{[nr]:!0,_type:void 0,get jsonSchema(){return typeof e==`function`&&(e=e()),e},validate:t}}function ar(e){return typeof e==`object`&&!!e&&nr in e&&e[nr]===!0&&`jsonSchema`in e&&`validate`in e}function or(e){return e==null?ir({type:`object`,properties:{},additionalProperties:!1}):ar(e)?e:`~standard`in e?e[`~standard`].vendor===`zod`?fr(e):sr(e):e()}function sr(e){return ir(()=>{if(!cr(e))throw Error(`Standard schema vendor '${e[`~standard`].vendor}' does not support JSON Schema conversion.`);return on(e[`~standard`].jsonSchema.input({target:`draft-07`}))},{validate:async t=>{let n=await e[`~standard`].validate(t);return`value`in n?{success:!0,value:n.value}:{success:!1,error:new E({value:t,cause:n.issues})}}})}function cr(e){return e[`~standard`].jsonSchema!=null}function lr(e,t){let n=t?.useReferences??!1;return ir(()=>tr(e,{$refStrategy:n?`root`:`none`}),{validate:async t=>{let n=await e.safeParseAsync(t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function ur(e,t){let i=t?.useReferences??!1;return ir(()=>on(n(e,{target:`draft-7`,io:`input`,reused:i?`ref`:`inline`})),{validate:async t=>{let n=await r(e,t);return n.success?{success:!0,value:n.data}:{success:!1,error:n.error}}})}function dr(e){return`_zod`in e}function fr(e,t){return dr(e)?ur(e,t):lr(e,t)}async function pr({value:e,schema:t,context:n}){let r=await mr({value:e,schema:t,context:n});if(!r.success)throw E.wrap({value:e,cause:r.error,context:n});return r.value}async function mr({value:e,schema:t,context:n}){let r=or(t);try{if(r.validate==null)return{success:!0,value:e,rawValue:e};let t=await r.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:E.wrap({value:e,cause:t.error,context:n}),rawValue:e}}catch(t){return{success:!1,error:E.wrap({value:e,cause:t,context:n}),rawValue:e}}}async function I({text:e,schema:t}){try{let n=an(e);return t==null?{success:!0,value:n,rawValue:n}:await mr({value:n,schema:t})}catch(t){return{success:!1,error:Pt.isInstance(t)?t:new Pt({text:e,cause:t}),rawValue:void 0}}}function hr({stream:e,schema:t}){return e.pipeThrough(new TextDecoderStream).pipeThrough(new qt).pipeThrough(new TransformStream({async transform({data:e},n){e!==`[DONE]`&&n.enqueue(await I({text:e,schema:t}))}}))}async function L(e){return typeof e==`function`&&(e=e()),Promise.resolve(e)}new TextDecoder;var gr=Object.defineProperty,_r=(e,t)=>{for(var n in t)gr(e,n,{get:t[n],enumerable:!0})},vr=`AI_NoObjectGeneratedError`,yr=`vercel.ai.error.${vr}`,br=Symbol.for(yr),xr,R=class extends T{constructor({message:e=`No object generated.`,cause:t,text:n,response:r,usage:i,finishReason:a}){super({name:vr,message:e,cause:t}),this[xr]=!0,this.text=n,this.response=r,this.usage=i,this.finishReason=a}static isInstance(e){return T.hasMarker(e,yr)}};xr=br;var Sr=`AI_UIMessageStreamError`,Cr=`vercel.ai.error.${Sr}`,wr=Symbol.for(Cr),Tr,z=class extends T{constructor({chunkType:e,chunkId:t,message:n}){super({name:Sr,message:n}),this[Tr]=!0,this.chunkType=e,this.chunkId=t}static isInstance(e){return T.hasMarker(e,Cr)}};Tr=wr;function Er(e,t){if(e===void 0&&t===void 0)return;if(e===void 0)return t;if(t===void 0)return e;let n={...e};for(let r in t)if(r!==`__proto__`&&r!==`constructor`&&r!==`prototype`&&Object.prototype.hasOwnProperty.call(t,r)){let i=t[r];if(i===void 0)continue;let a=r in e?e[r]:void 0,o=typeof i==`object`&&!!i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp),s=typeof a==`object`&&!!a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp);n[r]=o&&s?Er(a,i):i}return n}var B={array:_,boolean:o,custom:d,discriminatedUnion:v,enum:p,instanceof:g,lazy:s,literal:h,looseObject:f,never:l,null:u,number:c,object:i,record:ee,string:y,union:a,unknown:te},V=B.lazy(()=>B.union([B.null(),B.string(),B.number(),B.boolean(),B.record(B.string(),V.optional()),B.array(V)])),H=B.record(B.string(),B.record(B.string(),V.optional())),U=B.union([B.string(),B.instanceof(Uint8Array),B.instanceof(ArrayBuffer),B.custom($t,{message:`Must be a Buffer`})]),Dr=B.record(B.string(),B.string()),Or=B.object({type:B.literal(`text`),text:B.string(),providerOptions:H.optional()}),kr=B.object({type:B.literal(`image`),image:B.union([U,B.instanceof(URL),Dr]),mediaType:B.string().optional(),providerOptions:H.optional()}),Ar=B.discriminatedUnion(`type`,[B.object({type:B.literal(`data`),data:U}),B.object({type:B.literal(`url`),url:B.instanceof(URL)}),B.object({type:B.literal(`reference`),reference:Dr}),B.object({type:B.literal(`text`),text:B.string()})]),jr=B.discriminatedUnion(`type`,[B.object({type:B.literal(`data`),data:U}),B.object({type:B.literal(`url`),url:B.instanceof(URL)})]),Mr=B.object({type:B.literal(`file`),data:B.union([Ar,U,B.instanceof(URL),Dr]),filename:B.string().optional(),mediaType:B.string(),providerOptions:H.optional()}),Nr=B.object({type:B.literal(`reasoning`),text:B.string(),providerOptions:H.optional()}),Pr=B.object({type:B.literal(`custom`),kind:B.string().transform(e=>e),providerOptions:H.optional()}),Fr=B.object({type:B.literal(`reasoning-file`),data:B.union([jr,U,B.instanceof(URL)]),mediaType:B.string(),providerOptions:H.optional()}),Ir=B.object({type:B.literal(`tool-call`),toolCallId:B.string(),toolName:B.string(),input:B.unknown(),providerOptions:H.optional(),providerExecuted:B.boolean().optional()}),Lr=B.discriminatedUnion(`type`,[B.object({type:B.literal(`text`),value:B.string(),providerOptions:H.optional()}),B.object({type:B.literal(`json`),value:V,providerOptions:H.optional()}),B.object({type:B.literal(`execution-denied`),reason:B.string().optional(),providerOptions:H.optional()}),B.object({type:B.literal(`error-text`),value:B.string(),providerOptions:H.optional()}),B.object({type:B.literal(`error-json`),value:V,providerOptions:H.optional()}),B.object({type:B.literal(`content`),value:B.array(B.union([B.object({type:B.literal(`text`),text:B.string(),providerOptions:H.optional()}),B.object({type:B.literal(`file`),data:Ar,mediaType:B.string(),filename:B.string().optional(),providerOptions:H.optional()}),B.object({type:B.literal(`file-data`),data:B.string(),mediaType:B.string(),filename:B.string().optional(),providerOptions:H.optional()}),B.object({type:B.literal(`file-url`),url:B.string(),mediaType:B.string().optional(),providerOptions:H.optional()}),B.object({type:B.literal(`file-id`),fileId:B.union([B.string(),B.record(B.string(),B.string())]),providerOptions:H.optional()}),B.object({type:B.literal(`file-reference`),providerReference:B.record(B.string(),B.string()),providerOptions:H.optional()}),B.object({type:B.literal(`image-data`),data:B.string(),mediaType:B.string(),providerOptions:H.optional()}),B.object({type:B.literal(`image-url`),url:B.string(),providerOptions:H.optional()}),B.object({type:B.literal(`image-file-id`),fileId:B.union([B.string(),B.record(B.string(),B.string())]),providerOptions:H.optional()}),B.object({type:B.literal(`image-file-reference`),providerReference:B.record(B.string(),B.string()),providerOptions:H.optional()}),B.object({type:B.literal(`custom`),providerOptions:H.optional()})]))})]),Rr=B.object({type:B.literal(`tool-result`),toolCallId:B.string(),toolName:B.string(),output:Lr,providerOptions:H.optional()}),zr=B.object({type:B.literal(`tool-approval-request`),approvalId:B.string(),toolCallId:B.string()}),Br=B.object({type:B.literal(`tool-approval-response`),approvalId:B.string(),approved:B.boolean(),reason:B.string().optional()}),Vr=B.object({role:B.literal(`system`),content:B.string(),providerOptions:H.optional()}),Hr=B.object({role:B.literal(`user`),content:B.union([B.string(),B.array(B.union([Or,kr,Mr]))]),providerOptions:H.optional()}),Ur=B.object({role:B.literal(`assistant`),content:B.union([B.string(),B.array(B.union([Or,Pr,Mr,Nr,Fr,Ir,Rr,zr]))]),providerOptions:H.optional()}),Wr=B.object({role:B.literal(`tool`),content:B.array(B.union([Rr,Br])),providerOptions:H.optional()});B.union([Vr,Hr,Ur,Wr]),_r({},{array:()=>Jr,choice:()=>Yr,json:()=>Xr,object:()=>qr,text:()=>Kr});function Gr(e){let t=[`ROOT`],n=-1,r=null,i=0;function a(e){return e>=`0`&&e<=`9`||e>=`A`&&e<=`F`||e>=`a`&&e<=`f`}function o(e,i,a){switch(e){case`"`:n=i,t.pop(),t.push(a),t.push(`INSIDE_STRING`);break;case`f`:case`t`:case`n`:n=i,r=i,t.pop(),t.push(a),t.push(`INSIDE_LITERAL`);break;case`-`:t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=i,t.pop(),t.push(a),t.push(`INSIDE_NUMBER`);break;case`{`:n=i,t.pop(),t.push(a),t.push(`INSIDE_OBJECT_START`);break;case`[`:n=i,t.pop(),t.push(a),t.push(`INSIDE_ARRAY_START`)}}function s(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_OBJECT_AFTER_COMMA`);break;case`}`:n=r,t.pop()}}function c(e,r){switch(e){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=r,t.pop()}}for(let l=0;l<e.length;l++){let u=e[l];switch(t[t.length-1]){case`ROOT`:o(u,l,`FINISH`);break;case`INSIDE_OBJECT_START`:switch(u){case`"`:t.pop(),t.push(`INSIDE_OBJECT_KEY`);break;case`}`:n=l,t.pop()}break;case`INSIDE_OBJECT_AFTER_COMMA`:u===`"`&&(t.pop(),t.push(`INSIDE_OBJECT_KEY`));break;case`INSIDE_OBJECT_KEY`:u===`"`&&(t.pop(),t.push(`INSIDE_OBJECT_AFTER_KEY`));break;case`INSIDE_OBJECT_AFTER_KEY`:u===`:`&&(t.pop(),t.push(`INSIDE_OBJECT_BEFORE_VALUE`));break;case`INSIDE_OBJECT_BEFORE_VALUE`:o(u,l,`INSIDE_OBJECT_AFTER_VALUE`);break;case`INSIDE_OBJECT_AFTER_VALUE`:s(u,l);break;case`INSIDE_STRING`:switch(u){case`"`:t.pop(),n=l;break;case`\\`:t.push(`INSIDE_STRING_ESCAPE`);break;default:n=l}break;case`INSIDE_ARRAY_START`:switch(u){case`]`:n=l,t.pop();break;default:n=l,o(u,l,`INSIDE_ARRAY_AFTER_VALUE`)}break;case`INSIDE_ARRAY_AFTER_VALUE`:switch(u){case`,`:t.pop(),t.push(`INSIDE_ARRAY_AFTER_COMMA`);break;case`]`:n=l,t.pop();break;default:n=l}break;case`INSIDE_ARRAY_AFTER_COMMA`:o(u,l,`INSIDE_ARRAY_AFTER_VALUE`);break;case`INSIDE_STRING_ESCAPE`:t.pop(),u===`u`?(i=0,t.push(`INSIDE_STRING_UNICODE_ESCAPE`)):n=l;break;case`INSIDE_STRING_UNICODE_ESCAPE`:a(u)&&(i++,i===4&&(t.pop(),n=l));break;case`INSIDE_NUMBER`:switch(u){case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n=l;break;case`e`:case`E`:case`-`:case`.`:break;case`,`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&s(u,l);break;case`}`:t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`&&s(u,l);break;case`]`:t.pop(),t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l);break;default:t.pop()}break;case`INSIDE_LITERAL`:{let i=e.substring(r,l+1);!`false`.startsWith(i)&&!`true`.startsWith(i)&&!`null`.startsWith(i)?(t.pop(),t[t.length-1]===`INSIDE_OBJECT_AFTER_VALUE`?s(u,l):t[t.length-1]===`INSIDE_ARRAY_AFTER_VALUE`&&c(u,l)):n=l;break}}}let l=e.slice(0,n+1);for(let n=t.length-1;n>=0;n--)switch(t[n]){case`INSIDE_STRING`:l+=`"`;break;case`INSIDE_OBJECT_KEY`:case`INSIDE_OBJECT_AFTER_KEY`:case`INSIDE_OBJECT_AFTER_COMMA`:case`INSIDE_OBJECT_START`:case`INSIDE_OBJECT_BEFORE_VALUE`:case`INSIDE_OBJECT_AFTER_VALUE`:l+=`}`;break;case`INSIDE_ARRAY_START`:case`INSIDE_ARRAY_AFTER_COMMA`:case`INSIDE_ARRAY_AFTER_VALUE`:l+=`]`;break;case`INSIDE_LITERAL`:{let t=e.substring(r,e.length);`true`.startsWith(t)?l+=`true`.slice(t.length):`false`.startsWith(t)?l+=`false`.slice(t.length):`null`.startsWith(t)&&(l+=`null`.slice(t.length))}}return l}async function W(e){if(e===void 0)return{value:void 0,state:`undefined-input`};let t=await I({text:e});return t.success?{value:t.value,state:`successful-parse`}:(t=await I({text:Gr(e)}),t.success?{value:t.value,state:`repaired-parse`}:{value:void 0,state:`failed-parse`})}var Kr=()=>({name:`text`,responseFormat:Promise.resolve({type:`text`}),async parseCompleteOutput({text:e}){return e},async parsePartialOutput({text:e}){return{partial:e}},createElementStreamTransform(){}}),qr=({schema:e,name:t,description:n})=>{let r=or(e);return{name:`object`,responseFormat:L(r.jsonSchema).then(e=>({type:`json`,schema:e,...t!=null&&{name:t},...n!=null&&{description:n}})),async parseCompleteOutput({text:e},t){let n=await I({text:e});if(!n.success)throw new R({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let i=await mr({value:n.value,schema:r});if(!i.success)throw new R({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return i.value},async parsePartialOutput({text:e}){let t=await W(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return{partial:t.value}}},createElementStreamTransform(){}}},Jr=({element:e,name:t,description:n})=>{let r=or(e);return{name:`array`,responseFormat:L(r.jsonSchema).then(e=>{let{$schema:r,definitions:i,$defs:a,...o}=e;return{type:`json`,schema:{$schema:`http://json-schema.org/draft-07/schema#`,...i!=null&&{definitions:i},...a!=null&&{$defs:a},type:`object`,properties:{elements:{type:`array`,items:o}},required:[`elements`],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}}),async parseCompleteOutput({text:e},t){let n=await I({text:e});if(!n.success)throw new R({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let i=n.value;if(typeof i!=`object`||!i||!(`elements`in i)||!Array.isArray(i.elements))throw new R({message:`No object generated: response did not match schema.`,cause:new E({value:i,cause:`response must be an object with an elements array`}),text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});let a=[];for(let n of i.elements){let i=await mr({value:n,schema:r});if(!i.success)throw new R({message:`No object generated: response did not match schema.`,cause:i.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});a.push(i.value)}return a},async parsePartialOutput({text:e}){let t=await W(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:{let e=t.value;if(typeof e!=`object`||!e||!(`elements`in e)||!Array.isArray(e.elements))return;let n=t.state===`repaired-parse`&&e.elements.length>0?e.elements.slice(0,-1):e.elements,i=[];for(let e of n){let t=await mr({value:e,schema:r});t.success&&i.push(t.value)}return{partial:i}}}},createElementStreamTransform(){let e=0;return new TransformStream({transform({partialOutput:t},n){if(t!=null)for(;e<t.length;e++)n.enqueue(t[e])}})}}},Yr=({options:e,name:t,description:n})=>({name:`choice`,responseFormat:Promise.resolve({type:`json`,schema:{$schema:`http://json-schema.org/draft-07/schema#`,type:`object`,properties:{result:{type:`string`,enum:e}},required:[`result`],additionalProperties:!1},...t!=null&&{name:t},...n!=null&&{description:n}}),async parseCompleteOutput({text:t},n){let r=await I({text:t});if(!r.success)throw new R({message:`No object generated: could not parse the response.`,cause:r.error,text:t,response:n.response,usage:n.usage,finishReason:n.finishReason});let i=r.value;if(typeof i!=`object`||!i||!(`result`in i)||typeof i.result!=`string`||!e.includes(i.result))throw new R({message:`No object generated: response did not match schema.`,cause:new E({value:i,cause:`response must be an object that contains a choice value.`}),text:t,response:n.response,usage:n.usage,finishReason:n.finishReason});return i.result},async parsePartialOutput({text:t}){let n=await W(t);switch(n.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:{let t=n.value;if(typeof t!=`object`||!t||!(`result`in t)||typeof t.result!=`string`)return;let r=e.filter(e=>e.startsWith(t.result));return n.state===`successful-parse`?r.includes(t.result)?{partial:t.result}:void 0:r.length===1?{partial:r[0]}:void 0}}},createElementStreamTransform(){}}),Xr=({name:e,description:t}={})=>({name:`json`,responseFormat:Promise.resolve({type:`json`,...e!=null&&{name:e},...t!=null&&{description:t}}),async parseCompleteOutput({text:e},t){let n=await I({text:e});if(!n.success)throw new R({message:`No object generated: could not parse the response.`,cause:n.error,text:e,response:t.response,usage:t.usage,finishReason:t.finishReason});return n.value},async parsePartialOutput({text:e}){let t=await W(e);switch(t.state){case`failed-parse`:case`undefined-input`:return;case`repaired-parse`:case`successful-parse`:return t.value===void 0?void 0:{partial:t.value}}},createElementStreamTransform(){}});new TextEncoder,new TextEncoder,O({prefix:`aitxt`,size:24}),O({prefix:`call`,size:24}),TransformStream;var G=B.record(B.string(),V.optional()),Zr=rr(()=>fr(B.union([B.looseObject({type:B.literal(`text-start`),id:B.string(),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`text-delta`),id:B.string(),delta:B.string(),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`text-end`),id:B.string(),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`error`),errorText:B.string()}),B.looseObject({type:B.literal(`tool-input-start`),toolCallId:B.string(),toolName:B.string(),providerExecuted:B.boolean().optional(),providerMetadata:H.optional(),toolMetadata:G.optional(),dynamic:B.boolean().optional(),title:B.string().optional()}),B.looseObject({type:B.literal(`tool-input-delta`),toolCallId:B.string(),inputTextDelta:B.string()}),B.looseObject({type:B.literal(`tool-input-available`),toolCallId:B.string(),toolName:B.string(),input:B.unknown(),providerExecuted:B.boolean().optional(),providerMetadata:H.optional(),toolMetadata:G.optional(),dynamic:B.boolean().optional(),title:B.string().optional()}),B.looseObject({type:B.literal(`tool-input-error`),toolCallId:B.string(),toolName:B.string(),input:B.unknown(),providerExecuted:B.boolean().optional(),providerMetadata:H.optional(),toolMetadata:G.optional(),dynamic:B.boolean().optional(),errorText:B.string(),title:B.string().optional()}),B.looseObject({type:B.literal(`tool-approval-request`),approvalId:B.string(),toolCallId:B.string(),isAutomatic:B.boolean().optional(),signature:B.string().optional()}),B.looseObject({type:B.literal(`tool-approval-response`),approvalId:B.string(),approved:B.boolean(),reason:B.string().optional(),providerExecuted:B.boolean().optional(),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`tool-output-available`),toolCallId:B.string(),output:B.unknown(),providerExecuted:B.boolean().optional(),providerMetadata:H.optional(),toolMetadata:G.optional(),dynamic:B.boolean().optional(),preliminary:B.boolean().optional()}),B.looseObject({type:B.literal(`tool-output-error`),toolCallId:B.string(),errorText:B.string(),providerExecuted:B.boolean().optional(),providerMetadata:H.optional(),toolMetadata:G.optional(),dynamic:B.boolean().optional()}),B.looseObject({type:B.literal(`tool-output-denied`),toolCallId:B.string()}),B.looseObject({type:B.literal(`reasoning-start`),id:B.string(),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`reasoning-delta`),id:B.string(),delta:B.string(),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`reasoning-end`),id:B.string(),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`custom`),kind:B.string().transform(e=>e),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`source-url`),sourceId:B.string(),url:B.string(),title:B.string().optional(),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`source-document`),sourceId:B.string(),mediaType:B.string(),title:B.string(),filename:B.string().optional(),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`file`),url:B.string(),mediaType:B.string(),providerMetadata:H.optional()}),B.looseObject({type:B.literal(`reasoning-file`),url:B.string(),mediaType:B.string(),providerMetadata:H.optional()}),B.looseObject({type:B.custom(e=>typeof e==`string`&&e.startsWith(`data-`),{message:`Type must start with "data-"`}),id:B.string().optional(),data:B.unknown(),transient:B.boolean().optional()}),B.looseObject({type:B.literal(`start-step`)}),B.looseObject({type:B.literal(`finish-step`)}),B.looseObject({type:B.literal(`reset-step`)}),B.looseObject({type:B.literal(`start`),messageId:B.string().optional(),messageMetadata:B.unknown().optional()}),B.looseObject({type:B.literal(`finish`),finishReason:B.enum([`stop`,`length`,`content-filter`,`tool-calls`,`error`,`other`]).optional(),messageMetadata:B.unknown().optional()}),B.looseObject({type:B.literal(`abort`),reason:B.string().optional()}),B.looseObject({type:B.literal(`message-metadata`),messageMetadata:B.unknown()})])));function Qr(e){return e.type.startsWith(`data-`)}function K(){return Object.create(null)}function $r(e){return e.type===`text`}function ei(e){return e.type.startsWith(`tool-`)}function ti(e){return e.type===`dynamic-tool`}function q(e){return ei(e)||ti(e)}function ni(e){return e.type.split(`-`).slice(1).join(`-`)}function ri(e){return ti(e)?e.toolName:ni(e)}function ii({lastMessage:e,messageId:t}){return{message:e?.role===`assistant`?e:{id:t,metadata:void 0,role:`assistant`,parts:[]},activeTextParts:K(),activeReasoningParts:K(),partialToolCalls:K()}}function ai({stream:e,messageMetadataSchema:t,dataPartSchemas:n,runUpdateMessageJob:r,onError:i,onToolCall:a,onData:o}){return e.pipeThrough(new TransformStream({async transform(e,s){await r(async({state:r,write:c})=>{function l(){let e=r.message.parts,t=e.length-1;for(;t>=0&&e[t].type!==`step-start`;)t--;return e.slice(t+1)}function u(){return l().filter(q)}function d(e){let t=u().find(t=>t.toolCallId===e);if(t==null){let n=r.message.parts;for(let r=n.length-1;r>=0;r--){let i=n[r];if(q(i)&&i.toolCallId===e){t=i;break}}}if(t==null)throw new z({chunkType:`tool-invocation`,chunkId:e,message:`No tool invocation found for tool call ID "${e}".`});return t}function f(e){let t=r.message.parts.filter(q).find(t=>t.approval?.id===e);if(t==null)throw new z({chunkType:`tool-approval-response`,chunkId:e,message:`No tool invocation found for approval ID "${e}".`});return t}function p(e,t){let n=t??l().find(t=>ei(t)&&t.toolCallId===e.toolCallId),i=e,a=n;if(n!=null){n.state=e.state,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput,a.preliminary=i.preliminary,e.title!==void 0&&(a.title=e.title),e.toolMetadata!==void 0&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=i.providerExecuted??n.providerExecuted;let t=i.providerMetadata;if(t!=null){if(e.state===`output-available`||e.state===`output-error`){let e=n;e.resultProviderMetadata=t}else n.callProviderMetadata=t}}else r.message.parts.push({type:`tool-${e.toolName}`,toolCallId:e.toolCallId,state:e.state,title:e.title,...e.toolMetadata===void 0?{}:{toolMetadata:e.toolMetadata},input:i.input,output:i.output,rawInput:i.rawInput,errorText:i.errorText,providerExecuted:i.providerExecuted,preliminary:i.preliminary,...i.providerMetadata!=null&&(e.state===`output-available`||e.state===`output-error`)?{resultProviderMetadata:i.providerMetadata}:{},...i.providerMetadata!=null&&e.state!==`output-available`&&e.state!==`output-error`?{callProviderMetadata:i.providerMetadata}:{}})}function m(e,t){let n=t??l().find(t=>t.type===`dynamic-tool`&&t.toolCallId===e.toolCallId),i=e,a=n;if(n!=null){n.state=e.state,a.toolName=e.toolName,a.input=i.input,a.output=i.output,a.errorText=i.errorText,a.rawInput=i.rawInput??a.rawInput,a.preliminary=i.preliminary,e.title!==void 0&&(a.title=e.title),e.toolMetadata!==void 0&&(a.toolMetadata=e.toolMetadata),a.providerExecuted=i.providerExecuted??n.providerExecuted;let t=i.providerMetadata;if(t!=null){if(e.state===`output-available`||e.state===`output-error`){let e=n;e.resultProviderMetadata=t}else n.callProviderMetadata=t}}else r.message.parts.push({type:`dynamic-tool`,toolName:e.toolName,toolCallId:e.toolCallId,state:e.state,input:i.input,output:i.output,errorText:i.errorText,preliminary:i.preliminary,providerExecuted:i.providerExecuted,title:e.title,...e.toolMetadata===void 0?{}:{toolMetadata:e.toolMetadata},...i.providerMetadata!=null&&(e.state===`output-available`||e.state===`output-error`)?{resultProviderMetadata:i.providerMetadata}:{},...i.providerMetadata!=null&&e.state!==`output-available`&&e.state!==`output-error`?{callProviderMetadata:i.providerMetadata}:{}})}async function h(e){if(e!=null){let n=r.message.metadata==null?e:Er(r.message.metadata,e);t!=null&&await pr({value:n,schema:t,context:{field:`message.metadata`,entityId:r.message.id}}),r.message.metadata=n}}switch(e.type){case`text-start`:{let t={type:`text`,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeTextParts[e.id]=t,r.message.parts.push(t),c();break}case`text-delta`:{let t=r.activeTextParts[e.id];if(t==null)throw new z({chunkType:`text-delta`,chunkId:e.id,message:`Received text-delta for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});t.text+=e.delta,t.providerMetadata=e.providerMetadata??t.providerMetadata,c();break}case`text-end`:{let t=r.activeTextParts[e.id];if(t==null)throw new z({chunkType:`text-end`,chunkId:e.id,message:`Received text-end for missing text part with ID "${e.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});t.state=`done`,t.providerMetadata=e.providerMetadata??t.providerMetadata,delete r.activeTextParts[e.id],c();break}case`custom`:{let t={type:`custom`,kind:e.kind,providerMetadata:e.providerMetadata};r.message.parts.push(t),c();break}case`reasoning-start`:{let t={type:`reasoning`,id:e.id,text:``,providerMetadata:e.providerMetadata,state:`streaming`};r.activeReasoningParts[e.id]=t,r.message.parts.push(t),c();break}case`reasoning-delta`:{let t=r.activeReasoningParts[e.id];if(t==null)throw new z({chunkType:`reasoning-delta`,chunkId:e.id,message:`Received reasoning-delta for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});t.text+=e.delta,t.providerMetadata=e.providerMetadata??t.providerMetadata,c();break}case`reasoning-end`:{let t=r.activeReasoningParts[e.id];if(t==null)throw new z({chunkType:`reasoning-end`,chunkId:e.id,message:`Received reasoning-end for missing reasoning part with ID "${e.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});t.providerMetadata=e.providerMetadata??t.providerMetadata,t.state=`done`,delete r.activeReasoningParts[e.id],c();break}case`file`:case`reasoning-file`:r.message.parts.push({type:e.type,mediaType:e.mediaType,url:e.url,...e.providerMetadata==null?{}:{providerMetadata:e.providerMetadata}}),c();break;case`source-url`:r.message.parts.push({type:`source-url`,sourceId:e.sourceId,url:e.url,title:e.title,providerMetadata:e.providerMetadata}),c();break;case`source-document`:r.message.parts.push({type:`source-document`,sourceId:e.sourceId,mediaType:e.mediaType,title:e.title,filename:e.filename,providerMetadata:e.providerMetadata}),c();break;case`tool-input-start`:{let t=l().filter(ei);r.partialToolCalls[e.toolCallId]={text:``,toolName:e.toolName,index:t.length,dynamic:e.dynamic,title:e.title,toolMetadata:e.toolMetadata},e.dynamic?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-streaming`,input:void 0,providerExecuted:e.providerExecuted,title:e.title,toolMetadata:e.toolMetadata,providerMetadata:e.providerMetadata}),c();break}case`tool-input-delta`:{let t=r.partialToolCalls[e.toolCallId];if(t==null)throw new z({chunkType:`tool-input-delta`,chunkId:e.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${e.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});t.text+=e.inputTextDelta;let{value:n}=await W(t.text);t.dynamic?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n,title:t.title,toolMetadata:t.toolMetadata}):p({toolCallId:e.toolCallId,toolName:t.toolName,state:`input-streaming`,input:n,title:t.title,toolMetadata:t.toolMetadata}),c();break}case`tool-input-available`:e.dynamic?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`input-available`,input:e.input,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:e.title,toolMetadata:e.toolMetadata}),c(),a&&!e.providerExecuted&&await a({toolCall:e});break;case`tool-input-error`:{let t=l().filter(q).find(t=>t.toolCallId===e.toolCallId);(t==null?e.dynamic:t.type===`dynamic-tool`)?m({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}):p({toolCallId:e.toolCallId,toolName:e.toolName,state:`output-error`,input:void 0,rawInput:e.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,toolMetadata:e.toolMetadata}),c();break}case`tool-approval-request`:{let t=d(e.toolCallId);t.state=`approval-requested`,t.approval={id:e.approvalId,...e.isAutomatic===!0?{isAutomatic:!0}:{},...e.signature==null?{}:{signature:e.signature}},c();break}case`tool-approval-response`:{let t=f(e.approvalId),n=t.approval==null?{id:e.approvalId}:t.approval;t.state=`approval-responded`,t.approval={id:e.approvalId,approved:e.approved,...e.reason==null?{}:{reason:e.reason},...n.isAutomatic===!0?{isAutomatic:!0}:{},...n.signature==null?{}:{signature:n.signature}},e.providerExecuted!=null&&(t.providerExecuted=e.providerExecuted),e.providerMetadata!=null&&(t.callProviderMetadata=e.providerMetadata),c();break}case`tool-output-denied`:{let t=d(e.toolCallId);t.state=`output-denied`,c();break}case`tool-output-available`:{let t=d(e.toolCallId);t.type===`dynamic-tool`?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-available`,input:t.input,output:e.output,preliminary:e.preliminary,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):p({toolCallId:e.toolCallId,toolName:ni(t),state:`output-available`,input:t.input,output:e.output,providerExecuted:e.providerExecuted,preliminary:e.preliminary,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),c();break}case`tool-output-error`:{let t=d(e.toolCallId);t.type===`dynamic-tool`?m({toolCallId:e.toolCallId,toolName:t.toolName,state:`output-error`,input:t.input,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t):p({toolCallId:e.toolCallId,toolName:ni(t),state:`output-error`,input:t.input,rawInput:t.rawInput,errorText:e.errorText,providerExecuted:e.providerExecuted,providerMetadata:e.providerMetadata,title:t.title,toolMetadata:t.toolMetadata},t),c();break}case`start-step`:r.message.parts.push({type:`step-start`});break;case`finish-step`:r.activeTextParts=K(),r.activeReasoningParts=K();break;case`reset-step`:{let e=l();r.activeTextParts=K(),r.activeReasoningParts=K(),r.partialToolCalls=K(),e.length>0&&(r.message.parts.splice(r.message.parts.length-e.length,e.length),c());break}case`start`:e.messageId!=null&&(r.message.id=e.messageId),await h(e.messageMetadata),(e.messageId!=null||e.messageMetadata!=null)&&c({updateStatus:!1});break;case`finish`:e.finishReason!=null&&(r.finishReason=e.finishReason),await h(e.messageMetadata),e.messageMetadata!=null&&c();break;case`message-metadata`:await h(e.messageMetadata),e.messageMetadata!=null&&c();break;case`error`:i?.(Error(e.errorText));break;default:if(Qr(e)){if(n?.[e.type]!=null){let t=r.message.parts.findIndex(t=>`id`in t&&`data`in t&&t.id===e.id&&t.type===e.type),i=t>=0?t:r.message.parts.length;await pr({value:e.data,schema:n[e.type],context:{field:`message.parts[${i}].data`,entityName:e.type,entityId:e.id}})}let t=e;if(t.transient){o?.(t);break}let i=t.id==null?void 0:r.message.parts.find(e=>t.type===e.type&&t.id===e.id);i==null?r.message.parts.push(t):i.data=t.data,o?.(t),c()}}s.enqueue(e)})}}))}async function oi({stream:e,onError:t,abortSignal:n}){let r=e.getReader(),i=()=>{r.cancel().catch(()=>{})};n?.aborted?i():n?.addEventListener(`abort`,i,{once:!0});try{for(;;){let{done:e}=await r.read();if(e)break}}catch(e){t?.(e)}finally{n?.removeEventListener(`abort`,i),r.releaseLock()}}O({prefix:`aitxt`,size:24}),O({prefix:`call`,size:24}),O({prefix:`aitxt`,size:24}),O({prefix:`call`,size:24}),B.record(B.string(),V.optional()),B.record(B.string(),B.string()),O({prefix:`call`,size:24}),O({prefix:`call`,size:24}),O({prefix:`aiobj`,size:24});var si=class{constructor(){this.queue=[],this.isProcessing=!1}async processQueue(){if(!this.isProcessing){for(this.isProcessing=!0;this.queue.length>0;)await this.queue[0](),this.queue.shift();this.isProcessing=!1}}async run(e){return new Promise((t,n)=>{this.queue.push(async()=>{try{await e(),t()}catch(e){n(e)}}),this.processQueue()})}};O({prefix:`aiobj`,size:24}),O({prefix:`call`,size:24});async function ci(e){if(e==null)return[];if(!globalThis.FileList||!(e instanceof globalThis.FileList))throw Error(`FileList is not supported in the current environment`);return Promise.all(Array.from(e).map(async e=>{let{name:t,type:n}=e;return{type:`file`,mediaType:n,filename:t,url:await new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{t(e.target?.result)},r.onerror=e=>n(e),r.readAsDataURL(e)})}}))}var li=class{constructor({api:e=`/api/chat`,credentials:t,headers:n,body:r,fetch:i,prepareSendMessagesRequest:a,prepareReconnectToStreamRequest:o}){this.api=e,this.credentials=t,this.headers=n,this.body=r,this.fetch=i,this.prepareSendMessagesRequest=a,this.prepareReconnectToStreamRequest=o}async sendMessages({abortSignal:e,...t}){let n=await L(this.body),r=await L(this.headers),i=await L(this.credentials),a={...k(r),...k(t.headers)},o=await this.prepareSendMessagesRequest?.call(this,{api:this.api,id:t.chatId,messages:t.messages,body:{...n,...t.body},headers:a,credentials:i,requestMetadata:t.metadata,trigger:t.trigger,messageId:t.messageId}),s=o?.api??this.api,c=o?.headers===void 0?a:k(o.headers),l=o?.body===void 0?{...n,...t.body,id:t.chatId,messages:t.messages,trigger:t.trigger,messageId:t.messageId}:o.body,u=o?.credentials??i,d=await(this.fetch??globalThis.fetch)(s,{method:`POST`,headers:{"Content-Type":`application/json`,...c},body:JSON.stringify(l),credentials:u,signal:e});if(!d.ok)throw Error(await d.text()??`Failed to fetch the chat response.`);if(!d.body)throw Error(`The response body is empty.`);return this.processResponseStream(d.body)}async reconnectToStream(e){let t=await L(this.body),n=await L(this.headers),r=await L(this.credentials),i={...k(n),...k(e.headers)},a=await this.prepareReconnectToStreamRequest?.call(this,{api:this.api,id:e.chatId,body:{...t,...e.body},headers:i,credentials:r,requestMetadata:e.metadata}),o=a?.api??`${this.api}/${e.chatId}/stream`,s=a?.headers===void 0?i:k(a.headers),c=a?.credentials??r,l=await(this.fetch??globalThis.fetch)(o,{method:`GET`,headers:s,credentials:c,signal:e.abortSignal});if(l.status===204)return null;if(!l.ok)throw Error(await l.text()??`Failed to fetch the chat response.`);if(!l.body)throw Error(`The response body is empty.`);return this.processResponseStream(l.body)}},ui=class extends li{constructor(e={}){super(e)}processResponseStream(e){return hr({stream:e,schema:Zr}).pipeThrough(new TransformStream({async transform(e,t){if(!e.success)throw e.error;t.enqueue(e.value)}}))}},di=class{constructor({generateId:e=Qt,id:t=e(),transport:n=new ui,messageMetadataSchema:r,dataPartSchemas:i,state:a,onError:o,onToolCall:s,onFinish:c,onData:l,sendAutomaticallyWhen:u}){this.pendingMessagePreparations=new Set,this.activeResponse=void 0,this.activeResumeRequest=void 0,this.jobExecutor=new si,this.sendMessage=async(e,t)=>{if(e==null){await this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...t});return}let n;if(`text`in e||`files`in e){let t=new AbortController;this.pendingMessagePreparations.add(t);let r;try{r=Array.isArray(e.files)?e.files:await ci(e.files)}finally{this.pendingMessagePreparations.delete(t)}if(t.signal.aborted)return;n={parts:[...r,...`text`in e&&e.text!=null?[{type:`text`,text:e.text}]:[]]}}else n=e;if(e.messageId!=null){let t=this.state.messages.findIndex(t=>t.id===e.messageId);if(t===-1)throw Error(`message with id ${e.messageId} not found`);if(this.state.messages[t].role!==`user`)throw Error(`message with id ${e.messageId} is not a user message`);this.state.messages=this.state.messages.slice(0,t+1),this.state.replaceMessage(t,{...n,id:e.messageId,role:n.role??`user`,metadata:e.metadata})}else this.state.pushMessage({...n,id:n.id??this.generateId(),role:n.role??`user`,metadata:e.metadata});await this.makeRequest({trigger:`submit-message`,messageId:e.messageId,...t})},this.regenerate=async({messageId:e,...t}={})=>{let n=e==null?this.state.messages.length-1:this.state.messages.findIndex(t=>t.id===e);if(n===-1)throw Error(`message ${e} not found`);this.state.messages=this.state.messages.slice(0,this.messages[n].role===`assistant`?n:n+1),await this.makeRequest({trigger:`regenerate-message`,messageId:e,...t})},this.resumeStream=async(e={})=>{await this.makeRequest({trigger:`resume-stream`,...e})},this.clearError=()=>{this.status===`error`&&(this.state.error=void 0,this.setStatus({status:`ready`}))},this.addToolApprovalResponse=async({id:e,approved:t,reason:n,options:r})=>this.jobExecutor.run(async()=>{let i=this.state.messages,a=i[i.length-1],o=r=>q(r)&&r.state===`approval-requested`&&r.approval.id===e?{...r,state:`approval-responded`,approval:{...r.approval,id:e,approved:t,reason:n}}:r;this.state.replaceMessage(i.length-1,{...a,parts:a.parts.map(o)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(o)),this.status!==`streaming`&&this.status!==`submitted`&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{e&&this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...r})})}),this.addToolOutput=async({state:e=`output-available`,toolCallId:t,output:n,errorText:r,options:i})=>this.jobExecutor.run(async()=>{let a=this.state.messages,o=a[a.length-1],s=i=>q(i)&&i.toolCallId===t?{...i,state:e,output:n,errorText:r}:i;this.state.replaceMessage(a.length-1,{...o,parts:o.parts.map(s)}),this.activeResponse&&(this.activeResponse.state.message.parts=this.activeResponse.state.message.parts.map(s)),this.status!==`streaming`&&this.status!==`submitted`&&this.sendAutomaticallyWhen&&this.shouldSendAutomatically().then(e=>{e&&this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,...i})})}),this.addToolResult=this.addToolOutput,this.stop=async()=>{var e,t;for(let e of this.pendingMessagePreparations)e.abort();(e=this.activeResumeRequest)==null||e.abortController.abort(),(t=this.activeResponse)==null||t.abortController.abort()},this.id=t,this.transport=n,this.generateId=e,this.messageMetadataSchema=r,this.dataPartSchemas=i,this.state=a,this.onError=o,this.onToolCall=s,this.onFinish=c,this.onData=l,this.sendAutomaticallyWhen=u}get status(){return this.state.status}setStatus({status:e,error:t}){this.status!==e&&(this.state.status=e,this.state.error=t)}get error(){return this.state.error}get messages(){return this.state.messages}get lastMessage(){return this.state.messages[this.state.messages.length-1]}set messages(e){this.state.messages=e}async shouldSendAutomatically(){if(!this.sendAutomaticallyWhen)return!1;let e=this.sendAutomaticallyWhen({messages:this.state.messages});return e&&typeof e==`object`&&`then`in e?await e:e}async makeRequest({trigger:e,metadata:t,headers:n,body:r,messageId:i}){var a,o;let s=new AbortController,c=e===`resume-stream`?{abortController:s}:void 0;c&&((a=this.activeResumeRequest)==null||a.abortController.abort(),this.activeResumeRequest=c);let l=()=>c==null||this.activeResumeRequest===c,u=()=>{this.activeResumeRequest===c&&(this.activeResumeRequest=void 0)},d;if(e===`resume-stream`)try{let e=await this.transport.reconnectToStream({chatId:this.id,abortSignal:s.signal,metadata:t,headers:n,body:r});if(s.signal.aborted||!l()){await e?.cancel().catch(()=>{}),l()&&this.setStatus({status:`ready`}),u();return}if(e==null){this.setStatus({status:`ready`}),u();return}d=e}catch(e){if(s.signal.aborted||e.name===`AbortError`){l()&&this.setStatus({status:`ready`}),u();return}if(!l())return;this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:`error`,error:e}),u();return}this.setStatus({status:`submitted`,error:void 0});let f=this.lastMessage,p=!1,m=!1,h=!1,g;try{let a={state:ii({lastMessage:e===`resume-stream`||e===`regenerate-message`?void 0:this.state.snapshot(f),messageId:this.generateId()}),abortController:s};g=a,a.abortController.signal.addEventListener(`abort`,()=>{p=!0}),this.activeResponse=a;let o;if(o=e===`resume-stream`?d:await this.transport.sendMessages({chatId:this.id,messages:this.state.messages,abortSignal:a.abortController.signal,metadata:t,headers:n,body:r,trigger:e,messageId:i}),await oi({stream:ai({stream:o,onToolCall:this.onToolCall,onData:this.onData,messageMetadataSchema:this.messageMetadataSchema,dataPartSchemas:this.dataPartSchemas,runUpdateMessageJob:e=>this.jobExecutor.run(()=>a.abortController.signal.aborted?Promise.resolve():e({state:a.state,write:({updateStatus:e=!0}={})=>{a.abortController.signal.aborted||(e&&this.setStatus({status:`streaming`}),a.state.message.id===this.lastMessage?.id?this.state.replaceMessage(this.state.messages.length-1,a.state.message):this.state.pushMessage(a.state.message))}})),onError:e=>{throw e}}),abortSignal:a.abortController.signal,onError:e=>{throw e}}),p)return l()&&this.setStatus({status:`ready`}),null;l()&&this.setStatus({status:`ready`})}catch(e){if(p||e.name===`AbortError`)return p=!0,l()&&this.setStatus({status:`ready`}),null;if(!l())return null;h=!0,e instanceof TypeError&&(e.message.toLowerCase().includes(`fetch`)||e.message.toLowerCase().includes(`network`))&&(m=!0),this.onError&&e instanceof Error&&this.onError(e),this.setStatus({status:`error`,error:e})}finally{try{g&&((o=this.onFinish)==null||o.call(this,{message:g.state.message,messages:this.state.messages,isAbort:p,isDisconnect:m,isError:h,finishReason:g.state.finishReason}))}finally{this.activeResponse===g&&(this.activeResponse=void 0),u()}}!h&&await this.shouldSendAutomatically()&&await this.makeRequest({trigger:`submit-message`,messageId:this.lastMessage?.id,metadata:t,headers:n,body:r})}};function fi({messages:e}){let t=e[e.length-1];if(!t||t.role!==`assistant`)return!1;let n=t.parts.reduce((e,t,n)=>t.type===`step-start`?n:e,-1),r=t.parts.slice(n+1).filter(q).filter(e=>!e.providerExecuted);return r.length>0&&r.every(e=>e.state===`output-available`||e.state===`output-error`)}function pi(e){return new ui({api:ye(`/`,`Chat/Messages/`),credentials:`include`,body:{orgId:e}})}var mi=e(t(((e,t)=>{function n(e,t){if(typeof e!=`function`)throw TypeError(`Expected the first argument to be a \`function\`, got \`${typeof e}\`.`);let n,r=0;return function(...i){clearTimeout(n);let a=Date.now(),o=t-(a-r);o<=0?(r=a,e.apply(this,i)):n=setTimeout(()=>{r=Date.now(),e.apply(this,i)},o)}}t.exports=n}))(),1),hi=(e,t,n)=>{if(!t.has(e))throw TypeError(`Cannot `+n)},J=(e,t,n)=>(hi(e,t,`read from private field`),n?n.call(e):t.get(e)),Y=(e,t,n)=>{if(t.has(e))throw TypeError(`Cannot add the same private member more than once`);t instanceof WeakSet?t.add(e):t.set(e,n)},X=(e,t,n,r)=>(hi(e,t,`write to private field`),r?r.call(e,n):t.set(e,n),n);function gi(e,t){return t==null?e:(0,mi.default)(e,t)}function _i(e){return Array.isArray(e)?[...e]:typeof e==`object`&&e&&(Object.getPrototypeOf(e)===Object.prototype||Object.getPrototypeOf(e)===null)?{...e}:e}var Z,vi,yi,bi,xi,Si,Q,Ci,wi,Ti=class{constructor(e=[]){Y(this,Z,void 0),Y(this,vi,`ready`),Y(this,yi,void 0),Y(this,bi,new Set),Y(this,xi,new Set),Y(this,Si,new Set),this.pushMessage=e=>{X(this,Z,J(this,Z).concat(e)),J(this,Q).call(this)},this.popMessage=()=>{X(this,Z,J(this,Z).slice(0,-1)),J(this,Q).call(this)},this.replaceMessage=(e,t)=>{X(this,Z,[...J(this,Z).slice(0,e),this.snapshot(t),...J(this,Z).slice(e+1)]),J(this,Q).call(this)},this.snapshot=e=>{if(typeof e!=`object`||!e||!(`parts`in e)||!Array.isArray(e.parts))return e;let t=e,n={...t,parts:t.parts.map(e=>({...e}))};return`metadata`in t&&(n.metadata=_i(t.metadata)),n},this[`~registerMessagesCallback`]=(e,t)=>{let n=t?gi(e,t):e;return J(this,bi).add(n),()=>{J(this,bi).delete(n)}},this[`~registerStatusCallback`]=e=>(J(this,xi).add(e),()=>{J(this,xi).delete(e)}),this[`~registerErrorCallback`]=e=>(J(this,Si).add(e),()=>{J(this,Si).delete(e)}),Y(this,Q,()=>{J(this,bi).forEach(e=>e())}),Y(this,Ci,()=>{J(this,xi).forEach(e=>e())}),Y(this,wi,()=>{J(this,Si).forEach(e=>e())}),X(this,Z,e)}get status(){return J(this,vi)}set status(e){X(this,vi,e),J(this,Ci).call(this)}get error(){return J(this,yi)}set error(e){X(this,yi,e),J(this,wi).call(this)}get messages(){return J(this,Z)}set messages(e){X(this,Z,[...e]),J(this,Q).call(this)}};Z=new WeakMap,vi=new WeakMap,yi=new WeakMap,bi=new WeakMap,xi=new WeakMap,Si=new WeakMap,Q=new WeakMap,Ci=new WeakMap,wi=new WeakMap;var $,Ei=class extends di{constructor({messages:e,...t}){let n=new Ti(e);super({...t,state:n}),Y(this,$,void 0),this[`~registerMessagesCallback`]=(e,t)=>J(this,$)[`~registerMessagesCallback`](e,t),this[`~registerStatusCallback`]=e=>J(this,$)[`~registerStatusCallback`](e),this[`~registerErrorCallback`]=e=>J(this,$)[`~registerErrorCallback`](e),X(this,$,n)}};$=new WeakMap;function Di({throttle:e,experimental_throttle:t,resume:n=!1,...r}={}){let i=e??t,a=(0,C.useRef)({});`chat`in r||(a.current={onToolCall:r.onToolCall,onData:r.onData,onFinish:r.onFinish,onError:r.onError,sendAutomaticallyWhen:r.sendAutomaticallyWhen,transport:r.transport});let o,s=()=>a.current.transport??(o??=new ui),c={...r,transport:{sendMessages:e=>s().sendMessages(e),reconnectToStream:e=>s().reconnectToStream(e)},onToolCall:e=>{var t;return(t=a.current).onToolCall?.call(t,e)},onData:e=>{var t;return(t=a.current).onData?.call(t,e)},onFinish:e=>{var t;return(t=a.current).onFinish?.call(t,e)},onError:e=>{var t;return(t=a.current).onError?.call(t,e)},sendAutomaticallyWhen:e=>{var t;return(t=a.current).sendAutomaticallyWhen?.call(t,e)??!1}},l=(0,C.useRef)(`chat`in r?r.chat:new Ei(c));(`chat`in r&&r.chat!==l.current||`id`in r&&r.id!=null&&l.current.id!==r.id)&&(l.current=`chat`in r?r.chat:new Ei(c));let u=l.current,d=(0,C.useRef)({chat:u,messages:u.messages});d.current.chat!==u&&(d.current={chat:u,messages:u.messages});let f=(0,C.useCallback)(e=>{let t=!0,n=u[`~registerMessagesCallback`](()=>{!t||d.current.chat!==u||(d.current={chat:u,messages:u.messages},e())},i);return d.current={chat:u,messages:u.messages},()=>{t=!1,n()}},[u,i]),p=(0,C.useCallback)(()=>d.current.messages,[]),m=(0,C.useSyncExternalStore)(f,p,p),h=(0,C.useCallback)(e=>u[`~registerStatusCallback`](()=>{d.current.chat===u&&((u.status===`ready`||u.status===`error`)&&(d.current={chat:u,messages:u.messages}),e())}),[u]),g=(0,C.useCallback)(()=>u.status,[u]),_=(0,C.useSyncExternalStore)(h,g,g),v=(0,C.useSyncExternalStore)(l.current[`~registerErrorCallback`],()=>l.current.error,()=>l.current.error),ee=(0,C.useCallback)(e=>{typeof e==`function`&&(e=e(l.current.messages)),l.current.messages=e},[l]);return(0,C.useEffect)(()=>{n&&l.current.resumeStream()},[n,l]),{id:l.current.id,messages:m,setMessages:ee,sendMessage:l.current.sendMessage,regenerate:l.current.regenerate,clearError:l.current.clearError,stop:l.current.stop,error:v,resumeStream:l.current.resumeStream,status:_,addToolResult:l.current.addToolOutput,addToolOutput:l.current.addToolOutput,addToolApprovalResponse:l.current.addToolApprovalResponse}}function Oi({input:e,setInput:t,onSubmit:n,disabled:r,autoFocus:i}){let a=(0,C.useRef)(null);return(0,C.useEffect)(()=>{i&&!r&&a.current?.focus()},[i,r]),(0,w.jsxs)(`form`,{onSubmit:n,className:`input-area`,children:[(0,w.jsx)(`input`,{ref:a,value:e,onChange:e=>t(e.target.value),placeholder:`Type a message...`,disabled:r}),(0,w.jsx)(`button`,{type:`submit`,disabled:r||!e.trim(),children:(0,w.jsx)(pt,{size:18})})]})}function ki(){return(0,w.jsxs)(`div`,{className:`loading-state`,children:[(0,w.jsx)(ze,{className:`animate-spin`,size:24}),(0,w.jsx)(`p`,{children:`Loading conversation...`})]})}var Ai={name:`collectFeedback`,description:`Collects feedback from the user by fetching a link to a pre-populated GitHub Discussion. Use this if the user lets us know we did something well, or if the user seems frustrated, or wants to report a bug.`,inputSchema:i({feedbackSummary:y().describe(`A brief summary of the feedback, used as the discussion title.`),feedbackDetails:y().describe(`Detailed feedback from the user or agent observation.`),recap:y().describe(`A sanitized recap of what the agent and user did together and if it was successful. No sensitive information.`)})};async function ji({input:{feedbackSummary:e,feedbackDetails:t,recap:n}}){let r=e,i=`${t}\n\n${n}`;return{success:!0,url:`https://github.com/HarperFast/harper-agent/discussions/new?category=usage-feedback&title=${encodeURIComponent(r)}&body=${encodeURIComponent(i)}`,message:`Feedback URL created! Ask the user to open it in their browser, and they will be brought to a form to approve the details of the feedback.`}}var Mi={...Ai,icon:ft,execute:ji},Ni={name:`createApp`,description:`Create a new Harper app with the specified name and template type.`,inputSchema:i({name:y().trim(),type:p(be)})};async function Pi({input:{name:e,type:t},instanceClientParams:n,baseURL:r}){let i=qe(e),a=ve(me,`id`,t);if(!a)return{success:!1,message:`Error: Invalid template type, ${t}, please choose from: ${me.map(e=>e.id).join(`, `)}`};let o=le.loading(`Creating from template...`,{description:`This may take a bit.`,duration:3e5});try{await Ce({...n,project:i,template:a.npm||a.githubUrl})}catch(e){return{success:!1,message:`Error: ${e}`}}je(`ReloadApplicationRootEntries`,!0),le.loading(`Created successfully!`,{description:`${i} created! Restarting the HTTP service...`,id:o,duration:3e5});try{await tt({...n,operation:`restart_service`,replicated:n.entityType===`cluster`})}catch(e){return{success:!1,message:`Error: ${e}`}}return le.success(`Created successfully!`,{description:`${i} created!`,id:o,duration:5e3}),{success:!0,message:`App "${i}" created successfully.`,webURL:r}}var Fi={...Ni,icon:et,execute:Pi,requiresApproval:!0},Ii={name:`deleteTableRecords`,description:`Deletes records in a particular table in a particular database on the server by their primary keys.`,inputSchema:i({database:y().trim(),table:y().trim(),primaryKeys:_(y())})};async function Li({input:{database:e,table:t,primaryKeys:n},instanceClientParams:r,params:i}){try{let a=await We({...r,databaseName:e,tableName:t,hashValues:n}),{databaseName:o,tableName:s}=i;return await Xe.invalidateQueries({queryKey:[r.entityId,o,s]}),{success:!0,data:a}}catch(e){return{success:!1,message:`Error: ${e}`}}}var Ri={...Ii,icon:ot,execute:Li,requiresApproval:!0},zi={name:`dropComponentFile`,description:`Drops a component file by its full path (which was returned by getComponents)`,inputSchema:i({path:y().trim()})};async function Bi({input:{path:e},instanceClientParams:t}){try{let n=e.split(`/`),r=n.shift(),i=n.join(`/`);return{success:!0,data:await pe({...t,file:i,project:r})}}catch(e){return{success:!1,message:`Error: ${e}`}}}var Vi={...zi,icon:Ue,execute:Bi,requiresApproval:!0},Hi={name:`getAnalytics`,description:`Retrieves analytics metrics for the server, such as CPU usage or database operations (reads, writes, messages).`,inputSchema:i({metricName:y().describe(`The name of the metric to retrieve.`),startTime:c().describe(`The start of the time range for the metric, in milliseconds since the Unix epoch.`),endTime:c().describe(`The end of the time range for the metric, in milliseconds since the Unix epoch.`)})};async function Ui({input:e,instanceClientParams:t}){try{let{metricName:n,startTime:r,endTime:i}=e;return{success:!0,data:await at({metric:n,startTime:r,endTime:i,instanceParams:t})}}catch(e){return{success:!1,message:`Error retrieving analytics: ${e}`}}}var Wi={...Hi,icon:ct,execute:Ui},Gi={name:`getComponentFile`,description:`Returns the contents of a component file by its full path (which was returned by getComponents)`,inputSchema:i({path:y().trim()})};async function Ki({input:{path:e},instanceClientParams:t}){try{let n=e.split(`/`),r=n.shift(),i=n.join(`/`);return{success:!0,data:await Ye({...t,file:i,project:r})}}catch(e){return{success:!1,message:`Error: ${e}`}}}var qi={...Gi,icon:he,execute:Ki},Ji={name:`getComponents`,description:`Retrieves a tree of all the component (files and folders) names and sizes stored on the server.`,inputSchema:i({})};async function Yi({instanceClientParams:e}){try{let t=await Ge(e),{rootEntries:n}=xe(t.entries);return{success:!0,items:_e(n).items}}catch(e){return{success:!1,message:`Error: ${e}`}}}var Xi={...Ji,icon:ge,execute:Yi},Zi={name:`getDescribeAll`,description:`Retrieves a map of the names of databases and their tables stored on the server.`,inputSchema:i({})};async function Qi({instanceClientParams:e}){try{return{success:!0,map:await $e(e)}}catch(e){return{success:!1,message:`Error: ${e}`}}}var $i={...Zi,icon:Je,execute:Qi},ea={name:`getDescribeTable`,description:`Returns the schema metadata describing a particular table in a particular database on the server.`,inputSchema:i({database:y().trim(),table:y().trim()})};async function ta({input:{database:e,table:t},instanceClientParams:n}){try{return{success:!0,data:await Le({...n,databaseName:e,tableName:t})}}catch(e){return{success:!1,message:`Error: ${e}`}}}var na={...ea,icon:Ze,execute:ta},ra={name:`getUserContext`,description:`Retrieves the context of what the user is looking at on their screen, such as the current page, the file they are viewing, the database and table visible to them, that sort of thing.`,inputSchema:i({})};async function ia({instanceClientParams:e,params:t}){let n=Oe();if(n.includes(`/databases`)){let{databaseName:e,tableName:n}=t;return{success:!0,description:`viewing the database`,data:{databaseName:e,tableName:n}}}if(n.endsWith(`/apis`))return{success:!0,description:`viewing the APIs`};if(n.endsWith(`/status`))return{success:!0,description:`viewing the status graphs`};if(n.endsWith(`/logs`))return{success:!0,description:`viewing the logs`};if(n.includes(`/config/`))return{success:!0,description:`viewing the configuration pages`};let r=ce(`FileFocused/${e.entityId}`,void 0),i=ce(`FolderOpened/${e.entityId}`,[]),a=ce(`FileSelected/${e.entityId}`,[]);return r?{success:!0,description:`editing application files`,data:{openedPath:r,expandedItems:i,selectedItems:a}}:{success:!0,description:n}}var aa={...ra,icon:Ve,execute:ia},oa={name:`insertTableRecords`,description:`Inserts one or more records into a particular table in a particular database on the server.`,inputSchema:i({database:y().trim(),table:y().trim(),records:_(m())})};async function sa({input:{database:e,table:t,records:n},instanceClientParams:r,params:i}){try{let a=await Re({...r,databaseName:e,tableName:t,records:n}),{databaseName:o,tableName:s}=i;return await Xe.invalidateQueries({queryKey:[r.entityId,o,s]}),{success:!0,data:a}}catch(e){return{success:!1,message:`Error: ${e}`}}}var ca={...oa,icon:ot,execute:sa,requiresApproval:!0},la={name:`listAnalyticsMetrics`,description:`Lists the available analytics metric names available for calling getAnalytics upon.`,inputSchema:i({metricTypes:p([`builtin`,`custom`]),customWindowMS:c().optional().describe(`Default to one week time window for finding custom metrics.`)})};async function ua({metricTypes:e,customWindowMS:t,instanceParams:n}){let{data:r}=await n.instanceClient.post(`/`,{operation:`list_analytics_metrics`,metricTypes:e,customWindowMS:t});return r}async function da({input:e,instanceClientParams:t}){try{let{metricTypes:n,customWindowMS:r}=e;return{success:!0,metricNames:await ua({metricTypes:n,customWindowMS:r,instanceParams:t})}}catch(e){return{success:!1,message:`Error retrieving analytics: ${e}`}}}var fa={...la,icon:ct,execute:da},pa=[`adding-tables-with-schemas`,`automatic-apis`,`caching`,`checking-authentication`,`creating-a-fabric-account-and-cluster`,`creating-harper-apps`,`custom-resources`,`defining-relationships`,`delegating-to-the-built-in-agent`,`deploying-to-harper-fabric`,`extending-tables`,`handling-binary-data`,`load-env`,`logging`,`programmatic-table-requests`,`querying-rest-apis`,`real-time-apps`,`schema-design-tooling`,`serving-web-content`,`typescript-type-stripping`,`using-blob-datatype`,`v5-upgrade`,`vector-indexing`],ma={"adding-tables-with-schemas":"---\nname: adding-tables-with-schemas\ndescription: Guidelines for adding tables to a Harper database using GraphQL schemas.\nmetadata:\n mode: synthesized\n---\n\n# Adding Tables with Schemas\n\nInstructions for the agent to follow when adding tables to a Harper database.\n\n## When to Use\n\nUse this skill when you need to define new data structures or modify existing ones in a Harper database.\n\n## How It Works\n\n1. **Create Dedicated Schema Files**: Prefer having a dedicated schema `.graphql` file for each table. Check the `config.yaml` file under `graphqlSchema.files` to see how it's configured. It typically accepts wildcards (e.g., `schemas/*.graphql`), but may be configured to point at a single file.\n2. **Use Directives**: All available directives for defining your schema are defined in `node_modules/harper/schema.graphql`. Common directives include `@table`, `@export`, `@primaryKey`, `@indexed`, and `@relationship`.\n3. **Define Relationships**: Link tables together using the `@relationship` directive. For more details, see the [Defining Relationships](defining-relationships.md) skill.\n4. **Enable Automatic APIs**: If you add `@table @export` to a schema type, Harper automatically sets up REST and WebSocket APIs for basic CRUD operations against that table. **Important**: REST endpoints also require `rest: true` in `config.yaml` — without it, `@export`ed tables will not respond to HTTP requests. For a detailed list of available endpoints and how to use them, see the [Automatic REST APIs](automatic-apis.md) skill.\n - `GET /{TableName}`: Describes the schema itself.\n - `GET /{TableName}/`: Lists all records (supports filtering, sorting, and pagination via query parameters). See the [Querying REST APIs](querying-rest-apis.md) skill for details.\n - `GET /{TableName}/{id}`: Retrieves a single record by its ID.\n - `POST /{TableName}/`: Creates a new record.\n - `PUT /{TableName}/{id}`: Updates an existing record.\n - `PATCH /{TableName}/{id}`: Performs a partial update on a record.\n - `DELETE /{TableName}/`: Deletes all records or filtered records.\n - `DELETE /{TableName}/{id}`: Deletes a single record by its ID.\n5. **Consider Table Extensions**: If you are going to [extend the table](./extending-tables.md) in your resources, then do not `@export` the table from the schema.\n\n## Examples\n\nIn a hypothetical `schemas/ExamplePerson.graphql`:\n\n```graphql\ntype ExamplePerson @table @export {\n id: ID @primaryKey\n name: String\n tag: String @indexed\n}\n```\n","automatic-apis":`---
17
17
  name: automatic-apis
18
18
  description: How to use Harper's automatically generated REST and WebSocket APIs.
19
19
  metadata:
@@ -1868,8 +1868,8 @@ metadata:
1868
1868
  mode: generate
1869
1869
  sources:
1870
1870
  - reference/v5/database/schema.md#Vector Indexing
1871
- sourceCommit: 3749d0c54be457a2a65d9a63c738a5dc88989ecd
1872
- inputHash: 225b9bea420d9adc
1871
+ sourceCommit: d4cbc1a7dd400462e4a3243f944b3a75d89b29ca
1872
+ inputHash: 1dae788bc850ea90
1873
1873
  ---
1874
1874
 
1875
1875
  # Vector Indexing
@@ -1891,7 +1891,7 @@ Apply this rule when adding a vector similarity search capability to a Harper ta
1891
1891
  }
1892
1892
  \`\`\`
1893
1893
 
1894
- 2. **Query nearest neighbors** using the \`sort\` parameter with \`attribute\` and \`target\`:
1894
+ 2. **Query nearest neighbors** using \`Document.search()\` with the \`sort\` parameter. Set \`attribute\` to the indexed field and \`target\` to the query vector:
1895
1895
 
1896
1896
  \`\`\`javascript
1897
1897
  let results = Document.search({
@@ -1900,7 +1900,7 @@ Apply this rule when adding a vector similarity search capability to a Harper ta
1900
1900
  });
1901
1901
  \`\`\`
1902
1902
 
1903
- 3. **Combine with filter conditions** to narrow results before or during traversal:
1903
+ 3. **Combine with filter conditions** to narrow results before or during graph traversal. Selective conditions are automatically diverted to an exact-scan strategy:
1904
1904
 
1905
1905
  \`\`\`javascript
1906
1906
  let results = Document.search({
@@ -1910,9 +1910,7 @@ Apply this rule when adding a vector similarity search capability to a Harper ta
1910
1910
  });
1911
1911
  \`\`\`
1912
1912
 
1913
- Conditions are evaluated _during_ graph traversal (predicate-aware search), not after. Very selective conditions are automatically diverted to an exact-scan strategy.
1914
-
1915
- 4. **Use a \`vectorFilter\` function** for predicates not expressible as conditions (JavaScript API only):
1913
+ 4. **Apply a function predicate during traversal** using \`vectorFilter\` (JavaScript API only). The function receives each candidate record and must return a synchronous boolean. It must be side-effect free and fast:
1916
1914
 
1917
1915
  \`\`\`javascript
1918
1916
  let results = Document.search(
@@ -1926,9 +1924,7 @@ Apply this rule when adding a vector similarity search capability to a Harper ta
1926
1924
  );
1927
1925
  \`\`\`
1928
1926
 
1929
- The function receives a frozen candidate record and must return a boolean synchronously. It must be side-effect free and fast it can run once per candidate visited during traversal (verdicts are memoized per query).
1930
-
1931
- 5. **Filter by distance threshold** using \`target\` on a condition instead of \`sort\`:
1927
+ 5. **Filter by distance threshold** using \`target\` directly on a condition alongside \`comparator\` and \`value\`. This returns matches within the threshold without using \`sort\`:
1932
1928
 
1933
1929
  \`\`\`javascript
1934
1930
  let results = Document.search({
@@ -1941,7 +1937,7 @@ Apply this rule when adding a vector similarity search capability to a Harper ta
1941
1937
  });
1942
1938
  \`\`\`
1943
1939
 
1944
- 6. **Include computed distance in results** using the \`$distance\` field in \`select\`:
1940
+ 6. **Include computed distance in results** by adding \`$distance\` to \`select\`. Works with both \`sort\`-based and threshold queries:
1945
1941
 
1946
1942
  \`\`\`javascript
1947
1943
  let results = Document.search({
@@ -1951,9 +1947,7 @@ Apply this rule when adding a vector similarity search capability to a Harper ta
1951
1947
  });
1952
1948
  \`\`\`
1953
1949
 
1954
- \`$distance\` works in both \`sort\`-based and threshold-based queries.
1955
-
1956
- 7. **Override the distance function or exploration budget per query** via options on the \`sort\` descriptor:
1950
+ 7. **Tune per-query search options** on the \`sort\` descriptor using \`distance\` and \`ef\`:
1957
1951
 
1958
1952
  \`\`\`javascript
1959
1953
  let results = Document.search({
@@ -1962,10 +1956,7 @@ Apply this rule when adding a vector similarity search capability to a Harper ta
1962
1956
  });
1963
1957
  \`\`\`
1964
1958
 
1965
- - \`distance\` \`"cosine"\`, \`"euclidean"\`, or \`"dotProduct"\`.
1966
- - \`ef\` — overrides the search exploration budget for this query. Higher values improve recall at the cost of latency.
1967
-
1968
- 8. **Tune filtered traversal** when a \`vectorFilter\` is very selective by raising \`ef\` or \`filterExpansion\`:
1959
+ 8. **Tune filtered traversal** with \`ef\` and \`filterExpansion\` when a \`vectorFilter\` is very selective. The visit budget is \`ef * filterExpansion\` nodes (\`filterExpansion\` defaults to \`24\`):
1969
1960
 
1970
1961
  \`\`\`javascript
1971
1962
  let results = Document.search(
@@ -1978,60 +1969,48 @@ Apply this rule when adding a vector similarity search capability to a Harper ta
1978
1969
  );
1979
1970
  \`\`\`
1980
1971
 
1981
- Filtered traversal visits at most \`ef * filterExpansion\` nodes (\`filterExpansion\` defaults to \`24\`). If the budget is exhausted before results fill, the search returns what was found rather than erroring.
1972
+ 9. **Enforce row-level access control** using \`rowFilter\` on search and subscription targets (JavaScript API only). Attach it in an operation override. For vector queries, \`rowFilter\` participates in HNSW traversal so callers receive the k nearest _matching_ records:
1982
1973
 
1983
- 9. **Configure HNSW index parameters** directly on the directive:
1974
+ \`\`\`javascript
1975
+ function canReadReport(record, context) {
1976
+ const user = context.user;
1977
+ if (user?.role?.permission?.super_user) return true;
1978
+ return user?.username != null && record.ownerId != null && record.ownerId === user.username;
1979
+ }
1984
1980
 
1985
- \`\`\`graphql
1986
- type Document @table {
1987
- id: Long @primaryKey
1988
- textEmbeddings: [Float]
1989
- @indexed(type: "HNSW", distance: "euclidean", optimizeRouting: 0, efConstructionSearch: 100)
1981
+ export class Reports extends tables.Reports {
1982
+ search(target) {
1983
+ target.rowFilter = canReadReport;
1984
+ return super.search(target);
1985
+ }
1990
1986
  }
1991
1987
  \`\`\`
1992
1988
 
1993
- | Parameter | Default | Description |
1994
- | ---------------------- | ----------------- | ------------------------------------------------------------------------------------------------ |
1995
- | \`distance\` | \`"cosine"\` | Distance function: \`"cosine"\`, \`"euclidean"\`, or \`"dotProduct"\` |
1996
- | \`efConstruction\` | \`100\` | Max nodes explored during index construction. Higher = better recall, lower = better performance |
1997
- | \`M\` | \`16\` | Preferred connections per graph layer |
1998
- | \`optimizeRouting\` | \`0.5\` | Heuristic aggressiveness for omitting redundant connections (0 = off, 1 = most aggressive) |
1999
- | \`mL\` | computed from \`M\` | Normalization factor for level generation |
2000
- | \`efConstructionSearch\` | auto-scaled | Max nodes explored during search. When unset, auto-scales with index size |
2001
- | \`quantization\` | — | \`"int8"\` stores vectors quantized to int8 |
2002
- | \`filterExpansion\` | \`24\` | Visit-budget multiplier for filtered search |
2003
-
2004
- Changing \`efConstructionSearch\` on an existing index does not trigger a rebuild. Changing structural parameters (\`distance\`, \`M\`, \`efConstruction\`, \`quantization\`) does rebuild the index.
2005
-
2006
- 10. **Enable int8 quantization** to reduce index size and memory usage:
2007
-
2008
- \`\`\`graphql
2009
- type Document @table {
2010
- id: Long @primaryKey
2011
- textEmbeddings: [Float] @indexed(type: "HNSW", quantization: "int8")
2012
- }
2013
- \`\`\`
1989
+ ### HNSW Index Parameters
2014
1990
 
2015
- Graph navigation uses quantized distances. For \`sort\` queries, Harper re-ranks results against full-precision vectors, restoring exact ordering and exact \`$distance\` values. Distance-threshold queries filter on the approximate distance.
1991
+ Configure parameters directly on \`@indexed(type: "HNSW", ...)\`:
2016
1992
 
2017
- 11. **Implement record-level access control** by overriding \`allowRead(user, target, context)\` on the table resource. During vector queries the check participates in graph traversal, so a restricted user receives the k nearest records they are allowed to see:
1993
+ | Parameter | Default | Description |
1994
+ | ---------------------- | ----------------- | ------------------------------------------------------------------------------------------------ |
1995
+ | \`distance\` | \`"cosine"\` | Distance function: \`"cosine"\`, \`"euclidean"\`, or \`"dotProduct"\` |
1996
+ | \`efConstruction\` | \`100\` | Max nodes explored during index construction. Higher = better recall, lower = better performance |
1997
+ | \`M\` | \`16\` | Preferred connections per graph layer |
1998
+ | \`optimizeRouting\` | \`0.5\` | Heuristic aggressiveness for omitting redundant connections (0 = off, 1 = most aggressive) |
1999
+ | \`mL\` | computed from \`M\` | Normalization factor for level generation |
2000
+ | \`efConstructionSearch\` | auto-scaled | Max nodes explored during search. When unset, auto-scales with index size |
2001
+ | \`quantization\` | — | \`"int8"\` stores vectors quantized to int8 |
2002
+ | \`filterExpansion\` | \`24\` | Visit-budget multiplier for filtered search: visits at most \`ef * filterExpansion\` nodes |
2018
2003
 
2019
- \`\`\`javascript
2020
- export class Reports extends tables.Reports {
2021
- allowRead(user, target, context) {
2022
- if (!super.allowRead(user, target, context)) return false;
2023
- if (user.role.permission.super_user) return true;
2024
- if (this.ownerId == null) return true;
2025
- return this.ownerId === user.id;
2026
- }
2027
- }
2028
- \`\`\`
2004
+ Per-query \`sort\` descriptor options:
2029
2005
 
2030
- The check must be synchronous, side-effect free, and fast. \`this\` is the frozen record during per-record evaluation. A thrown exception denies that record (fail closed).
2006
+ | Option | Values | Description |
2007
+ | ---------- | ----------------------------------------- | ------------------------------------------------------ |
2008
+ | \`distance\` | \`"cosine"\`, \`"euclidean"\`, \`"dotProduct"\` | Overrides the index's distance function for this query |
2009
+ | \`ef\` | integer | Overrides the search exploration budget for this query |
2031
2010
 
2032
2011
  ## Examples
2033
2012
 
2034
- **Full schema with custom HNSW parameters:**
2013
+ **Index with custom HNSW parameters:**
2035
2014
 
2036
2015
  \`\`\`graphql
2037
2016
  type Document @table {
@@ -2041,7 +2020,16 @@ type Document @table {
2041
2020
  }
2042
2021
  \`\`\`
2043
2022
 
2044
- **Nearest-neighbor search with distance output:**
2023
+ **Index with int8 quantization:**
2024
+
2025
+ \`\`\`graphql
2026
+ type Document @table {
2027
+ id: Long @primaryKey
2028
+ textEmbeddings: [Float] @indexed(type: "HNSW", quantization: "int8")
2029
+ }
2030
+ \`\`\`
2031
+
2032
+ **Nearest-neighbor search with distance included:**
2045
2033
 
2046
2034
  \`\`\`javascript
2047
2035
  let results = Document.search({
@@ -2051,7 +2039,7 @@ let results = Document.search({
2051
2039
  });
2052
2040
  \`\`\`
2053
2041
 
2054
- **Filtered vector search with tuned traversal budget:**
2042
+ **Filtered traversal with tuned budget:**
2055
2043
 
2056
2044
  \`\`\`javascript
2057
2045
  let results = Document.search(
@@ -2064,28 +2052,16 @@ let results = Document.search(
2064
2052
  );
2065
2053
  \`\`\`
2066
2054
 
2067
- **Distance threshold query (no ranking, cutoff only):**
2068
-
2069
- \`\`\`javascript
2070
- let results = Document.search({
2071
- conditions: {
2072
- attribute: 'textEmbeddings',
2073
- comparator: 'lt',
2074
- value: 0.1,
2075
- target: searchVector,
2076
- },
2077
- });
2078
- \`\`\`
2079
-
2080
2055
  ## Notes
2081
2056
 
2082
- - Use \`@indexed(type: "HNSW")\` on a \`[Float]\` field not on scalar fields.
2083
- - The default \`distance\` is \`"cosine"\`. Override it per-index via the directive or per-query via the \`sort\` descriptor.
2084
- - \`efConstruction\` seeds the initial value of \`efConstructionSearch\`. When neither is set, the search budget auto-scales with index size.
2085
- - \`vectorFilter\` is available from the JavaScript API only; it cannot be expressed in a REST query string.
2086
- - The parameter name Harper reads is \`efConstructionSearch\` (not \`efSearchConstruction\`).
2087
- - \`$distance\` must be listed explicitly in \`select\` to appear in results.
2088
- - For record-level \`allowRead\` overrides: collection-scope calls (where \`this.ownerId\` is \`null\`) should return \`true\` to open the connection; per-record filtering happens during query execution and event delivery.
2089
- `},ha={name:`readHarperSkill`,description:`Returns documentation for a Harper skill or best practice. Skills provide guidance on developing Harper applications.`,inputSchema:i({skill:p(pa)})};async function ga({input:{skill:e}}){return{success:!!ma[e],message:ma[e]||`No skill found with the name ${e}`}}var _a={...ha,icon:ot,execute:ga},va={name:`readLogs`,description:`Returns the matching logs from the server.`,inputSchema:i({log_name:p([`hdb.log`,`system.log`]).default(`hdb.log`),limit:y().or(u()).optional(),level:p([`notify`,`error`,`warn`,`info`,`debug`,`trace`,`undefined`]).or(u()).optional(),from:y().or(u()).optional(),until:y().or(u()).optional()})};async function ya({input:e,instanceClientParams:t}){try{return{success:!0,data:await Ge({...t,logFilters:e,replicated:t.entityType===`cluster`})}}catch(e){return{success:!1,message:`Error: ${e}`}}}var ba={...va,icon:ut,execute:ya},xa={name:`readTableRecords`,description:`Retrieves some or all table records from a database on the server.`,inputSchema:i({database:y().trim(),table:y().trim(),pageIndex:c().default(0),pageSize:c().default(10),primaryKey:y(),conditions:_(i({search_attribute:y(),search_type:p([`between`,`eq`,`equals`,`greater_than`,`greater_than_equal`,`less_than`,`less_than_equal`,`ne`,`not_equal`,`starts_with`]),search_value:m()})),sort:i({attribute:y(),descending:o()})})};async function Sa({input:{database:e,table:t,conditions:n,primaryKey:r,...i},instanceClientParams:a}){try{if(!n.length){let{data:n}=await Qe({...a,databaseName:e,tableName:t,onlyIfCached:!0,searchAttribute:r,...i});return{success:!0,data:n}}let{data:o}=await Ne({...a,databaseName:e,tableName:t,onlyIfCached:!0,conditions:n,...i});return{success:!0,data:o}}catch(e){return{success:!1,message:`Error: ${e}`}}}var Ca={...xa,icon:He,execute:Sa},wa={name:`restartHTTPService`,description:`Restarts the HTTP service on the server to allow schema and resource changes to be applied.`,inputSchema:i({})};async function Ta({instanceClientParams:e,baseURL:t}){let n=S.loading(`Restarting HTTP service...`,{description:`This may take a bit.`,duration:3e5});try{await Ue({...e,operation:`restart_service`,replicated:e.entityType===`cluster`})}catch(e){return{success:!1,message:`Error: ${e}`}}return S.success(`Done!`,{description:`HTTP Service restarted!`,id:n,duration:5e3}),{success:!0,message:`HTTP Service restarted!`,webURL:t}}var Ea={...wa,icon:Ae,execute:Ta,requiresApproval:!0},Da={name:`setComponentFile`,description:`Returns the contents of a component file by its full path (which was returned by getComponents)`,inputSchema:i({path:y().trim(),payload:y(),encoding:p([`utf8`,`ASCII`,`binary`,`hex`,`base64`,`utf16le`,`latin1`,`ucs2`])})};async function Oa({input:{path:e,encoding:t,payload:n},instanceClientParams:r}){try{let i=e.split(`/`),a=i.shift(),o=i.join(`/`),s=await we({...r,file:o,project:a,payload:n,encoding:t});return await Ee.invalidateQueries({queryKey:[r.entityId,`get_component_file`,a,o]}),Fe(`ReloadApplicationRootEntries`,!0),{success:!0,data:s}}catch(e){return{success:!1,message:`Error: ${e}`}}}var ka={...Da,icon:lt,execute:Oa,requiresApproval:!0},Aa={name:`updateTableRecords`,description:`Updates records in a particular table in a particular database on the server.`,inputSchema:i({database:y().trim(),table:y().trim(),records:_(m())})};async function ja({input:{database:e,table:t,records:n},instanceClientParams:r,params:i}){try{let a=await qe({...r,databaseName:e,tableName:t,records:n}),{databaseName:o,tableName:s}=i;return await Ee.invalidateQueries({queryKey:[r.entityId,o,s]}),{success:!0,data:a}}catch(e){return{success:!1,message:`Error: ${e}`}}}var Ma={readHarperSkill:_a,createApp:Fi,readLogs:ba,getAnalytics:Wi,listAnalyticsMetrics:fa,restartHTTPService:Ea,collectFeedback:Mi,getUserContext:aa,getComponentFile:qi,getComponents:Xi,setComponentFile:ka,dropComponentFile:Vi,getDescribeAll:$i,getDescribeTable:na,insertTableRecords:ca,readTableRecords:Ca,updateTableRecords:{...Aa,icon:at,execute:ja,requiresApproval:!0},deleteTableRecords:Ri};function Na(e){return Ma[e]}function Pa(e){return e.state===`input-available`&&!!Na(ri(e))?.requiresApproval}function Fa(e){let t=[];for(let[n,r]of(e??[]).entries()){if(q(r)){if(Pa(r)){t.push({kind:`part`,part:r,index:n});continue}let e=t.at(-1);e?.kind===`tool-group`?e.parts.push(r):t.push({kind:`tool-group`,parts:[r],index:n});continue}$r(r)&&r.text.length>0&&t.push({kind:`part`,part:r,index:n})}return t}function Ia({part:e,onApprove:t,onDeny:n,onAlwaysApprove:r,isApproving:i}){let[a,o]=(0,w.useState)(!1),[s,c]=(0,w.useState)(!1),l=ri(e),u=Na(l),d=u?.icon||We,f=u?.requiresApproval,p=(0,w.useMemo)(()=>!e.input||typeof e.input==`object`&&Object.keys(e.input).length===0,[e.input]),m=(0,w.useMemo)(()=>{let t=JSON.stringify(e.input,null,` `);return{json:t,lines:t?t.split(`
2090
- `).length:0}},[e.input]),h=(0,w.useMemo)(()=>{let t=JSON.stringify(e.output,null,` `);return{json:t,lines:t?t.split(`
2091
- `).length:0}},[e.output]);return(0,T.jsxs)(`div`,{className:`tool-invocation ${e.state}`,children:[(0,T.jsxs)(`div`,{className:`tool-info`,children:[(0,T.jsxs)(`div`,{className:`tool-name`,children:[(0,T.jsx)(d,{size:14}),(0,T.jsx)(`span`,{children:l})]}),(0,T.jsxs)(`div`,{className:`tool-status`,children:[e.state===`input-streaming`&&(0,T.jsx)(`span`,{children:`Thinking...`}),e.state===`input-available`&&(0,T.jsx)(`span`,{children:i?`Executing...`:f?`Awaiting Approval...`:`Executing...`}),e.state===`output-available`&&(e.output?.error?(0,T.jsx)(ct,{size:14,className:`text-destructive`}):(0,T.jsx)(ue,{size:14}))]})]}),e.state!==`input-streaming`&&(0,T.jsxs)(`div`,{className:`tool-io`,children:[!p&&(0,T.jsxs)(`div`,{className:`tool-args`,children:[(0,T.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-1`,children:[(0,T.jsx)(`strong`,{children:`Input:`}),m.lines>3&&(0,T.jsx)(x,{type:`button`,variant:`ghost`,size:`sm`,className:`h-6 px-2 text-[10px] uppercase tracking-wider text-muted-foreground hover:text-foreground`,onClick:()=>o(!a),children:a?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(de,{size:12}),`Hide`]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(fe,{size:12}),`Show`]})})]}),(0,T.jsx)(`div`,{className:a?`whitespace-pre-wrap`:`line-clamp-3 overflow-hidden whitespace-pre-wrap`,children:m.json})]}),e.state===`input-available`&&f&&(0,T.jsxs)(`div`,{className:`flex gap-2 mt-3 pt-3 border-t`,children:[(0,T.jsxs)(x,{size:`sm`,className:`h-8 text-xs bg-green-600 hover:bg-green-700 text-white`,onClick:()=>t?.(e.toolCallId),disabled:i,children:[i?(0,T.jsx)(tt,{className:`mr-2 h-3 w-3 animate-spin`}):null,`Approve`]}),(0,T.jsx)(x,{type:`button`,size:`sm`,variant:`outline`,className:`h-8 text-xs approval-outline`,onClick:()=>r?.(e.toolCallId),disabled:i,children:`Always Approve`}),(0,T.jsx)(x,{type:`button`,size:`sm`,variant:`outline`,className:`h-8 text-xs approval-outline`,onClick:()=>n?.(e.toolCallId),disabled:i,children:`Deny`})]}),e.state===`output-available`&&(0,T.jsx)(T.Fragment,{children:u?.render?u.render(e):(0,T.jsxs)(`div`,{className:`tool-result`,children:[(0,T.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-1`,children:[(0,T.jsx)(`strong`,{children:`Result:`}),h.lines>3&&(0,T.jsx)(x,{type:`button`,variant:`ghost`,size:`sm`,className:`h-6 px-2 text-[10px] uppercase tracking-wider text-muted-foreground hover:text-foreground`,onClick:()=>c(!s),children:s?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(de,{size:12}),`Hide`]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(fe,{size:12}),`Show`]})})]}),(0,T.jsx)(`div`,{className:s?`whitespace-pre-wrap`:`line-clamp-3 overflow-hidden whitespace-pre-wrap`,children:h.json})]})})]})]})}function La({parts:e,onApprove:t,onDeny:n,onAlwaysApprove:r,approvingToolCallIds:i}){let[a,o]=(0,w.useState)(!1),s=e.some(e=>e.state!==`output-available`&&e.state!==`output-error`),c=e.some(e=>e.state===`output-error`||e.state===`output-available`&&e.output?.error),l=e.length===1?ri(e[0]):void 0,u=l&&Na(l)?.icon||pt,d=l??`${e.length} tools`;return(0,T.jsxs)(`div`,{className:`tool-group`,children:[(0,T.jsxs)(`button`,{type:`button`,className:`tool-group-summary`,"aria-expanded":a,onClick:()=>o(!a),children:[a?(0,T.jsx)(fe,{size:14}):(0,T.jsx)(me,{size:14}),(0,T.jsx)(u,{size:14}),(0,T.jsx)(`span`,{children:s?`Using ${d}...`:`Used ${d}`}),(0,T.jsx)(`span`,{className:`tool-group-status`,children:s?(0,T.jsx)(tt,{size:14,className:`animate-spin`}):c?(0,T.jsx)(ct,{size:14,className:`text-destructive`}):(0,T.jsx)(ue,{size:14})})]}),a&&e.map(e=>(0,T.jsx)(Ia,{part:e,onApprove:t,onDeny:n,onAlwaysApprove:r,isApproving:i?.has(e.toolCallId)},e.toolCallId))]})}function Ra({message:e,onApprove:t,onDeny:n,onAlwaysApprove:r,approvingToolCallIds:i}){return e.parts?.some(e=>$r(e)&&e.text.length>0||q(e))?(0,T.jsxs)(le.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`message-bubble ${e.role===`user`?`user`:`assistant`}`,children:[(0,T.jsx)(`div`,{className:`avatar`,children:e.role===`user`?(0,T.jsx)(ze,{size:18}):(0,T.jsx)(ce,{size:18})}),(0,T.jsx)(`div`,{className:`content`,children:Fa(e.parts).map(e=>{if(e.kind===`tool-group`)return(0,T.jsx)(La,{parts:e.parts,onApprove:t,onDeny:n,onAlwaysApprove:r,approvingToolCallIds:i},e.parts[0].toolCallId);let{part:a,index:o}=e;return $r(a)?(0,T.jsx)(`div`,{className:`text-block`,children:a.text},o):q(a)?(0,T.jsx)(Ia,{part:a,onApprove:t,onDeny:n,onAlwaysApprove:r,isApproving:i?.has(a.toolCallId)},o):null})})]},e.id):null}function za(e,t){if(e!==`submitted`&&e!==`streaming`)return!1;if(t?.role!==`assistant`)return!0;let n=t.parts?.at(-1);return n?$r(n)?n.state!==`streaming`||n.text.length===0:!q(n)||n.state===`output-available`||n.state===`output-error`:!0}function Ba(){return(0,T.jsxs)(le.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.2},className:`message-bubble assistant`,children:[(0,T.jsx)(`div`,{className:`avatar`,children:(0,T.jsx)(ce,{size:18})}),(0,T.jsxs)(`div`,{className:`content thinking-indicator`,role:`status`,"aria-label":`Harper Agent is thinking`,children:[(0,T.jsx)(`span`,{className:`thinking-dot`}),(0,T.jsx)(`span`,{className:`thinking-dot`}),(0,T.jsx)(`span`,{className:`thinking-dot`})]})]})}function Va(e){return re({queryKey:[`getMyUsage`,e],queryFn:async()=>{let{data:t}=await b.get(`/Chat/Usage/${e}`);return t}})}function Ha(){let{organizationId:e}=ie({strict:!1});return ae(Va(e))}function Ua(){let{data:e,isLoading:t,error:n}=Ha();if(t||n||!e)return null;let{usageUSD:r,monthlyLimitUSD:i,usageBarPercent:a}=e,o=e=>new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(e);return(0,T.jsxs)(`div`,{className:`usage-container`,children:[(0,T.jsxs)(`div`,{className:`usage-info`,children:[(0,T.jsx)(`span`,{children:`Monthly Org Usage`}),(0,T.jsxs)(`span`,{children:[o(r),` / `,o(i)]}),(0,T.jsxs)(`span`,{children:[Math.round(a),`%`]})]}),(0,T.jsx)(`div`,{className:`usage-bar-bg`,children:(0,T.jsx)(`div`,{className:`usage-bar-fill`,style:{width:`${a}%`}})})]})}function Wa({autoFocus:e,closeChat:t}){let n=ie({strict:!1}),{organizationId:r}=n,[i,a]=je(`ApplicationChat`,``),[o,s]=(0,w.useState)(!0),[c,l]=(0,w.useState)({}),[u,d]=(0,w.useState)(new Set),[f,p]=Oe(De.ChatAlwaysApprovedTools,[]),m=new Set(f),h=rt(),g=ke(),_=ne(),{messages:v,sendMessage:ee,status:te,addToolOutput:y,setMessages:b}=Di({transport:pi(r),generateId:k(),sendAutomaticallyWhen:fi,onFinish(){_.invalidateQueries({queryKey:[`getMyUsage`]})},async onToolCall({toolCall:e}){if(e.dynamic)return;let t=Na(e.toolName);if(t){if(t.requiresApproval&&!m.has(e.toolName)){let t={type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input};l(n=>({...n,[e.toolCallId]:t}));return}let r=await t.execute({input:e.input,instanceClientParams:g,baseURL:h,params:n});y({tool:e.toolName,toolCallId:e.toolCallId,output:r})}}}),x=(0,w.useCallback)(async e=>{let t=c[e];if(t){d(t=>{let n=new Set(t);return n.add(e),n});try{let r=Na(t.toolName);if(r){let i=await r.execute({input:t.input,instanceClientParams:g,baseURL:h,params:n});y({tool:t.toolName,toolCallId:t.toolCallId,output:i}),l(t=>{let n={...t};return delete n[e],n})}}finally{d(t=>{let n=new Set(t);return n.delete(e),n})}}},[c,g,h,y,n]),re=(0,w.useCallback)(e=>{let t=c[e];t&&(y({tool:t.toolName,toolCallId:t.toolCallId,output:{error:`User denied the tool execution.`}}),l(t=>{let n={...t};return delete n[e],n}))},[c,y]),ae=(0,w.useCallback)(async e=>{let t=c[e];t&&(p(e=>Ie([...e,t.toolName])),await x(e))},[c,p,x]);(0,w.useEffect)(()=>{(async()=>{try{let e=await gt();Array.isArray(e)&&b(e)}catch(e){console.error(`Failed to fetch initial messages:`,e)}finally{s(!1)}})()},[b]);let oe=te===`streaming`||te===`submitted`,se=(0,w.useRef)(null);return(0,w.useEffect)(()=>{se.current?.scrollIntoView({behavior:`smooth`})},[v]),(0,T.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,T.jsxs)(`div`,{className:`flex items-start justify-between gap-6 px-4 py-2.5 border-b border-border bg-card`,children:[(0,T.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0 flex-1`,children:[(0,T.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,T.jsx)(ce,{className:`text-primary`,size:20}),(0,T.jsx)(`span`,{className:`font-semibold text-foreground`,children:`Harper Agent`})]}),(0,T.jsx)(Ua,{})]}),(0,T.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,T.jsx)(ht,{setMessages:b}),(0,T.jsx)(`button`,{onClick:t,className:`p-1 hover:bg-accent rounded-md transition-colors text-muted-foreground hover:text-foreground`,title:`Close chat`,children:(0,T.jsx)(pe,{size:20})})]})]}),(0,T.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:(0,T.jsxs)(`div`,{className:`chat-interface h-full w-full`,children:[(0,T.jsxs)(`div`,{className:`messages-area`,children:[o&&(0,T.jsx)(ki,{}),!o&&v.length===0&&(0,T.jsxs)(`div`,{className:`empty-state`,children:[(0,T.jsx)(ce,{size:48}),(0,T.jsx)(`p`,{children:`Ask me to create a Harper app!`})]}),v.map(e=>(0,T.jsx)(Ra,{message:e,onApprove:x,onDeny:re,onAlwaysApprove:ae,approvingToolCallIds:u},e.id)),za(te,v.at(-1))&&(0,T.jsx)(Ba,{}),(0,T.jsx)(`div`,{ref:se})]}),(0,T.jsx)(Oi,{input:i,setInput:a,onSubmit:e=>{e.preventDefault(),i.trim()&&!oe&&!o&&(ee({text:i}),a(``))},disabled:o,autoFocus:e})]})})]})}export{Wa as Chat};
2057
+ - \`vectorFilter\` and \`rowFilter\` are available from the JavaScript API only; they cannot be set through REST or QUERY request data.
2058
+ - \`vectorFilter\` functions must be synchronous, side-effect free, and fast they can run once per candidate record visited during traversal; verdicts are memoized per query. Records passed to them are frozen.
2059
+ - \`rowFilter\` does not apply to a direct primary-key \`get\`.
2060
+ - Changing \`efConstructionSearch\` on an existing index does not trigger a rebuild. Structural parameters (\`distance\`, \`M\`, \`efConstruction\`, \`quantization\`) do rebuild the index when changed.
2061
+ - With \`quantization: "int8"\`, nearest-neighbor \`sort\` queries re-rank results against full-precision vectors, restoring exact ordering and exact \`$distance\` values. Distance-threshold (\`lt\`/\`le\`) queries filter on the approximate distance.
2062
+ - The correct parameter name is \`efConstruction\` (seeds the construction budget) and \`efConstructionSearch\` (controls search budget). The name \`efSearchConstruction\` is a previous documentation error.
2063
+ - When no \`ef\` is passed and \`efConstructionSearch\` (or \`efConstruction\`) is not explicitly set, the search budget auto-scales with index size.
2064
+ - \`cosine\` is the default distance function when \`distance\` is not specified.
2065
+ `},ha={name:`readHarperSkill`,description:`Returns documentation for a Harper skill or best practice. Skills provide guidance on developing Harper applications.`,inputSchema:i({skill:p(pa)})};async function ga({input:{skill:e}}){return{success:!!ma[e],message:ma[e]||`No skill found with the name ${e}`}}var _a={...ha,icon:st,execute:ga},va={name:`readLogs`,description:`Returns the matching logs from the server.`,inputSchema:i({log_name:p([`hdb.log`,`system.log`]).default(`hdb.log`),limit:y().or(u()).optional(),level:p([`notify`,`error`,`warn`,`info`,`debug`,`trace`,`undefined`]).or(u()).optional(),from:y().or(u()).optional(),until:y().or(u()).optional()})};async function ya({input:e,instanceClientParams:t}){try{return{success:!0,data:await Be({...t,logFilters:e,replicated:t.entityType===`cluster`})}}catch(e){return{success:!1,message:`Error: ${e}`}}}var ba={...va,icon:dt,execute:ya},xa={name:`readTableRecords`,description:`Retrieves some or all table records from a database on the server.`,inputSchema:i({database:y().trim(),table:y().trim(),pageIndex:c().default(0),pageSize:c().default(10),primaryKey:y(),conditions:_(i({search_attribute:y(),search_type:p([`between`,`eq`,`equals`,`greater_than`,`greater_than_equal`,`less_than`,`less_than_equal`,`ne`,`not_equal`,`starts_with`]),search_value:m()})),sort:i({attribute:y(),descending:o()})})};async function Sa({input:{database:e,table:t,conditions:n,primaryKey:r,...i},instanceClientParams:a}){try{if(!n.length){let{data:n}=await Pe({...a,databaseName:e,tableName:t,onlyIfCached:!0,searchAttribute:r,...i});return{success:!0,data:n}}let{data:o}=await Ae({...a,databaseName:e,tableName:t,onlyIfCached:!0,conditions:n,...i});return{success:!0,data:o}}catch(e){return{success:!1,message:`Error: ${e}`}}}var Ca={...xa,icon:Ke,execute:Sa},wa={name:`restartHTTPService`,description:`Restarts the HTTP service on the server to allow schema and resource changes to be applied.`,inputSchema:i({})};async function Ta({instanceClientParams:e,baseURL:t}){let n=le.loading(`Restarting HTTP service...`,{description:`This may take a bit.`,duration:3e5});try{await tt({...e,operation:`restart_service`,replicated:e.entityType===`cluster`})}catch(e){return{success:!1,message:`Error: ${e}`}}return le.success(`Done!`,{description:`HTTP Service restarted!`,id:n,duration:5e3}),{success:!0,message:`HTTP Service restarted!`,webURL:t}}var Ea={...wa,icon:ze,execute:Ta,requiresApproval:!0},Da={name:`setComponentFile`,description:`Returns the contents of a component file by its full path (which was returned by getComponents)`,inputSchema:i({path:y().trim(),payload:y(),encoding:p([`utf8`,`ASCII`,`binary`,`hex`,`base64`,`utf16le`,`latin1`,`ucs2`])})};async function Oa({input:{path:e,encoding:t,payload:n},instanceClientParams:r}){try{let i=e.split(`/`),a=i.shift(),o=i.join(`/`),s=await Se({...r,file:o,project:a,payload:n,encoding:t});return await Xe.invalidateQueries({queryKey:[r.entityId,`get_component_file`,a,o]}),je(`ReloadApplicationRootEntries`,!0),{success:!0,data:s}}catch(e){return{success:!1,message:`Error: ${e}`}}}var ka={...Da,icon:ut,execute:Oa,requiresApproval:!0},Aa={name:`updateTableRecords`,description:`Updates records in a particular table in a particular database on the server.`,inputSchema:i({database:y().trim(),table:y().trim(),records:_(m())})};async function ja({input:{database:e,table:t,records:n},instanceClientParams:r,params:i}){try{let a=await He({...r,databaseName:e,tableName:t,records:n}),{databaseName:o,tableName:s}=i;return await Xe.invalidateQueries({queryKey:[r.entityId,o,s]}),{success:!0,data:a}}catch(e){return{success:!1,message:`Error: ${e}`}}}var Ma={readHarperSkill:_a,createApp:Fi,readLogs:ba,getAnalytics:Wi,listAnalyticsMetrics:fa,restartHTTPService:Ea,collectFeedback:Mi,getUserContext:aa,getComponentFile:qi,getComponents:Xi,setComponentFile:ka,dropComponentFile:Vi,getDescribeAll:$i,getDescribeTable:na,insertTableRecords:ca,readTableRecords:Ca,updateTableRecords:{...Aa,icon:ot,execute:ja,requiresApproval:!0},deleteTableRecords:Ri};function Na(e){return Ma[e]}function Pa(e){return e.state===`input-available`&&!!Na(ri(e))?.requiresApproval}function Fa(e){let t=[];for(let[n,r]of(e??[]).entries()){if(q(r)){if(Pa(r)){t.push({kind:`part`,part:r,index:n});continue}let e=t.at(-1);e?.kind===`tool-group`?e.parts.push(r):t.push({kind:`tool-group`,parts:[r],index:n});continue}$r(r)&&r.text.length>0&&t.push({kind:`part`,part:r,index:n})}return t}function Ia({part:e,onApprove:t,onDeny:n,onAlwaysApprove:r,isApproving:i}){let[a,o]=(0,C.useState)(!1),[s,c]=(0,C.useState)(!1),l=ri(e),u=Na(l),d=u?.icon||Fe,f=u?.requiresApproval,p=(0,C.useMemo)(()=>!e.input||typeof e.input==`object`&&Object.keys(e.input).length===0,[e.input]),m=(0,C.useMemo)(()=>{let t=JSON.stringify(e.input,null,` `);return{json:t,lines:t?t.split(`
2066
+ `).length:0}},[e.input]),h=(0,C.useMemo)(()=>{let t=JSON.stringify(e.output,null,` `);return{json:t,lines:t?t.split(`
2067
+ `).length:0}},[e.output]);return(0,w.jsxs)(`div`,{className:`tool-invocation ${e.state}`,children:[(0,w.jsxs)(`div`,{className:`tool-info`,children:[(0,w.jsxs)(`div`,{className:`tool-name`,children:[(0,w.jsx)(d,{size:14}),(0,w.jsx)(`span`,{children:l})]}),(0,w.jsxs)(`div`,{className:`tool-status`,children:[e.state===`input-streaming`&&(0,w.jsx)(`span`,{children:`Thinking...`}),e.state===`input-available`&&(0,w.jsx)(`span`,{children:i?`Executing...`:f?`Awaiting Approval...`:`Executing...`}),e.state===`output-available`&&(e.output?.error?(0,w.jsx)(lt,{size:14,className:`text-destructive`}):(0,w.jsx)(de,{size:14}))]})]}),e.state!==`input-streaming`&&(0,w.jsxs)(`div`,{className:`tool-io`,children:[!p&&(0,w.jsxs)(`div`,{className:`tool-args`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-1`,children:[(0,w.jsx)(`strong`,{children:`Input:`}),m.lines>3&&(0,w.jsx)(x,{type:`button`,variant:`ghost`,size:`sm`,className:`h-6 px-2 text-[10px] uppercase tracking-wider text-muted-foreground hover:text-foreground`,onClick:()=>o(!a),children:a?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(fe,{size:12}),`Hide`]}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(ue,{size:12}),`Show`]})})]}),(0,w.jsx)(`div`,{className:a?`whitespace-pre-wrap`:`line-clamp-3 overflow-hidden whitespace-pre-wrap`,children:m.json})]}),e.state===`input-available`&&f&&(0,w.jsxs)(`div`,{className:`flex gap-2 mt-3 pt-3 border-t`,children:[(0,w.jsxs)(x,{size:`sm`,className:`h-8 text-xs bg-green-600 hover:bg-green-700 text-white`,onClick:()=>t?.(e.toolCallId),disabled:i,children:[i?(0,w.jsx)(ke,{className:`mr-2 h-3 w-3 animate-spin`}):null,`Approve`]}),(0,w.jsx)(x,{type:`button`,size:`sm`,variant:`outline`,className:`h-8 text-xs approval-outline`,onClick:()=>r?.(e.toolCallId),disabled:i,children:`Always Approve`}),(0,w.jsx)(x,{type:`button`,size:`sm`,variant:`outline`,className:`h-8 text-xs approval-outline`,onClick:()=>n?.(e.toolCallId),disabled:i,children:`Deny`})]}),e.state===`output-available`&&(0,w.jsx)(w.Fragment,{children:u?.render?u.render(e):(0,w.jsxs)(`div`,{className:`tool-result`,children:[(0,w.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-1`,children:[(0,w.jsx)(`strong`,{children:`Result:`}),h.lines>3&&(0,w.jsx)(x,{type:`button`,variant:`ghost`,size:`sm`,className:`h-6 px-2 text-[10px] uppercase tracking-wider text-muted-foreground hover:text-foreground`,onClick:()=>c(!s),children:s?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(fe,{size:12}),`Hide`]}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(ue,{size:12}),`Show`]})})]}),(0,w.jsx)(`div`,{className:s?`whitespace-pre-wrap`:`line-clamp-3 overflow-hidden whitespace-pre-wrap`,children:h.json})]})})]})]})}function La({parts:e,onApprove:t,onDeny:n,onAlwaysApprove:r,approvingToolCallIds:i}){let[a,o]=(0,C.useState)(!1),s=e.some(e=>e.state!==`output-available`&&e.state!==`output-error`),c=e.some(e=>e.state===`output-error`||e.state===`output-available`&&e.output?.error),l=e.length===1?ri(e[0]):void 0,u=l&&Na(l)?.icon||mt,d=l??`${e.length} tools`;return(0,w.jsxs)(`div`,{className:`tool-group`,children:[(0,w.jsxs)(`button`,{type:`button`,className:`tool-group-summary`,"aria-expanded":a,onClick:()=>o(!a),children:[a?(0,w.jsx)(ue,{size:14}):(0,w.jsx)(Ne,{size:14}),(0,w.jsx)(u,{size:14}),(0,w.jsx)(`span`,{children:s?`Using ${d}...`:`Used ${d}`}),(0,w.jsx)(`span`,{className:`tool-group-status`,children:s?(0,w.jsx)(ke,{size:14,className:`animate-spin`}):c?(0,w.jsx)(lt,{size:14,className:`text-destructive`}):(0,w.jsx)(de,{size:14})})]}),a&&e.map(e=>(0,w.jsx)(Ia,{part:e,onApprove:t,onDeny:n,onAlwaysApprove:r,isApproving:i?.has(e.toolCallId)},e.toolCallId))]})}function Ra({message:e,onApprove:t,onDeny:n,onAlwaysApprove:r,approvingToolCallIds:i}){return e.parts?.some(e=>$r(e)&&e.text.length>0||q(e))?(0,w.jsxs)(it.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},className:`message-bubble ${e.role===`user`?`user`:`assistant`}`,children:[(0,w.jsx)(`div`,{className:`avatar`,children:e.role===`user`?(0,w.jsx)(Ve,{size:18}):(0,w.jsx)(rt,{size:18})}),(0,w.jsx)(`div`,{className:`content`,children:Fa(e.parts).map(e=>{if(e.kind===`tool-group`)return(0,w.jsx)(La,{parts:e.parts,onApprove:t,onDeny:n,onAlwaysApprove:r,approvingToolCallIds:i},e.parts[0].toolCallId);let{part:a,index:o}=e;return $r(a)?(0,w.jsx)(`div`,{className:`text-block`,children:a.text},o):q(a)?(0,w.jsx)(Ia,{part:a,onApprove:t,onDeny:n,onAlwaysApprove:r,isApproving:i?.has(a.toolCallId)},o):null})})]},e.id):null}function za(e,t){if(e!==`submitted`&&e!==`streaming`)return!1;if(t?.role!==`assistant`)return!0;let n=t.parts?.at(-1);return n?$r(n)?n.state!==`streaming`||n.text.length===0:!q(n)||n.state===`output-available`||n.state===`output-error`:!0}function Ba(){return(0,w.jsxs)(it.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{delay:.2},className:`message-bubble assistant`,children:[(0,w.jsx)(`div`,{className:`avatar`,children:(0,w.jsx)(rt,{size:18})}),(0,w.jsxs)(`div`,{className:`content thinking-indicator`,role:`status`,"aria-label":`Harper Agent is thinking`,children:[(0,w.jsx)(`span`,{className:`thinking-dot`}),(0,w.jsx)(`span`,{className:`thinking-dot`}),(0,w.jsx)(`span`,{className:`thinking-dot`})]})]})}function Va(e){return re({queryKey:[`getMyUsage`,e],queryFn:async()=>{let{data:t}=await b.get(`/Chat/Usage/${e}`);return t}})}function Ha(){let{organizationId:e}=ie({strict:!1});return ae(Va(e))}function Ua(){let{data:e,isLoading:t,error:n}=Ha();if(t||n||!e)return null;let{usageUSD:r,monthlyLimitUSD:i,usageBarPercent:a}=e,o=e=>new Intl.NumberFormat(`en-US`,{style:`currency`,currency:`USD`}).format(e);return(0,w.jsxs)(`div`,{className:`usage-container`,children:[(0,w.jsxs)(`div`,{className:`usage-info`,children:[(0,w.jsx)(`span`,{children:`Monthly Org Usage`}),(0,w.jsxs)(`span`,{children:[o(r),` / `,o(i)]}),(0,w.jsxs)(`span`,{children:[Math.round(a),`%`]})]}),(0,w.jsx)(`div`,{className:`usage-bar-bg`,children:(0,w.jsx)(`div`,{className:`usage-bar-fill`,style:{width:`${a}%`}})})]})}function Wa({autoFocus:e,closeChat:t}){let n=ie({strict:!1}),{organizationId:r}=n,[i,a]=Ie(`ApplicationChat`,``),[o,s]=(0,C.useState)(!0),[c,l]=(0,C.useState)({}),[u,d]=(0,C.useState)(new Set),[f,p]=Ee(Te.ChatAlwaysApprovedTools,[]),m=new Set(f),h=nt(),g=De(),_=ne(),{messages:v,sendMessage:ee,status:te,addToolOutput:y,setMessages:b}=Di({transport:pi(r),generateId:O(),sendAutomaticallyWhen:fi,onFinish(){_.invalidateQueries({queryKey:[`getMyUsage`]})},async onToolCall({toolCall:e}){if(e.dynamic)return;let t=Na(e.toolName);if(t){if(t.requiresApproval&&!m.has(e.toolName)){let t={type:`tool-call`,toolCallId:e.toolCallId,toolName:e.toolName,input:e.input};l(n=>({...n,[e.toolCallId]:t}));return}let r=await t.execute({input:e.input,instanceClientParams:g,baseURL:h,params:n});y({tool:e.toolName,toolCallId:e.toolCallId,output:r})}}}),x=(0,C.useCallback)(async e=>{let t=c[e];if(t){d(t=>{let n=new Set(t);return n.add(e),n});try{let r=Na(t.toolName);if(r){let i=await r.execute({input:t.input,instanceClientParams:g,baseURL:h,params:n});y({tool:t.toolName,toolCallId:t.toolCallId,output:i}),l(t=>{let n={...t};return delete n[e],n})}}finally{d(t=>{let n=new Set(t);return n.delete(e),n})}}},[c,g,h,y,n]),re=(0,C.useCallback)(e=>{let t=c[e];t&&(y({tool:t.toolName,toolCallId:t.toolCallId,output:{error:`User denied the tool execution.`}}),l(t=>{let n={...t};return delete n[e],n}))},[c,y]),ae=(0,C.useCallback)(async e=>{let t=c[e];t&&(p(e=>Me([...e,t.toolName])),await x(e))},[c,p,x]);(0,C.useEffect)(()=>{(async()=>{try{let e=await _t();Array.isArray(e)&&b(e)}catch(e){console.error(`Failed to fetch initial messages:`,e)}finally{s(!1)}})()},[b]);let oe=te===`streaming`||te===`submitted`,se=(0,C.useRef)(null);return(0,C.useEffect)(()=>{se.current?.scrollIntoView({behavior:`smooth`})},[v]),(0,w.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,w.jsxs)(`div`,{className:`flex items-start justify-between gap-6 px-4 py-2.5 border-b border-border bg-card`,children:[(0,w.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0 flex-1`,children:[(0,w.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,w.jsx)(rt,{className:`text-primary`,size:20}),(0,w.jsx)(`span`,{className:`font-semibold text-foreground`,children:`Harper Agent`})]}),(0,w.jsx)(Ua,{})]}),(0,w.jsxs)(`div`,{className:`flex items-center gap-2 shrink-0`,children:[(0,w.jsx)(gt,{setMessages:b}),(0,w.jsx)(`button`,{onClick:t,className:`p-1 hover:bg-accent rounded-md transition-colors text-muted-foreground hover:text-foreground`,title:`Close chat`,children:(0,w.jsx)(we,{size:20})})]})]}),(0,w.jsx)(`div`,{className:`flex-1 overflow-hidden`,children:(0,w.jsxs)(`div`,{className:`chat-interface h-full w-full`,children:[(0,w.jsxs)(`div`,{className:`messages-area`,children:[o&&(0,w.jsx)(ki,{}),!o&&v.length===0&&(0,w.jsxs)(`div`,{className:`empty-state`,children:[(0,w.jsx)(rt,{size:48}),(0,w.jsx)(`p`,{children:`Ask me to create a Harper app!`})]}),v.map(e=>(0,w.jsx)(Ra,{message:e,onApprove:x,onDeny:re,onAlwaysApprove:ae,approvingToolCallIds:u},e.id)),za(te,v.at(-1))&&(0,w.jsx)(Ba,{}),(0,w.jsx)(`div`,{ref:se})]}),(0,w.jsx)(Oi,{input:i,setInput:a,onSubmit:e=>{e.preventDefault(),i.trim()&&!oe&&!o&&(ee({text:i}),a(``))},disabled:o,autoFocus:e})]})})]})}export{Wa as Chat};