@recombine-ai/bosun 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/build/client/_app/immutable/assets/0.B-Br6U4N.css +1 -0
  2. package/build/client/_app/immutable/assets/0.B-Br6U4N.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.B-Br6U4N.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{D0wo6ydM.js → BOuo-4gP.js} +1 -1
  5. package/build/client/_app/immutable/chunks/BOuo-4gP.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/BOuo-4gP.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/Cyj62X2W.js +2 -0
  8. package/build/client/_app/immutable/chunks/Cyj62X2W.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/Cyj62X2W.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{DThbydRF.js → DSDSeO7L.js} +1 -1
  11. package/build/client/_app/immutable/chunks/DSDSeO7L.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/DSDSeO7L.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{BsXicvii.js → De8YgKS3.js} +1 -1
  14. package/build/client/_app/immutable/chunks/De8YgKS3.js.br +1 -0
  15. package/build/client/_app/immutable/chunks/De8YgKS3.js.gz +0 -0
  16. package/build/client/_app/immutable/entry/{app.CXVcy7KZ.js → app.DK_wVDeR.js} +2 -2
  17. package/build/client/_app/immutable/entry/app.DK_wVDeR.js.br +0 -0
  18. package/build/client/_app/immutable/entry/app.DK_wVDeR.js.gz +0 -0
  19. package/build/client/_app/immutable/entry/start.xQy-2aGo.js +1 -0
  20. package/build/client/_app/immutable/entry/start.xQy-2aGo.js.br +2 -0
  21. package/build/client/_app/immutable/entry/start.xQy-2aGo.js.gz +0 -0
  22. package/build/client/_app/immutable/nodes/{0.Bw5H_3Yi.js → 0.5fEbn14Q.js} +1 -1
  23. package/build/client/_app/immutable/nodes/0.5fEbn14Q.js.br +0 -0
  24. package/build/client/_app/immutable/nodes/0.5fEbn14Q.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/{1.I6bcxSHO.js → 1.CJrSN8zL.js} +1 -1
  26. package/build/client/_app/immutable/nodes/1.CJrSN8zL.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/1.CJrSN8zL.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/10.SZwTlOEA.js +12 -0
  29. package/build/client/_app/immutable/nodes/10.SZwTlOEA.js.br +0 -0
  30. package/build/client/_app/immutable/nodes/10.SZwTlOEA.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/{17.CKhOYbTb.js → 17.D-KFl7Vk.js} +1 -1
  32. package/build/client/_app/immutable/nodes/17.D-KFl7Vk.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/17.D-KFl7Vk.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/18.DqRdJY9A.js +11 -0
  35. package/build/client/_app/immutable/nodes/18.DqRdJY9A.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/18.DqRdJY9A.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/{2.DvX0h28l.js → 2.B3Uuk25v.js} +1 -1
  38. package/build/client/_app/immutable/nodes/2.B3Uuk25v.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/2.B3Uuk25v.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/{3.CGA5hdam.js → 3.B1RGTOJ8.js} +1 -1
  41. package/build/client/_app/immutable/nodes/3.B1RGTOJ8.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/3.B1RGTOJ8.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/{4.DRd9UCon.js → 4.D2jcIUpD.js} +1 -1
  44. package/build/client/_app/immutable/nodes/4.D2jcIUpD.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/4.D2jcIUpD.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/{5.QJyyKWtD.js → 5.CUyCIyRd.js} +1 -1
  47. package/build/client/_app/immutable/nodes/5.CUyCIyRd.js.br +0 -0
  48. package/build/client/_app/immutable/nodes/5.CUyCIyRd.js.gz +0 -0
  49. package/build/client/_app/immutable/nodes/{6.DBbtH8p6.js → 6.B8HsGA2V.js} +1 -1
  50. package/build/client/_app/immutable/nodes/6.B8HsGA2V.js.br +0 -0
  51. package/build/client/_app/immutable/nodes/6.B8HsGA2V.js.gz +0 -0
  52. package/build/client/_app/immutable/nodes/{8._Ge9D6mw.js → 8.jY56-_OU.js} +1 -1
  53. package/build/client/_app/immutable/nodes/8.jY56-_OU.js.br +0 -0
  54. package/build/client/_app/immutable/nodes/8.jY56-_OU.js.gz +0 -0
  55. package/build/client/_app/immutable/nodes/9.v5dX6L9n.js +2 -0
  56. package/build/client/_app/immutable/nodes/9.v5dX6L9n.js.br +0 -0
  57. package/build/client/_app/immutable/nodes/9.v5dX6L9n.js.gz +0 -0
  58. package/build/client/_app/version.json +1 -1
  59. package/build/client/_app/version.json.br +0 -0
  60. package/build/client/_app/version.json.gz +0 -0
  61. package/build/server/chunks/{0-B8IphDS9.js → 0-4QCErf9j.js} +4 -4
  62. package/build/server/chunks/{0-B8IphDS9.js.map → 0-4QCErf9j.js.map} +1 -1
  63. package/build/server/chunks/{1-BoV_CoNT.js → 1-Dsjy8Hzc.js} +3 -3
  64. package/build/server/chunks/{1-BoV_CoNT.js.map → 1-Dsjy8Hzc.js.map} +1 -1
  65. package/build/server/chunks/{10-WFJ6JJF8.js → 10-8061c8ui.js} +3 -3
  66. package/build/server/chunks/{10-WFJ6JJF8.js.map → 10-8061c8ui.js.map} +1 -1
  67. package/build/server/chunks/{15-BMEAVslz.js → 15-BRw8wtLp.js} +2 -2
  68. package/build/server/chunks/{15-BMEAVslz.js.map → 15-BRw8wtLp.js.map} +1 -1
  69. package/build/server/chunks/{17-aUXWTAiC.js → 17-3_5wsIEX.js} +3 -3
  70. package/build/server/chunks/{17-aUXWTAiC.js.map → 17-3_5wsIEX.js.map} +1 -1
  71. package/build/server/chunks/{18-BNN3EZNX.js → 18-D73Mw140.js} +3 -3
  72. package/build/server/chunks/{18-BNN3EZNX.js.map → 18-D73Mw140.js.map} +1 -1
  73. package/build/server/chunks/{2-DBakpxTW.js → 2-DM0VjzFi.js} +3 -3
  74. package/build/server/chunks/{2-DBakpxTW.js.map → 2-DM0VjzFi.js.map} +1 -1
  75. package/build/server/chunks/{3-BUt-0hHy.js → 3-B3zlFGkL.js} +3 -3
  76. package/build/server/chunks/{3-BUt-0hHy.js.map → 3-B3zlFGkL.js.map} +1 -1
  77. package/build/server/chunks/{4-MPLwROF1.js → 4-tESdMZpI.js} +3 -3
  78. package/build/server/chunks/{4-MPLwROF1.js.map → 4-tESdMZpI.js.map} +1 -1
  79. package/build/server/chunks/{5-CIV1pPT6.js → 5-BJMTlq4U.js} +3 -3
  80. package/build/server/chunks/{5-CIV1pPT6.js.map → 5-BJMTlq4U.js.map} +1 -1
  81. package/build/server/chunks/{6-DGec6RWd.js → 6-CDK2Aia6.js} +3 -3
  82. package/build/server/chunks/{6-DGec6RWd.js.map → 6-CDK2Aia6.js.map} +1 -1
  83. package/build/server/chunks/{8-F6UXMyct.js → 8-BJbDytoU.js} +3 -3
  84. package/build/server/chunks/{8-F6UXMyct.js.map → 8-BJbDytoU.js.map} +1 -1
  85. package/build/server/chunks/{9-DtsG_8TJ.js → 9-BNfIeSqk.js} +3 -3
  86. package/build/server/chunks/{9-DtsG_8TJ.js.map → 9-BNfIeSqk.js.map} +1 -1
  87. package/build/server/chunks/{AgentSidebar-DvIlda-E.js → AgentSidebar-C--dGIV5.js} +4 -4
  88. package/build/server/chunks/{AgentSidebar-DvIlda-E.js.map → AgentSidebar-C--dGIV5.js.map} +1 -1
  89. package/build/server/chunks/{Button-BLigKkGG.js → Button-oIUr2LUP.js} +2 -2
  90. package/build/server/chunks/{Button-BLigKkGG.js.map → Button-oIUr2LUP.js.map} +1 -1
  91. package/build/server/chunks/{ChatStepTrace-CqqIjRLU.js → ChatStepTrace-DQL3qlna.js} +84 -13
  92. package/build/server/chunks/ChatStepTrace-DQL3qlna.js.map +1 -0
  93. package/build/server/chunks/{ContextEditor-D5B2mO8Z.js → ContextEditor-ngRBOJVc.js} +4 -4
  94. package/build/server/chunks/{ContextEditor-D5B2mO8Z.js.map → ContextEditor-ngRBOJVc.js.map} +1 -1
  95. package/build/server/chunks/{Dropdown-7dp1qEYv.js → Dropdown-DfCyYHqi.js} +2 -2
  96. package/build/server/chunks/{Dropdown-7dp1qEYv.js.map → Dropdown-DfCyYHqi.js.map} +1 -1
  97. package/build/server/chunks/{Icon-CXFHkSIr.js → Icon-DadJPtVP.js} +2 -2
  98. package/build/server/chunks/{Icon-CXFHkSIr.js.map → Icon-DadJPtVP.js.map} +1 -1
  99. package/build/server/chunks/{Input-OdQKNdS6.js → Input-R74u4cO5.js} +2 -2
  100. package/build/server/chunks/{Input-OdQKNdS6.js.map → Input-R74u4cO5.js.map} +1 -1
  101. package/build/server/chunks/{Modal-DtVsRmmO.js → Modal-CAzVFw5x.js} +4 -4
  102. package/build/server/chunks/Modal-CAzVFw5x.js.map +1 -0
  103. package/build/server/chunks/{Tab-CD1H0E3P.js → Tab-D13L_Up5.js} +4 -4
  104. package/build/server/chunks/{Tab-CD1H0E3P.js.map → Tab-D13L_Up5.js.map} +1 -1
  105. package/build/server/chunks/{_layout.svelte-B-CkD4a0.js → _layout.svelte-BIMexfnk.js} +128 -15
  106. package/build/server/chunks/_layout.svelte-BIMexfnk.js.map +1 -0
  107. package/build/server/chunks/{_layout.svelte-C5eqrEen.js → _layout.svelte-D4EOIHJJ.js} +8 -8
  108. package/build/server/chunks/_layout.svelte-D4EOIHJJ.js.map +1 -0
  109. package/build/server/chunks/{_layout.svelte-BBFCF-xw.js → _layout.svelte-DK7yl8vI.js} +17 -17
  110. package/build/server/chunks/_layout.svelte-DK7yl8vI.js.map +1 -0
  111. package/build/server/chunks/{_layout.svelte-cPhmW5bZ.js → _layout.svelte-Dk-9LkfL.js} +10 -10
  112. package/build/server/chunks/_layout.svelte-Dk-9LkfL.js.map +1 -0
  113. package/build/server/chunks/{_page.svelte-_sXVlB3C.js → _page.svelte-BTKQMuSz.js} +88 -37
  114. package/build/server/chunks/_page.svelte-BTKQMuSz.js.map +1 -0
  115. package/build/server/chunks/{_page.svelte-DbV3HGn5.js → _page.svelte-CeO_ScC8.js} +2 -2
  116. package/build/server/chunks/{_page.svelte-DbV3HGn5.js.map → _page.svelte-CeO_ScC8.js.map} +1 -1
  117. package/build/server/chunks/{_page.svelte-BYVcy49A.js → _page.svelte-Cu8a_kUO.js} +4 -4
  118. package/build/server/chunks/{_page.svelte-BYVcy49A.js.map → _page.svelte-Cu8a_kUO.js.map} +1 -1
  119. package/build/server/chunks/{_page.svelte-BgoX8Y6N.js → _page.svelte-D5S0QjlI.js} +12 -12
  120. package/build/server/chunks/_page.svelte-D5S0QjlI.js.map +1 -0
  121. package/build/server/chunks/{_page.svelte-0J2xaeyC.js → _page.svelte-D6bSXGHX.js} +21 -172
  122. package/build/server/chunks/_page.svelte-D6bSXGHX.js.map +1 -0
  123. package/build/server/chunks/{_page.svelte-CqGOvPRO.js → _page.svelte-YoDx7gDL.js} +6 -6
  124. package/build/server/chunks/{_page.svelte-CqGOvPRO.js.map → _page.svelte-YoDx7gDL.js.map} +1 -1
  125. package/build/server/chunks/{_page.svelte-Cxh9_vUl.js → _page.svelte-ZWNBigwS.js} +15 -12
  126. package/build/server/chunks/_page.svelte-ZWNBigwS.js.map +1 -0
  127. package/build/server/chunks/{_page.svelte-C_S_qUgZ.js → _page.svelte-ej3vdYeF.js} +10 -10
  128. package/build/server/chunks/{_page.svelte-C_S_qUgZ.js.map → _page.svelte-ej3vdYeF.js.map} +1 -1
  129. package/build/server/chunks/{agents-context-rV2narXG.js → agents-context-w03Lz_6n.js} +2 -2
  130. package/build/server/chunks/{agents-context-rV2narXG.js.map → agents-context-w03Lz_6n.js.map} +1 -1
  131. package/build/server/chunks/client-WFEvX_be.js +33 -0
  132. package/build/server/chunks/client-WFEvX_be.js.map +1 -0
  133. package/build/server/chunks/{conversation-view-memory-BZguFlTt.js → conversation-view-memory-B0PllWRL.js} +2 -2
  134. package/build/server/chunks/{conversation-view-memory-BZguFlTt.js.map → conversation-view-memory-B0PllWRL.js.map} +1 -1
  135. package/build/server/chunks/{edit-workspace-context-B1nYQ5hD.js → edit-workspace-context-BEioXKWB.js} +2 -2
  136. package/build/server/chunks/{edit-workspace-context-B1nYQ5hD.js.map → edit-workspace-context-BEioXKWB.js.map} +1 -1
  137. package/build/server/chunks/error.svelte-BjIDhioc.js +15 -0
  138. package/build/server/chunks/{error.svelte-DA-yulF5.js.map → error.svelte-BjIDhioc.js.map} +1 -1
  139. package/build/server/chunks/{index-CSpGrMM2.js → index-rHCWxLFZ.js} +5 -5
  140. package/build/server/chunks/{index-CSpGrMM2.js.map → index-rHCWxLFZ.js.map} +1 -1
  141. package/build/server/chunks/{index-server-DsYEXu5n.js → index-server-BMxlf3ZC.js} +2 -2
  142. package/build/server/chunks/{index-server-DsYEXu5n.js.map → index-server-BMxlf3ZC.js.map} +1 -1
  143. package/build/server/chunks/index2-DdOgqE2_.js +24 -0
  144. package/build/server/chunks/index2-DdOgqE2_.js.map +1 -0
  145. package/build/server/chunks/{index3-qVi61CNf.js → index3-DC4GTqD1.js} +2 -2
  146. package/build/server/chunks/{index3-qVi61CNf.js.map → index3-DC4GTqD1.js.map} +1 -1
  147. package/build/server/chunks/{root-CDJwhpIB.js → root-UeqiktJA.js} +118 -4
  148. package/build/server/chunks/root-UeqiktJA.js.map +1 -0
  149. package/build/server/chunks/{state.svelte-DT7cgvTK.js → state.svelte-CLOYXiU6.js} +3 -3
  150. package/build/server/chunks/{state.svelte-DT7cgvTK.js.map → state.svelte-CLOYXiU6.js.map} +1 -1
  151. package/build/server/index.js +10 -11
  152. package/build/server/index.js.map +1 -1
  153. package/build/server/manifest.js +14 -14
  154. package/build/server/manifest.js.map +1 -1
  155. package/package.json +2 -2
  156. package/src/backend/tests/academy-json.spec.ts +65 -0
  157. package/src/backend/tests/academy.ts +83 -46
  158. package/src/backend/tests/data.ts +6 -2
  159. package/src/backend/tests/emulate-agents.ts +40 -4
  160. package/src/backend/tests/json-field-match.ts +73 -0
  161. package/src/backend/tests/router.ts +5 -1
  162. package/src/backend/tests/suite.spec.ts +54 -0
  163. package/src/backend/tests/suite.ts +20 -11
  164. package/build/client/_app/immutable/assets/0.CH-WU4JN.css +0 -1
  165. package/build/client/_app/immutable/assets/0.CH-WU4JN.css.br +0 -0
  166. package/build/client/_app/immutable/assets/0.CH-WU4JN.css.gz +0 -0
  167. package/build/client/_app/immutable/chunks/Bq2S1bnB.js +0 -3
  168. package/build/client/_app/immutable/chunks/Bq2S1bnB.js.br +0 -0
  169. package/build/client/_app/immutable/chunks/Bq2S1bnB.js.gz +0 -0
  170. package/build/client/_app/immutable/chunks/BsXicvii.js.br +0 -0
  171. package/build/client/_app/immutable/chunks/BsXicvii.js.gz +0 -0
  172. package/build/client/_app/immutable/chunks/D0wo6ydM.js.br +0 -0
  173. package/build/client/_app/immutable/chunks/D0wo6ydM.js.gz +0 -0
  174. package/build/client/_app/immutable/chunks/DThbydRF.js.br +0 -0
  175. package/build/client/_app/immutable/chunks/DThbydRF.js.gz +0 -0
  176. package/build/client/_app/immutable/entry/app.CXVcy7KZ.js.br +0 -0
  177. package/build/client/_app/immutable/entry/app.CXVcy7KZ.js.gz +0 -0
  178. package/build/client/_app/immutable/entry/start.D7WtvWtc.js +0 -1
  179. package/build/client/_app/immutable/entry/start.D7WtvWtc.js.br +0 -2
  180. package/build/client/_app/immutable/entry/start.D7WtvWtc.js.gz +0 -0
  181. package/build/client/_app/immutable/nodes/0.Bw5H_3Yi.js.br +0 -0
  182. package/build/client/_app/immutable/nodes/0.Bw5H_3Yi.js.gz +0 -0
  183. package/build/client/_app/immutable/nodes/1.I6bcxSHO.js.br +0 -0
  184. package/build/client/_app/immutable/nodes/1.I6bcxSHO.js.gz +0 -0
  185. package/build/client/_app/immutable/nodes/10.DTobYgy4.js +0 -7
  186. package/build/client/_app/immutable/nodes/10.DTobYgy4.js.br +0 -0
  187. package/build/client/_app/immutable/nodes/10.DTobYgy4.js.gz +0 -0
  188. package/build/client/_app/immutable/nodes/17.CKhOYbTb.js.br +0 -0
  189. package/build/client/_app/immutable/nodes/17.CKhOYbTb.js.gz +0 -0
  190. package/build/client/_app/immutable/nodes/18.DWPgk8Ie.js +0 -11
  191. package/build/client/_app/immutable/nodes/18.DWPgk8Ie.js.br +0 -0
  192. package/build/client/_app/immutable/nodes/18.DWPgk8Ie.js.gz +0 -0
  193. package/build/client/_app/immutable/nodes/2.DvX0h28l.js.br +0 -0
  194. package/build/client/_app/immutable/nodes/2.DvX0h28l.js.gz +0 -0
  195. package/build/client/_app/immutable/nodes/3.CGA5hdam.js.br +0 -0
  196. package/build/client/_app/immutable/nodes/3.CGA5hdam.js.gz +0 -0
  197. package/build/client/_app/immutable/nodes/4.DRd9UCon.js.br +0 -0
  198. package/build/client/_app/immutable/nodes/4.DRd9UCon.js.gz +0 -0
  199. package/build/client/_app/immutable/nodes/5.QJyyKWtD.js.br +0 -0
  200. package/build/client/_app/immutable/nodes/5.QJyyKWtD.js.gz +0 -0
  201. package/build/client/_app/immutable/nodes/6.DBbtH8p6.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/6.DBbtH8p6.js.gz +0 -0
  203. package/build/client/_app/immutable/nodes/8._Ge9D6mw.js.br +0 -0
  204. package/build/client/_app/immutable/nodes/8._Ge9D6mw.js.gz +0 -0
  205. package/build/client/_app/immutable/nodes/9.LIqPsMWp.js +0 -2
  206. package/build/client/_app/immutable/nodes/9.LIqPsMWp.js.br +0 -0
  207. package/build/client/_app/immutable/nodes/9.LIqPsMWp.js.gz +0 -0
  208. package/build/server/chunks/ChatStepTrace-CqqIjRLU.js.map +0 -1
  209. package/build/server/chunks/MockGenerator-GEpXTgX0.js +0 -117
  210. package/build/server/chunks/MockGenerator-GEpXTgX0.js.map +0 -1
  211. package/build/server/chunks/Modal-DtVsRmmO.js.map +0 -1
  212. package/build/server/chunks/_layout.svelte-B-CkD4a0.js.map +0 -1
  213. package/build/server/chunks/_layout.svelte-BBFCF-xw.js.map +0 -1
  214. package/build/server/chunks/_layout.svelte-C5eqrEen.js.map +0 -1
  215. package/build/server/chunks/_layout.svelte-cPhmW5bZ.js.map +0 -1
  216. package/build/server/chunks/_page.svelte-0J2xaeyC.js.map +0 -1
  217. package/build/server/chunks/_page.svelte-BgoX8Y6N.js.map +0 -1
  218. package/build/server/chunks/_page.svelte-Cxh9_vUl.js.map +0 -1
  219. package/build/server/chunks/_page.svelte-_sXVlB3C.js.map +0 -1
  220. package/build/server/chunks/error.svelte-DA-yulF5.js +0 -15
  221. package/build/server/chunks/events-BQ65tUJo.js +0 -120
  222. package/build/server/chunks/events-BQ65tUJo.js.map +0 -1
  223. package/build/server/chunks/index2-DO4B3D-P.js +0 -52
  224. package/build/server/chunks/index2-DO4B3D-P.js.map +0 -1
  225. package/build/server/chunks/root-CDJwhpIB.js.map +0 -1
@@ -1,7 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/DLQqXQ6R.js","../chunks/C1FmrZbK.js","../assets/editor.BMIWPGx3.css"])))=>i.map(i=>d[i]);
2
- import{c as pn,a as m,h as va,f as E,d as Ts,b as Re,t as De}from"../chunks/Ca197UDq.js";import{o as Ss,a as hn}from"../chunks/C39ai1md.js";import{p as mn,y as o,f as Me,j as e,a as xn,w as $,n as w,bq as pa,r as c,d as Xr,t as B,x as lt,c as f,s as g,o as Ce}from"../chunks/CxLomzuE.js";import{s as q}from"../chunks/DJriQKD9.js";import{i as H}from"../chunks/Buo-57fF.js";import{M as Lr,k as es}from"../chunks/CyvQWZoe.js";import{e as hr,i as ga}from"../chunks/BJTwdUYr.js";import{h as ha}from"../chunks/iAhzu4tv.js";import{a as ts,s as Mn,c as vt,r as gr,b as ma,d as ln}from"../chunks/D-B5X35l.js";import{s as he,c as Qr}from"../chunks/CAjPRvNs.js";import{b as $n}from"../chunks/BPNEONy5.js";import{g as xa,P as ba}from"../chunks/CzXNWL4m.js";import{B as Ke}from"../chunks/CVlsAO8k.js";import{C as Ln,P as ya}from"../chunks/Dslf9OwW.js";import{I as cn}from"../chunks/nYD9wsyN.js";import{T as Is,a as Zr}from"../chunks/BsDZe4N6.js";import{h as _a,I as Lt}from"../chunks/07xNIa59.js";import{r as wa,p as Er}from"../chunks/CPXdAKdv.js";import{_ as rs}from"../chunks/C1FmrZbK.js";import{b as ka}from"../chunks/BLu86SbA.js";import{e as Ca,a as Ta}from"../chunks/BU7aeYn4.js";import{t as Ee}from"../chunks/D0wo6ydM.js";import{R as Sa,a as Kr}from"../chunks/B_K7D6rX.js";const Ps=/^[a-z0-9]+(-[a-z0-9]+)*$/,bn=(t,r,s,a="")=>{const n=t.split(":");if(t.slice(0,1)==="@"){if(n.length<2||n.length>3)return null;a=n.shift().slice(1)}if(n.length>3||!n.length)return null;if(n.length>1){const h=n.pop(),x=n.pop(),k={provider:n.length>0?n[0]:a,prefix:x,name:h};return r&&!fn(k)?null:k}const i=n[0],d=i.split("-");if(d.length>1){const h={provider:a,prefix:d.shift(),name:d.join("-")};return r&&!fn(h)?null:h}if(s&&a===""){const h={provider:a,prefix:"",name:i};return r&&!fn(h,s)?null:h}return null},fn=(t,r)=>t?!!((r&&t.prefix===""||t.prefix)&&t.name):!1;function Ia(t,r){const s=t.icons,a=t.aliases||Object.create(null),n=Object.create(null);function i(d){if(s[d])return n[d]=[];if(!(d in n)){n[d]=null;const h=a[d]&&a[d].parent,x=h&&i(h);x&&(n[d]=[h].concat(x))}return n[d]}return Object.keys(s).concat(Object.keys(a)).forEach(i),n}const $s=Object.freeze({left:0,top:0,width:16,height:16}),gn=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),yn=Object.freeze({...$s,...gn}),Nn=Object.freeze({...yn,body:"",hidden:!1});function Pa(t,r){const s={};!t.hFlip!=!r.hFlip&&(s.hFlip=!0),!t.vFlip!=!r.vFlip&&(s.vFlip=!0);const a=((t.rotate||0)+(r.rotate||0))%4;return a&&(s.rotate=a),s}function ns(t,r){const s=Pa(t,r);for(const a in Nn)a in gn?a in t&&!(a in s)&&(s[a]=gn[a]):a in r?s[a]=r[a]:a in t&&(s[a]=t[a]);return s}function $a(t,r,s){const a=t.icons,n=t.aliases||Object.create(null);let i={};function d(h){i=ns(a[h]||n[h],i)}return d(r),s.forEach(d),ns(t,i)}function Ls(t,r){const s=[];if(typeof t!="object"||typeof t.icons!="object")return s;t.not_found instanceof Array&&t.not_found.forEach(n=>{r(n,null),s.push(n)});const a=Ia(t);for(const n in a){const i=a[n];i&&(r(n,$a(t,n,i)),s.push(n))}return s}const La={provider:"",aliases:{},not_found:{},...$s};function En(t,r){for(const s in r)if(s in t&&typeof t[s]!=typeof r[s])return!1;return!0}function Es(t){if(typeof t!="object"||t===null)return null;const r=t;if(typeof r.prefix!="string"||!t.icons||typeof t.icons!="object"||!En(t,La))return null;const s=r.icons;for(const n in s){const i=s[n];if(!n||typeof i.body!="string"||!En(i,Nn))return null}const a=r.aliases||Object.create(null);for(const n in a){const i=a[n],d=i.parent;if(!n||typeof d!="string"||!s[d]&&!a[d]||!En(i,Nn))return null}return r}const ss=Object.create(null);function Ea(t,r){return{provider:t,prefix:r,icons:Object.create(null),missing:new Set}}function Rr(t,r){const s=ss[t]||(ss[t]=Object.create(null));return s[r]||(s[r]=Ea(t,r))}function Rs(t,r){return Es(r)?Ls(r,(s,a)=>{a?t.icons[s]=a:t.missing.add(s)}):[]}function Ra(t,r,s){try{if(typeof s.body=="string")return t.icons[r]={...s},!0}catch{}return!1}let Yr=!1;function As(t){return typeof t=="boolean"&&(Yr=t),Yr}function Aa(t){const r=typeof t=="string"?bn(t,!0,Yr):t;if(r){const s=Rr(r.provider,r.prefix),a=r.name;return s.icons[a]||(s.missing.has(a)?null:void 0)}}function Ma(t,r){const s=bn(t,!0,Yr);if(!s)return!1;const a=Rr(s.provider,s.prefix);return r?Ra(a,s.name,r):(a.missing.add(s.name),!0)}function Na(t,r){if(typeof t!="object")return!1;if(typeof r!="string"&&(r=t.provider||""),Yr&&!r&&!t.prefix){let n=!1;return Es(t)&&(t.prefix="",Ls(t,(i,d)=>{Ma(i,d)&&(n=!0)})),n}const s=t.prefix;if(!fn({prefix:s,name:"a"}))return!1;const a=Rr(r,s);return!!Rs(a,t)}const Ms=Object.freeze({width:null,height:null}),Ns=Object.freeze({...Ms,...gn}),Da=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Oa=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function as(t,r,s){if(r===1)return t;if(s=s||100,typeof t=="number")return Math.ceil(t*r*s)/s;if(typeof t!="string")return t;const a=t.split(Da);if(a===null||!a.length)return t;const n=[];let i=a.shift(),d=Oa.test(i);for(;;){if(d){const h=parseFloat(i);isNaN(h)?n.push(i):n.push(Math.ceil(h*r*s)/s)}else n.push(i);if(i=a.shift(),i===void 0)return n.join("");d=!d}}function ja(t,r="defs"){let s="";const a=t.indexOf("<"+r);for(;a>=0;){const n=t.indexOf(">",a),i=t.indexOf("</"+r);if(n===-1||i===-1)break;const d=t.indexOf(">",i);if(d===-1)break;s+=t.slice(n+1,i).trim(),t=t.slice(0,a).trim()+t.slice(d+1)}return{defs:s,content:t}}function Fa(t,r){return t?"<defs>"+t+"</defs>"+r:r}function za(t,r,s){const a=ja(t);return Fa(a.defs,r+a.content+s)}const qa=t=>t==="unset"||t==="undefined"||t==="none";function Ha(t,r){const s={...yn,...t},a={...Ns,...r},n={left:s.left,top:s.top,width:s.width,height:s.height};let i=s.body;[s,a].forEach(O=>{const j=[],P=O.hFlip,I=O.vFlip;let N=O.rotate;P?I?N+=2:(j.push("translate("+(n.width+n.left).toString()+" "+(0-n.top).toString()+")"),j.push("scale(-1 1)"),n.top=n.left=0):I&&(j.push("translate("+(0-n.left).toString()+" "+(n.height+n.top).toString()+")"),j.push("scale(1 -1)"),n.top=n.left=0);let Y;switch(N<0&&(N-=Math.floor(N/4)*4),N=N%4,N){case 1:Y=n.height/2+n.top,j.unshift("rotate(90 "+Y.toString()+" "+Y.toString()+")");break;case 2:j.unshift("rotate(180 "+(n.width/2+n.left).toString()+" "+(n.height/2+n.top).toString()+")");break;case 3:Y=n.width/2+n.left,j.unshift("rotate(-90 "+Y.toString()+" "+Y.toString()+")");break}N%2===1&&(n.left!==n.top&&(Y=n.left,n.left=n.top,n.top=Y),n.width!==n.height&&(Y=n.width,n.width=n.height,n.height=Y)),j.length&&(i=za(i,'<g transform="'+j.join(" ")+'">',"</g>"))});const d=a.width,h=a.height,x=n.width,k=n.height;let S,R;d===null?(R=h===null?"1em":h==="auto"?k:h,S=as(R,x/k)):(S=d==="auto"?x:d,R=h===null?as(S,k/x):h==="auto"?k:h);const A={},M=(O,j)=>{qa(j)||(A[O]=j.toString())};M("width",S),M("height",R);const Q=[n.left,n.top,x,k];return A.viewBox=Q.join(" "),{attributes:A,viewBox:Q,body:i}}const Va=/\sid="(\S+)"/g,Ua="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Ja=0;function Ba(t,r=Ua){const s=[];let a;for(;a=Va.exec(t);)s.push(a[1]);if(!s.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return s.forEach(i=>{const d=typeof r=="function"?r(i):r+(Ja++).toString(),h=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+h+')([")]|\\.[a-z])',"g"),"$1"+d+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}const Dn=Object.create(null);function Qa(t,r){Dn[t]=r}function On(t){return Dn[t]||Dn[""]}function Fn(t){let r;if(typeof t.resources=="string")r=[t.resources];else if(r=t.resources,!(r instanceof Array)||!r.length)return null;return{resources:r,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:t.random===!0,index:t.index||0,dataAfterTimeout:t.dataAfterTimeout!==!1}}const zn=Object.create(null),Wr=["https://api.simplesvg.com","https://api.unisvg.com"],vn=[];for(;Wr.length>0;)Wr.length===1||Math.random()>.5?vn.push(Wr.shift()):vn.push(Wr.pop());zn[""]=Fn({resources:["https://api.iconify.design"].concat(vn)});function Ka(t,r){const s=Fn(r);return s===null?!1:(zn[t]=s,!0)}function qn(t){return zn[t]}const Wa=()=>{let t;try{if(t=fetch,typeof t=="function")return t}catch{}};let os=Wa();function Ga(t,r){const s=qn(t);if(!s)return 0;let a;if(!s.maxURL)a=0;else{let n=0;s.resources.forEach(d=>{n=Math.max(n,d.length)});const i=r+".json?icons=";a=s.maxURL-n-s.path.length-i.length}return a}function Xa(t){return t===404}const Za=(t,r,s)=>{const a=[],n=Ga(t,r),i="icons";let d={type:i,provider:t,prefix:r,icons:[]},h=0;return s.forEach((x,k)=>{h+=x.length+1,h>=n&&k>0&&(a.push(d),d={type:i,provider:t,prefix:r,icons:[]},h=x.length),d.icons.push(x)}),a.push(d),a};function Ya(t){if(typeof t=="string"){const r=qn(t);if(r)return r.path}return"/"}const eo=(t,r,s)=>{if(!os){s("abort",424);return}let a=Ya(r.provider);switch(r.type){case"icons":{const i=r.prefix,h=r.icons.join(","),x=new URLSearchParams({icons:h});a+=i+".json?"+x.toString();break}case"custom":{const i=r.uri;a+=i.slice(0,1)==="/"?i.slice(1):i;break}default:s("abort",400);return}let n=503;os(t+a).then(i=>{const d=i.status;if(d!==200){setTimeout(()=>{s(Xa(d)?"abort":"next",d)});return}return n=501,i.json()}).then(i=>{if(typeof i!="object"||i===null){setTimeout(()=>{i===404?s("abort",i):s("next",n)});return}setTimeout(()=>{s("success",i)})}).catch(()=>{s("next",n)})},to={prepare:Za,send:eo};function Ds(t,r){t.forEach(s=>{const a=s.loaderCallbacks;a&&(s.loaderCallbacks=a.filter(n=>n.id!==r))})}function ro(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout(()=>{t.pendingCallbacksFlag=!1;const r=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!r.length)return;let s=!1;const a=t.provider,n=t.prefix;r.forEach(i=>{const d=i.icons,h=d.pending.length;d.pending=d.pending.filter(x=>{if(x.prefix!==n)return!0;const k=x.name;if(t.icons[k])d.loaded.push({provider:a,prefix:n,name:k});else if(t.missing.has(k))d.missing.push({provider:a,prefix:n,name:k});else return s=!0,!0;return!1}),d.pending.length!==h&&(s||Ds([t],i.id),i.callback(d.loaded.slice(0),d.missing.slice(0),d.pending.slice(0),i.abort))})}))}let no=0;function so(t,r,s){const a=no++,n=Ds.bind(null,s,a);if(!r.pending.length)return n;const i={id:a,icons:r,callback:t,abort:n};return s.forEach(d=>{(d.loaderCallbacks||(d.loaderCallbacks=[])).push(i)}),n}function ao(t){const r={loaded:[],missing:[],pending:[]},s=Object.create(null);t.sort((n,i)=>n.provider!==i.provider?n.provider.localeCompare(i.provider):n.prefix!==i.prefix?n.prefix.localeCompare(i.prefix):n.name.localeCompare(i.name));let a={provider:"",prefix:"",name:""};return t.forEach(n=>{if(a.name===n.name&&a.prefix===n.prefix&&a.provider===n.provider)return;a=n;const i=n.provider,d=n.prefix,h=n.name,x=s[i]||(s[i]=Object.create(null)),k=x[d]||(x[d]=Rr(i,d));let S;h in k.icons?S=r.loaded:d===""||k.missing.has(h)?S=r.missing:S=r.pending;const R={provider:i,prefix:d,name:h};S.push(R)}),r}function oo(t,r=!0,s=!1){const a=[];return t.forEach(n=>{const i=typeof n=="string"?bn(n,r,s):n;i&&a.push(i)}),a}const io={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function lo(t,r,s,a){const n=t.resources.length,i=t.random?Math.floor(Math.random()*n):t.index;let d;if(t.random){let L=t.resources.slice(0);for(d=[];L.length>1;){const J=Math.floor(Math.random()*L.length);d.push(L[J]),L=L.slice(0,J).concat(L.slice(J+1))}d=d.concat(L)}else d=t.resources.slice(i).concat(t.resources.slice(0,i));const h=Date.now();let x="pending",k=0,S,R=null,A=[],M=[];typeof a=="function"&&M.push(a);function Q(){R&&(clearTimeout(R),R=null)}function O(){x==="pending"&&(x="aborted"),Q(),A.forEach(L=>{L.status==="pending"&&(L.status="aborted")}),A=[]}function j(L,J){J&&(M=[]),typeof L=="function"&&M.push(L)}function P(){return{startTime:h,payload:r,status:x,queriesSent:k,queriesPending:A.length,subscribe:j,abort:O}}function I(){x="failed",M.forEach(L=>{L(void 0,S)})}function N(){A.forEach(L=>{L.status==="pending"&&(L.status="aborted")}),A=[]}function Y(L,J,Ve){const We=J!=="success";switch(A=A.filter(be=>be!==L),x){case"pending":break;case"failed":if(We||!t.dataAfterTimeout)return;break;default:return}if(J==="abort"){S=Ve,I();return}if(We){S=Ve,A.length||(d.length?Ae():I());return}if(Q(),N(),!t.random){const be=t.resources.indexOf(L.resource);be!==-1&&be!==t.index&&(t.index=be)}x="completed",M.forEach(be=>{be(Ve)})}function Ae(){if(x!=="pending")return;Q();const L=d.shift();if(L===void 0){if(A.length){R=setTimeout(()=>{Q(),x==="pending"&&(N(),I())},t.timeout);return}I();return}const J={status:"pending",resource:L,callback:(Ve,We)=>{Y(J,Ve,We)}};A.push(J),k++,R=setTimeout(Ae,t.rotate),s(L,r,J.callback)}return setTimeout(Ae),P}function Os(t){const r={...io,...t};let s=[];function a(){s=s.filter(h=>h().status==="pending")}function n(h,x,k){const S=lo(r,h,x,(R,A)=>{a(),k&&k(R,A)});return s.push(S),S}function i(h){return s.find(x=>h(x))||null}return{query:n,find:i,setIndex:h=>{r.index=h},getIndex:()=>r.index,cleanup:a}}function is(){}const Rn=Object.create(null);function co(t){if(!Rn[t]){const r=qn(t);if(!r)return;const s=Os(r),a={config:r,redundancy:s};Rn[t]=a}return Rn[t]}function uo(t,r,s){let a,n;if(typeof t=="string"){const i=On(t);if(!i)return s(void 0,424),is;n=i.send;const d=co(t);d&&(a=d.redundancy)}else{const i=Fn(t);if(i){a=Os(i);const d=t.resources?t.resources[0]:"",h=On(d);h&&(n=h.send)}}return!a||!n?(s(void 0,424),is):a.query(r,n,s)().abort}function ls(){}function fo(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout(()=>{t.iconsLoaderFlag=!1,ro(t)}))}function vo(t){const r=[],s=[];return t.forEach(a=>{(a.match(Ps)?r:s).push(a)}),{valid:r,invalid:s}}function Gr(t,r,s){function a(){const n=t.pendingIcons;r.forEach(i=>{n&&n.delete(i),t.icons[i]||t.missing.add(i)})}if(s&&typeof s=="object")try{if(!Rs(t,s).length){a();return}}catch(n){console.error(n)}a(),fo(t)}function cs(t,r){t instanceof Promise?t.then(s=>{r(s)}).catch(()=>{r(null)}):r(t)}function po(t,r){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(r).sort():t.iconsToLoad=r,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout(()=>{t.iconsQueueFlag=!1;const{provider:s,prefix:a}=t,n=t.iconsToLoad;if(delete t.iconsToLoad,!n||!n.length)return;const i=t.loadIcon;if(t.loadIcons&&(n.length>1||!i)){cs(t.loadIcons(n,a,s),S=>{Gr(t,n,S)});return}if(i){n.forEach(S=>{const R=i(S,a,s);cs(R,A=>{const M=A?{prefix:a,icons:{[S]:A}}:null;Gr(t,[S],M)})});return}const{valid:d,invalid:h}=vo(n);if(h.length&&Gr(t,h,null),!d.length)return;const x=a.match(Ps)?On(s):null;if(!x){Gr(t,d,null);return}x.prepare(s,a,d).forEach(S=>{uo(s,S,R=>{Gr(t,S.icons,R)})})}))}const go=(t,r)=>{const s=oo(t,!0,As()),a=ao(s);if(!a.pending.length){let x=!0;return r&&setTimeout(()=>{x&&r(a.loaded,a.missing,a.pending,ls)}),()=>{x=!1}}const n=Object.create(null),i=[];let d,h;return a.pending.forEach(x=>{const{provider:k,prefix:S}=x;if(S===h&&k===d)return;d=k,h=S,i.push(Rr(k,S));const R=n[k]||(n[k]=Object.create(null));R[S]||(R[S]=[])}),a.pending.forEach(x=>{const{provider:k,prefix:S,name:R}=x,A=Rr(k,S),M=A.pendingIcons||(A.pendingIcons=new Set);M.has(R)||(M.add(R),n[k][S].push(R))}),i.forEach(x=>{const k=n[x.provider][x.prefix];k.length&&po(x,k)}),r?so(r,a,i):ls};function ho(t,r){const s={...t};for(const a in r){const n=r[a],i=typeof n;a in Ms?(n===null||n&&(i==="string"||i==="number"))&&(s[a]=n):i===typeof s[a]&&(s[a]=a==="rotate"?n%4:n)}return s}const mo=/[\s,]+/;function xo(t,r){r.split(mo).forEach(s=>{switch(s.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}function bo(t,r=0){const s=t.replace(/^-?[0-9.]*/,"");function a(n){for(;n<0;)n+=4;return n%4}if(s===""){const n=parseInt(t);return isNaN(n)?0:a(n)}else if(s!==t){let n=0;switch(s){case"%":n=25;break;case"deg":n=90}if(n){let i=parseFloat(t.slice(0,t.length-s.length));return isNaN(i)?0:(i=i/n,i%1===0?a(i):0)}}return r}function yo(t,r){let s=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const a in r)s+=" "+a+'="'+r[a]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+s+">"+t+"</svg>"}function _o(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function wo(t){return"data:image/svg+xml,"+_o(t)}function ko(t){return'url("'+wo(t)+'")'}const us={...Ns,inline:!1},Co={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},To={display:"inline-block"},jn={"background-color":"currentColor"},js={"background-color":"transparent"},ds={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},fs={"-webkit-mask":jn,mask:jn,background:js};for(const t in fs){const r=fs[t];for(const s in ds)r[t+"-"+s]=ds[s]}function So(t){return t+(t.match(/^[-0-9.]+$/)?"px":"")}function Io(t,r){const s=ho(us,r),a=r.mode||"svg",n=a==="svg"?{...Co}:{};t.body.indexOf("xlink:")===-1&&delete n["xmlns:xlink"];let i=typeof r.style=="string"?r.style:"";for(let P in r){const I=r[P];if(I!==void 0)switch(P){case"icon":case"style":case"onLoad":case"mode":case"ssr":break;case"inline":case"hFlip":case"vFlip":s[P]=I===!0||I==="true"||I===1;break;case"flip":typeof I=="string"&&xo(s,I);break;case"color":i=i+(i.length>0&&i.trim().slice(-1)!==";"?";":"")+"color: "+I+"; ";break;case"rotate":typeof I=="string"?s[P]=bo(I):typeof I=="number"&&(s[P]=I);break;case"ariaHidden":case"aria-hidden":I!==!0&&I!=="true"&&delete n["aria-hidden"];break;default:if(P.slice(0,3)==="on:")break;us[P]===void 0&&(n[P]=I)}}const d=Ha(t,s),h=d.attributes;if(s.inline&&(i="vertical-align: -0.125em; "+i),a==="svg"){Object.assign(n,h),i!==""&&(n.style=i);let P=0,I=r.id;return typeof I=="string"&&(I=I.replace(/-/g,"_")),{svg:!0,attributes:n,body:Ba(d.body,I?()=>I+"ID"+P++:"iconifySvelte")}}const{body:x,width:k,height:S}=t,R=a==="mask"||(a==="bg"?!1:x.indexOf("currentColor")!==-1),A=yo(x,{...h,width:k+"",height:S+""}),Q={"--svg":ko(A)},O=P=>{const I=h[P];I&&(Q[P]=So(I))};O("width"),O("height"),Object.assign(Q,To,R?jn:js);let j="";for(const P in Q)j+=P+": "+Q[P]+";";return n.style=j+i,{svg:!1,attributes:n}}As(!0);Qa("",to);if(typeof document<"u"&&typeof window<"u"){const t=window;if(t.IconifyPreload!==void 0){const r=t.IconifyPreload,s="Invalid IconifyPreload syntax.";typeof r=="object"&&r!==null&&(r instanceof Array?r:[r]).forEach(a=>{try{(typeof a!="object"||a===null||a instanceof Array||typeof a.icons!="object"||typeof a.prefix!="string"||!Na(a))&&console.error(s)}catch{console.error(s)}})}if(t.IconifyProviders!==void 0){const r=t.IconifyProviders;if(typeof r=="object"&&r!==null)for(let s in r){const a="IconifyProviders["+s+"] is invalid.";try{const n=r[s];if(typeof n!="object"||!n||n.resources===void 0)continue;Ka(s,n)||console.error(a)}catch{console.error(a)}}}}function Po(t,r,s,a,n){function i(){r.loading&&(r.loading.abort(),r.loading=null)}if(typeof t=="object"&&t!==null&&typeof t.body=="string")return r.name="",i(),{data:{...yn,...t}};let d;if(typeof t!="string"||(d=bn(t,!1,!0))===null)return i(),null;const h=Aa(d);if(!h)return s&&(!r.loading||r.loading.name!==t)&&(i(),r.name="",r.loading={name:t,abort:go([d],a)}),null;i(),r.name!==t&&(r.name=t,n&&!r.destroyed&&setTimeout(()=>{n(t)}));const x=["iconify"];return d.prefix!==""&&x.push("iconify--"+d.prefix),d.provider!==""&&x.push("iconify--"+d.provider),{data:h,classes:x}}function $o(t,r){return t?Io({...yn,...t},r):null}var Lo=new Set(["$$slots","$$events","$$legacy"]),Eo=va("<svg></svg>"),Ro=E("<span></span>");function Et(t,r){mn(r,!0);const s={name:"",loading:null,destroyed:!1},a=wa(r,Lo);let n=$(!1),i=$(0),d=w(()=>!!r.ssr||e(n)),h=w(()=>(e(i),Po(r.icon,s,e(d),k,r.onload))),x=w(()=>{const M=e(h)?$o(e(h).data,a):null;return M&&e(h).classes&&(M.attributes.class=(typeof a.class=="string"?a.class+" ":"")+e(h).classes.join(" ")),M});function k(){pa(i)}Ss(()=>{o(n,!0)}),hn(()=>{s.destroyed=!0,s.loading&&(s.loading.abort(),s.loading=null)});var S=pn(),R=Me(S);{var A=M=>{var Q=pn(),O=Me(Q);{var j=I=>{var N=Eo();ts(N,()=>({...e(x).attributes})),_a(N,()=>e(x).body,!0),c(N),m(I,N)},P=I=>{var N=Ro();ts(N,()=>({...e(x).attributes})),m(I,N)};H(O,I=>{e(x).svg?I(j):I(P,-1)})}m(M,Q)};H(R,M=>{e(x)&&M(A)})}m(t,S),xn()}var Ao=E('<div class="w-full"></div>');function vs(t,r){mn(r,!0);let s=$(null),a=null,n=[],i=null,d=!1,h,x=Er(r,"language",3,"plaintext"),k=Er(r,"height",3,120),S=Er(r,"readOnly",3,!1),R=[],A=$(!1);function M(O){e(A)||O.stopPropagation()}Ss(async()=>{var Y,Ae;if(!h)return;h.addEventListener("wheel",M,{capture:!0,passive:!0}),Ca();const O=await rs(()=>import("../chunks/DLQqXQ6R.js").then(L=>L.e),__vite__mapDeps([0,1,2]),import.meta.url);if(d)return;i=O,Ta(O);const j=x()==="json"?"json":x()==="markdown"?"markdown":"plaintext";o(s,O.editor.create(h,{value:r.value??"",language:j,theme:"bosun-dark",lineNumbers:"off",fontSize:14,fontFamily:'ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',automaticLayout:!0,minimap:{enabled:!1},wordBasedSuggestions:"off",wordWrap:"bounded",wordWrapColumn:75,wrappingStrategy:"advanced",scrollbar:{vertical:"hidden",horizontal:"hidden"},overviewRulerLanes:0,renderLineHighlight:"none",folding:!1,renderWhitespace:"none",padding:{top:4,bottom:4},readOnly:S(),domReadOnly:S(),matchBrackets:"never",bracketPairColorization:{enabled:!1},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},occurrencesHighlight:"off",selectionHighlight:!1,unicodeHighlight:{ambiguousCharacters:!1,nonBasicASCII:!1,invisibleCharacters:!1,includeStrings:!1,includeComments:!1},autoClosingQuotes:"never"}),!0);const P=e(s);if(!P)return;a=P.getModel(),n.push(P.onDidFocusEditorText(()=>{o(A,!0)})),n.push(P.onDidChangeModelContent(()=>{var L;try{const J=P.getValue();if(J===r.value)return;(L=r.onChange)==null||L.call(r,J)}catch(J){console.error("MiniEditor change error",J)}})),n.push(P.onDidBlurEditorText(()=>{var L;o(A,!1);try{(L=r.onBlur)==null||L.call(r,P.getValue())}catch{}}));const I=(Y=P.onDidFocusEditorWidget)==null?void 0:Y.call(P,()=>{o(A,!0)});I&&n.push(I);const N=(Ae=P.onDidBlurEditorWidget)==null?void 0:Ae.call(P,()=>{var L;o(A,!1);try{(L=r.onBlur)==null||L.call(r,P.getValue())}catch{}});N&&n.push(N)}),hn(()=>{d=!0;try{h.removeEventListener("wheel",M,{capture:!0})}catch{}for(const j of n)try{j.dispose()}catch{}n=[];const O=a;a=null;try{if(e(s)){try{e(s).setModel(null)}catch{}e(s).dispose()}}finally{o(s,null)}try{O==null||O.dispose()}catch{}i=null}),Xr(()=>{if(!e(s))return;const O=x()==="json"?"json":x()==="markdown"?"markdown":"plaintext",j=e(s).getModel();if(!j||j.getLanguageId()===O)return;let P=!1;return(i?Promise.resolve(i):rs(()=>import("../chunks/DLQqXQ6R.js").then(N=>N.e),__vite__mapDeps([0,1,2]),import.meta.url)).then(N=>{if(!P)try{N.editor.setModelLanguage(j,O)}catch{}}),()=>{P=!0}}),Xr(()=>{e(s)&&r.value!==e(s).getValue()&&e(s).setValue(r.value??"")}),Xr(()=>{var O;(O=e(s))==null||O.updateOptions({readOnly:S(),domReadOnly:S()})}),Xr(()=>{const O=r.highlights;if(!e(s)||!a||!i)return;const j=i,P=a.getLineCount(),I=[];for(const N of O??[]){const Y=Math.max(1,Math.min(P,Number(N.startLine)||1)),Ae=Math.max(Y,Math.min(P,Number(N.endLine)||Y)),L=a.getLineMaxColumn(Ae);if(I.push({range:new j.Range(Y,1,Ae,L),options:{inlineClassName:N.className}}),N.className==="test-expected-output")for(let J=Y;J<=Ae;J++){const Ve=a.getLineContent(J),We=/<\/?[A-Za-z][^>]*?>/g;let be;for(;be=We.exec(Ve);){const ye=(be.index??0)+1,pt=Math.min(a.getLineMaxColumn(J),ye+String(be[0]??"").length);pt<=ye||I.push({range:new j.Range(J,ye,J,pt),options:{inlineClassName:"test-expected-output-tag"}})}}}R=e(s).deltaDecorations(R,I)});var Q=Ao();ka(Q,O=>h=O,()=>h),B(()=>Mn(Q,`height:${k()}px`)),m(t,Q),xn()}var Mo=E('<div><div class="mb-1 text-xs text-rc-gray-300"> </div> <div class="whitespace-pre-wrap break-words text-rc-gray-100"> </div></div>'),No=E('<div class="flex flex-col gap-3"></div>'),ps=E('<div class="p-2 text-rc-gray-300">Loading…</div>'),gs=E('<div class="p-2 text-red-400"> </div>'),Do=E('<div class="flex h-full flex-col gap-2"><div class="grid grid-cols-2 gap-2"><div class="flex items-center justify-start"><!></div> <div class="flex items-center justify-end"><!></div></div> <!></div>'),Oo=E('<div class="h-[55vh]"><!></div>'),jo=E("<!> <!> <!>",1),Fo=E('<!> <div class="mt-2 h-[55vh]"><!></div>',1),zo=E('<div class="mt-1 flex flex-wrap items-center gap-x-2 gap-y-1"><button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400"> </button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Analyze</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Regenerate</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">See variants</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Prompt</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Conversation</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Context</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Debug</button></div> <!> <!> <!>',1);function hs(t,r){mn(r,!0);let s=Er(r,"actionsDisabled",3,!1),a=Er(r,"addTestDisabled",3,!1),n=Er(r,"analyzeDisabled",3,!1),i=$(!1),d=$(!1),h=$(!1),x=$("errors"),k=$("prompt"),S=$(null),R=$(null),A=$(null),M=$(null),Q=$(null),O=$(null),j=$(null),P=$(lt({prompt:!1,conversation:!1,context:!1,errors:!1,traces:!1,logs:!1})),I=$(lt({prompt:null,conversation:null,context:null,errors:null,traces:null,logs:null})),N=0,Y=$(null),Ae=null,L=$("idle"),J=null;function Ve(C){try{return{raw:C,formatted:JSON.stringify(JSON.parse(C),null,2)}}catch{return{raw:C,formatted:C}}}async function We(C){const G=await Ee.tests.resultEntry.query({agent:C.agent,region:r.region,testId:C.id,resultKey:C.key,timestamp:C.timestamp,index:C.run});return Ve(G)}function be(C){return C==="prompt"?e(R)!==null&&e(S)!==null:C==="conversation"?e(A)!==null:C==="context"?e(M)!==null:C==="errors"?e(Q)!==null:C==="traces"?e(O)!==null:e(j)!==null}async function ye(C){if(be(C)||e(P)[C])return;const G=N;o(P,{...e(P),[C]:!0},!0),o(I,{...e(I),[C]:null},!0);try{if(C==="prompt"){const[Ne,Te]=await Promise.all([We(r.links.renderedPrompt),We(r.links.receivedPrompt)]);if(G!==N)return;o(S,Ne,!0),o(R,Te,!0)}else{const Ne=C==="conversation"?r.links.conversation:C==="context"?r.links.context:C==="errors"?r.links.errors:C==="traces"?r.links.traces:r.links.logs,Te=await We(Ne);if(G!==N)return;C==="conversation"?o(A,Te,!0):C==="context"?o(M,Te,!0):C==="errors"?o(Q,Te,!0):C==="traces"?o(O,Te,!0):o(j,Te,!0)}}catch(Ne){if(G!==N)return;console.error(Ne),o(I,{...e(I),[C]:"Failed to load content"},!0)}finally{G===N&&o(P,{...e(P),[C]:!1},!0)}}function pt(){o(S,null),o(R,null),o(A,null),o(M,null),o(Q,null),o(O,null),o(j,null),o(P,{prompt:!1,conversation:!1,context:!1,errors:!1,traces:!1,logs:!1},!0),o(I,{prompt:null,conversation:null,context:null,errors:null,traces:null,logs:null},!0)}function Ht(){N+=1,o(x,"errors"),pt(),o(i,!0),ye("errors")}function wt(C){N+=1,o(k,C,!0),pt(),o(d,!0),ye(C)}function gt(C){return C==="prompt"?"Prompt":C==="conversation"?"Conversation":"Context"}function rr(C){o(x,C,!0),ye(C)}async function Vt(){if(e(L)!=="adding"){o(L,"adding");try{await r.onAddTest(),o(L,"added")}catch(C){console.error("Failed to add test",C),o(L,"failed")}J&&clearTimeout(J),J=window.setTimeout(()=>{o(L,"idle"),J=null},2500)}}async function et(C){if(!(!e(R)||!e(S)))try{const G=C==="raw"?e(R).raw:e(S).raw;await navigator.clipboard.writeText(G),o(Y,C,!0),Ae&&clearTimeout(Ae),Ae=window.setTimeout(()=>{o(Y,null),Ae=null},2e3)}catch(G){console.error("Failed to copy prompt",G)}}hn(()=>{N+=1,Ae&&clearTimeout(Ae),J&&clearTimeout(J)});var en=zo(),Ar=Me(en),nr=f(Ar),Mr=f(nr,!0);c(nr);var Ut=g(nr,2),sr=g(Ut,2),Jt=g(sr,2),Nr=g(Jt,2),Dr=g(Nr,2),Or=g(Dr,2),F=g(Or,2);c(Ar);var te=g(Ar,2);{var Bt=C=>{{const G=Te=>{var ht=No();hr(ht,21,()=>r.variants,kt=>kt.index,(kt,tt)=>{var oe=Mo(),_e=f(oe),At=f(_e);c(_e);var xt=g(_e,2),ce=f(xt,!0);c(xt),c(oe),B(()=>{he(oe,1,`rounded-lg border p-3 ${e(tt).index===r.runIndex?"border-rc-green-450":"border-rc-gray-650"} ${e(tt).success?"bg-rc-green-700/80":"bg-rc-gray-900/60"}`),q(At,`Run ${e(tt).index??""}${e(tt).index===r.runIndex?" • selected":""}`),q(ce,e(tt).text||e(tt).errors||"—")}),m(kt,oe)}),c(ht),m(Te,ht)};let Ne=w(()=>`Variants — ${r.scenario||"Test"}`);Lr(C,{get title(){return e(Ne)},class:"!w-[80vw] !max-w-4xl",get open(){return e(h)},set open(Te){o(h,Te,!0)},children:G,$$slots:{default:!0}})}};H(te,C=>{e(h)&&C(Bt)})}var Rt=g(te,2);{var mr=C=>{{const G=Te=>{var ht=Oo(),kt=f(ht);{var tt=ce=>{var K=ps();m(ce,K)},oe=ce=>{var K=gs(),W=f(K,!0);c(K),B(()=>q(W,e(I)[e(k)])),m(ce,K)},_e=ce=>{var K=Do(),W=f(K),ue=f(W),Ct=f(ue);{let Ge=w(()=>!e(R).raw.trim());Ke(Ct,{variant:"secondary",size:"small",get disabled(){return e(Ge)},onclick:()=>et("raw"),children:(bt,Mt)=>{Ce();var Nt=De();B(()=>q(Nt,e(Y)==="raw"?"Copied raw prompt":"Copy raw prompt")),m(bt,Nt)},$$slots:{default:!0}})}c(ue);var Qt=g(ue,2),rt=f(Qt);{let Ge=w(()=>!e(S).raw.trim());Ke(rt,{variant:"secondary",size:"small",get disabled(){return e(Ge)},onclick:()=>et("rendered"),children:(bt,Mt)=>{Ce();var Nt=De();B(()=>q(Nt,e(Y)==="rendered"?"Copied rendered prompt":"Copy rendered prompt")),m(bt,Nt)},$$slots:{default:!0}})}c(Qt),c(W);var xr=g(W,2);Sa(xr,{get original(){return e(R).formatted},get modified(){return e(S).formatted},language:"markdown",class:"min-h-0 flex-1"}),c(K),m(ce,K)},At=ce=>{{let K=w(()=>e(A).formatted||"—");Kr(ce,{get value(){return e(K)},language:"text",class:"h-full"})}},xt=ce=>{{let K=w(()=>e(M).formatted||"—");Kr(ce,{get value(){return e(K)},language:"json",class:"h-full"})}};H(kt,ce=>{e(P)[e(k)]?ce(tt):e(I)[e(k)]?ce(oe,1):e(k)==="prompt"&&e(R)&&e(S)?ce(_e,2):e(k)==="conversation"&&e(A)?ce(At,3):e(k)==="context"&&e(M)&&ce(xt,4)})}c(ht),m(Te,ht)};let Ne=w(()=>`${gt(e(k))} — ${r.scenario||"Test"} (run ${r.runIndex})`);Lr(C,{get title(){return e(Ne)},class:"!w-[85vw] !max-w-5xl",get open(){return e(d)},set open(Te){o(d,Te,!0)},children:G,$$slots:{default:!0}})}};H(Rt,C=>{e(d)&&C(mr)})}var jr=g(Rt,2);{var ar=C=>{{const G=Te=>{var ht=Fo(),kt=Me(ht);Is(kt,{get value(){return e(x)},ariaLabel:"Test run debug tabs",onChange:({value:W})=>rr(W),children:(W,ue)=>{var Ct=jo(),Qt=Me(Ct);Zr(Qt,{value:"errors",class:"px-3",children:(Ge,bt)=>{Ce();var Mt=De("Errors");m(Ge,Mt)},$$slots:{default:!0}});var rt=g(Qt,2);Zr(rt,{value:"traces",class:"px-3",children:(Ge,bt)=>{Ce();var Mt=De("Traces");m(Ge,Mt)},$$slots:{default:!0}});var xr=g(rt,2);Zr(xr,{value:"logs",class:"px-3",children:(Ge,bt)=>{Ce();var Mt=De("Logs");m(Ge,Mt)},$$slots:{default:!0}}),m(W,Ct)},$$slots:{default:!0}});var tt=g(kt,2),oe=f(tt);{var _e=W=>{var ue=ps();m(W,ue)},At=W=>{var ue=gs(),Ct=f(ue,!0);c(ue),B(()=>q(Ct,e(I)[e(x)])),m(W,ue)},xt=W=>{{let ue=w(()=>e(Q).formatted||"—");Kr(W,{get value(){return e(ue)},language:"text",class:"h-full"})}},ce=W=>{{let ue=w(()=>e(O).formatted||"—");Kr(W,{get value(){return e(ue)},language:"json",class:"h-full"})}},K=W=>{{let ue=w(()=>e(j).formatted||"—");Kr(W,{get value(){return e(ue)},language:"text",class:"h-full"})}};H(oe,W=>{e(P)[e(x)]?W(_e):e(I)[e(x)]?W(At,1):e(x)==="errors"&&e(Q)?W(xt,2):e(x)==="traces"&&e(O)?W(ce,3):e(x)==="logs"&&e(j)&&W(K,4)})}c(tt),m(Te,ht)};let Ne=w(()=>`Debug — ${r.scenario||"Test"} (run ${r.runIndex})`);Lr(C,{get title(){return e(Ne)},class:"!w-[85vw] !max-w-5xl",get open(){return e(i)},set open(Te){o(i,Te,!0)},children:G,$$slots:{default:!0}})}};H(jr,C=>{e(i)&&C(ar)})}B(()=>{nr.disabled=s()||a()||e(L)==="adding",q(Mr,e(L)==="adding"?"Adding…":e(L)==="added"?"Added":e(L)==="failed"?"Failed":"Add test"),Ut.disabled=n(),sr.disabled=s()}),Re("click",nr,Vt),Re("click",Ut,function(...C){var G;(G=r.onAnalyze)==null||G.apply(this,C)}),Re("click",sr,function(...C){var G;(G=r.onRegenerate)==null||G.apply(this,C)}),Re("click",Jt,()=>o(h,!0)),Re("click",Nr,()=>wt("prompt")),Re("click",Dr,()=>wt("conversation")),Re("click",Or,()=>wt("context")),Re("click",F,Ht),m(t,en),xn()}Ts(["click"]);function qo(t){const r=t<0?-1:1,s=Math.abs(t),a=.254829592,n=-.284496736,i=1.421413741,d=-1.453152027,h=1.061405429,k=1/(1+.3275911*s),S=1-((((h*k+d)*k+i)*k+n)*k+a)*k*Math.exp(-s*s);return r*S}function Ho(t){return .5*(1+qo(t/Math.SQRT2))}function Fs(t,r,s,a){if(!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(s)||!Number.isFinite(a)||r<=0||a<=0)return null;const n=t/r,i=s/a,d=(t+s)/(r+a),h=Math.sqrt(d*(1-d)*(1/r+1/a));if(!Number.isFinite(h)||h<=0)return null;const x=(i-n)/h,k=2*(1-Ho(Math.abs(x)));return Math.max(0,Math.min(1,k))}function zs(t){return t==="higher"?"significantly better":"significantly worse"}function un(t,r){if(!t||t.isOld)return null;const s=t.total_runs;if(s<=0)return null;const a=t.previous,n=a&&a.total_runs>0?a.success_count/a.total_runs:null,i=t.successes/s,d=n===null||i>=n?"higher":"lower",h=(()=>{if(s<5||!a||a.total_runs<=0)return!1;const M=Fs(a.success_count,a.total_runs,t.successes,s);return M!==null&&M<.05})(),x=n===1&&i<1,k=n!==null&&n<1&&i===1,S=h?zs(d):x?"Not 100% anymore":k?"100% now":void 0,R=Number.isFinite(r)&&r>0&&s<r;if(!R&&!S)return null;const A=R?Math.round(i*r):void 0;return{showExpected:R,expectedSuccesses:A,expectedRuns:r,significant:h,direction:d,comparisonLabel:S}}var Vo=E('<link rel="preload" href="/ui/arrow_tests.svg" as="image"/>'),ms=E("<!> <!>",1),xs=E('<div class="p-2 text-gray-300">Loading…</div>'),bs=E('<div class="p-2 text-rc-red-600"> </div>'),Uo=E('<div class="p-2 text-gray-400">No previous runs</div>'),Jo=E('<div class="border-rc-red-700 rounded border bg-rc-gray-900 px-3 py-2 text-sm text-rc-red-600"> </div>'),Bo=E('<button type="button"><div class="flex items-baseline justify-between gap-2"><span class="font-semibold text-rc-gray-100"> </span> <span class="text-sm text-rc-gray-400"> </span></div> <div class="mt-1 text-sm text-rc-gray-400"> </div> <div class="mt-2 flex items-center justify-between gap-2 text-sm"><span> </span> <span class="text-rc-gray-300"> </span></div></button>'),Qo=E('<div class="flex flex-col gap-2"><!> <!></div>'),ys=E('<div class="p-3 text-gray-400">—</div>'),dn=E('<span class="ml-2 text-rc-gray-400"> </span>'),Ko=E("<span> </span> <!>",1),_s=E('<span class="text-rc-gray-500">—</span>'),ws=E('<div class="mt-1 px-1 text-sm font-semibold text-rc-gray-300"><!></div>'),ks=E('<div class="flex flex-col gap-2"><div> </div> <div><div class="flex items-center gap-0"><!> <span> </span></div> <!></div></div>'),Wo=E('<div class="flex flex-wrap items-center gap-3"><div class="text-lg font-extrabold"><span> </span> <!></div></div> <div class="mt-3 flex flex-col gap-4"></div>',1),Go=E('<div class="flex flex-col gap-2 p-2"><input class="card-input-subtle pointer-events-none svelte-rdft55" type="text" placeholder="Author" readonly=""/> <div class="flex items-center gap-2"><input class="rc-input w-44 svelte-rdft55" type="text" readonly=""/> <input class="rc-input min-w-0 flex-1 svelte-rdft55" type="text" placeholder="Assertion value" readonly=""/></div> <div class="flex flex-wrap items-center gap-3"><div class="inline-flex h-8 overflow-hidden rounded border border-rc-gray-600 bg-rc-gray-900 p-0.5" aria-label="Capture mode"><button type="button" disabled="">Immediate</button> <button type="button" disabled="">Final</button></div> <!> <!></div> <!></div> <div class="rounded-b border-t border-rc-gray-700 bg-rc-gray-980 p-2"><!></div>',1),Xo=E('<div class="border-b border-rc-gray-700 p-2"><div class="grid grid-cols-[2.25rem,1fr] gap-2"><div class="flex flex-col items-center gap-1 pt-1"><!></div> <div class="min-w-0"><div><div><div class="grid grid-cols-[1fr,2.25rem] items-center gap-2"><input class="card-input-title pointer-events-none svelte-rdft55" type="text" placeholder="Scenario" readonly=""/> <button class="icon-btn justify-self-end text-gray-300 hover:text-gray-100 svelte-rdft55"><!></button></div> <!></div> <!></div></div></div></div>'),Cs=E('<div class="flex flex-col space-y-5"></div>'),Zo=E('<div class="flex flex-col gap-3"><div class="flex flex-wrap items-center justify-between gap-3 border-b border-rc-gray-700 pb-3"><div class="flex flex-wrap items-center gap-3"><div class="flex items-center gap-2"><label class="text-rc-gray-300">Repeats</label> <!></div> <div class="flex items-center gap-2"><label class="text-rc-gray-300">Concurrency</label> <!></div> <span class="text-rc-gray-400"> </span></div> <!></div> <div class="grid grid-cols-[2.25rem,1fr] items-center gap-2 border-b border-rc-gray-700 p-2"><div></div> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-left text-rc-gray-300"><span> </span> <span> </span></div></div> <!></div>'),Yo=E('<div class="grid min-h-[68vh] grid-cols-[18rem,minmax(0,1fr)] gap-4"><aside class="rc-scroll min-h-0 overflow-auto border-r border-rc-gray-700 pr-3"><!></aside> <section class="rc-scroll min-h-0 overflow-auto"><!></section></div>'),ei=E('<pre class="whitespace-pre-wrap font-mono text-gray-200"> </pre>'),ti=E('<div class="mr-3 flex items-center gap-3"><span class="animate-pulse rounded bg-rc-green-200 px-3 py-1 text-white"> </span> <!></div>'),ri=E("<!> New test",1),ni=E('<div class="pointer-events-none absolute -left-28 top-full mt-4 inline-flex -translate-x-1/2 flex-col items-center"><div class="relative w-50vw max-w-2xl"><img src="/ui/arrow_tests.svg" alt="Arrow" class="block h-auto w-full object-contain"/> <span class="absolute inset-0 mt-48 flex items-center justify-center text-center text-4xl font-extrabold text-rc-gray-200">No tests yet.<br/>Add the first one</span></div></div>'),si=E("<!> History",1),ai=E("<!> Collapse all",1),oi=E("<div></div>"),ii=E('<button aria-label="Pin/unpin all" title="Pin/unpin all"><!></button>'),An=E('<span><!><span class="ml-1"> </span></span>'),li=E('<div class="translate-y-[5px]"><!></div>'),ci=E('<button><!></button> <button title="Duplicate" class="icon-btn text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button> <button title="Delete" class="icon-btn text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button>',1),ui=E("<span> </span> <!> <!>",1),di=E('<div class="rounded bg-rc-gray-930 px-2 py-2 text-sm text-rc-red-600">Invalid test: expected must be the last block (“Agent: …”)</div>'),fi=E("<option> </option>"),vi=E('<div class="text-lg font-extrabold"><span> </span> <!> <!></div>'),pi=E('<div class="mt-3 flex flex-col gap-4"></div>'),gi=E('<div class="flex flex-col gap-2 p-2"><!> <input class="card-input-subtle svelte-rdft55" type="text" placeholder="Author"/> <div class="flex items-center gap-2"><select class="rc-scroll rc-input w-36 svelte-rdft55" aria-label="Assertion Type"></select> <input class="rc-input min-w-0 flex-1 svelte-rdft55" type="text" placeholder="Assertion value"/></div> <div class="flex flex-wrap items-center gap-3"><div class="inline-flex h-8 overflow-hidden rounded border border-rc-gray-600 bg-rc-gray-900 p-0.5" aria-label="Capture mode"><button type="button">Immediate</button> <button type="button">Final</button></div> <!></div> <!></div> <div class="rounded-b border-t border-rc-gray-700 bg-rc-gray-980 p-2"><div class="flex flex-wrap items-center gap-3"><!> <!></div> <!></div>',1),hi=E('<div class="border-b border-rc-gray-700 p-2"><div class="grid grid-cols-[2.25rem,1fr] gap-2"><div class="flex flex-col items-center gap-1"><!></div> <div class="min-w-0"><div><div><div class="grid grid-cols-[1fr,2.25rem] items-center gap-2"><input class="card-input-title svelte-rdft55" type="text" placeholder="Scenario"/> <button class="icon-btn justify-self-end text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button></div> <!></div> <!></div></div></div></div>'),mi=E('<div class="flex min-h-0 flex-1 flex-col overflow-hidden p-3"><!> <div class="mt-3 min-h-0 flex-1 overflow-hidden"><!></div></div>'),xi=E('<div class="rc-scroll min-h-0 flex-1 overflow-auto"><div class="grid grid-cols-[2.25rem,1fr] items-center gap-2 border-b border-rc-gray-700 p-2"><!> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-left text-rc-gray-300"><span> </span> <span> </span> <span> </span> <!></div></div> <!></div> <!>',1),bi=E('<div class="flex h-full min-h-0 flex-col"><div class="flex flex-none items-center justify-between gap-3 p-2"><div class="flex flex-wrap items-center gap-3 pl-11"><div class="flex items-center gap-2"><label class="text-rc-gray-300">Repeats</label> <!></div> <div class="flex items-center gap-2"><label class="text-rc-gray-300">Concurrency</label> <!></div></div> <div class="flex flex-wrap items-center gap-3"><!> <!> <div class="relative inline-flex items-center"><!> <!></div> <!></div></div> <div class="flex flex-none items-center justify-between gap-3 px-2 pb-2"><!> <!></div> <div class="min-h-0 flex-1 overflow-hidden"><!></div></div>'),yi=E("<!> <!> <!> <!>",1);function Ui(t,r){mn(r,!0);const{state:s,actions:a}=xa(),n=w(()=>s.agentId),i=w(()=>s.region);function d(l){try{return structuredClone(l)}catch{try{return JSON.parse(JSON.stringify(l))}catch{return l}}}function h(l,v,u){return Math.max(v,Math.min(u,l))}let x=$(1),k=$(75),S=$(lt({})),R=$(lt({})),A=$(!1),M=$(null),Q=$("context"),O=$(lt({})),j=$(lt({})),P=$(!1),I=$(!1),N=$(!1),Y=$(""),Ae=$(null),L=$(!1),J=$(null),Ve=$(lt([])),We=$(!1),be=$(null),ye=$(null),pt=$(lt({})),Ht=$(!1),wt=$(null),gt=$(lt([])),rr=0,Vt=0;const et=w(()=>e(ye)?e(pt)[e(ye)]??null:null),en=w(()=>e(We)&&e(Ve).length===0&&!e(be)),Ar=w(()=>e(Ht)&&!e(et)),nr=w(()=>new Set(e(gt))),Mr=w(()=>e(et)?e(et).rows.map(l=>Js(e(et).timestamp,l)):[]),Ut=w(()=>Bs(e(Mr)));function sr(l,v){o(Y,l,!0),o(Ae,JSON.stringify(v??{},null,2),!0),o(N,!0)}let Jt=$(!1);async function Nr(l,v,u){var T;if(e(Jt))return;o(Jt,!0);const b=a.openPopover("analyze"),p=`Analysis — ${l} (run ${v})`;try{const y=await Ee.tests.analyzeRun.mutate({agent:u.agent,region:e(i),testId:u.id,index:u.run,timestamp:u.timestamp});if(((T=s.edit.popover)==null?void 0:T.requestId)!==b)return;a.setHighlightQuotes(y.quotes);let U=null;try{U=JSON.stringify(y.raw,null,2)}catch{U=null}a.setPopoverReady(b,{title:p,quotes:y.quotes,rationales:y.rationales,parallelCalls:y.parallelCalls,raw:U})}catch(y){console.error(y);const U=typeof(y==null?void 0:y.message)=="string"?y.message:(()=>{try{return JSON.stringify(y)}catch{return String(y)}})();a.setPopoverError(b,U||"Failed to analyze this response",{raw:U})}finally{o(Jt,!1)}}const Dr=[{value:"llm-rubric",label:"LLM"},{value:"answer-relevance",label:"Answer Relevance (LLM)"},{value:"context-faithfulness",label:"Context Faithfulness (LLM)"},{value:"context-recall",label:"Context Recall (LLM)"},{value:"context-relevance",label:"Context Relevance (LLM)"},{value:"model-graded-closedqa",label:"Model-Graded Closed QA"},{value:"model-graded-factuality",label:"Model-Graded Factuality"},{value:"moderation",label:"Moderation"},{value:"classifier",label:"Classifier"},{value:"g-eval",label:"G-Eval"},{value:"factuality",label:"Factuality"},{value:"conversation-relevance",label:"Conversation Relevance"},{value:"equals",label:"Equals"},{value:"contains",label:"Contains"},{value:"icontains",label:"Contains (case-insensitive)"},{value:"contains-all",label:"Contains All"},{value:"contains-any",label:"Contains Any"},{value:"icontains-all",label:"Contains All (iCase)"},{value:"icontains-any",label:"Contains Any (iCase)"},{value:"starts-with",label:"Starts With"},{value:"regex",label:"Regex"},{value:"levenshtein",label:"Levenshtein Distance"},{value:"is-refusal",label:"Is Refusal"},{value:"is-html",label:"Is HTML"},{value:"contains-html",label:"Contains HTML"},{value:"is-json",label:"Is JSON"},{value:"contains-json",label:"Contains JSON"},{value:"is-xml",label:"Is XML"},{value:"contains-xml",label:"Contains XML"},{value:"is-sql",label:"Is SQL"},{value:"contains-sql",label:"Contains SQL"},{value:"similar",label:"Semantic Similarity"},{value:"rouge-n",label:"ROUGE-N"},{value:"bleu",label:"BLEU"},{value:"gleu",label:"GLEU"},{value:"meteor",label:"METEOR"},{value:"perplexity",label:"Perplexity"},{value:"perplexity-score",label:"Perplexity Score"},{value:"latency",label:"Latency"},{value:"cost",label:"Cost"},{value:"finish-reason",label:"Finish Reason"},{value:"trace-error-spans",label:"Trace Error Spans"},{value:"trace-span-count",label:"Trace Span Count"},{value:"trace-span-duration",label:"Trace Span Duration"},{value:"is-valid-function-call",label:"Is Valid Function Call"},{value:"is-valid-openai-function-call",label:"Is Valid OpenAI Function Call"},{value:"is-valid-openai-tools-call",label:"Is Valid OpenAI Tools Call"},{value:"guardrails",label:"Guardrails"},{value:"javascript",label:"JavaScript (custom)"},{value:"python",label:"Python (custom)"},{value:"webhook",label:"Webhook (custom)"},{value:"pi",label:"Pi Scorer"}],Or=[...Dr,...Dr.map(l=>({value:`not-${l.value}`,label:`Not ${l.label}`}))];let F=$(lt([])),te=$(!1),Bt=$(null),Rt=$(null),mr=$(0),jr=$(0),ar=$(1),C=$(lt([])),G=$(lt([])),Ne=$(lt([]));const Te=w(()=>new Set(e(C))),ht=w(()=>new Set(e(G))),kt=w(()=>new Set(e(Ne)));let tt=!1,oe=null,_e=0,At=Promise.resolve();const xt=new Set;let ce=$(0);const K=w(()=>e(ce)>0);let W=$(!1),ue=$(lt([]));const Ct=w(()=>new Set(e(ue))),Qt=w(()=>e(F).some(l=>e(Ct).has(l.id)));function rt(l){return xt.add(l),o(ce,e(ce)+1),l.finally(()=>{xt.delete(l),o(ce,e(ce)-1)}),l}function xr(l,v,u){const b=Array.isArray(u.results)?u.results:[],p=b.reduce((T,y)=>T+(y!=null&&y.success?1:0),0);return{success_rate:u.success_rate,successes:p,total_runs:b.length,isOld:!!u.is_old,previous:u.previous&&typeof u.previous=="object"?{success_count:Number(u.previous.success_count??0),total_runs:Number(u.previous.total_runs??0),report_timestamp:String(u.previous.report_timestamp??"")}:void 0,runs:b.map((T,y)=>{const U=u.report_timestamp,D={agent:l,id:v,timestamp:U,run:y};return{index:y+1,success:!!T.success,text:String(T.result||""),evaluation:String(T.evaluation||""),errors:String(T.errors||""),links:{renderedPrompt:{...D,key:"rendered_prompt"},receivedPrompt:{...D,key:"received_prompt"},conversation:{...D,key:"stringified_conversation"},context:{...D,key:"received_context"},logs:{...D,key:"logs"},errors:{...D,key:"errors"},traces:{...D,key:"traces"}}}}).reverse()}}async function Ge(){const l=(e(n)??"").trim();if(l)try{const[{rows:v},u,b]=await Promise.all([Ee.tests.list.query({agent:l,region:e(i)}),Ee.tests.config.query({agent:l,region:e(i)}),Ee.tests.latestResult.query({agent:l,region:e(i)})]);if((e(n)??"").trim()!==l)return;o(x,u.repeats??1,!0),o(k,u.concurrency??75,!0),o(S,u.defaultContext??{},!0),o(ue,u.expandedTestIds??[],!0),o(F,v.map(p=>{const T=p.id,y=b[T];return{id:T,pinned:String(p.pinned).toUpperCase()==="TRUE",scenario:p.scenario||"",step:String(p.step??""),author:p.author||"",assertion_type:p.assertion_type||"llm-rubric",assertion_value:p.assertion_value||"",conversation:p.conversation||"",expected_output:p.expected_output||"",conversation_ui:Cn(p.conversation||"",p.expected_output||""),timeout:Number(p.timeout??0),capture_mode:p.capture_mode==="final"?"final":"immediate",similarity_threshold:Number(p.similarity_threshold??50),context:JSON.stringify(p.context),mocks:JSON.stringify(p.mocks||{}),hasMocks:typeof p.mocks<"u",result:y?xr(l,T,y):void 0}}),!0)}catch(v){if(console.error(v),(e(n)??"").trim()!==l)return;o(F,[],!0),o(x,1),o(k,75),o(S,{},!0),o(ue,[],!0)}finally{(e(n)??"").trim()===l&&o(W,!0)}}async function bt(l){const v=(e(n)??"").trim();if(v&&!tt){tt=!0;try{const[u,b]=await Promise.all([Ee.tests.latestResult.query({agent:v,region:e(i)}),Ee.tests.runProgress.query({agent:v,region:e(i)})]);if(l!==_e)return;b&&(o(C,b.plannedTestIds,!0),o(G,b.runningTestIds,!0),o(Ne,b.completedTestIds,!0));const p=e(F).map(D=>{const Se=u[D.id];return{...D,result:Se?xr(v,D.id,Se):void 0}});o(F,p,!0);const T=e(Bt),y=Math.max(1,Number(e(ar))||1),U=p.reduce((D,Se)=>T==="single"&&Se.id!==e(Rt)||T==="pinned"&&!Se.pinned?D:Se.result&&!Se.result.isOld&&Se.result.total_runs>=y?D+1:D,0);o(mr,U,!0)}catch(u){console.error(u)}finally{tt=!1}}}async function Mt(l){if(e(te))return;o(te,!0),o(Bt,l,!0),o(Rt,null),o(jr,l==="all"?e(F).length:e(F).filter(u=>u.pinned).length,!0),o(mr,0),o(ar,Math.max(1,Number(e(x))||1),!0),o(C,e(F).filter(u=>l==="all"||u.pinned).map(u=>u.id),!0),o(G,[],!0),o(Ne,[],!0),_e+=1;const v=_e;if(await Promise.all([At,...xt]),v===_e){oe&&clearInterval(oe),oe=setInterval(()=>bt(v),250),bt(v);try{await Ee.tests.runTests.mutate({agent:e(n),region:e(i),scope:l})}catch(u){v===_e&&console.error(u)}finally{if(v!==_e)return;oe&&clearInterval(oe),oe=null;try{await Ge()}finally{if(v!==_e)return;o(te,!1),o(Bt,null),o(Rt,null),o(C,[],!0),o(G,[],!0),o(Ne,[],!0)}}}}async function Nt(l){if(!e(n)||e(te))return;o(te,!0),o(Bt,"single"),o(Rt,l,!0),o(jr,1),o(mr,0),o(ar,Math.max(1,Number(e(x))||1),!0),o(C,[l],!0),o(G,[],!0),o(Ne,[],!0),_e+=1;const v=_e;if(await Promise.all([At,...xt]),v===_e){oe&&clearInterval(oe),oe=setInterval(()=>bt(v),250),bt(v);try{await Ee.tests.runTests.mutate({agent:e(n),region:e(i),testId:l})}catch(u){v===_e&&console.error(u)}finally{if(v!==_e)return;oe&&clearInterval(oe),oe=null;try{await Ge()}finally{if(v!==_e)return;o(te,!1),o(Bt,null),o(Rt,null),o(C,[],!0),o(G,[],!0),o(Ne,[],!0)}}}}function qs(){e(te)&&(_e+=1,oe&&clearInterval(oe),oe=null,o(te,!1),o(Bt,null),o(Rt,null),o(C,[],!0),o(G,[],!0),o(Ne,[],!0),At=Ee.tests.cancelRun.mutate({agent:e(n),region:e(i)}).then(()=>{},()=>{}))}async function Hs(l){const v=l?"TRUE":"FALSE",u=e(F).filter(p=>p.pinned!==l).map(p=>p.id);if(u.length===0)return;const b=new Set(u);o(F,e(F).map(p=>b.has(p.id)?{...p,pinned:l}:p),!0);try{await rt(Ee.tests.patchTestsBatch.mutate({agent:e(n),region:e(i),updates:u.map(p=>({id:p,patch:{pinned:v}}))}))}catch(p){console.error(p),await Ge()}}let _n=null;Xr(()=>{const l=(e(n)??"").trim(),v=(e(i)??"").trim(),u=s.availableRegions,b=Array.isArray(u)&&u.length>0;if(!l){_n=null,o(F,[],!0),o(ue,[],!0),o(W,!1);return}if(b&&!v)return;const p=`${l}::${v}`;_n!==p&&(_n=p,o(F,[],!0),o(ue,[],!0),o(W,!1),Ge())});const tn=w(()=>e(F).filter(l=>l.pinned).length),Fr=w(()=>e(tn)>0),Vs=w(()=>e(F).length>0&&e(tn)===e(F).length),ct=w(()=>{let l=0,v=0,u=0,b=0,p=0,T=0,y=0,U=0;for(const Se of e(F)){const me=Se.result;!me||me.isOld||me.total_runs<=0||(v+=1,u+=me.successes,b+=me.total_runs,me.successes===me.total_runs&&(l+=1),me.previous&&me.previous.total_runs>0&&(p+=me.previous.success_count,T+=me.previous.total_runs,y+=me.successes,U+=me.total_runs))}const D=(()=>{if(U<5||T<=0)return null;const Se=Fs(p,T,y,U);if(Se===null||Se>=.05)return null;const me=p/T;return{direction:y/U>=me?"higher":"lower",previousAttemptsPassing:p,previousAttemptsTotal:T,currentAttemptsPassing:y,currentAttemptsTotal:U,pValue:Se}})();return{casesPassing:l,casesTotal:v,attemptsPassing:u,attemptsTotal:b,trend:D}});async function Us(){const l=await Ee.tests.addTest.mutate({agent:e(n),region:e(i),seed:{},mergeContexts:!0}),v=wn(l);o(F,[v,...e(F)],!0),zr(v.id,!0).catch(console.error)}function wn(l){return{...l,step:String(l.step??""),pinned:l.pinned==="TRUE",timeout:Number(l.timeout),capture_mode:l.capture_mode==="final"?"final":"immediate",similarity_threshold:Number(l.similarity_threshold),context:JSON.stringify(l.context),mocks:JSON.stringify(l.mocks||{}),hasMocks:typeof l.mocks<"u",conversation_ui:Cn(l.conversation||"",l.expected_output||"")}}function Js(l,v){const u=v.test,b=u.id,p=v.results,T=p.reduce((y,U)=>y+(U.success?1:0),0);return{id:b,pinned:u.pinned==="TRUE",scenario:u.scenario,step:u.step??"",author:u.author||"",assertion_type:u.assertion_type,assertion_value:u.assertion_value,conversation:u.conversation,expected_output:u.expected_output,conversation_ui:Cn(u.conversation||"",u.expected_output||""),timeout:Number(u.timeout),capture_mode:u.capture_mode==="final"?"final":"immediate",similarity_threshold:Number(u.similarity_threshold),context:JSON.stringify(u.context),mocks:JSON.stringify(u.mocks||{}),hasMocks:typeof u.mocks<"u",result:{success_rate:v.success_rate,successes:T,total_runs:p.length,isOld:!1,runs:p.map((y,U)=>{const D={agent:e(n),id:b,timestamp:l,run:U};return{index:U+1,success:y.success,text:y.result||"",evaluation:y.evaluation||"",errors:y.errors||"",links:{renderedPrompt:{...D,key:"rendered_prompt"},receivedPrompt:{...D,key:"received_prompt"},conversation:{...D,key:"stringified_conversation"},context:{...D,key:"received_context"},logs:{...D,key:"logs"},errors:{...D,key:"errors"},traces:{...D,key:"traces"}}}}).reverse()}}}function Bs(l){let v=0,u=0,b=0,p=0;for(const T of l){const y=T.result;!y||y.total_runs<=0||(u+=1,b+=y.successes,p+=y.total_runs,y.successes===y.total_runs&&(v+=1))}return{casesPassing:v,casesTotal:u,attemptsPassing:b,attemptsTotal:p}}function Qs(l){var v;return((v=Or.find(u=>u.value===l))==null?void 0:v.label)??l}function Ks(l){const v=new Date(l);return Number.isNaN(v.getTime())?l:v.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function Ws(l){const v=new Date(l);return Number.isNaN(v.getTime())?"":v.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}function Hn(l){return l==="all"?"All tests":"Pinned tests"}function Gs(l){const v=new Set(e(gt));v.has(l)?v.delete(l):v.add(l),o(gt,Array.from(v),!0)}function kn(l,v){return`${l.trim()}::${String(v??"").trim()}`}function or(){const l=(e(n)??"").trim();return l?kn(l,e(i)):null}function Vn(l){return l.rows.length===1?l.rows.map(v=>v.test.id):[]}function Xs(){rr+=1,Vt+=1,o(J,null),o(Ve,[],!0),o(We,!1),o(be,null),o(ye,null),o(pt,{},!0),o(Ht,!1),o(wt,null),o(gt,[],!0)}async function Zs(){const l=or();l&&(e(J)!==l&&(Xs(),o(We,!0)),o(L,!0),await Ys({preserveCachedDetail:!0}))}async function Ys(l={}){var T;const v=(e(n)??"").trim();if(!v)return;const u=e(i),b=kn(v,u),p=++rr;o(We,!0),o(be,null);try{const y=await Ee.tests.historyList.query({agent:v,region:u});if(p!==rr||or()!==b)return;o(Ve,y,!0),o(J,b,!0);const U=e(ye)&&y.some(D=>D.timestamp===e(ye))?e(ye):((T=y[0])==null?void 0:T.timestamp)??null;U?await Un(U,{preserveCachedDetail:l.preserveCachedDetail,requestKey:b}):(o(ye,null),o(wt,null),o(Ht,!1),o(gt,[],!0))}catch(y){if(console.error(y),p!==rr||or()!==b)return;o(be,"Failed to load test history"),e(J)!==b&&(o(Ve,[],!0),o(ye,null),o(pt,{},!0),o(gt,[],!0))}finally{p===rr&&or()===b&&o(We,!1)}}async function Un(l,v={}){const u=(e(n)??"").trim();if(!u)return;const b=e(i),p=v.requestKey??kn(u,b),T=e(ye)===l;o(ye,l,!0),o(Ht,!0),o(wt,null);const y=e(pt)[l];if(y&&v.preserveCachedDetail){Vt+=1,o(Ht,!1),T||o(gt,Vn(y),!0);return}const U=++Vt;y||o(gt,[],!0);try{const D=await Ee.tests.historyRun.query({agent:u,region:b,timestamp:l});if(U!==Vt||e(ye)!==l||or()!==p)return;o(pt,{...e(pt),[l]:D},!0),o(gt,Vn(D),!0)}catch(D){if(console.error(D),U!==Vt||e(ye)!==l||or()!==p)return;o(wt,"Failed to load this test run"),o(gt,[],!0)}finally{U===Vt&&e(ye)===l&&or()===p&&o(Ht,!1)}}function Jn(l){const{conversation_ui:v,hasMocks:u,mocks:b,result:p,...T}=l,y={...T,pinned:l.pinned?"TRUE":"FALSE",timeout:String(l.timeout??0),similarity_threshold:String(l.similarity_threshold??50),context:JSON.parse(l.context)};return u&&(y.mocks=JSON.parse(b)),y}async function ea(l,v){const u=Jn(l);u.id=crypto.randomUUID();const b=await Ee.tests.addTest.mutate({agent:e(n),region:e(i),seed:u,mergeContexts:!0}),p=wn(b),T=e(F).slice();T.splice(v,0,p),o(F,T,!0),zr(p.id,!0).catch(console.error),await Ee.tests.reorder.mutate({agent:e(n),region:e(i),order:e(F).map(y=>y.id)})}async function Bn(l,v,u=0){const b=Jn(l);b.id=crypto.randomUUID(),b.expected_output=v;const p=await Ee.tests.addTest.mutate({agent:e(n),region:e(i),seed:b,mergeContexts:!0}),T=wn(p),y=e(F).slice();y.splice(u,0,T),o(F,y,!0),zr(T.id,!0).catch(console.error),await Ee.tests.reorder.mutate({agent:e(n),region:e(i),order:e(F).map(U=>U.id)})}function Qn(l){if(!l)return"";try{return l.replace(/^\s*\d+\s*[:.)-]?\s*(?:[❌✖️✔✅✗xX])?\s*/u,"")}catch{return l}}function rn(l){try{return l&&l.trim()?JSON.parse(l):{}}catch{return{}}}const Kn=l=>l.match(/^\s*(agent|assistant|user|system)\s*:\s*(.*)$/i);function ta(l){const v=String(l??"").trimEnd();return v?/^\s*(agent|assistant)\s*:/i.test(v)?v:`Agent: ${v}`:""}function Cn(l,v){const u=String(l??"").trimEnd(),b=ta(v);return b?u?`${u}
3
- ${b}`:b:u}function Tn(l){const v=String(l??""),u=v.split(/\r?\n/),b=[];let p=null;for(let Dt=0;Dt<u.length;Dt++){const re=Kn(u[Dt]);if(!re)continue;p&&b.push({...p,endLine:Dt});const ie=String(re[1]??"").toLowerCase();p={role:ie==="assistant"?"agent":ie,startLine:Dt+1}}p&&b.push({...p,endLine:u.length});const T=b.at(-1),y=(T==null?void 0:T.role)==="agent",U=y;if(!y||!T)return{valid:!1,expected:"",conversation:v.trimEnd()};const D=u.slice(T.startLine-1,T.endLine),Se=D[0]??"",me=Kn(Se),ir=[me?me[2]??"":"",...D.slice(1)].join(`
4
- `).trimEnd(),yr=u.slice(0,T.startLine-1).join(`
5
- `).trimEnd();return{valid:U,expected:ir,conversation:yr,highlight:{startLine:T.startLine,endLine:T.endLine}}}function nn(l){return l.total_runs>0&&l.successes<l.total_runs?"text-rc-red-600":"text-rc-gray-200"}async function Kt(l,v){await Ee.tests.patchTest.mutate({agent:e(n),region:e(i),id:l,patch:v})}async function ra(l){await Ee.tests.deleteTest.mutate({agent:e(n),region:e(i),id:l});try{await zr(l,!1)}catch(v){console.error(v)}await Ge()}function zr(l,v){if(!(e(n)??"").trim())return Promise.resolve();const b=String(l??"").trim();if(!b)return Promise.resolve();const p=new Set(e(ue)),T=p.has(b);if(v===T)return Promise.resolve();v?p.add(b):p.delete(b);const y=Array.from(p);return o(ue,y,!0),rt(qr({expandedTestIds:y}))}function na(l){zr(l,!e(Ct).has(l)).catch(console.error)}function sa(){return!(e(n)??"").trim()||!e(Qt)?Promise.resolve():(o(ue,[],!0),rt(qr({expandedTestIds:[]})))}function aa(l){e(n)&&(o(M,l.id,!0),o(Q,"context"),o(O,d(rn(l.context)),!0),o(j,d(rn(l.mocks)),!0),o(P,!1),o(I,l.hasMocks,!0))}async function oa(){const l=e(M);if(!l||!e(n)){o(M,null),o(Q,"context"),o(P,!1),o(I,!1);return}const v=d(e(O)),u=d(e(j)),b=e(I)||e(P);o(M,null),o(Q,"context"),o(P,!1),o(I,!1),o(F,e(F).map(p=>{if(p.id!==l)return p;const T={...p,context:JSON.stringify(v)};return b&&(T.mocks=JSON.stringify(u),T.hasMocks=!0),T}),!0);try{const p={context:v};b&&(p.mocks=u),await rt(Kt(l,p))}catch(p){console.error(p),await Ge()}}async function qr(l){await Ee.tests.updateConfig.mutate({agent:e(n),region:e(i),cfg:l})}function Wn(l,v){l.capture_mode!==v&&(o(F,e(F).map(u=>u.id===l.id?{...u,capture_mode:v}:u),!0),rt(Kt(l.id,{capture_mode:v})))}hn(()=>{oe&&clearInterval(oe)});var Gn=yi();ha("rdft55",l=>{var v=Vo();m(l,v)});var Xn=Me(Gn);Lr(Xn,{title:"Default Context",get open(){return e(A)},set open(u){o(A,u,!0)},children:u=>{{let b=w(()=>`editorState/context/${e(n)}/tests/default`);Ln(u,{class:"h-[70vh]",get context(){return e(R)},onContextChanged:p=>o(R,p,!0),get editorStateKey(){return e(b)},suppressErrors:!0,defaultFormat:"json",hideHeader:!0})}},footer:u=>{var b=ms(),p=Me(b);Ke(p,{variant:"outlined",size:"small",onclick:()=>o(A,!1),children:(y,U)=>{Ce();var D=De("Cancel");m(y,D)},$$slots:{default:!0}});var T=g(p,2);Ke(T,{size:"small",onclick:async()=>{o(S,e(R),!0),await rt(qr({defaultContext:e(S)})),o(A,!1)},children:(y,U)=>{Ce();var D=De("Save");m(y,D)},$$slots:{default:!0}}),m(u,b)},$$slots:{default:!0,footer:!0}});var Zn=g(Xn,2);Lr(Zn,{title:"Test history",class:"!w-[95vw] !max-w-[90rem]",get open(){return e(L)},set open(u){o(L,u,!0)},children:u=>{var b=Yo(),p=f(b),T=f(p);{var y=re=>{var ie=xs();m(re,ie)},U=re=>{var ie=bs(),nt=f(ie,!0);c(ie),B(()=>q(nt,e(be))),m(re,ie)},D=re=>{var ie=Uo();m(re,ie)},Se=re=>{var ie=Qo(),nt=f(ie);{var Wt=yt=>{var we=Jo(),_r=f(we,!0);c(we),B(()=>q(_r,e(be))),m(yt,we)};H(nt,yt=>{e(be)&&yt(Wt)})}var lr=g(nt,2);hr(lr,17,()=>e(Ve),yt=>yt.timestamp,(yt,we,_r,X)=>{var fe=Bo(),Oe=f(fe),de=f(Oe),Ue=f(de,!0);c(de);var ut=g(de,2),wr=f(ut,!0);c(ut),c(Oe);var Tt=g(Oe,2),kr=f(Tt);c(Tt);var Gt=g(Tt,2),Xt=f(Gt),cr=f(Xt,!0);c(Xt);var st=g(Xt,2),mt=f(st);c(st),c(Gt),c(fe),B((Ot,V,Zt)=>{he(fe,1,`w-full rounded border px-3 py-2 text-left transition-colors ${e(ye)===e(we).timestamp?"border-rc-green-200 bg-rc-gray-930 text-rc-gray-100":"border-rc-gray-700 bg-rc-gray-900 text-rc-gray-300 hover:border-rc-gray-500 hover:bg-rc-gray-800"}`,"svelte-rdft55"),q(Ue,Ot),q(wr,V),q(kr,`${e(we).testCount??""}
6
- ${e(we).testCount===1?"test":"tests"} · ${Zt??""}`),he(Xt,1,Qr(e(we).passed?"text-rc-green-200":"text-rc-red-600")),q(cr,e(we).passed?"Success":"Failure"),q(mt,`${e(we).successRatePercent??""}% (${e(we).successRate??""})`)},[()=>Ks(e(we).timestamp),()=>Ws(e(we).timestamp),()=>Hn(e(we).runScope)]),Re("click",fe,()=>void Un(e(we).timestamp,{preserveCachedDetail:!0})),m(yt,fe)}),c(ie),m(re,ie)};H(T,re=>{e(en)?re(y):e(be)&&e(Ve).length===0?re(U,1):e(Ve).length===0?re(D,2):re(Se,-1)})}c(p);var me=g(p,2),br=f(me);{var ir=re=>{var ie=xs();m(re,ie)},yr=re=>{var ie=bs(),nt=f(ie,!0);c(ie),B(()=>q(nt,e(wt))),m(re,ie)},Dt=re=>{var ie=Zo(),nt=f(ie),Wt=f(nt),lr=f(Wt),yt=g(f(lr),2);cn(yt,{type:"number",class:"w-16",get value(){return e(et).runConfig.repeats},disabled:!0}),c(lr);var we=g(lr,2),_r=g(f(we),2);cn(_r,{type:"number",class:"w-16",get value(){return e(et).runConfig.concurrency},disabled:!0}),c(we);var X=g(we,2),fe=f(X,!0);c(X),c(Wt);var Oe=g(Wt,2);Ke(Oe,{variant:"secondary",onclick:()=>sr("Run context",e(et).runConfig.defaultContext),children:(st,mt)=>{Ce();var Ot=De("View context");m(st,Ot)},$$slots:{default:!0}}),c(nt);var de=g(nt,2),Ue=g(f(de),2),ut=f(Ue),wr=f(ut);c(ut);var Tt=g(ut,2),kr=f(Tt);c(Tt),c(Ue),c(de);var Gt=g(de,2);{var Xt=st=>{var mt=ys();m(st,mt)},cr=st=>{var mt=Cs();hr(mt,21,()=>e(Mr),Ot=>Ot.id,(Ot,V)=>{const Zt=w(()=>Tn(e(V).conversation_ui)),Yt=w(()=>e(nr).has(e(V).id));var Cr=Xo(),sn=f(Cr),Hr=f(sn),Sn=f(Hr);{let pe=w(()=>`block ${e(V).pinned?"text-rc-green-200":"text-gray-400"}`),Be=w(()=>e(V).pinned?"mdi:pin":"mdi:pin-outline");Et(Sn,{get class(){return e(pe)},get icon(){return e(Be)},width:18,height:18})}c(Hr);var ve=g(Hr,2),le=f(ve),Je=f(le),_=f(Je),dt=f(_);gr(dt);var Ie=g(dt,2),ft=f(Ie);{let pe=w(()=>e(Yt)?"chevron-up":"chevron-down");Lt(ft,{get name(){return e(pe)},width:20,height:20,class:"block"})}c(Ie),c(_);var jt=g(_,2);{var Tr=pe=>{var Be=ws(),at=f(Be);{var Xe=ke=>{const ot=w(()=>un(e(V).result,e(et).runConfig.repeats));var Qe=Ko(),St=Me(Qe),dr=f(St);c(St);var Sr=g(St,2);{var Ir=Ft=>{var ne=dn(),je=f(ne);c(ne),B(()=>q(je,`(${e(ot).expectedSuccesses??""}/${e(ot).expectedRuns??""} expected)`)),m(Ft,ne)};H(Sr,Ft=>{var ne;(ne=e(ot))!=null&&ne.showExpected&&Ft(Ir)})}B(Ft=>{he(St,1,Ft,"svelte-rdft55"),q(dr,`${e(V).result.successes??""}/${e(V).result.total_runs??""}`)},[()=>Qr(nn(e(V).result))]),m(ke,Qe)},Ze=ke=>{var ot=_s();m(ke,ot)};H(at,ke=>{e(V).result?ke(Xe):ke(Ze,-1)})}c(Be),m(pe,Be)};H(jt,pe=>{e(Yt)||pe(Tr)})}c(Je);var ur=g(Je,2);{var Vr=pe=>{var Be=Go(),at=Me(Be),Xe=f(at);gr(Xe);var Ze=g(Xe,2),ke=f(Ze);gr(ke);var ot=g(ke,2);gr(ot),c(Ze);var Qe=g(Ze,2),St=f(Qe),dr=f(St),Sr=g(dr,2);c(St);var Ir=g(St,2);Ke(Ir,{variant:"secondary",size:"small",onclick:()=>sr(`Test context — ${e(V).scenario||"Test"}`,rn(e(V).context)),children:(xe,Pe)=>{Ce();var se=De("View context");m(xe,se)},$$slots:{default:!0}});var Ft=g(Ir,2);Ke(Ft,{variant:"secondary",size:"small",onclick:()=>sr(`Test mocks — ${e(V).scenario||"Test"}`,rn(e(V).mocks)),children:(xe,Pe)=>{Ce();var se=De("View mocks");m(xe,se)},$$slots:{default:!0}}),c(Qe);var ne=g(Qe,2);{let xe=w(()=>e(Zt).highlight?[{startLine:e(Zt).highlight.startLine,endLine:e(Zt).highlight.endLine,className:"test-expected-output"}]:void 0);vs(ne,{get value(){return e(V).conversation_ui},get highlights(){return e(xe)},language:"markdown",height:220,readOnly:!0})}c(at);var je=g(at,2),Fe=f(je);{var It=xe=>{const Pe=w(()=>un(e(V).result,e(et).runConfig.repeats));var se=Wo(),Ye=Me(se),ze=f(Ye),ge=f(ze),er=f(ge);c(ge);var zt=g(ge,2);{var tr=$e=>{var z=dn(),_t=f(z);c(z),B(()=>q(_t,`(${e(Pe).expectedSuccesses??""}/${e(Pe).expectedRuns??""} expected)`)),m($e,z)};H(zt,$e=>{var z;(z=e(Pe))!=null&&z.showExpected&&$e(tr)})}c(ze),c(Ye);var Pr=g(Ye,2);hr(Pr,21,()=>e(V).result.runs,$e=>$e.index,($e,z,_t,$r)=>{var fr=ks(),qt=f(fr),In=f(qt,!0);c(qt);var Ur=g(qt,2),Z=f(Ur),ee=f(Z);{var Le=qe=>{Lt(qe,{name:"checkmark",width:20,height:20,class:"shrink-0 self-end"})},ae=qe=>{Lt(qe,{name:"close",width:18,height:18,class:"shrink-0 scale-110 self-start"})};H(ee,qe=>{e(z).success?qe(Le):qe(ae,-1)})}var Pt=g(ee,2),Jr=f(Pt,!0);c(Pt),c(Z);var vr=g(Z,2);{let qe=w(()=>e(V).scenario||"Test"),Br=w(()=>e(te)||e(K)),it=w(()=>!e(z).text.trim());hs(vr,{get scenario(){return e(qe)},get runIndex(){return e(z).index},get links(){return e(z).links},get variants(){return e(V).result.runs},get region(){return e(i)},get actionsDisabled(){return e(Br)},get addTestDisabled(){return e(it)},get analyzeDisabled(){return e(Jt)},onAddTest:()=>Bn(e(V),e(z).text,0),onAnalyze:()=>Nr(e(V).scenario||"Test",e(z).index,e(z).links.renderedPrompt),onRegenerate:()=>Nt(e(V).id)})}c(Ur),c(fr),B(qe=>{he(qt,1,`w-full whitespace-pre-wrap break-words rounded-lg px-3 py-2 text-rc-gray-100 ${e(z).success?"bg-rc-green-700 backdrop-blur-md":""}`,"svelte-rdft55"),Mn(qt,e(z).success?"":"background-color: rgb(156 80 80)"),q(In,e(z).text||e(z).errors||"—"),he(Ur,1,`flex w-full flex-col gap-x-4 whitespace-pre-wrap break-words ${e(z).success?"text-rc-green-200":"text-rc-red-800"}`,"svelte-rdft55"),q(Jr,qe)},[()=>e(z).success?"Pass":Qn(e(z).evaluation)||(e(z).errors||"").split(/\r?\n/)[0]||"Fail"]),m($e,fr)}),c(Pr),B($e=>{he(ge,1,$e,"svelte-rdft55"),q(er,`${e(V).result.successes??""}/${e(V).result.total_runs??""}`)},[()=>Qr(nn(e(V).result))]),m(xe,se)};H(Fe,xe=>{e(V).result&&xe(It)})}c(je),B(xe=>{ln(Xe,e(V).author||""),ln(ke,xe),ln(ot,e(V).assertion_value),he(dr,1,`min-w-20 rounded px-2 text-sm font-semibold transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${e(V).capture_mode==="immediate"?"bg-rc-gray-500 text-rc-gray-100":"text-rc-gray-300"}`,"svelte-rdft55"),vt(dr,"aria-pressed",e(V).capture_mode==="immediate"),he(Sr,1,`min-w-16 rounded px-2 text-sm font-semibold transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${e(V).capture_mode==="final"?"bg-rc-gray-500 text-rc-gray-100":"text-rc-gray-300"}`,"svelte-rdft55"),vt(Sr,"aria-pressed",e(V).capture_mode==="final")},[()=>Qs(e(V).assertion_type)]),m(pe,Be)};H(ur,pe=>{e(Yt)&&pe(Vr)})}c(le),c(ve),c(sn),c(Cr),B(()=>{vt(Cr,"data-id",e(V).id),he(le,1,`left-details-bg flex flex-col rounded border ${e(Zt).valid?"border-rc-gray-700":"border-rc-red-600"}`,"svelte-rdft55"),he(Je,1,`left-details-bg rounded-t px-2 pt-2 ${e(Yt)?"border-b border-rc-gray-700 pb-1":"pb-2"}`,"svelte-rdft55"),ln(dt,e(V).scenario),vt(Ie,"aria-label",e(Yt)?"Collapse test":"Expand test"),vt(Ie,"title",e(Yt)?"Collapse":"Expand")}),Re("click",Ie,()=>Gs(e(V).id)),m(Ot,Cr)}),c(mt),m(st,mt)};H(Gt,st=>{e(Mr).length===0?st(Xt):st(cr,-1)})}c(ie),B(st=>{q(fe,st),q(wr,`${e(Ut).casesPassing??""}/${e(Ut).casesTotal??""} cases passing`),q(kr,`${e(Ut).attemptsPassing??""}/${e(Ut).attemptsTotal??""} attempts
7
- passing`)},[()=>Hn(e(et).runScope)]),m(re,ie)};H(br,re=>{e(Ar)?re(ir):e(wt)&&!e(et)?re(yr,1):e(et)&&re(Dt,2)})}c(me),c(b),m(u,b)},footer:u=>{Ke(u,{variant:"outlined",size:"small",onclick:()=>o(L,!1),children:(b,p)=>{Ce();var T=De("Close");m(b,T)},$$slots:{default:!0}})},$$slots:{default:!0,footer:!0}});var Yn=g(Zn,2);Lr(Yn,{get title(){return e(Y)},class:"!w-[80vw] !max-w-5xl",get open(){return e(N)},set open(u){o(N,u,!0)},children:u=>{var b=ei(),p=f(b,!0);c(b),B(()=>q(p,e(Ae)||"—")),m(u,b)},footer:u=>{Ke(u,{variant:"outlined",size:"small",onclick:()=>o(N,!1),children:(b,p)=>{Ce();var T=De("Close");m(b,T)},$$slots:{default:!0}})},$$slots:{default:!0,footer:!0}});var ia=g(Yn,2);{var la=l=>{var v=bi(),u=f(v),b=f(u),p=f(b),T=g(f(p),2);cn(T,{type:"number",min:"0",max:"500",class:"w-16",onchange:()=>{o(x,h(+e(x)||0,0,500),!0),rt(qr({repeats:e(x)}))},get value(){return e(x)},set value(X){o(x,X,!0)}}),c(p);var y=g(p,2),U=g(f(y),2);cn(U,{type:"number",min:"1",max:"75",class:"w-16",onchange:()=>{o(k,h(+e(k)||75,1,75),!0),rt(qr({concurrency:e(k)}))},get value(){return e(k)},set value(X){o(k,X,!0)}}),c(y),c(b);var D=g(b,2),Se=f(D);{var me=X=>{var fe=ti(),Oe=f(fe),de=f(Oe);c(Oe);var Ue=g(Oe,2);Ke(Ue,{variant:"secondary",onclick:qs,children:(ut,wr)=>{Ce();var Tt=De("Cancel");m(ut,Tt)},$$slots:{default:!0}}),c(fe),B(()=>q(de,`Running… ${e(mr)??""}/${e(jr)??""}`)),m(X,fe)};H(Se,X=>{e(te)&&X(me)})}var br=g(Se,2);{let X=w(()=>e(te)||e(K)||!e(n));Ke(br,{variant:"secondary",get disabled(){return e(X)},onclick:()=>{o(R,d(e(S)),!0),o(A,!0)},children:(fe,Oe)=>{Ce();var de=De("Edit context");m(fe,de)},$$slots:{default:!0}})}var ir=g(br,2),yr=f(ir);{let X=w(()=>e(K)||e(te)||!e(n));Ke(yr,{variant:"secondary",onclick:Us,get disabled(){return e(X)},class:"inline-flex items-center gap-1",children:(fe,Oe)=>{var de=ri(),Ue=Me(de);Et(Ue,{icon:"mdi:plus-thick",width:18,height:18}),Ce(),m(fe,de)},$$slots:{default:!0}})}var Dt=g(yr,2);{var re=X=>{var fe=ni();m(X,fe)};H(Dt,X=>{e(W)&&e(F).length===0&&X(re)})}c(ir);var ie=g(ir,2);{let X=w(()=>e(te)||e(K)||e(F).length===0||e(Fr)&&e(tn)===0);Ke(ie,{class:"inline-flex min-w-32 items-center justify-center gap-1 disabled:cursor-not-allowed disabled:opacity-50",get disabled(){return e(X)},onclick:()=>Mt(e(Fr)?"pinned":"all"),children:(fe,Oe)=>{Ce();var de=De();B(()=>q(de,`▶ ${e(Fr)?"Run pinned":"Run all"}`)),m(fe,de)},$$slots:{default:!0}})}c(D),c(u);var nt=g(u,2),Wt=f(nt);{let X=w(()=>!e(n));Ke(Wt,{variant:"secondary",class:"ml-11 inline-flex min-w-32 items-center justify-center gap-1",get disabled(){return e(X)},onclick:()=>void Zs().catch(console.error),children:(fe,Oe)=>{var de=si(),Ue=Me(de);Et(Ue,{icon:"mdi:history",width:18,height:18}),Ce(),m(fe,de)},$$slots:{default:!0}})}var lr=g(Wt,2);{var yt=X=>{{let fe=w(()=>e(K)||!e(n));Ke(X,{variant:"secondary",class:"inline-flex min-w-32 items-center justify-center gap-1",get disabled(){return e(fe)},onclick:()=>void sa().catch(console.error),children:(Oe,de)=>{var Ue=ai(),ut=Me(Ue);Lt(ut,{name:"chevron-up",width:16,height:16,class:"block"}),Ce(),m(Oe,Ue)},$$slots:{default:!0}})}};H(lr,X=>{e(Qt)&&X(yt)})}c(nt);var we=g(nt,2),_r=f(we);ba(_r,{class:"relative flex h-full min-w-0 flex-col overflow-hidden !rounded-none p-0",children:(X,fe)=>{var Oe=xi(),de=Me(Oe),Ue=f(de),ut=f(Ue);{var wr=ve=>{var le=oi();m(ve,le)},Tt=ve=>{var le=ii(),Je=f(le);{let _=w(()=>e(Fr)?"mdi:pin":"mdi:pin-outline");Et(Je,{class:"block",get icon(){return e(_)},width:18,height:18})}c(le),B(()=>{he(le,1,`icon-btn justify-self-center ${e(Fr)?"text-rc-green-200":"text-gray-300 hover:text-gray-100"}`,"svelte-rdft55"),le.disabled=e(te)||e(K)||e(F).length===0}),Re("click",le,async()=>{await Hs(!e(Vs))}),m(ve,le)};H(ut,ve=>{e(te)?ve(wr):ve(Tt,-1)})}var kr=g(ut,2),Gt=f(kr),Xt=f(Gt);c(Gt);var cr=g(Gt,2),st=f(cr);c(cr);var mt=g(cr,2),Ot=f(mt);c(mt);var V=g(mt,2);{var Zt=ve=>{var le=An(),Je=f(le);{let Ie=w(()=>e(ct).trend.direction==="higher"?"chevron-up":"chevron-down");Lt(Je,{get name(){return e(Ie)},width:16,height:16,class:"inline-block align-text-bottom"})}var _=g(Je),dt=f(_,!0);c(_),c(le),B((Ie,ft)=>{he(le,1,`whitespace-nowrap font-semibold ${e(ct).trend.direction==="higher"?"text-rc-green-200":"text-rc-red-600"}`,"svelte-rdft55"),vt(le,"title",Ie),q(dt,ft)},[()=>`Previous ${e(ct).trend.previousAttemptsPassing}/${e(ct).trend.previousAttemptsTotal}, current ${e(ct).trend.currentAttemptsPassing}/${e(ct).trend.currentAttemptsTotal}, p=${e(ct).trend.pValue.toPrecision(2)}`,()=>zs(e(ct).trend.direction)]),m(ve,le)};H(V,ve=>{e(ct).trend&&ve(Zt)})}c(kr),c(Ue);var Yt=g(Ue,2);{var Cr=ve=>{var le=ys();m(ve,le)},sn=ve=>{var le=Cs();hr(le,23,()=>e(F),Je=>Je.id,(Je,_,dt)=>{const Ie=w(()=>Tn(e(_).conversation_ui)),ft=w(()=>e(Ct).has(e(_).id));var jt=hi(),Tr=f(jt),ur=f(Tr),Vr=f(ur);{var pe=ne=>{var je=li(),Fe=f(je);{var It=ge=>{Et(ge,{icon:"mdi:check",width:20,height:20,class:"text-rc-green-200"})},xe=w(()=>e(kt).has(e(_).id)),Pe=ge=>{Et(ge,{icon:"mdi:play",width:20,height:20,class:"text-rc-green-200"})},se=w(()=>e(ht).has(e(_).id)),Ye=ge=>{Et(ge,{icon:"mdi:play-outline",width:20,height:20,class:"text-rc-green-200"})},ze=w(()=>e(Te).has(e(_).id));H(Fe,ge=>{e(xe)?ge(It):e(se)?ge(Pe,1):e(ze)&&ge(Ye,2)})}c(je),m(ne,je)},Be=ne=>{var je=ci(),Fe=Me(je),It=f(Fe);{let ze=w(()=>e(_).pinned?"mdi:pin":"mdi:pin-outline");Et(It,{class:"block",get icon(){return e(ze)},width:18,height:18})}c(Fe);var xe=g(Fe,2),Pe=f(xe);Et(Pe,{icon:"mdi:content-copy",width:18,height:18}),c(xe);var se=g(xe,2),Ye=f(se);Et(Ye,{icon:"mdi:trash-can-outline",width:18,height:18}),c(se),B(()=>{he(Fe,1,`icon-btn ${e(_).pinned?"text-rc-green-200":"text-gray-300 hover:text-gray-100"}`,"svelte-rdft55"),vt(Fe,"aria-label",e(_).pinned?"Unpin":"Pin"),vt(Fe,"title",e(_).pinned?"Unpin":"Pin"),Fe.disabled=e(te)||e(K),xe.disabled=e(te)||e(K),se.disabled=e(te)||e(K)}),Re("click",Fe,async()=>{const ze=!e(_).pinned;o(F,e(F).map(ge=>ge.id===e(_).id?{...ge,pinned:ze}:ge),!0),await rt(Kt(e(_).id,{pinned:ze?"TRUE":"FALSE"}))}),Re("click",xe,()=>ea(e(_),e(dt))),Re("click",se,()=>ra(e(_).id)),m(ne,je)};H(Vr,ne=>{e(te)?ne(pe):ne(Be,-1)})}c(ur);var at=g(ur,2),Xe=f(at),Ze=f(Xe),ke=f(Ze),ot=f(ke);gr(ot);var Qe=g(ot,2),St=f(Qe);{let ne=w(()=>e(ft)?"chevron-up":"chevron-down");Lt(St,{get name(){return e(ne)},width:20,height:20,class:"block"})}c(Qe),c(ke);var dr=g(ke,2);{var Sr=ne=>{var je=ws(),Fe=f(je);{var It=Pe=>{const se=w(()=>un(e(_).result,e(ar)));var Ye=ui(),ze=Me(Ye),ge=f(ze);c(ze);var er=g(ze,2);{var zt=$e=>{var z=dn(),_t=f(z);c(z),B(()=>q(_t,`(${e(se).expectedSuccesses??""}/${e(se).expectedRuns??""} expected)`)),m($e,z)};H(er,$e=>{var z;(z=e(se))!=null&&z.showExpected&&$e(zt)})}var tr=g(er,2);{var Pr=$e=>{var z=An(),_t=f(z);{let qt=w(()=>e(se).direction==="higher"?"chevron-up":"chevron-down");Lt(_t,{get name(){return e(qt)},width:16,height:16,class:"inline-block align-text-bottom"})}var $r=g(_t),fr=f($r,!0);c($r),c(z),B(()=>{he(z,1,`ml-2 whitespace-nowrap font-semibold ${e(se).direction==="higher"?"text-rc-green-200":"text-rc-red-600"}`,"svelte-rdft55"),q(fr,e(se).comparisonLabel)}),m($e,z)};H(tr,$e=>{var z;(z=e(se))!=null&&z.comparisonLabel&&$e(Pr)})}B($e=>{he(ze,1,$e,"svelte-rdft55"),q(ge,`${e(_).result.successes??""}/${e(_).result.total_runs??""}`)},[()=>Qr(nn(e(_).result))]),m(Pe,Ye)},xe=Pe=>{var se=_s();m(Pe,se)};H(Fe,Pe=>{e(_).result?Pe(It):Pe(xe,-1)})}c(je),m(ne,je)};H(dr,ne=>{e(ft)||ne(Sr)})}c(Ze);var Ir=g(Ze,2);{var Ft=ne=>{var je=gi(),Fe=Me(je),It=f(Fe);{var xe=Z=>{var ee=di();m(Z,ee)};H(It,Z=>{e(Ie).valid||Z(xe)})}var Pe=g(It,2);gr(Pe);var se=g(Pe,2),Ye=f(se);hr(Ye,21,()=>Or,ga,(Z,ee)=>{var Le=fi(),ae=f(Le,!0);c(Le);var Pt={};B(()=>{q(ae,e(ee).label),Pt!==(Pt=e(ee).value)&&(Le.value=(Le.__value=e(ee).value)??"")}),m(Z,Le)}),c(Ye);var ze=g(Ye,2);gr(ze),c(se);var ge=g(se,2),er=f(ge),zt=f(er),tr=g(zt,2);c(er);var Pr=g(er,2);{let Z=w(()=>e(te)||e(K));Ke(Pr,{variant:"secondary",size:"small",get disabled(){return e(Z)},onclick:()=>aa(e(_)),children:(ee,Le)=>{Ce();var ae=De("Edit context");m(ee,ae)},$$slots:{default:!0}})}c(ge);var $e=g(ge,2);{let Z=w(()=>e(Ie).highlight?[{startLine:e(Ie).highlight.startLine,endLine:e(Ie).highlight.endLine,className:"test-expected-output"}]:void 0);vs($e,{get value(){return e(_).conversation_ui},onChange:ee=>e(_).conversation_ui=ee,onBlur:async ee=>{if(!e(n))return;const Le=Tn(ee);e(_).conversation=Le.conversation,e(_).expected_output=Le.expected,await rt(Kt(e(_).id,{conversation:e(_).conversation,expected_output:e(_).expected_output}))},get highlights(){return e(Z)},language:"markdown",height:220})}c(Fe);var z=g(Fe,2),_t=f(z),$r=f(_t);{let Z=w(()=>e(te)||e(K)||!e(Ie).valid),ee=w(()=>e(Ie).valid?"Run":"Expected must be the last block (“Agent: …”)");Ke($r,{size:"small",get disabled(){return e(Z)},get title(){return e(ee)},onclick:()=>Nt(e(_).id),children:(Le,ae)=>{Ce();var Pt=De("▶ Run");m(Le,Pt)},$$slots:{default:!0}})}var fr=g($r,2);{var qt=Z=>{const ee=w(()=>un(e(_).result,e(ar)));var Le=vi(),ae=f(Le),Pt=f(ae);c(ae);var Jr=g(ae,2);{var vr=it=>{var He=dn(),pr=f(He);c(He),B(()=>q(pr,`(${e(ee).expectedSuccesses??""}/${e(ee).expectedRuns??""} expected)`)),m(it,He)};H(Jr,it=>{var He;(He=e(ee))!=null&&He.showExpected&&it(vr)})}var qe=g(Jr,2);{var Br=it=>{var He=An(),pr=f(He);{let on=w(()=>e(ee).direction==="higher"?"chevron-up":"chevron-down");Lt(pr,{get name(){return e(on)},width:18,height:18,class:"inline-block align-text-bottom"})}var an=g(pr),Pn=f(an,!0);c(an),c(He),B(()=>{he(He,1,`ml-2 whitespace-nowrap font-semibold ${e(ee).direction==="higher"?"text-rc-green-200":"text-rc-red-600"}`,"svelte-rdft55"),q(Pn,e(ee).comparisonLabel)}),m(it,He)};H(qe,it=>{var He;(He=e(ee))!=null&&He.comparisonLabel&&it(Br)})}c(Le),B(it=>{he(ae,1,it,"svelte-rdft55"),q(Pt,`${e(_).result.successes??""}/${e(_).result.total_runs??""}`)},[()=>Qr(nn(e(_).result))]),m(Z,Le)};H(fr,Z=>{e(_).result&&Z(qt)})}c(_t);var In=g(_t,2);{var Ur=Z=>{var ee=pi();hr(ee,21,()=>e(_).result.runs,Le=>Le.index,(Le,ae,Pt,Jr)=>{var vr=ks(),qe=f(vr),Br=f(qe,!0);c(qe);var it=g(qe,2),He=f(it),pr=f(He);{var an=$t=>{Lt($t,{name:"checkmark",width:20,height:20,class:"shrink-0 self-end"})},Pn=$t=>{Lt($t,{name:"close",width:18,height:18,class:"shrink-0 scale-110 self-start"})};H(pr,$t=>{e(ae).success?$t(an):$t(Pn,-1)})}var on=g(pr,2),ca=f(on,!0);c(on),c(He);var ua=g(He,2);{let $t=w(()=>e(_).scenario||"Test"),da=w(()=>e(te)||e(K)),fa=w(()=>!e(ae).text.trim());hs(ua,{get scenario(){return e($t)},get runIndex(){return e(ae).index},get links(){return e(ae).links},get variants(){return e(_).result.runs},get region(){return e(i)},get actionsDisabled(){return e(da)},get addTestDisabled(){return e(fa)},get analyzeDisabled(){return e(Jt)},onAddTest:()=>Bn(e(_),e(ae).text,e(dt)),onAnalyze:()=>Nr(e(_).scenario||"Test",e(ae).index,e(ae).links.renderedPrompt),onRegenerate:()=>Nt(e(_).id)})}c(it),c(vr),B($t=>{he(qe,1,`w-full whitespace-pre-wrap break-words rounded-lg px-3 py-2 text-rc-gray-100 ${e(ae).success?"bg-rc-green-700 backdrop-blur-md":""}`,"svelte-rdft55"),Mn(qe,e(ae).success?"":"background-color: rgb(156 80 80)"),q(Br,e(ae).text||e(ae).errors||"—"),he(it,1,`flex w-full flex-col gap-x-4 whitespace-pre-wrap break-words ${e(ae).success?"text-rc-green-200":"text-rc-red-800"}`,"svelte-rdft55"),q(ca,$t)},[()=>e(ae).success?"Pass":Qn(e(ae).evaluation)||(e(ae).errors||"").split(/\r?\n/)[0]||"Fail"]),m(Le,vr)}),c(ee),m(Z,ee)};H(In,Z=>{e(_).result&&Z(Ur)})}c(z),B(()=>{he(zt,1,`min-w-20 rounded px-2 text-sm font-semibold transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${e(_).capture_mode==="immediate"?"bg-rc-gray-500 text-rc-gray-100":"text-rc-gray-300 hover:bg-rc-gray-800 hover:text-rc-gray-100"}`,"svelte-rdft55"),vt(zt,"aria-pressed",e(_).capture_mode==="immediate"),zt.disabled=e(te)||e(K),he(tr,1,`min-w-16 rounded px-2 text-sm font-semibold transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${e(_).capture_mode==="final"?"bg-rc-gray-500 text-rc-gray-100":"text-rc-gray-300 hover:bg-rc-gray-800 hover:text-rc-gray-100"}`,"svelte-rdft55"),vt(tr,"aria-pressed",e(_).capture_mode==="final"),tr.disabled=e(te)||e(K)}),Re("change",Pe,()=>Kt(e(_).id,{author:e(_).author||""})),$n(Pe,()=>e(_).author,Z=>e(_).author=Z),Re("change",Ye,()=>Kt(e(_).id,{assertion_type:e(_).assertion_type})),ma(Ye,()=>e(_).assertion_type,Z=>e(_).assertion_type=Z),Re("change",ze,()=>Kt(e(_).id,{assertion_value:e(_).assertion_value})),$n(ze,()=>e(_).assertion_value,Z=>e(_).assertion_value=Z),Re("click",zt,()=>Wn(e(_),"immediate")),Re("click",tr,()=>Wn(e(_),"final")),m(ne,je)};H(Ir,ne=>{e(ft)&&ne(Ft)})}c(Xe),c(at),c(Tr),c(jt),B(()=>{vt(jt,"data-id",e(_).id),he(Xe,1,`left-details-bg flex flex-col rounded border ${e(Ie).valid?"border-rc-gray-700":"border-rc-red-600"}`,"svelte-rdft55"),he(Ze,1,`left-details-bg sticky top-0 z-10 rounded-t px-2 pt-2 ${e(ft)?"border-b border-rc-gray-700 pb-1":"pb-2"}`,"svelte-rdft55"),vt(Qe,"aria-label",e(ft)?"Collapse test":"Expand test"),vt(Qe,"title",e(ft)?"Collapse":"Expand"),Qe.disabled=e(K)}),Re("change",ot,()=>Kt(e(_).id,{scenario:e(_).scenario})),$n(ot,()=>e(_).scenario,ne=>e(_).scenario=ne),Re("click",Qe,()=>na(e(_).id)),m(Je,jt)}),c(le),m(ve,le)};H(Yt,ve=>{e(F).length===0?ve(Cr):ve(sn,-1)})}c(de);var Hr=g(de,2);{var Sn=ve=>{const le=w(()=>e(F).find(Je=>Je.id===e(M)));{const Je=dt=>{var Ie=mi(),ft=f(Ie);Is(ft,{get value(){return e(Q)},ariaLabel:"Test context tabs",onChange:({value:pe})=>o(Q,pe,!0),children:(pe,Be)=>{var at=ms(),Xe=Me(at);Zr(Xe,{value:"context",class:"px-3",children:(ke,ot)=>{Ce();var Qe=De("Context");m(ke,Qe)},$$slots:{default:!0}});var Ze=g(Xe,2);Zr(Ze,{value:"mocks",class:"px-3",children:(ke,ot)=>{Ce();var Qe=De("Mocks");m(ke,Qe)},$$slots:{default:!0}}),m(pe,at)},$$slots:{default:!0}});var jt=g(ft,2),Tr=f(jt);{var ur=pe=>{var Be=pn(),at=Me(Be);es(at,()=>`${e(M)}:context`,Xe=>{{let Ze=w(()=>`editorState/context/${e(n)}/tests/${e(M)}`);Ln(Xe,{class:"h-full min-h-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl",get context(){return e(O)},suppressErrors:!0,defaultFormat:"yaml",hideHeader:!0,get editorStateKey(){return e(Ze)},onContextChanged:ke=>o(O,ke,!0)})}}),m(pe,Be)},Vr=pe=>{var Be=pn(),at=Me(Be);es(at,()=>`${e(M)}:mocks`,Xe=>{{let Ze=w(()=>`editorState/mocks/${e(n)}/tests/${e(M)}`);Ln(Xe,{class:"h-full min-h-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl",get context(){return e(j)},suppressErrors:!0,defaultFormat:"yaml",hideHeader:!0,get editorStateKey(){return e(Ze)},onContextChanged:ke=>{o(j,ke,!0),o(P,!0)}})}}),m(pe,Be)};H(Tr,pe=>{e(Q)==="context"?pe(ur):pe(Vr,-1)})}c(jt),c(Ie),m(dt,Ie)};let _=w(()=>{var dt;return`Test context — ${((dt=e(le))==null?void 0:dt.scenario)||"Test"}`});ya(ve,{get title(){return e(_)},onClose:()=>void oa(),children:Je})}};H(Hr,ve=>{e(M)&&ve(Sn)})}B(()=>{q(Xt,`Pinned: ${e(tn)??""}/${e(F).length??""}`),q(st,`${e(ct).casesPassing??""}/${e(ct).casesTotal??""} cases passing`),q(Ot,`${e(ct).attemptsPassing??""}/${e(ct).attemptsTotal??""} attempts passing`)}),m(X,Oe)}}),c(we),c(v),m(l,v)};H(ia,l=>{e(W)&&l(la)})}m(t,Gn),xn()}Ts(["click","change"]);export{Ui as component};
@@ -1,11 +0,0 @@
1
- import{a as l,t as W,f as T,d as be,c as Qt,b as se,e as We}from"../chunks/Ca197UDq.js";import"../chunks/BNifnXkO.js";import{o as qe,a as Ke}from"../chunks/C39ai1md.js";import{p as le,d as Be,j as t,y as c,c as b,f as it,s as P,n as Ct,r as y,a as ce,w as Xt,o as bt,t as U,k as pt,h as v,_ as Z,a4 as D,bf as Dt,bg as He,e as Ve,$ as Ye,T as Ge,bh as ve}from"../chunks/CxLomzuE.js";import{s as H}from"../chunks/DJriQKD9.js";import{p as X,a as Qe,s as Xe}from"../chunks/CPXdAKdv.js";import{i as k}from"../chunks/Buo-57fF.js";import{e as ie,i as pe}from"../chunks/BJTwdUYr.js";import{h as Ze}from"../chunks/iAhzu4tv.js";import{c as tr}from"../chunks/D-B5X35l.js";import{b as er}from"../chunks/BLu86SbA.js";import{i as Te}from"../chunks/BI42X8h_.js";import{s as rr}from"../chunks/DThbydRF.js";import{g as me,T as ar}from"../chunks/JcG4w2gF.js";import{b as nr,f as or}from"../chunks/T0seCQS_.js";import{B as mt}from"../chunks/CVlsAO8k.js";import{D as sr}from"../chunks/Bj8jfBTi.js";import{I as ir,h as ge}from"../chunks/07xNIa59.js";import{M as ye}from"../chunks/CyvQWZoe.js";import{m as lr}from"../chunks/ddC1NP9R.js";import{C as cr,a as ur,b as dr,f as _e,c as xe}from"../chunks/Bq2S1bnB.js";import{s as Jt}from"../chunks/CAjPRvNs.js";import{g as fr,c as he}from"../chunks/CaHl3dME.js";const vr=()=>{const et=rr;return{page:{subscribe:et.page.subscribe},navigating:{subscribe:et.navigating.subscribe},updated:et.updated}},pr={subscribe(et){return vr().page.subscribe(et)}};var mr=T("<!> <!>",1),gr=T('<div class="mt-1 overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox"><!> <!></div>'),yr=T("<div><!> <!></div>");function _r(et,I){le(I,!0);let N=X(I,"disabled",3,!1),$t=X(I,"dropdownId",3,"copy-traces-dropdown"),J=Xt(!1),lt=Xt(null),rt=Xt(null),ct=Xt(null);Be(()=>{N()&&t(J)&&c(J,!1)});async function Tt(A){try{const q=A==="with-prompts"?I.getWithPromptsText():I.getWithoutPromptsText();await navigator.clipboard.writeText(q),c(rt,A,!0),t(ct)&&clearTimeout(t(ct)),c(ct,window.setTimeout(()=>{c(rt,null),c(ct,null)},2e3),!0)}catch(q){console.error("Failed to copy traces",q)}}var gt=yr(),m=b(gt);mt(m,{variant:"secondary",size:"small",get disabled(){return N()},get"aria-expanded"(){return t(J)},"aria-haspopup":"listbox",get"aria-controls"(){return $t()},onclick:A=>{A.stopPropagation(),c(J,!t(J))},class:"flex items-center gap-1",get el(){return t(lt)},set el(A){c(lt,A,!0)},children:(A,q)=>{var p=mr(),dt=it(p);{var at=w=>{var K=W("Copied traces (without prompts)");l(w,K)},M=w=>{var K=W("Copied traces (with prompts)");l(w,K)},nt=w=>{var K=W("Copy traces");l(w,K)};k(dt,w=>{t(rt)==="without-prompts"?w(at):t(rt)==="with-prompts"?w(M,1):w(nt,-1)})}var F=P(dt,2);{let w=Ct(()=>"size-5 text-rc-gray-400 transition-transform duration-200 "+(t(J)?"rotate-180":""));ir(F,{name:"chevron-down",get class(){return t(w)}})}l(A,p)},$$slots:{default:!0}});var ut=P(m,2);sr(ut,{get id(){return $t()},get open(){return t(J)},onClose:()=>c(J,!1),get anchorEl(){return t(lt)},placement:"bottom-end",offset:[0,1],children:q=>{var p=gr(),dt=b(p);mt(dt,{variant:"ghost",size:"small",role:"option",onclick:M=>{M.stopPropagation(),c(J,!1),Tt("without-prompts")},class:"w-full rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(M,nt)=>{bt();var F=W("Without prompts");l(M,F)},$$slots:{default:!0}});var at=P(dt,2);mt(at,{variant:"ghost",size:"small",role:"option",onclick:M=>{M.stopPropagation(),c(J,!1),Tt("with-prompts")},class:"w-full rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(M,nt)=>{bt();var F=W("With prompts");l(M,F)},$$slots:{default:!0}}),y(p),l(q,p)},$$slots:{default:!0}}),y(gt),l(et,gt),ce()}var xr=T("<div> </div>"),hr=T('<div class="mt-1 whitespace-pre-wrap break-words text-xs italic text-rc-gray-200"> </div>'),br=T("<div><!> <!> <!></div>"),Tr=T("<div><div><div> </div> <div><!> <!></div> <!></div></div>"),wr=T('<div class="space-y-3"></div>'),Sr=T('<div class="whitespace-pre-wrap break-words"><!></div>'),$r=T('<button class="inline-flex text-sm text-rc-green-200 hover:text-rc-green-100"> </button>'),Lr=T('<div><span class="whitespace-pre-wrap break-words"><!></span> <!></div>');function Pr(et,I){le(I,!1);let N=X(I,"value",8,""),$t=X(I,"limit",8,200),J=X(I,"maxLines",8,null),lt=X(I,"className",8,""),rt=X(I,"collapsedLabel",8,"...more"),ct=X(I,"initiallyExpanded",8,!1),Tt=X(I,"stopPropagation",8,!0),gt=X(I,"expanded",28,ct),m=X(I,"treatPlainText",8,!1),ut=X(I,"highlightPrompt",8,!1);function A(o){return o.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function q(o){const i=p(o);let n=A(i);const d=[];return n=n.replace(/(\{+[\s\S]*?\}+)/g,x=>{const h=d.length;return d.push(x),`__CURLY${h}__`}),n=n.replace(/^(\s*#.*)$/gm,'<span class="prompt-heading">$1</span>'),n=n.replace(/(&lt;[^&]*?&gt;)/g,'<span class="mtk8">$1</span>'),n=n.replace(/^(\s*)(\d+)([.)])(\s+)/gm,(x,h,L,R,ft)=>`${h}<span class="mtk8">${L}${R}</span>${ft}`),d.forEach((x,h)=>{const L=`<span class="mtk5">${x}</span>`;n=n.replace(`__CURLY${h}__`,L)}),n=n.replace(/\n/g,"<br/>"),n}function p(o){let i=o.replace(/\r\n/g,`
2
- `);return i=i.replace(/\\n/g,`
3
- `),i}function dt(o){try{if(Array.isArray(o)){const i=o.map(n=>(n==null?void 0:n.text)??(n==null?void 0:n.content)??JSON.stringify(n)).join(" ");return p(i)}if(typeof o=="string")try{const i=JSON.parse(o);if(Array.isArray(i)){const n=i.map(d=>(d==null?void 0:d.text)??(d==null?void 0:d.content)??JSON.stringify(d)).join(" ");return p(n)}return p(o)}catch{return p(o)}return p(JSON.stringify(o))}catch{return p(String(o??""))}}function at(o){try{if(Array.isArray(o)){const i=o.map(n=>(n==null?void 0:n.text)??(n==null?void 0:n.content)??JSON.stringify(n)).join(`
4
- `);return p(i)}if(typeof o=="string")try{const i=JSON.parse(o);if(Array.isArray(i)){const n=i.map(d=>(d==null?void 0:d.text)??(d==null?void 0:d.content)??JSON.stringify(d)).join(`
5
- `);return p(n)}return p(o)}catch{return p(o)}return p(JSON.stringify(o,null,2))}catch{return p(String(o??""))}}function M(o){const n=p(o).split(/\n+/).map(L=>L.trim()).filter(L=>L.length>0),d=[];let x,h="";for(const L of n){const R=L.match(/^(user|assistant|system|customer|caller|tool|model|agent)\s*[:\-]\s*(.*)$/i);R?(h&&d.push({text:h,role:x}),x=R[1].toLowerCase(),h=R[2]??""):h?h+=`
6
- `+L:h=L}return h&&d.push({text:h,role:x}),d}function nt(o){try{let i=o;if(typeof o=="string")try{i=JSON.parse(o)}catch{return m()?M(o):[]}if(!Array.isArray(i))if(Array.isArray(i==null?void 0:i.messages))i=i.messages;else return[];return i.map(n=>{let d;return(n==null?void 0:n.text)!=null?d=String(n.text):(n==null?void 0:n.content)!=null?Array.isArray(n.content)?d=n.content.map(x=>{var h;return typeof x=="string"?x:typeof(x==null?void 0:x.text)=="string"?x.text:typeof((h=x==null?void 0:x.text)==null?void 0:h.value)=="string"?x.text.value:JSON.stringify(x)}).join(" "):typeof n.content=="string"?d=n.content:d=JSON.stringify(n.content):typeof n=="string"?d=n:d=JSON.stringify(n),{text:p(d),role:n==null?void 0:n.role,time:n==null?void 0:n.time,duration:n==null?void 0:n.duration}}).filter(n=>n.text&&String(n.text).trim().length>0)}catch{return[]}}const F=()=>dt(N()),w=()=>at(N()),K=()=>F().split(`
7
- `),wt=()=>nt(N()),$=()=>wt().length>0,It=()=>J()!=null?K().length>J():F().length>$t(),Lt=()=>{const o=F();return It()?J()!=null?K().slice(0,J()).join(`
8
- `):o.slice(0,$t()):o};function Pt(o){if(!o)return null;try{const i=new Date(o);return Number.isNaN(i.getTime())?o:i.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return o}}function Ut(o){if(o==null||!Number.isFinite(o))return null;const i=Number(o),n=Math.floor(i),d=Math.floor(n/60),x=n%60,h=String(d).padStart(2,"0"),L=String(x).padStart(2,"0");return`${h}:${L}`}function Wt(o){if(!o)return"Assistant";const i=o.trim();return i?i.charAt(0).toUpperCase()+i.slice(1):"Assistant"}function V(o){const i=(o==null?void 0:o.toLowerCase())??"";return i==="user"||i==="customer"||i==="caller"}function yt(o){const i=[];return{main:o.replace(/<([^>]+)>/g,(d,x)=>{const h=String(x).trim();return h&&i.push(h),""}).trim(),system:i}}function _t(o){Tt()&&o.stopPropagation(),gt(!gt())}function ot(o){Tt()&&o.stopPropagation()}Te();var St=Qt(),qt=it(St);{var Kt=o=>{var i=Qt(),n=it(i);{var d=L=>{var R=wr();ie(R,5,()=>v(wt),pe,(ft,S)=>{const C=Z(()=>(t(S),v(()=>V(t(S).role)))),j=Z(()=>(t(S),v(()=>(t(S).role??"").toLowerCase()==="system"))),Y=Z(()=>(t(S),v(()=>yt(t(S).text)))),vt=Z(()=>(t(S),v(()=>Pt(t(S).time)))),Et=Z(()=>(t(S),v(()=>Ut(t(S).duration))));var Ot=Tr(),Ft=b(Ot),Mt=b(Ft),Zt=b(Mt,!0);y(Mt);var kt=P(Mt,2),Ht=b(kt);{var Vt=G=>{var B=xr(),tt=b(B,!0);y(B),U(()=>H(tt,(pt(t(Y)),v(()=>t(Y).main)))),l(G,B)};k(Ht,G=>{pt(t(Y)),v(()=>t(Y).main)&&G(Vt)})}var te=P(Ht,2);ie(te,1,()=>(pt(t(Y)),v(()=>t(Y).system)),pe,(G,B)=>{var tt=hr(),Nt=b(tt);y(tt),U(()=>H(Nt,`<${t(B)??""}>`)),l(G,tt)}),y(kt);var Yt=P(kt,2);{var ee=G=>{var B=br(),tt=b(B);{var Nt=Q=>{var xt=W();U(()=>H(xt,t(vt))),l(Q,xt)};k(tt,Q=>{t(vt)&&Q(Nt)})}var Rt=P(tt,2);{var re=Q=>{var xt=W("·");l(Q,xt)};k(Rt,Q=>{t(vt)&&t(Et)&&Q(re)})}var ae=P(Rt,2);{var ne=Q=>{var xt=W();U(()=>H(xt,t(Et))),l(Q,xt)};k(ae,Q=>{t(Et)&&Q(ne)})}y(B),U(()=>Jt(B,1,`mt-1 text-xs text-rc-gray-300 ${t(C)?"text-right":"text-left"}`)),l(G,B)};k(Yt,G=>{(t(vt)||t(Et))&&G(ee)})}y(Ft),y(Ot),U(G=>{Jt(Ot,1,`flex ${t(C)?"justify-end":"justify-start"}`),Jt(Ft,1,`max-w-[70%] break-words rounded-md px-3 py-2 text-sm shadow-sm ${t(C)?"bg-rc-gray-600 text-rc-gray-100":"bg-rc-gray-700 text-rc-gray-100"}`),Jt(Mt,1,`my-1 text-xs font-semibold uppercase ${t(j)?"text-rc-blue "+(t(C)?"text-right":"text-left"):"text-rc-green-200 "+(t(C)?"text-right":"text-left")}`),H(Zt,G),Jt(kt,1,`whitespace-pre-wrap break-words py-1 text-sm ${t(C)?"text-justify":"text-left"} ${t(j)?"italic text-rc-gray-200":""}`)},[()=>(t(S),v(()=>Wt(t(S).role)))]),l(ft,Ot)}),y(R),l(L,R)},x=Ct(()=>v($)),h=L=>{var R=Sr(),ft=b(R);{var S=j=>{var Y=Qt(),vt=it(Y);ge(vt,()=>v(()=>q(w()))),l(j,Y)},C=j=>{var Y=W();U(vt=>H(Y,vt),[()=>v(w)]),l(j,Y)};k(ft,j=>{ut()?j(S):j(C,-1)})}y(R),l(L,R)};k(n,L=>{t(x)?L(d):L(h,-1)})}l(o,i)},Bt=o=>{var i=Lr(),n=b(i),d=b(n);{var x=S=>{var C=Qt(),j=it(C);ge(j,()=>v(()=>q(Lt()))),l(S,C)},h=S=>{var C=W();U(j=>H(C,j),[()=>v(Lt)]),l(S,C)};k(d,S=>{ut()?S(x):S(h,-1)})}y(n);var L=P(n,2);{var R=S=>{var C=$r(),j=b(C,!0);y(C),U(()=>H(j,rt())),se("click",C,_t),l(S,C)},ft=Ct(()=>v(It));k(L,S=>{t(ft)&&S(R)})}y(i),U(()=>Jt(i,1,`mt-1 cursor-text select-text rounded bg-rc-gray-900 p-2 text-sm text-rc-gray-200 ${lt()}`)),se("click",i,ot),l(o,i)};k(qt,o=>{gt()?o(Kt):o(Bt,-1)})}l(et,St),ce()}be(["click"]);var kr=T('<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200"> </span>',1),Nr=T('<div class="flex flex-wrap items-center gap-2"><!> <!> <!></div>'),Ar=T('<div class="mt-2 text-sm text-rc-gray-400">Loading call details…</div>'),Cr=T('<div class="mt-2 text-sm text-rc-gray-300"> </div>'),Ir=T('<div class="py-8 text-center text-rc-gray-300">No conversation selected</div>'),Er=T('<div class="py-8 text-center text-rc-gray-200">Loading traces...</div>'),Or=T('<div class="z-50 py-8 text-center text-red-400"> </div>'),Mr=T('<div class="py-8 text-center text-rc-gray-300">No traces found</div>'),Rr=T('<div class="my-3 flex w-full justify-center"><div class="rounded-full border border-rc-gray-650 bg-rc-gray-900/40 px-3 py-1 text-xs text-rc-gray-200"> </div></div>'),jr=T('<div class="my-3 flex w-full justify-center"><div class="rounded-full border border-red-500 bg-red-950/30 px-3 py-1 text-xs font-semibold text-red-200"> </div></div>'),Jr=T("<!> <!> <!>",1),Fr=T('<div class="mt-3 flex justify-center"><!></div>'),zr=T("<div></div> <!>",1),Dr=T('<audio class="w-full" controls=""></audio> <div class="mt-3 break-all text-sm text-rc-gray-300"> </div>',1),Ur=T("<!> <!>",1),Wr=T('<div class="rc-scroll flex max-h-[60vh] flex-col gap-4 overflow-scroll p-2"><!></div>'),qr=T('<div class="flex w-full items-center justify-end gap-5"><!> <!></div>'),Kr=T('<div class="flex h-full w-full flex-col bg-rc-gray-700"><div class="flex-none border-b border-rc-gray-300/40 p-4"><div class="flex flex-wrap items-start justify-between gap-3"><h2 class="text-lg font-semibold text-rc-gray-100">Traces <!></h2> <!></div> <!></div> <div class="rc-scroll min-h-0 flex-1 overflow-scroll p-4"><!></div></div> <!> <!>',1);function ma(et,I){le(I,!1);const N=()=>Qe(pr,"$page",$t),[$t,J]=Xe();let lt=X(I,"useMock",8,!1);const rt=fr(),ct=me()??"",Tt=N().params.conversationId??"",gt=he(Tt,lt()?"__mock__":ct),m=rt.traces.get(gt),ut=new ar(fetch);ut.setSourceId(ct||void 0);let A=D((m==null?void 0:m.traces)??[]),q=D((m==null?void 0:m.latencyTraces)??[]),p=D([]),dt=D(new Map),at=D(!1),M=D(!1),nt=(m==null?void 0:m.tracesLoaded)??!1,F=D((m==null?void 0:m.tracesError)??null),w=D(nt?Tt:null),K=(m==null?void 0:m.lastTraceId)??null,wt=D((m==null?void 0:m.hasMoreTraces)??!1),$=D((m==null?void 0:m.conversation)??null),It=D(!1),Lt=(m==null?void 0:m.conversationLoaded)??!1,Pt=D((m==null?void 0:m.conversationError)??null),Ut=D(""),Wt=D(null),V=D(null),yt=D(!1),_t=D(!1),ot=0,St=0;const qt=new WeakMap;let Kt=0;function Bt(e){const r=me()??ct;return he(e,lt()?"__mock__":r)}function o(e=t(w)){var s,u;if(!e)return;const r=Bt(e),a=rt.traces.get(r);rt.traces.set(r,{traces:t(A),latencyTraces:t(q),tracesLoaded:nt,tracesError:t(F),lastTraceId:K,hasMoreTraces:t(wt),conversation:t($),conversationLoaded:Lt,conversationError:t(Pt),scrollTop:(a==null?void 0:a.scrollTop)??((s=t(V))==null?void 0:s.scrollTop)??0,scrollLeft:(a==null?void 0:a.scrollLeft)??((u=t(V))==null?void 0:u.scrollLeft)??0})}async function i(e){e&&(await Ge(),t(V)&&(ve(V,t(V).scrollTop=e.scrollTop),ve(V,t(V).scrollLeft=e.scrollLeft)))}function n(){if(!t(w)||!t(V))return;const e=rt.traces.get(Bt(t(w)));if(!e){o();return}e.scrollTop=t(V).scrollTop,e.scrollLeft=t(V).scrollLeft}function d(e){if(typeof e!="string")return null;const r=e.trim();return r||null}function x(e){return`${Math.round(e)} ms`}function h(e){const r=d(e==null?void 0:e.traceId);if(r)return r;const a=qt.get(e);if(a)return a;Kt+=1;const s=`synthetic-${e.traceType}-${e.createdAt}-${Kt}`;return qt.set(e,s),s}function L(e){const r=new Set;return e.filter(a=>{const s=d(a==null?void 0:a.traceId);return s?r.has(s)?!1:(r.add(s),!0):!0})}function R(e){return e?t(A):t(A).map(r=>{if(r.traceType!=="STEP")return r;const{receivedPrompt:a,renderedPrompt:s,...u}=r;return u})}function ft(e){return e&&typeof e.renderedPrompt=="string"?e.renderedPrompt:null}function S(e,r){for(let a=r-1;a>=0;a--){const s=e[a];if(s.traceType!=="STEP")continue;const u=s;if(u.name==="main"&&ft(u))return u}for(let a=r-1;a>=0;a--){const s=e[a];if(s.traceType!=="STEP")continue;const u=s;if(u.name==="prewarm"&&ft(u))return u}return null}function C(e){return!!(e!=null&&e.audioUrl&&String(e.audioUrl).trim())}function j(e){const r=e==null?void 0:e.transcript;return typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:!1}function Y(e){const r=e==null?void 0:e.transcript;return r?typeof r=="string"?r:Array.isArray(r)?r.map(a=>{const s=typeof(a==null?void 0:a.time)=="string"?a.time:"",u=typeof(a==null?void 0:a.role)=="string"?a.role:"",g=typeof(a==null?void 0:a.text)=="string"?a.text:"",f=[s,u].filter(Boolean).join(" • ");return f?`${f}
9
- ${g}`:g}).join(`
10
-
11
- `):"":""}async function vt(){try{await navigator.clipboard.writeText(Y(t($)))}catch(e){console.error("Failed to copy transcript",e)}}async function Et(){var e;try{const r=(e=t($))==null?void 0:e.audioUrl;if(!r)return;await navigator.clipboard.writeText(r)}catch(r){console.error("Failed to copy recording URL",r)}}function Ot(e){return e.traceType!=="CONVERSATIONAL"?!1:e.eventName==="received-message"||e.eventName==="llm-handler-stream-requested"||e.eventName==="finished-main-streaming-step"||e.eventName==="sent-message"||e.eventName==="transfer-requested"||e.eventName==="hangup-requested"}function Ft(e,r){const a=new Map;for(const s of nr(r)){if(!s.isHigh)continue;const u=or(e,s);if(!u)continue;const g=h(u),f=a.get(g);(!f||s.durationMs>f.durationMs)&&a.set(g,{id:s.id,durationMs:s.durationMs})}return a}function Mt(e){return t(dt).get(h(e))??null}const Zt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function kt(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const a=r.getFullYear(),s=String(r.getMonth()+1).padStart(2,"0"),u=String(r.getDate()).padStart(2,"0");return`${a}-${s}-${u}`}function Ht(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const a=r.getDate(),s=Zt[r.getMonth()],u=r.getFullYear();return`${a} ${s} ${u}`}async function Vt(e){const r=++St;c(It,!0),Lt=!1,c(Pt,null),c($,null);try{if(lt())return;const a=await ut.getConversation(e);if(r!==St)return;c($,a),Lt=!0}catch(a){if(r!==St)return;c(Pt,a.message),c($,null)}finally{if(r!==St)return;c(It,!1),o(e)}}async function te(e){const r=[];let a;for(;;){const s=await ut.getLatencyTraces(e,500,a);if(r.push(...s.items??[]),a=s.lastTraceId,!a)break}return r}async function Yt(e){if(!e||e===t(w))return;const r=++ot;c(w,e),c(at,!0),nt=!1,c(M,!1),c(F,null),K=null,c(wt,!1),c(q,[]),c(yt,!1),c(_t,!1),Vt(e);try{let a=[],s=null,u=!1,g=[];if(lt())a=(await lr.fetchTraces(e)).items??[];else{const[f,_]=await Promise.all([ut.getTraces(e,100),te(e).catch(E=>(console.error("Failed to load latency traces for chat warnings:",E),[]))]);a=f.items??[],s=f.lastTraceId??null,u=s!=null,g=_}if(r!==ot)return;K=s,c(wt,u),c(q,g),c(A,L(a).slice().sort((f,_)=>f.createdAt-_.createdAt)),nt=!0}catch(a){if(r!==ot)return;c(F,a.message),c(A,[]),console.error("Failed to load traces:",a)}finally{if(r!==ot)return;c(at,!1),o(e)}}async function ee(){if(!t(w)||!K||t(M))return;const e=t(w),r=ot;c(M,!0),c(F,null);try{const a=await ut.getTraces(e,100,K),s=a.items??[];if(e!==t(w)||r!==ot)return;const u=a.lastTraceId??null;K=u,c(wt,u!=null),c(A,L(t(A).concat(s)).slice().sort((g,f)=>g.createdAt-f.createdAt))}catch(a){if(e!==t(w)||r!==ot)return;c(F,a.message),console.error("Failed to load more traces:",a)}finally{if(e!==t(w)||r!==ot)return;c(M,!1),o(e)}}qe(()=>{const e=N().params.conversationId;e&&(nt?Lt||Vt(e):Yt(e),i(m))}),Ke(()=>{o(),ot+=1,St+=1}),Dt(()=>t(A),()=>{c(p,t(A).filter(e=>e.traceType==="API_CALL"||e.traceType==="STEP"||Ot(e)))}),Dt(()=>(t(p),t(q)),()=>{c(dt,Ft(t(p),t(q)))}),Dt(()=>(N(),t($)),()=>{var e;c(Ut,d(N().url.searchParams.get("agent"))??d((e=t($))==null?void 0:e.agentId)??"")}),Dt(()=>N(),()=>{c(Wt,d(N().url.searchParams.get("region")))}),Dt(()=>(N(),t(w)),()=>{const e=N().params.conversationId;e&&e!==t(w)&&Yt(e)}),He(),Te();var G=Kr();Ze("1uatba4",e=>{Ve(()=>{Ye.title="Bosun: Telescope"})});var B=it(G),tt=b(B),Nt=b(tt),Rt=b(Nt),re=P(b(Rt));{var ae=e=>{var r=kr(),a=P(it(r),2),s=b(a,!0);y(a),U(()=>H(s,(N(),v(()=>N().params.conversationId)))),l(e,r)};k(re,e=>{N(),v(()=>N().params.conversationId)&&e(ae)})}y(Rt);var ne=P(Rt,2);{var Q=e=>{var r=Nr(),a=b(r);{var s=O=>{mt(O,{variant:"secondary",size:"small",onclick:()=>c(yt,!0),children:(ht,zt)=>{bt();var jt=W("Recording");l(ht,jt)},$$slots:{default:!0}})},u=Ct(()=>(t($),v(()=>C(t($)))));k(a,O=>{t(u)&&O(s)})}var g=P(a,2);{var f=O=>{mt(O,{variant:"secondary",size:"small",onclick:()=>c(_t,!0),children:(ht,zt)=>{bt();var jt=W("Transcript");l(ht,jt)},$$slots:{default:!0}})},_=Ct(()=>(t($),v(()=>j(t($)))));k(g,O=>{t(_)&&O(f)})}var E=P(g,2);{let O=Z(()=>(t(A),t(at),v(()=>!t(A).length||t(at))));_r(E,{get disabled(){return t(O)},getWithPromptsText:()=>JSON.stringify(R(!0),null,2),getWithoutPromptsText:()=>JSON.stringify(R(!1),null,2)})}y(r),l(e,r)};k(ne,e=>{N(),v(()=>N().params.conversationId)&&e(Q)})}y(Nt);var xt=P(Nt,2);{var we=e=>{var r=Ar();l(e,r)},Se=e=>{var r=Cr(),a=b(r);y(r),U(()=>H(a,`Call details unavailable: ${t(Pt)??""}`)),l(e,r)};k(xt,e=>{t(It)?e(we):t(Pt)&&e(Se,1)})}y(tt);var Gt=P(tt,2),$e=b(Gt);{var Le=e=>{var r=Ir();l(e,r)},Pe=e=>{var r=Er();l(e,r)},ke=e=>{var r=Or(),a=b(r);y(r),U(()=>H(a,`Error: ${t(F)??""}`)),l(e,r)},Ne=e=>{var r=Mr();l(e,r)},Ae=e=>{var r=zr(),a=it(r);ie(a,7,()=>t(p),g=>h(g),(g,f,_)=>{const E=Z(()=>(t(f),v(()=>kt(t(f).createdAt)))),O=Z(()=>(pt(t(_)),t(p),v(()=>t(_)>0?kt(t(p)[t(_)-1].createdAt):null))),ht=Z(()=>(t(f),v(()=>Ht(t(f).createdAt)))),zt=Z(()=>(t(f),v(()=>Mt(t(f)))));var jt=Jr(),de=it(jt);{var Re=z=>{var st=Rr(),At=b(st),oe=b(At,!0);y(At),y(st),U(()=>H(oe,t(ht))),l(z,st)};k(de,z=>{t(E)&&t(ht)&&t(E)!==t(O)&&z(Re)})}var fe=P(de,2);{var je=z=>{cr(z,{get trace(){return t(f)}})},Je=z=>{{let st=Z(()=>(t(f),t(p),pt(t(_)),v(()=>t(f).name==="main"?S(t(p),t(_)):null)));ur(z,{get trace(){return t(f)},get compareTrace(){return t(st)}})}},Fe=z=>{{let st=Z(()=>(pt(xe),t(p),pt(t(_)),v(()=>xe(t(p),t(_))))),At=Z(()=>(pt(_e),t(p),pt(t(_)),v(()=>_e(t(p),t(_)))));dr(z,{get trace(){return t(f)},context:null,get agentId(){return t(Ut)},get region(){return t(Wt)},get testSourceStep(){return t(st)},get testFallbackConversation(){return t(At)},requireTestSourceStep:!0})}};k(fe,z=>{t(f),v(()=>t(f).traceType==="API_CALL")?z(je):(t(f),v(()=>t(f).traceType==="STEP")?z(Je,1):z(Fe,-1))})}var ze=P(fe,2);{var De=z=>{var st=jr(),At=b(st),oe=b(At);y(At),y(st),U(Ue=>H(oe,`High response latency: ${Ue??""}`),[()=>(pt(t(zt)),v(()=>x(t(zt).durationMs)))]),l(z,st)};k(ze,z=>{t(zt)&&z(De)})}l(g,jt)}),y(a);var s=P(a,2);{var u=g=>{var f=Fr(),_=b(f);mt(_,{variant:"secondary",size:"small",get disabled(){return t(M)},onclick:ee,children:(E,O)=>{bt();var ht=W();U(()=>H(ht,t(M)?"Loading more…":"Load more")),l(E,ht)},$$slots:{default:!0}}),y(f),l(g,f)};k(s,g=>{t(wt)&&g(u)})}l(e,r)};k($e,e=>{N(),v(()=>!N().params.conversationId)?e(Le):t(at)?e(Pe,1):t(F)?e(ke,2):(t(p),v(()=>!t(p).length)?e(Ne,3):e(Ae,-1))})}y(Gt),er(Gt,e=>c(V,e),()=>t(V)),y(B);var ue=P(B,2);{var Ce=e=>{ye(e,{title:"Recording",class:"!max-w-3xl",get open(){return t(yt)},set open(s){c(yt,s)},children:s=>{var u=Dr(),g=it(u),f=P(g,2),_=b(f,!0);y(f),U(()=>{tr(g,"src",(t($),v(()=>{var E;return(E=t($))==null?void 0:E.audioUrl}))),H(_,(t($),v(()=>{var E;return(E=t($))==null?void 0:E.audioUrl})))}),l(s,u)},footer:s=>{var u=Ur(),g=it(u);mt(g,{variant:"secondary",size:"small",onclick:Et,children:(_,E)=>{bt();var O=W("Copy URL");l(_,O)},$$slots:{default:!0}});var f=P(g,2);mt(f,{variant:"secondary",size:"small",onclick:()=>c(yt,!1),children:(_,E)=>{bt();var O=W("Close");l(_,O)},$$slots:{default:!0}}),l(s,u)},$$slots:{default:!0,footer:!0},$$legacy:!0})},Ie=Ct(()=>(t(yt),t($),v(()=>t(yt)&&C(t($)))));k(ue,e=>{t(Ie)&&e(Ce)})}var Ee=P(ue,2);{var Oe=e=>{ye(e,{title:"Transcript",class:"!max-w-4xl",get open(){return t(_t)},set open(s){c(_t,s)},children:s=>{var u=Wr(),g=b(u);{var f=_=>{Pr(_,{get value(){return t($),v(()=>t($).transcript)},limit:500,expanded:!0})};k(g,_=>{t($),v(()=>{var E;return typeof((E=t($))==null?void 0:E.transcript)=="string"})&&_(f)})}y(u),l(s,u)},footer:s=>{var u=qr(),g=b(u);mt(g,{onclick:vt,children:(_,E)=>{bt();var O=W("Copy transcript");l(_,O)},$$slots:{default:!0}});var f=P(g,2);mt(f,{variant:"secondary",onclick:()=>c(_t,!1),children:(_,E)=>{bt();var O=W("Close");l(_,O)},$$slots:{default:!0}}),y(u),l(s,u)},$$slots:{default:!0,footer:!0},$$legacy:!0})},Me=Ct(()=>(t(_t),t($),v(()=>t(_t)&&j(t($)))));k(Ee,e=>{t(Me)&&e(Oe)})}se("click",B,e=>e.stopPropagation()),We("scroll",Gt,n),l(et,G),ce(),J()}be(["click"]);export{ma as component};
@@ -1,2 +0,0 @@
1
- import{a as y,f as P,d as Pt,b as He,t as be,e as vt,c as Rt}from"../chunks/Ca197UDq.js";import{p as rt,c as C,f as Re,r as T,s as A,j as e,t as ie,y as s,n as h,a as nt,w as L,d as Ae,o as Ne,x as It}from"../chunks/CxLomzuE.js";import{i as $}from"../chunks/Buo-57fF.js";import{B as ue}from"../chunks/CVlsAO8k.js";import{D as Nt,c as ne,i as kt,a as Ve,b as Je,d as qt}from"../chunks/Bj8jfBTi.js";import{s as me}from"../chunks/DJriQKD9.js";import{e as We,i as xt}from"../chunks/BJTwdUYr.js";import{s as tt,c as Lt}from"../chunks/CAjPRvNs.js";import{p as ye}from"../chunks/CPXdAKdv.js";import{I as Ge}from"../chunks/07xNIa59.js";import{t as Ke}from"../chunks/D0wo6ydM.js";import{P as Mt,g as Bt}from"../chunks/CzXNWL4m.js";import{c as pt,s as jt}from"../chunks/D-B5X35l.js";import{b as Et}from"../chunks/BLu86SbA.js";import{C as Jt,b as Wt,a as Gt,c as Dt,f as Kt,m as Yt,d as Xt,e as Zt}from"../chunks/Bq2S1bnB.js";import{o as $t}from"../chunks/C39ai1md.js";import{s as Qt}from"../chunks/BDl2QuyN.js";import{I as At}from"../chunks/nYD9wsyN.js";import{l as et,c as er}from"../chunks/QpaC6J6s.js";var tr=P('<span class="min-w-0 flex-1 truncate text-left"> </span> <!>',1),rr=P('<div class="truncate p-1 text-base font-semibold text-rc-green-200"> </div>'),nr=P('<div class="truncate p-1 text-base font-semibold text-rc-gray-100"> </div>'),ar=P('<div class="flex items-start gap-2"><div class="min-w-0"><div class="truncate p-1 text-sm text-rc-gray-300 group-hover:text-rc-gray-200"> </div> <!></div></div>'),or=P('<div class="mt-1 max-h-96 w-max min-w-full max-w-[min(26rem,90vw)] overflow-y-auto overflow-x-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 backdrop-blur-2xl" role="listbox"></div>'),sr=P("<div><!> <!></div>");function ir(l,r){rt(r,!0);let a=ye(r,"class",3,""),o=L(!1),f=L(null);const c=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function v(){s(o,!e(o))}function M(b){r.onSelectState(b),s(o,!1)}function g(b){const R=b.userMessage;if(R==null)return"No message";const F=(typeof R=="string"?R:String(R)).trim();return F?b.userMessageSender==="system"?`System: ${F}`:F:"No message"}function d(b,R=50,F="…"){if(!b)return"";if(b.length<=R)return b;const O=b.slice(0,R+1),k=Math.max(O.lastIndexOf(" "),O.lastIndexOf(" "),O.lastIndexOf(" "),O.lastIndexOf(`
2
- `),O.lastIndexOf("\r"));return(k>0?O.slice(0,k):b.slice(0,R)).trimEnd()+F}function E(b){b.key==="ArrowDown"&&!e(o)?(s(o,!0),b.preventDefault()):b.key==="ArrowUp"&&e(o)&&(s(o,!1),b.preventDefault())}function ce(b){const R=b.getDate(),F=c[b.getMonth()];let O=b.getHours();const k=O>=12?"PM":"AM";O=O%12,O===0&&(O=12);const I=String(b.getMinutes()).padStart(2,"0"),ee=new Date,we=b.getFullYear(),ve=we!==ee.getFullYear()?` ${we}`:"";return`${R} ${F}${ve}, ${O}:${I} ${k}`}function U(b){const R=new Date(b.id);if(!Number.isNaN(R.getTime()))return ce(R);const F=new Date(b.name);return Number.isNaN(F.getTime())?b.name||"History":ce(F)}let W=h(()=>r.agentStates.find(b=>b.id===r.currentState)??null),Q=h(()=>e(W)?U(e(W)):"History");var de=sr(),G=C(de);ue(G,{variant:"ghost",get"aria-expanded"(){return e(o)},"aria-haspopup":"listbox","aria-controls":"history-dropdown",onclick:v,onkeydown:E,class:"inline-flex w-40 items-center rounded-lg border border-transparent !bg-rc-gray-700 !px-3 !pb-1 !pt-[5px] text-rc-gray-200 hover:border hover:border-rc-gray-500 focus:outline-none focus:ring-0",get el(){return e(f)},set el(b){s(f,b,!0)},children:(b,R)=>{var F=tr(),O=Re(F),k=C(O,!0);T(O);var I=A(O,2);{let ee=h(()=>"size-7 shrink-0 text-rc-gray-500 transition-transform duration-200 "+(e(o)?"rotate-180":""));Ge(I,{name:"chevron-down",get class(){return e(ee)}})}ie(()=>me(k,e(Q))),y(b,F)},$$slots:{default:!0}});var Z=A(G,2);Nt(Z,{id:"history-dropdown",get open(){return e(o)},onClose:()=>s(o,!1),get anchorEl(){return e(f)},placement:"bottom-start",offset:[0,1],children:R=>{var F=or();We(F,21,()=>r.agentStates.slice().reverse(),xt,(O,k)=>{{let I=h(()=>e(k).id===r.currentState);ue(O,{variant:"ghost",size:"small",role:"option",get"aria-selected"(){return e(I)},onclick:()=>M(e(k).id),class:"group w-full rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl last:border-b-0 hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(ee,we)=>{var ve=ar(),Ee=C(ve),Ie=C(Ee),De=C(Ie,!0);T(Ie);var Ue=A(Ie,2);{var qe=ae=>{var oe=rr(),pe=C(oe,!0);T(oe),ie(_e=>me(pe,_e),[()=>d(g(e(k)))]),y(ae,oe)},Pe=ae=>{var oe=nr(),pe=C(oe,!0);T(oe),ie(_e=>me(pe,_e),[()=>d(g(e(k)))]),y(ae,oe)};$(Ue,ae=>{e(k).id===r.currentState?ae(qe):ae(Pe,-1)})}T(Ee),T(ve),ie(ae=>me(De,ae),[()=>U(e(k))]),y(ee,ve)},$$slots:{default:!0}})}}),T(F),y(R,F)},$$slots:{default:!0}}),T(de),ie(()=>tt(de,1,`relative ${a()}`)),y(l,de),nt()}var lr=P('<dialog class="dialog m-auto bg-transparent p-0 text-rc-gray-100 shadow-md svelte-jby388"><!> <!></dialog>');function ur(l,r){rt(r,!0);let a,o=ye(r,"showCloseButton",3,!1),f=ye(r,"onClose",3,()=>{}),c=ye(r,"onOpen",3,()=>{}),v=ye(r,"isOpen",3,!1);Ae(()=>{v()?(console.log("show"),a==null||a.showModal(),c()()):a!=null&&a.open&&(console.log("close"),a.close())});function M(){f()()}$t(()=>(a.addEventListener("close",M),()=>{a.removeEventListener("close",M)}));function g(W){W.target===a&&a.close()}var d=lr(),E=C(d);Qt(E,()=>r.children);var ce=A(E,2);{var U=W=>{ue(W,{variant:"ghost",onclick:()=>a.close(),class:"absolute right-2 top-2",children:(Q,de)=>{Ne();var G=be("✕");y(Q,G)},$$slots:{default:!0}})};$(ce,W=>{o()&&W(U)})}T(d),Et(d,W=>a=W,()=>a),He("mousedown",d,g),y(l,d),nt()}Pt(["mousedown"]);function cr(l){if(!Array.isArray(l))return[];const r=[];for(const a of l){if(!a||typeof a!="object")continue;const o=a.text,f=a.lastSeen,c=a.uses;if(typeof o!="string"||typeof f!="number"||!Number.isFinite(f)||typeof c!="number"||!Number.isFinite(c))continue;const v=o.trim();v&&r.push({text:v,lastSeen:f,uses:c})}return r.sort((a,o)=>o.lastSeen-a.lastSeen),r}function dr(l,r,a=2e3){var M;const o=r.trim();if(!o)return l;const f=(((M=l[0])==null?void 0:M.lastSeen)??0)+1,c=l.findIndex(g=>g.text===o);let v;if(c!==-1){const g=l[c];v=[{text:g.text,lastSeen:f,uses:(g.uses??0)+1},...l.slice(0,c),...l.slice(c+1)]}else v=[{text:o,lastSeen:f,uses:1},...l];return v.length>a?v.slice(0,a):v}function fr(l,r,a=2e3){var M,g;if(!r.length)return l;if(!l.length)return r;const o=((M=l[0])==null?void 0:M.lastSeen)??0,c=(((g=r[0])==null?void 0:g.lastSeen)??0)>o?r:r.map((d,E)=>({...d,lastSeen:o+(r.length-E)})),v=new Map;for(const d of l)v.set(d.text,d);for(const d of c){const E=v.get(d.text);if(!E){v.set(d.text,d);continue}v.set(d.text,{text:d.text,lastSeen:Math.max(E.lastSeen,d.lastSeen),uses:E.uses+d.uses})}return Array.from(v.values()).sort((d,E)=>E.lastSeen-d.lastSeen).slice(0,a)}function gr(l,r,a=5){if(!r.length)return[];const f=l.trim().toLowerCase(),c=ht(l,!1).text,v=/\s$/u.test(l);if(!ht(l,!0).text)return[];const M=[];for(const g of r){const d=ht(g.text);if(!d.text||g.text.trim().toLowerCase()===f)continue;const E=vr(d,g.text,c,v);E&&M.push({item:g,match:E})}return M.sort((g,d)=>g.match.kindRank!==d.match.kindRank?g.match.kindRank-d.match.kindRank:g.match.span!==d.match.span?g.match.span-d.match.span:g.match.start!==d.match.start?g.match.start-d.match.start:g.item.lastSeen!==d.item.lastSeen?d.item.lastSeen-g.item.lastSeen:g.item.uses!==d.item.uses?d.item.uses-g.item.uses:g.item.text.length-d.item.text.length),M.slice(0,a).map(g=>({text:g.item.text,prefixEndIndex:g.match.prefixEndIndex,segments:Sr(g.item.text,g.match.ranges)}))}function ht(l,r=!0){const a=[],o=[];for(let f=0;f<l.length;f++){const c=mr(l[f]);if(c===" "){if(!a.length)continue;const v=a.length-1;if(a[v]===" "){o[v][1]=f+1;continue}}a.push(c),o.push([f,f+1])}return r&&a[a.length-1]===" "&&(a.pop(),o.pop()),{text:a.join(""),ranges:o}}function mr(l){if(/\s/u.test(l))return" ";try{return/[\p{P}\p{S}]/u.test(l)?" ":l.toLowerCase()}catch{return/[^a-z0-9\s]/i.test(l)?" ":l.toLowerCase()}}function vr(l,r,a,o){if(!l.text)return null;if(l.text.startsWith(a)){const c=yr(r,a,o)??r.length,v=Math.max(0,Math.min(r.length,c));return{kindRank:0,start:0,span:a.length,ranges:[[0,v]],prefixEndIndex:v}}const f=l.text.indexOf(a);return f!==-1?{kindRank:xr(l.text,f,a.length),start:f,span:a.length,ranges:br(l,f,f+a.length),prefixEndIndex:r.length}:null}function pr(l,r){return r<=0?!0:l[r-1]===" "}function hr(l,r){return r>=l.length?!0:l[r]===" "}function xr(l,r,a){const o=pr(l,r),f=hr(l,r+a);return o&&f?1:o?2:3}function br(l,r,a){const o=Math.max(0,Math.min(l.ranges.length,r)),f=Math.max(o,Math.min(l.ranges.length,a));return Ft(l.ranges.slice(o,f))}function yr(l,r,a){if(!r)return null;let o="",f=!0;for(let c=0;c<l.length;c++){const v=l[c];let M;if(/\s/u.test(v))M=" ";else try{M=/[\p{P}\p{S}]/u.test(v)?" ":v.toLowerCase()}catch{M=/[^a-z0-9\s]/i.test(v)?" ":v.toLowerCase()}if(M===" "){if(f)continue;o+=" ",f=!0}else o+=M,f=!1;if(o.length===r.length){if(o!==r)return null;let g=c+1;if(a&&r.endsWith(" ")){let d=g;for(;d<l.length;){const E=l[d];if(/\s/u.test(E)){d+=1;continue}try{if(/[\p{P}\p{S}]/u.test(E)){d+=1;continue}}catch{if(/[^a-z0-9\s]/i.test(E)){d+=1;continue}}break}g=d}return g}if(o.length>r.length)return null}return null}function Sr(l,r){const a=Ft(r);if(!a.length)return[{text:l,matched:!1}];const o=[];let f=0;for(const[c,v]of a)c>f&&o.push({text:l.slice(f,c),matched:!1}),o.push({text:l.slice(c,v),matched:!0}),f=v;return f<l.length&&o.push({text:l.slice(f),matched:!1}),o.filter(c=>c.text.length>0)}function Ft(l){if(!l.length)return[];const r=l.map(([o,f])=>[Math.max(0,o),Math.max(0,f)]).filter(([o,f])=>f>o).sort((o,f)=>o[0]-f[0]||o[1]-f[1]);if(!r.length)return[];const a=[[r[0][0],r[0][1]]];for(let o=1;o<r.length;o++){const[f,c]=r[o],v=a[a.length-1];if(f<=v[1]){v[1]=Math.max(v[1],c);continue}a.push([f,c])}return a}var wr=P('<form><h2 class="text-l mb-4 text-gray-300">Image URL</h2> <!> <!></form>'),_r=P('<div class="my-2 flex w-full justify-center"><div class="rounded-full border border-rc-gray-650 bg-rc-gray-800/40 px-3 py-1 text-xs text-rc-gray-200"> </div></div>'),Tr=P('<div class="rounded-lg border border-rc-green-450 bg-transparent px-3 py-2 text-sm text-rc-gray-300">Generating 9 more variants…</div>'),Cr=P('<div class="rounded-lg border border-red-500/70 bg-red-950/20 px-3 py-2 text-sm text-red-200"> </div>'),Ir=P('<button type="button"><div class="whitespace-pre-line break-words"> </div></button>'),kr=P('<div class="ml-7 mt-2 flex flex-col gap-2"><!> <!> <!></div>'),Mr=P('<!> <div class="log-element"><div><!></div> <!></div>',1),Ar=P('<div class="absolute bottom-2 left-2 right-2 z-10 flex items-center gap-3 rounded-lg border border-rc-green-450 bg-rc-gray-930/90 px-3 py-3 font-semibold text-rc-gray-100 shadow-inner-white-soft backdrop-blur-3xl"><span>Choose a variant above to continue</span> <button type="button" class="rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-300 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-100 focus:outline-none focus-visible:outline-none disabled:cursor-wait disabled:opacity-50">Regenerate</button> <button type="button" class="rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-300 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-100 focus:outline-none focus-visible:outline-none">Cancel</button></div>'),Pr=P('<div class="absolute bottom-16 left-2 right-2 z-20 rounded-lg border border-red-500/60 bg-red-950/90 px-3 py-2 text-sm text-red-100 shadow-lg" role="alert"> </div>'),Rr=P("<span> </span>"),Nr=P('<button type="button" role="option" tabindex="-1"></button>'),Er=P('<div class="absolute bottom-full left-0 right-0 mb-1 max-h-60 overflow-y-auto rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox"></div>'),Dr=P('<div class="pointer-events-none absolute inset-0 z-10 overflow-hidden rounded-lg" aria-hidden="true"><div class="whitespace-pre text-rc-gray-400/70"><span class="invisible"> </span><span> </span></div></div>'),Fr=P('<!> <form><fieldset class="absolute bottom-2 left-2 right-2 z-10 flex gap-2 disabled:opacity-35"><div class="relative flex-1"><!> <!> <button type="button" class="absolute bottom-0 left-3 top-0 z-20 inline-flex items-center border-r border-rc-gray-500/70 bg-transparent pr-2 text-base font-semibold leading-6 text-rc-gray-300 transition-colors duration-75 hover:text-rc-gray-300 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50"> </button> <!></div> <!> <!></fieldset></form>',1),Or=P('<div class="rc-scroll min-h-0 flex-1 overflow-y-auto pr-1"></div> <!>',1),zr=P("<!> <!>",1);function Vr(l,r){rt(r,!0);let a=ye(r,"analyzeDisabled",3,!1),o=ye(r,"variantSourceTrace",3,null),f=ye(r,"variantChoices",19,()=>[]),c=ye(r,"variantLoading",3,!1),v=ye(r,"variantApplyingId",3,null),M=ye(r,"variantError",3,null),g=It(new Set),d=L(""),E=L(""),ce=L(""),U,W=L(!1),Q=L(null),de=L(""),G=L(!1),Z=L("user"),b=L(null),R=L(It([])),F=L(null),O=L(!1),k=L(!1),I=L(null);const ee=h(()=>gr(e(d),e(R))),we=h(()=>e(I)==null?null:e(ee)[e(I)]??null),ve=h(()=>e(we)?e(we).text.slice(e(we).prefixEndIndex):""),Ee=h(()=>!o()&&!e(ce)&&e(d).trim().length===0);Ae(()=>{if(typeof window>"u")return;if(!e(Q)){s(de,"");return}const t=window.getComputedStyle(e(Q)),u=`calc(${t.paddingTop} + ${t.borderTopWidth})`,w=`calc(${t.paddingRight} + ${t.borderRightWidth})`,p=`calc(${t.paddingBottom} + ${t.borderBottomWidth})`,H=`calc(${t.paddingLeft} + ${t.borderLeftWidth})`;s(de,[`padding:${u} ${w} ${p} ${H}`,`font:${t.font}`,`letter-spacing:${t.letterSpacing}`,`line-height:${t.lineHeight}`,`text-indent:${t.textIndent}`,`text-transform:${t.textTransform}`,`text-align:${t.textAlign}`,`box-sizing:${t.boxSizing}`].join(";"),!0)}),Ae(()=>{e(I)!=null&&e(I)>=e(ee).length&&s(I,null)});const Ie=h(()=>o()||!e(O)||e(k)?!1:e(ee).length>0);function De(t){s(d,t.text,!0),s(I,null),s(k,!0)}function Ue(){s(O,!0),s(k,!1)}function qe(){s(O,!1),s(I,null),s(k,!1)}function Pe(){s(I,null),s(k,!1)}function ae(t){if(t.key==="Escape"){e(Ie)&&t.preventDefault(),s(k,!0),s(I,null);return}if(t.key==="ArrowUp"||t.key==="ArrowDown"){if(!e(ee).length)return;e(k)&&s(k,!1),t.preventDefault();const u=e(ee).length-1;if(e(I)===null)s(I,t.key==="ArrowUp"?u:0,!0);else{const w=t.key==="ArrowUp"?-1:1;s(I,Math.max(0,Math.min(u,e(I)+w)),!0)}return}if(t.key==="Enter"||t.key==="Tab"&&!t.shiftKey){if(e(I)===null)return;const u=e(ee)[e(I)];if(!u)return;t.preventDefault(),De(u);return}}let oe=null,pe=!1,_e=0;function Le(){typeof window>"u"||U&&(!pe&&g.has(U)||oe==null&&(oe=requestAnimationFrame(()=>{if(oe=null,!U||!pe&&g.has(U))return;const t=U.scrollHeight-(U.scrollTop+U.clientHeight),u=pe||t>U.clientHeight?"auto":"smooth";U.scrollTo({top:U.scrollHeight,behavior:u}),pe=!1})))}Ae(()=>{const t=ne.length;t===0&&_e>0&&(pe=!0,U&&g.delete(U)),_e=t,t>0&&Le()});function Ye(t){t.scrollTop+t.clientHeight+200>t.scrollHeight?g.delete(t):g.add(t)}function Xe(t){if(e(G))return;(e(d).trim().length>0||e(ce))&&(s(R,dr(e(R),e(d)),!0),r.onmessage({sender:t,text:e(d),imageUrl:e(ce)}),s(ce,""),s(d,""),s(Z,"user"),s(k,!1),s(I,null))}function at(t){t.preventDefault(),Xe(e(Z))}function Ze(){s(Z,e(Z)==="system"?"user":"system",!0),requestAnimationFrame(()=>{var t;return(t=e(Q))==null?void 0:t.focus()})}function ot(t){t.preventDefault(),s(ce,e(E),!0),s(E,""),s(W,!1)}function $e(t){return t&&typeof t.renderedPrompt=="string"?t.renderedPrompt:null}function st(t,u){for(let w=u-1;w>=0;w--){const p=t[w];if(Je(p)&&p.name==="main"&&$e(p))return p}for(let w=u-1;w>=0;w--){const p=t[w];if(Je(p)&&p.name==="prewarm"&&$e(p))return p}return null}function it(t){return(t.eventName==="received-message"||t.eventName==="llm-handler-stream-requested")&&!String(t.content??"").trim()?!1:t.eventName==="received-message"||t.eventName==="llm-handler-stream-requested"||t.eventName==="finished-main-streaming-step"||t.eventName==="sent-message"||t.eventName==="transfer-requested"||t.eventName==="hangup-requested"}function n(t){return!!(r.agentId&&r.agentId.trim())&&t.eventName!=="transfer-requested"&&(t.eventName==="finished-main-streaming-step"||t.eventName==="sent-message")}function i(t){return t.role==="user"||t.eventName==="received-message"||t.eventName==="llm-handler-stream-requested"}function m(t){const u=String(t??"").trim();return!u||/^\[image\]\s+/.test(u)?"":u}function z(t){const u=t==null?void 0:t.bosunInputMessageSender;return u==="system"?"system":u==="user"?"user":t.role==="system"?"system":"user"}function j(t){if(!r.onRevertToState)return;const u=t==null?void 0:t.bosunPrevStateId,w=typeof u=="string"&&u.trim().length>0?u:null;r.onRevertToState(w);const p=typeof(t==null?void 0:t.bosunUserMessage)=="string"?t.bosunUserMessage:t.content;s(d,m(p),!0),s(Z,z(t),!0),s(k,!1),s(I,null),requestAnimationFrame(()=>{var H,fe;try{(H=e(Q))==null||H.focus(),(fe=e(Q))==null||fe.select()}catch{}})}function K(){var t;r.agentType==="text"?s(W,!0):r.agentType==="voice"&&((t=r.onHangup)==null||t.call(r))}const J=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(t){if(typeof t!="number"||!Number.isFinite(t))return null;const u=new Date(t);if(Number.isNaN(u.getTime()))return null;const w=u.getFullYear(),p=String(u.getMonth()+1).padStart(2,"0"),H=String(u.getDate()).padStart(2,"0");return`${w}-${p}-${H}`}function Y(t){if(typeof t!="number"||!Number.isFinite(t))return null;const u=new Date(t);if(Number.isNaN(u.getTime()))return null;const w=u.getDate(),p=J[u.getMonth()],H=u.getFullYear();return`${w} ${p} ${H}`}const x=h(()=>ne.filter(t=>kt(t)||Je(t)?!0:Ve(t)?it(t):!1)),Te=h(()=>{var t;return((t=ne.findLast(u=>Ve(u)))==null?void 0:t.eventName)==="hangup-requested"}),bt=h(()=>{const t=e(x).map((u,w)=>({entry:u,index:w})).reverse().find(({entry:u,index:w})=>!Ve(u)||!n(u)?!1:e(x).slice(0,w).some(p=>Ve(p)&&i(p)));return t&&Ve(t.entry)?t.entry:null}),yt=h(()=>{const t=e(bt);if(!t)return null;try{const u=St(t);return{model:u.model,stringifiedConversation:u.stringifiedConversation,response:u.response}}catch{return null}});function St(t){if(!(r.agentId??"").trim())throw new Error("Agent id is not available; cannot analyze");const w=ne.indexOf(t);if(w===-1)throw new Error("Could not locate trace in chat history");const p=Dt(ne,w,{requireRenderedPrompt:!0});if(!p)throw new Error("Could not find main step trace for this message");const H=typeof p.renderedPrompt=="string"?p.renderedPrompt:"";if(!H.trim())throw new Error("Main step rendered prompt is missing");const fe=typeof p.stringifiedConversation=="string"&&p.stringifiedConversation.trim()?p.stringifiedConversation:Kt(ne,w)??"",Se=String((t==null?void 0:t.content)??"");if(!Se.trim())throw new Error("Message content is missing");const B=typeof(p==null?void 0:p.model)=="string"?String(p.model):void 0,D=t==null?void 0:t.createdAt,se=typeof D=="number"&&Number.isFinite(D)?D:void 0;return{trace:t,stepTrace:p,renderedPrompt:H,stringifiedConversation:fe,response:Se,model:B,createdAt:se}}function Ot(t){if(r.onAnalyzeTrace)try{s(b,null),r.onAnalyzeTrace(St(t))}catch(u){console.error(u),s(b,u instanceof Error?u.message:String(u),!0)}}function zt(t){if(r.onRegenerateTrace)try{s(b,null),r.onRegenerateTrace(t)}catch(u){console.error(u),s(b,u instanceof Error?u.message:String(u),!0)}}async function Vt(){if(e(G))return;const t=e(yt);if(t){s(k,!0),s(I,null),s(G,!0);try{const u=await Ke.agents.generateUserResponse.mutate(t);s(d,u.text,!0),s(k,!0),s(I,null),requestAnimationFrame(()=>{var w,p;try{(w=e(Q))==null||w.focus(),(p=e(Q))==null||p.setSelectionRange(u.text.length,u.text.length)}catch{}})}catch(u){console.error("Failed to generate suggested user response",u)}finally{s(G,!1)}}}Ae(()=>{if(typeof window>"u")return;const t=(r.agentId??"").trim(),u=(r.region??"").trim()||null,w=`${t}::${u??""}`;if(!t||w===e(F))return;s(F,w),s(R,[],!0);const p=t,H=u,fe=w;Ke.agents.userMessageHistory.query({agentId:p,region:H}).then(Se=>{if(e(F)!==fe)return;const B=cr(Se);s(R,fr(B,e(R)),!0),s(I,null)}).catch(Se=>{console.error("Failed to load user message history",Se),e(F)===fe&&(s(R,[],!0),s(I,null))})}),Ae(()=>{const t=o(),u=f().length,w=c(),p=M(),H=v();!t&&!u&&!w&&!p&&!H||Le()});var wt=zr(),_t=Re(wt);ur(_t,{get isOpen(){return e(W)},onClose:()=>s(W,!1),showCloseButton:!0,children:(t,u)=>{Mt(t,{class:"p-4",children:(w,p)=>{var H=wr(),fe=A(C(H),2);At(fe,{class:"mb-2 w-80",get value(){return e(E)},set value(B){s(E,B,!0)}});var Se=A(fe,2);ue(Se,{variant:"secondary",type:"submit",class:"ml-2 p-2",children:(B,D)=>{Ne();var se=be("Attach");y(B,se)},$$slots:{default:!0}}),T(H),vt("submit",H,ot),y(w,H)}})},$$slots:{default:!0}});var Ht=A(_t,2);Mt(Ht,{get class(){return`relative flex min-h-0 flex-col p-2 pb-16 ${r.class??""}`},children:(t,u)=>{var w=Or(),p=Re(w);We(p,21,()=>e(x),xt,(B,D,se)=>{const Fe=h(()=>S(e(D).createdAt)),he=h(()=>se>0?S(e(x)[se-1].createdAt):null),Oe=h(()=>Y(e(D).createdAt));var ze=Mr(),Be=Re(ze);{var lt=_=>{var V=_r(),te=C(V),X=C(te,!0);T(te),T(V),ie(()=>me(X,e(Oe))),y(_,V)};$(Be,_=>{e(Fe)&&e(Oe)&&e(Fe)!==e(he)&&_(lt)})}var je=A(Be,2),xe=C(je),ut=C(xe);{var ct=_=>{Jt(_,{get trace(){return e(D)}})},dt=h(()=>kt(e(D))),Qe=_=>{{let V=h(()=>r.onAnalyzeTrace?Ot:void 0),te=h(()=>r.onRegenerateTrace?zt:void 0),X=h(()=>r.onRevertToState?j:void 0),ge=h(()=>!!r.onSeeVariants&&!o()&&e(D)===e(bt)),le=h(()=>o()&&e(D)===o()?"source":"none"),ke=h(()=>v()===null&&o()&&e(D)===o()?r.onChooseOriginalVariant:void 0),re=h(()=>!!o()&&e(D)===o());Wt(_,{get trace(){return e(D)},get context(){return r.context},get agentId(){return r.agentId},get region(){return r.region},get analyzeDisabled(){return a()},get onAnalyze(){return e(V)},get onRegenerate(){return e(te)},get onRevert(){return e(X)},get showSeeVariants(){return e(ge)},get onSeeVariants(){return r.onSeeVariants},get variantSelectionState(){return e(le)},get onSelectInVariantMode(){return e(ke)},get suppressActionRow(){return e(re)}})}},ft=h(()=>Ve(e(D))),gt=_=>{{let V=h(()=>e(D).name==="main"?st(e(x),se):null);Gt(_,{get trace(){return e(D)},get compareTrace(){return e(V)}})}},mt=h(()=>Je(e(D)));$(ut,_=>{e(dt)?_(ct):e(ft)?_(Qe,1):e(mt)&&_(gt,2)})}T(xe);var N=A(xe,2);{var q=_=>{var V=kr(),te=C(V);{var X=re=>{var Ce=Tr();y(re,Ce)};$(te,re=>{c()&&re(X)})}var ge=A(te,2);{var le=re=>{var Ce=Cr(),Me=C(Ce,!0);T(Ce),ie(()=>me(Me,M())),y(re,Ce)};$(ge,re=>{M()&&re(le)})}var ke=A(ge,2);We(ke,17,f,re=>re.id,(re,Ce)=>{var Me=Ir(),Tt=C(Me),Ut=C(Tt,!0);T(Tt),T(Me),ie(()=>{Me.disabled=v()!==null,tt(Me,1,`w-full max-w-[83%] cursor-pointer rounded-lg border border-rc-green-450 bg-transparent p-2 pt-1 text-left text-rc-gray-100 backdrop-blur-md transition-colors hover:bg-rc-green-700 focus:outline-none focus-visible:outline-none disabled:cursor-wait disabled:opacity-70 ${v()===e(Ce).id?"bg-rc-green-700":""}`),me(Ut,e(Ce).text)}),He("click",Me,()=>{var Ct;return(Ct=r.onChooseVariant)==null?void 0:Ct.call(r,e(Ce).id)}),y(re,Me)}),T(V),y(_,V)};$(N,_=>{o()&&e(D)===o()&&_(q)})}T(je),y(B,ze)}),T(p),Et(p,B=>U=B,()=>U);var H=A(p,2);{var fe=B=>{var D=Ar(),se=A(C(D),2),Fe=A(se,2);T(D),ie(()=>se.disabled=!r.onRegenerateVariants||c()||v()!==null),He("click",se,()=>{var he;return(he=r.onRegenerateVariants)==null?void 0:he.call(r)}),He("click",Fe,()=>{var he;return(he=r.onCancelVariants)==null?void 0:he.call(r)}),y(B,D)},Se=B=>{var D=Fr(),se=Re(D);{var Fe=N=>{var q=Pr(),_=C(q,!0);T(q),ie(()=>me(_,e(b))),y(N,q)};$(se,N=>{e(b)&&N(Fe)})}var he=A(se,2),Oe=C(he),ze=C(Oe),Be=C(ze);{var lt=N=>{var q=Er();We(q,23,()=>e(ee),_=>_.text,(_,V,te)=>{var X=Nr();We(X,21,()=>e(V).segments,xt,(ge,le)=>{var ke=Rr(),re=C(ke,!0);T(ke),ie(()=>{tt(ke,1,Lt(e(le).matched?"text-rc-green-200":"")),me(re,e(le).text)}),y(ge,ke)}),T(X),ie(()=>{pt(X,"aria-selected",e(I)===e(te)),tt(X,1,`w-full select-none border-b border-rc-gray-110 px-3 py-2 text-left font-semibold text-rc-gray-100 last:border-b-0 hover:bg-rc-gray-700/70 ${e(I)===e(te)?"bg-rc-gray-700/70":""}`)}),He("mousedown",X,ge=>{ge.preventDefault(),De(e(V))}),y(_,X)}),T(q),y(N,q)};$(Be,N=>{e(Ie)&&N(lt)})}var je=A(Be,2);{let N=h(()=>e(Z)==="system"?"!border-emerald-500 !pl-[5.5rem] hover:!border-emerald-500 focus:!border-emerald-500":"!pl-[4.25rem]"),q=h(()=>e(G)?"Generating":"Enter message...");At(je,{variant:"chat",get class(){return`!text-base !leading-6 !duration-75 ${e(N)??""}`},get placeholder(){return e(q)},autocomplete:"off",get readonly(){return e(G)},onfocus:Ue,onblur:qe,oninput:Pe,onkeydown:ae,get value(){return e(d)},set value(_){s(d,_,!0)},get el(){return e(Q)},set el(_){s(Q,_,!0)}})}var xe=A(je,2),ut=C(xe,!0);T(xe);var ct=A(xe,2);{var dt=N=>{var q=Dr(),_=C(q),V=C(_),te=C(V,!0);T(V);var X=A(V),ge=C(X,!0);T(X),T(_),T(q),ie(()=>{jt(_,e(de)),me(te,e(d)),me(ge,e(ve))}),y(N,q)};$(ct,N=>{e(I)!==null&&e(ve)&&N(dt)})}T(ze);var Qe=A(ze,2);{let N=h(()=>e(G)||!r.agentType);ue(Qe,{size:"small",variant:"secondary",get disabled(){return e(N)},onclick:K,children:(q,_)=>{var V=Rt(),te=Re(V);{var X=le=>{Ge(le,{name:"paperclip"})},ge=le=>{Ge(le,{name:"hangup"})};$(te,le=>{r.agentType==="text"?le(X):r.agentType==="voice"&&le(ge,1)})}y(q,V)},$$slots:{default:!0}})}var ft=A(Qe,2);{var gt=N=>{{let q=h(()=>e(G)||!e(yt));ue(N,{size:"small",type:"button",title:"Generate response","aria-label":"Generate response",get disabled(){return e(q)},class:"inline-flex !w-[59px] items-center justify-center !px-0",onclick:_=>{_.preventDefault(),Vt()},children:(_,V)=>{Ge(_,{name:"sparkles"})},$$slots:{default:!0}})}},mt=N=>{{let q=h(()=>e(Z)==="system"?"Send as system":"Send as user"),_=h(()=>e(Z)==="system"?"Send as system":"Send as user");ue(N,{size:"small",type:"submit",get title(){return e(q)},get"aria-label"(){return e(_)},get disabled(){return e(G)},class:"inline-flex !w-[59px] items-center justify-center !px-0",children:(V,te)=>{Ge(V,{name:"send"})},$$slots:{default:!0}})}};$(ft,N=>{e(Ee)?N(gt):N(mt,-1)})}T(Oe),T(he),ie(()=>{Oe.disabled=e(Te),pt(xe,"title",e(Z)==="system"?"Switch to user":"Switch to system"),pt(xe,"aria-label",e(Z)==="system"?"Switch to user":"Switch to system"),xe.disabled=e(G),me(ut,e(Z)==="system"?"System":"User")}),vt("submit",he,at),He("click",xe,N=>{N.preventDefault(),N.stopPropagation(),Ze()}),y(B,D)};$(H,B=>{o()?B(fe):B(Se,-1)})}vt("scroll",p,B=>Ye(B.target)),y(t,w)}}),y(l,wt),nt()}Pt(["click","mousedown"]);var Hr=P('<div class="mt-1 w-max overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox"><!> <!> <!></div>'),Ur=P('<div class="flex h-full items-center justify-center text-sm text-rc-gray-300">Connecting…</div>'),qr=P('<div class="flex h-full items-center justify-center text-sm text-rc-gray-300">Select an agent to start chatting</div>'),Lr=P('<div class="h-full min-h-0 p-2"><!></div>'),Br=P('<div class="relative flex h-full min-h-0 flex-col"><div class="flex flex-none flex-nowrap items-center gap-2 p-2"><!> <div class="ml-auto flex flex-none flex-nowrap items-center gap-2"><!> <!> <!> <!></div></div> <div class="min-h-0 flex-1"><!></div></div>');function cn(l,r){rt(r,!0);const{state:a,actions:o}=Bt();let f=L(!1),c=L(null),v=L(null),M=null,g=L(!1),d=L(null);const E=h(()=>{var i;const n=((i=a.agentStates.at(-1))==null?void 0:i.id)??null;return!!n&&a.currentState===n});Ae(()=>{!ne.length&&!et.length&&e(g)&&s(g,!1)});function ce(n){const i=(n||"").trim();return i?i.split("/").at(-1)??i:"Agent"}function U(n){if(typeof n!="number"||!Number.isFinite(n))return null;const i=new Date(n);if(Number.isNaN(i.getTime()))return null;const m=String(i.getHours()).padStart(2,"0"),z=String(i.getMinutes()).padStart(2,"0"),j=String(i.getSeconds()).padStart(2,"0");return`${m}:${z}:${j}`}async function W(n){var K,J;if(e(f))return;s(f,!0);const i=o.openPopover("analyze"),m=U(n.createdAt),z=m?` • ${m}`:"",j=`Analysis — ${ce(a.agentId)}${z}`;try{const S=await Ke.agents.analyzeTrace.mutate({agentId:a.agentId,traceId:(K=n.trace)==null?void 0:K.traceId,eventName:n.trace.eventName,createdAt:n.createdAt,model:n.model,renderedPrompt:n.renderedPrompt,stringifiedConversation:n.stringifiedConversation,response:n.response,stepTrace:n.stepTrace});if(((J=a.edit.popover)==null?void 0:J.requestId)!==i)return;o.setHighlightQuotes(S.quotes);let Y=null;try{Y=JSON.stringify(S.raw,null,2)}catch{Y=null}o.setPopoverReady(i,{title:j,quotes:S.quotes,rationales:S.rationales,parallelCalls:S.parallelCalls,raw:Y})}catch(S){console.error(S);const Y=typeof(S==null?void 0:S.message)=="string"?S.message:(()=>{try{return JSON.stringify(S)}catch{return String(S)}})();o.setPopoverError(i,Y||"Failed to analyze this response",{raw:Y})}finally{s(f,!1)}}function Q(n){return n?ne:ne.map(i=>{if(!Je(i))return i;const{receivedPrompt:m,renderedPrompt:z,...j}=i;return j})}function de(n){s(v,n,!0),M&&clearTimeout(M),M=window.setTimeout(()=>{s(v,null),M=null},2e3)}async function G(){try{await navigator.clipboard.writeText(JSON.stringify(et,null,2)),de("logs")}catch(n){console.error("Failed to copy logs",n)}}async function Z(n){try{await navigator.clipboard.writeText(JSON.stringify(Q(n),null,2)),de(n?"with-prompts":"without-prompts")}catch(i){console.error("Failed to copy traces",i)}}function b(){k(),o.closePopover(),o.closeContextPopover(),o.selectState(null)}function R(n,i="user"){const m=String(n??"").trim();if(!m)return null;const z=/^\[image\]\s+(.+)$/.exec(m);if(z){const j=(z[1]??"").trim();return j?{sender:i,text:"",imageUrl:j}:null}return{sender:i,text:m}}function F(n){return n==="system"?"system":"user"}function O(n){k();const i=n==null?void 0:n.bosunPrevStateId,m=typeof i=="string"&&i.trim()?i:null,z=typeof(n==null?void 0:n.bosunUserMessage)=="string"&&n.bosunUserMessage||null,j=F(n==null?void 0:n.bosunInputMessageSender);let K=z?R(z,j):null;if(!K){const J=n==null?void 0:n.bosunStateId;if(typeof J=="string"&&J.trim()){const S=a.agentStates.find(Y=>Y.id===J);K=R((S==null?void 0:S.userMessage)??"",F(S==null?void 0:S.userMessageSender))}}if(!K){if(i===void 0)throw new Error("Cannot regenerate: this response has no saved state metadata");o.selectState(m);return}o.selectState(m),o.sendChatMessage({sender:K.sender,text:K.text,imageUrl:K.imageUrl})}function k(){s(c,null)}function I(){var m,z;const n=(z=(m=a.currentStep)==null?void 0:m.name)==null?void 0:z.trim();if(!n)return null;const i=a.promptDrafts[n];return typeof i!="string"?null:{step:n,prompt:i}}function ee(n){const i=ne.indexOf(n),m=i===-1?null:Dt(ne,i);return m&&typeof m.receivedContext<"u"?Xt(m.receivedContext):Zt(a.context)}function we(n){const i=ee(n),m=Yt(a.context);return m?{context:i,mocks:m}:i}async function ve(n){if(!a.agentId)return;const i=I();await o.flushPromptSave(),s(c,{sourceTrace:n,choices:[],loading:!0,applyingId:null,error:null},!0);try{const m=await Ke.agents.generateVariants.mutate({agentId:a.agentId,region:a.region,context:we(n),promptUpdate:i,count:9});if(!e(c)||e(c).sourceTrace!==n)return;s(c,{...e(c),choices:m,loading:!1,error:null},!0)}catch(m){if(console.error("Failed to generate variants",m),!e(c)||e(c).sourceTrace!==n)return;s(c,{...e(c),choices:[],loading:!1,error:typeof(m==null?void 0:m.message)=="string"?m.message:"Failed to generate variants"},!0)}}function Ee(n){ve(n)}function Ie(){o.hangup()}function De(){var i;const n=(i=e(c))==null?void 0:i.sourceTrace;n&&ve(n)}async function Ue(n){if(!e(c)||!a.agentId)return;const i=e(c).choices.find(m=>m.id===n);if(i){s(c,{...e(c),applyingId:n,error:null},!0);try{await Ke.agents.commitVariant.mutate({agentId:a.agentId,region:a.region,state:i.state}),k(),qt(),er(),o.sendAppEvent({type:"reload-project"})}catch(m){if(console.error("Failed to apply variant",m),!e(c))return;s(c,{...e(c),applyingId:null,error:typeof(m==null?void 0:m.message)=="string"?m.message:"Failed to apply variant"},!0)}}}function qe(){k()}Ae(()=>{const n=e(c),i=a.agentId,m=n==null?void 0:n.sourceTrace;!n||!m||(!i||!ne.includes(m))&&s(c,null)});var Pe=Br(),ae=C(Pe),oe=C(ae);{var pe=n=>{ir(n,{get agentStates(){return a.agentStates},get currentState(){return a.currentState},class:"ml-9",onSelectState:i=>o.selectState(i)})};$(oe,n=>{a.agentStates.length>1&&n(pe)})}var _e=A(oe,2),Le=C(_e);{let n=h(()=>!a.agentId);ue(Le,{variant:"secondary",size:"small",get disabled(){return e(n)},get"aria-expanded"(){return a.contextPopoverOpen},"aria-haspopup":"dialog",get onclick(){return o.toggleContextPopover},children:(i,m)=>{Ne();var z=be("Edit context");y(i,z)},$$slots:{default:!0}})}var Ye=A(Le,2);{let n=h(()=>!ne.length&&!et.length);ue(Ye,{variant:"secondary",size:"small",get disabled(){return e(n)},get"aria-expanded"(){return e(g)},"aria-haspopup":"listbox","aria-controls":"roleplay-copy-dropdown",onclick:i=>{i.stopPropagation(),s(g,!e(g))},get el(){return e(d)},set el(i){s(d,i,!0)},children:(i,m)=>{var z=Rt(),j=Re(z);{var K=x=>{var Te=be("Copied logs");y(x,Te)},J=x=>{var Te=be("Copied traces (with prompts)");y(x,Te)},S=x=>{var Te=be("Copied traces (without prompts)");y(x,Te)},Y=x=>{var Te=be("Copy...");y(x,Te)};$(j,x=>{e(v)==="logs"?x(K):e(v)==="with-prompts"?x(J,1):e(v)==="without-prompts"?x(S,2):x(Y,-1)})}y(i,z)},$$slots:{default:!0}})}var Xe=A(Ye,2);Nt(Xe,{id:"roleplay-copy-dropdown",get open(){return e(g)},onClose:()=>s(g,!1),get anchorEl(){return e(d)},placement:"bottom-end",offset:[0,1],children:i=>{var m=Hr(),z=C(m);{let J=h(()=>!et.length);ue(z,{variant:"ghost",size:"small",role:"option",get disabled(){return e(J)},onclick:S=>{S.stopPropagation(),s(g,!1),G()},class:"block rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(S,Y)=>{Ne();var x=be("Copy logs");y(S,x)},$$slots:{default:!0}})}var j=A(z,2);{let J=h(()=>!ne.length);ue(j,{variant:"ghost",size:"small",role:"option",get disabled(){return e(J)},onclick:S=>{S.stopPropagation(),s(g,!1),Z(!0)},class:"block rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(S,Y)=>{Ne();var x=be("Copy traces with prompts");y(S,x)},$$slots:{default:!0}})}var K=A(j,2);{let J=h(()=>!ne.length);ue(K,{variant:"ghost",size:"small",role:"option",get disabled(){return e(J)},onclick:S=>{S.stopPropagation(),s(g,!1),Z(!1)},class:"block rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(S,Y)=>{Ne();var x=be("Copy traces without prompts");y(S,x)},$$slots:{default:!0}})}T(m),y(i,m)},$$slots:{default:!0}});var at=A(Xe,2);ue(at,{size:"small",onclick:b,children:(n,i)=>{Ne();var m=be("New chat");y(n,m)},$$slots:{default:!0}}),T(_e),T(ae);var Ze=A(ae,2),ot=C(Ze);{var $e=n=>{var i=Ur();y(n,i)},st=n=>{var i=qr();y(n,i)},it=n=>{var i=Lr(),m=C(i);{let z=h(()=>e(E)?Ee:void 0),j=h(()=>{var x;return((x=e(c))==null?void 0:x.sourceTrace)??null}),K=h(()=>{var x;return((x=e(c))==null?void 0:x.choices)??[]}),J=h(()=>{var x;return((x=e(c))==null?void 0:x.loading)??!1}),S=h(()=>{var x;return((x=e(c))==null?void 0:x.applyingId)??null}),Y=h(()=>{var x;return((x=e(c))==null?void 0:x.error)??null});Vr(m,{class:"h-full min-w-0",get context(){return a.context},get agentId(){return a.agentId},get region(){return a.region},get agentType(){return a.agentType},onmessage:x=>o.sendChatMessage(x),get analyzeDisabled(){return e(f)},onAnalyzeTrace:W,onRegenerateTrace:O,onRevertToState:x=>o.selectState(x),get onSeeVariants(){return e(z)},onHangup:Ie,get variantSourceTrace(){return e(j)},get variantChoices(){return e(K)},get variantLoading(){return e(J)},get variantApplyingId(){return e(S)},get variantError(){return e(Y)},onCancelVariants:k,onRegenerateVariants:De,onChooseOriginalVariant:qe,onChooseVariant:Ue})}T(i),y(n,i)};$(ot,n=>{!a.wsLoaded||!a.chatReady?n($e):a.agentId?n(it,-1):n(st,1)})}T(Ze),T(Pe),y(l,Pe),nt()}export{cn as component};
@@ -1 +0,0 @@
1
- {"version":3,"file":"ChatStepTrace-CqqIjRLU.js","sources":["../../../.svelte-kit/adapter-node/chunks/ChatStepTrace.js"],"sourcesContent":["import { e as escape_html, b as attr_class, g as clsx, f as derived, d as attr, s as stringify } from \"./index.js\";\nimport { o as onDestroy } from \"./index-server.js\";\n/* empty css */\n/* empty css */\nimport { I as Icon } from \"./Icon.js\";\nimport \"@sveltejs/kit/internal\";\nimport \"./exports.js\";\nimport \"./utils2.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"./root.js\";\nimport \"./state.svelte.js\";\nimport \"./trpc-client.js\";\nfunction createDragSelectClickGuard(options = {}) {\n const thresholdPx = options.thresholdPx ?? 4;\n const dragCursor = options.dragCursor ?? \"text\";\n let startX = 0;\n let startY = 0;\n let didDrag = false;\n let pointerDown = false;\n let cursorEl = null;\n let abortController = null;\n function cleanup() {\n pointerDown = false;\n didDrag = false;\n cursorEl?.style.removeProperty(\"cursor\");\n cursorEl = null;\n abortController?.abort();\n abortController = null;\n }\n function onPointerDown(event) {\n if (typeof window === \"undefined\") return;\n if (event.button !== 0) return;\n abortController?.abort();\n abortController = null;\n cursorEl?.style.removeProperty(\"cursor\");\n startX = event.clientX;\n startY = event.clientY;\n didDrag = false;\n pointerDown = true;\n cursorEl = event.currentTarget instanceof HTMLElement ? event.currentTarget : null;\n const controller = new AbortController();\n abortController = controller;\n const onMove = (moveEvent) => {\n if (!pointerDown || didDrag) return;\n const dx = Math.abs(moveEvent.clientX - startX);\n const dy = Math.abs(moveEvent.clientY - startY);\n if (dx + dy < thresholdPx) return;\n didDrag = true;\n cursorEl?.style.setProperty(\"cursor\", dragCursor);\n };\n const onEnd = () => {\n pointerDown = false;\n cursorEl?.style.removeProperty(\"cursor\");\n cursorEl = null;\n controller.abort();\n if (abortController === controller) abortController = null;\n };\n window.addEventListener(\"pointermove\", onMove, { signal: controller.signal });\n window.addEventListener(\"pointerup\", onEnd, { signal: controller.signal });\n window.addEventListener(\"pointercancel\", onEnd, { signal: controller.signal });\n }\n function shouldSuppressClick(event) {\n return event.detail > 0 && didDrag;\n }\n return { onPointerDown, shouldSuppressClick, cleanup };\n}\nfunction ChatApiCallTrace($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { trace } = $$props;\n const clickGuard = createDragSelectClickGuard();\n onDestroy(clickGuard.cleanup);\n function formatHHmmss(ms) {\n if (typeof ms !== \"number\" || !Number.isFinite(ms)) return null;\n const d = new Date(ms);\n if (Number.isNaN(d.getTime())) return null;\n const hh = String(d.getHours()).padStart(2, \"0\");\n const mm = String(d.getMinutes()).padStart(2, \"0\");\n const ss = String(d.getSeconds()).padStart(2, \"0\");\n return `${hh}:${mm}:${ss}`;\n }\n const time = derived(() => formatHHmmss(trace.createdAt));\n const derivedError = derived(() => {\n if (trace.error != null) return trace.error;\n const isFailed = trace.ok === false || typeof trace.status === \"number\" && trace.status >= 400;\n if (!isFailed) return void 0;\n const resp = trace.response;\n if (resp && typeof resp === \"object\") {\n if (\"error\" in resp && resp.error != null) return resp.error;\n }\n return { status: trace.status, ok: trace.ok };\n });\n const hasError = derived(() => derivedError() != null);\n const oneLine = derived(() => trace.operationName);\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<button type=\"button\" class=\"flex w-full cursor-pointer select-text items-baseline gap-2 truncate rounded-md bg-transparent px-2 py-1 text-left text-sm text-rc-gray-200 hover:bg-rc-gray-800/40\">`);\n Icon($$renderer3, {\n name: hasError() ? \"close\" : \"checkmark\",\n width: 18,\n height: 18,\n class: hasError() ? \"self-center text-red-400\" : \"self-center text-rc-green-200\"\n });\n $$renderer3.push(`<!----> `);\n if (time()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<span class=\"text-[13px] leading-none text-rc-gray-400\">${escape_html(time())}</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <span${attr_class(clsx(hasError() ? \"text-red-200\" : \"\"))}>${escape_html(oneLine())}</span></button> `);\n {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction isStepTrace(entry) {\n return !(\"operationName\" in entry) && !(\"eventName\" in entry);\n}\nfunction isMainStepTrace(entry) {\n return isStepTrace(entry) && (entry.name === \"main\" || entry.name === \"mainReply\");\n}\nfunction findMainStepTraceNear(entries, index, options = {}) {\n if (index < 0) return null;\n const matches = (entry) => {\n if (!isMainStepTrace(entry)) return false;\n if (!options.requireRenderedPrompt) return true;\n return typeof entry.renderedPrompt === \"string\" && entry.renderedPrompt.trim().length > 0;\n };\n return [...entries.slice(0, index)].reverse().find(matches) ?? entries.slice(index + 1).find(matches) ?? null;\n}\nfunction findStringifiedConversationBefore(entries, index) {\n if (index <= 0) return null;\n return [...entries.slice(0, index)].reverse().map((entry) => isStepTrace(entry) ? entry.stringifiedConversation?.trim() : \"\").find(Boolean) ?? null;\n}\nfunction ChatConversationalTrace($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n trace,\n context,\n agentId,\n region = null,\n allowAddTest = true,\n testSourceStep = void 0,\n testFallbackConversation = null,\n requireTestSourceStep = false,\n analyzeDisabled = false,\n onAnalyze,\n onRegenerate,\n onRevert,\n showSeeVariants = false,\n onSeeVariants,\n variantSelectionState = \"none\",\n onSelectInVariantMode,\n suppressActionRow = false\n } = $$props;\n let added = \"idle\";\n const clickGuard = createDragSelectClickGuard();\n onDestroy(clickGuard.cleanup);\n function agentName(id) {\n if (!id) return \"\";\n return id.split(\"/\").at(-1) ?? id;\n }\n function getInitial(id) {\n const first = agentName(id).trim().charAt(0);\n return first ? first.toUpperCase() : \"?\";\n }\n const sender = derived(() => {\n if (trace.eventName === \"finished-main-streaming-step\" || trace.eventName === \"sent-message\") {\n return \"agent\";\n }\n if (trace.role === \"system\" || trace?.bosunInputMessageSender === \"system\") {\n return \"system\";\n }\n return trace.role === \"user\" ? \"user\" : \"user\";\n });\n const bubbleMaxWidthClass = derived(() => {\n if (sender() === \"agent\") return \"max-w-[83%]\";\n if (sender() === \"user\") return \"max-w-[90%] sm:max-w-[80%] md:max-w-[70%]\";\n if (sender() === \"system\") return \"max-w-[90%] sm:max-w-[85%] md:max-w-[75%]\";\n return \"\";\n });\n const showRevert = derived(() => (sender() === \"user\" || sender() === \"system\") && !!onRevert && // Hide for older traces that predate bosun state metadata.\n trace?.bosunPrevStateId !== void 0);\n const hasError = derived(() => trace.error != null);\n const isVariantSelectable = derived(() => variantSelectionState === \"source\");\n function formatHHmmss(ms) {\n if (typeof ms !== \"number\" || !Number.isFinite(ms)) return null;\n const d = new Date(ms);\n if (Number.isNaN(d.getTime())) return null;\n const hh = String(d.getHours()).padStart(2, \"0\");\n const mm = String(d.getMinutes()).padStart(2, \"0\");\n const ss = String(d.getSeconds()).padStart(2, \"0\");\n return `${hh}:${mm}:${ss}`;\n }\n const time = derived(() => formatHHmmss(trace?.createdAt));\n function isAddTestCandidate() {\n const responseIsEligible = allowAddTest && sender() === \"agent\" && trace.eventName !== \"transfer-requested\" && (trace.eventName === \"finished-main-streaming-step\" || trace.eventName === \"sent-message\");\n if (!responseIsEligible) return false;\n if (!requireTestSourceStep) return !!(agentId && agentId.trim());\n return !!testSourceStep && typeof testSourceStep.receivedContext !== \"undefined\" && typeof testSourceStep.response === \"string\" && testSourceStep.response.trim().length > 0;\n }\n function isAddTestEligible() {\n return isAddTestCandidate() && !!(agentId && agentId.trim());\n }\n function isAnalyzeEligible() {\n return sender() === \"agent\" && trace.eventName !== \"transfer-requested\" && !!(agentId && agentId.trim()) && (trace.eventName === \"finished-main-streaming-step\" || trace.eventName === \"sent-message\");\n }\n function isRegenerateEligible() {\n return isAnalyzeEligible();\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div${attr_class(\"group mb-2 flex w-full items-start\", void 0, { \"justify-end\": sender() === \"user\" || sender() === \"system\" })}>`);\n if (trace.eventName === \"transfer-requested\" || trace.eventName === \"hangup-requested\") {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex w-full justify-center\"><div${attr_class(`cursor-pointer select-text rounded-full border border-rc-gray-650 bg-rc-gray-800/40 px-4 py-2 text-sm text-rc-gray-100 ${hasError() ? \"border-red-500 bg-red-950/30 text-red-200\" : \"\"}`)} role=\"button\" tabindex=\"0\"><div class=\"flex flex-wrap items-baseline gap-x-2 gap-y-0\">`);\n if (time()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<span class=\"text-[13px] leading-none text-rc-gray-400\">${escape_html(time())}</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (trace.eventName === \"transfer-requested\") {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"min-w-0 break-words\">Transfer requested: ${escape_html(trace.content)}</div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div class=\"min-w-0 break-words\">Conversation hanged up.</div>`);\n }\n $$renderer3.push(`<!--]--></div></div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n if (sender() === \"agent\" && agentId) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"mr-2 mt-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-sm bg-rc-green-700 text-sm uppercase text-rc-gray-100 backdrop-blur-md\"${attr(\"title\", agentName(agentId))}>${escape_html(getInitial(agentId))}</div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (showRevert()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<button type=\"button\" title=\"Edit this message\" class=\"mr-2 mt-1 shrink-0 self-start rounded p-1 text-rc-gray-500 opacity-80 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none\">`);\n Icon($$renderer3, { name: \"undo\", width: 16, height: 16 });\n $$renderer3.push(`<!----></button>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div${attr_class(`min-w-0 ${stringify(bubbleMaxWidthClass())}`)}><div role=\"button\" tabindex=\"0\" class=\"cursor-pointer select-text\"><div${attr_class(`rounded-lg ${sender() === \"system\" ? \"justify-between whitespace-pre-line break-words border border-emerald-500 text-emerald-500\" : isVariantSelectable() ? \"w-full whitespace-pre-line break-words border border-rc-green-450 bg-transparent backdrop-blur-md hover:bg-rc-green-700\" : sender() !== \"user\" ? \"w-full whitespace-pre-line break-words bg-rc-green-700 backdrop-blur-md\" : \"whitespace-pre-line break-words bg-rc-gray-700\"} ${sender() === \"system\" || isVariantSelectable() ? \"\" : \"border-thin border-rc-gray-110\"} p-2 pt-1 text-rc-gray-100 ${hasError() ? \"border-red-500 bg-red-950/30 text-red-200\" : \"\"}`)}><div>${escape_html(trace.content)}</div> `);\n if (time()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"mt-1 text-right text-xs text-rc-gray-200/70\">${escape_html(time())}</div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div></div> `);\n if (!suppressActionRow && (isAnalyzeEligible() || isAddTestCandidate() || isRegenerateEligible() && onRegenerate || showSeeVariants)) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"mt-1 flex flex-wrap items-center gap-x-2 gap-y-1\">`);\n if (isAddTestCandidate()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<button type=\"button\"${attr(\"disabled\", !isAddTestEligible() || added !== \"idle\", true)}${attr(\"title\", !isAddTestEligible() ? \"Select an agent in the sidebar before adding a test\" : void 0)}${attr_class(`inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 transition-colors focus:outline-none focus-visible:outline-none ${!isAddTestEligible() ? \"cursor-default text-rc-gray-400\" : \"cursor-pointer text-rc-gray-400 hover:bg-rc-gray-900 hover:text-rc-gray-200\"}`)}>`);\n if (!isAddTestEligible()) {\n $$renderer3.push(\"<!--[2-->\");\n $$renderer3.push(`Select agent to add test`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`Add test`);\n }\n $$renderer3.push(`<!--]--></button>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (isAnalyzeEligible() && onAnalyze) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<button type=\"button\"${attr(\"disabled\", analyzeDisabled, true)} class=\"inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400\">Analyze</button>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (isRegenerateEligible() && onRegenerate) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<button type=\"button\" class=\"inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none\">Regenerate</button>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (showSeeVariants && onSeeVariants) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<button type=\"button\" class=\"inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none\">See variants</button>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]--></div> `);\n {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction ChatStepTrace($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let { trace, compareTrace } = $$props;\n const clickGuard = createDragSelectClickGuard();\n onDestroy(clickGuard.cleanup);\n function getPromptForDiff(t) {\n if (!t) return null;\n if (typeof t.renderedPrompt === \"string\") return t.renderedPrompt;\n return null;\n }\n function commonPrefixLength(a, b) {\n if (a === b) return a.length;\n const max = Math.min(a.length, b.length);\n for (let i = 0; i < max; i++) {\n if (a.charCodeAt(i) !== b.charCodeAt(i)) return i;\n }\n return max;\n }\n function similarityPercent(current, baseline) {\n const denom = Math.max(current.length, baseline.length);\n if (denom === 0) return 100;\n const prefixLen = commonPrefixLength(current, baseline);\n return Math.floor(prefixLen / denom * 100);\n }\n function cachedPromptTokensPercent(trace2) {\n const usage = trace2.llmUsage;\n if (!usage) return null;\n if (typeof usage.promptTokens !== \"number\" || !Number.isFinite(usage.promptTokens)) return null;\n if (usage.promptTokens <= 0) return null;\n if (typeof usage.cachedPromptTokens !== \"number\" || !Number.isFinite(usage.cachedPromptTokens)) return null;\n if (usage.cachedPromptTokens < 0) return null;\n return Math.max(0, Math.min(100, Math.floor(usage.cachedPromptTokens / usage.promptTokens * 100)));\n }\n function formatHHmmss(ms) {\n if (typeof ms !== \"number\" || !Number.isFinite(ms)) return null;\n const d = new Date(ms);\n if (Number.isNaN(d.getTime())) return null;\n const hh = String(d.getHours()).padStart(2, \"0\");\n const mm = String(d.getMinutes()).padStart(2, \"0\");\n const ss = String(d.getSeconds()).padStart(2, \"0\");\n return `${hh}:${mm}:${ss}`;\n }\n const time = derived(() => formatHHmmss(trace.createdAt));\n const hasError = derived(() => trace.error != null);\n const oneLine = derived(() => trace.name);\n const mainPromptSimilarityPct = derived(() => {\n if (trace.name !== \"main\") return null;\n const current = getPromptForDiff(trace);\n const baseline = getPromptForDiff(compareTrace);\n if (current == null || baseline == null) return null;\n return similarityPercent(current, baseline);\n });\n const mainCachedTokensPct = derived(() => {\n if (trace.name !== \"main\") return null;\n return cachedPromptTokensPercent(trace);\n });\n const CACHE_OK_THRESHOLD_PCT = 90;\n const CACHE_MISS_SIMILARITY_THRESHOLD_PCT = 90;\n const BREAK_TAG_REGEX = /<break\\b[^>]*\\/?>/i;\n const BREAK_TAG_TOOLTIP = '<break /> tag disables streaming and increases latency. If pauses are not large enough, use \"...\" instead.';\n function hasBreakTag(value) {\n return typeof value === \"string\" && BREAK_TAG_REGEX.test(value);\n }\n const mainPromptCacheLabel = derived(() => {\n if (trace.name !== \"main\") return null;\n if (mainCachedTokensPct() != null) {\n const cacheMiss = mainCachedTokensPct() === 0 && mainPromptSimilarityPct() != null && mainPromptSimilarityPct() >= CACHE_MISS_SIMILARITY_THRESHOLD_PCT;\n if (cacheMiss) {\n return {\n text: \"0% tokens cached. Cache miss\",\n className: \"text-red-200\"\n };\n }\n const ok = mainCachedTokensPct() >= CACHE_OK_THRESHOLD_PCT;\n return ok ? {\n text: `${mainCachedTokensPct()}% tokens cached`,\n className: \"text-rc-gray-400\"\n } : {\n text: `${mainCachedTokensPct()}% tokens cached - move dynamic parts of prompt to the bottom`,\n className: \"text-red-200\"\n };\n }\n if (mainPromptSimilarityPct() != null) {\n const ok = mainPromptSimilarityPct() >= CACHE_OK_THRESHOLD_PCT;\n return ok ? {\n text: `${mainPromptSimilarityPct()}%`,\n className: \"text-rc-gray-400\"\n } : {\n text: `${mainPromptSimilarityPct()}% cached - move dynamic parts of prompt to the bottom`,\n className: \"text-red-200\"\n };\n }\n return null;\n });\n const breakTagLabel = derived(() => {\n if (!hasBreakTag(trace.response)) return null;\n return {\n text: \"LLM output has <break /> tags\",\n className: \"text-red-200\"\n };\n });\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"flex w-full select-text items-baseline gap-2 truncate rounded-md bg-transparent px-2 py-1 text-left text-sm text-rc-gray-200 hover:bg-rc-gray-800/40\"><button type=\"button\" class=\"flex min-w-0 cursor-pointer items-baseline gap-2 truncate bg-transparent p-0 text-left text-sm text-rc-gray-200\">`);\n Icon($$renderer3, {\n name: hasError() ? \"close\" : \"checkmark\",\n width: 18,\n height: 18,\n class: hasError() ? \"self-center text-red-400\" : \"self-center text-rc-green-200\"\n });\n $$renderer3.push(`<!----> `);\n if (time()) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<span class=\"text-[13px] leading-none text-rc-gray-400\">${escape_html(time())}</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <span${attr_class(clsx(hasError() ? \"text-red-200\" : \"\"))}>AI: ${escape_html(oneLine())}</span></button> `);\n if (mainPromptCacheLabel() != null) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<span${attr_class(`shrink-0 text-xs ${mainPromptCacheLabel().className}`)}><span class=\"cursor-pointer\" title=\"Show prompt-cache calc\">${escape_html(mainPromptCacheLabel().text)}</span></span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (breakTagLabel() != null) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<span${attr_class(`shrink-0 text-xs ${breakTagLabel().className}`)}${attr(\"title\", BREAK_TAG_TOOLTIP)}>${escape_html(breakTagLabel().text)}</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> `);\n {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n ChatApiCallTrace as C,\n ChatConversationalTrace as a,\n ChatStepTrace as b,\n findStringifiedConversationBefore as c,\n findMainStepTraceNear as f\n};\n"],"names":[],"mappings":";;;;;;;AAYA,SAAS,0BAA0B,CAAC,OAAO,GAAG,EAAE,EAAE;AAClD,EAAE,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC;AAC9C,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,MAAM;AACjD,EAAE,IAAI,MAAM,GAAG,CAAC;AAChB,EAAE,IAAI,MAAM,GAAG,CAAC;AAChB,EAAE,IAAI,OAAO,GAAG,KAAK;AACrB,EAAE,IAAI,WAAW,GAAG,KAAK;AACzB,EAAE,IAAI,QAAQ,GAAG,IAAI;AACrB,EAAE,IAAI,eAAe,GAAG,IAAI;AAC5B,EAAE,SAAS,OAAO,GAAG;AACrB,IAAI,WAAW,GAAG,KAAK;AACvB,IAAI,OAAO,GAAG,KAAK;AACnB,IAAI,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC5C,IAAI,QAAQ,GAAG,IAAI;AACnB,IAAI,eAAe,EAAE,KAAK,EAAE;AAC5B,IAAI,eAAe,GAAG,IAAI;AAC1B,EAAE;AACF,EAAE,SAAS,aAAa,CAAC,KAAK,EAAE;AAChC,IAAI,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACvC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,IAAI,eAAe,EAAE,KAAK,EAAE;AAC5B,IAAI,eAAe,GAAG,IAAI;AAC1B,IAAI,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO;AAC1B,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO;AAC1B,IAAI,OAAO,GAAG,KAAK;AACnB,IAAI,WAAW,GAAG,IAAI;AACtB,IAAI,QAAQ,GAAG,KAAK,CAAC,aAAa,YAAY,WAAW,GAAG,KAAK,CAAC,aAAa,GAAG,IAAI;AACtF,IAAI,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE;AAC5C,IAAI,eAAe,GAAG,UAAU;AAChC,IAAI,MAAM,MAAM,GAAG,CAAC,SAAS,KAAK;AAClC,MAAM,IAAI,CAAC,WAAW,IAAI,OAAO,EAAE;AACnC,MAAM,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;AACrD,MAAM,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC;AACrD,MAAM,IAAI,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE;AACjC,MAAM,OAAO,GAAG,IAAI;AACpB,MAAM,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC;AACvD,IAAI,CAAC;AACL,IAAI,MAAM,KAAK,GAAG,MAAM;AACxB,MAAM,WAAW,GAAG,KAAK;AACzB,MAAM,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC9C,MAAM,QAAQ,GAAG,IAAI;AACrB,MAAM,UAAU,CAAC,KAAK,EAAE;AACxB,MAAM,IAAI,eAAe,KAAK,UAAU,EAAE,eAAe,GAAG,IAAI;AAChE,IAAI,CAAC;AACL,IAAI,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;AACjF,IAAI,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;AAC9E,IAAI,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;AAClF,EAAE;AACF,EAAE,SAAS,mBAAmB,CAAC,KAAK,EAAE;AACtC,IAAI,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO;AACtC,EAAE;AACF,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,OAAO,EAAE;AACxD;AACA,SAAS,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE;AAC/C,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO;AAC3B,IAAI,MAAM,UAAU,GAAG,0BAA0B,EAAE;AACnD,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;AACjC,IAAI,SAAS,YAAY,CAAC,EAAE,EAAE;AAC9B,MAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI;AACrE,MAAM,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;AAC5B,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI;AAChD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACtD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACxD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACxD,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChC,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC7D,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM;AACvC,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,OAAO,KAAK,CAAC,KAAK;AACjD,MAAM,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG;AACpG,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,MAAM;AAClC,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ;AACjC,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC5C,QAAQ,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,OAAO,IAAI,CAAC,KAAK;AACpE,MAAM;AACN,MAAM,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE;AACnD,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,YAAY,EAAE,IAAI,IAAI,CAAC;AAC1D,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC;AACtD,IAAI,IAAI,SAAS,GAAG,IAAI;AACxB,IAAI,IAAI,gBAAgB;AACxB,IAAI,SAAS,cAAc,CAAC,WAAW,EAAE;AACzC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,kMAAkM,CAAC,CAAC;AAC5N,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,GAAG,WAAW;AAChD,QAAQ,KAAK,EAAE,EAAE;AACjB,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,KAAK,EAAE,QAAQ,EAAE,GAAG,0BAA0B,GAAG;AACzD,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,IAAI,IAAI,EAAE,EAAE;AAClB,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,wDAAwD,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AACjH,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACxI,MAAM;AACN,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,IAAI;AACJ,IAAI,GAAG;AACP,MAAM,SAAS,GAAG,IAAI;AACtB,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE;AAC3C,MAAM,cAAc,CAAC,gBAAgB,CAAC;AACtC,IAAI,CAAC,QAAQ,CAAC,SAAS;AACvB,IAAI,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACzC,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,KAAK,CAAC;AAC/D;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,EAAE,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;AACpF;AACA,SAAS,qBAAqB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,EAAE;AAC7D,EAAE,IAAI,KAAK,GAAG,CAAC,EAAE,OAAO,IAAI;AAC5B,EAAE,MAAM,OAAO,GAAG,CAAC,KAAK,KAAK;AAC7B,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK;AAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,OAAO,IAAI;AACnD,IAAI,OAAO,OAAO,KAAK,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;AAC7F,EAAE,CAAC;AACH,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;AAC/G;AACA,SAAS,iCAAiC,CAAC,OAAO,EAAE,KAAK,EAAE;AAC3D,EAAE,IAAI,KAAK,IAAI,CAAC,EAAE,OAAO,IAAI;AAC7B,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,uBAAuB,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;AACrJ;AACA,SAAS,uBAAuB,CAAC,UAAU,EAAE,OAAO,EAAE;AACtD,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI;AACR,MAAM,KAAK;AACX,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,MAAM,GAAG,IAAI;AACnB,MAAM,YAAY,GAAG,IAAI;AACzB,MAAM,cAAc,GAAG,MAAM;AAC7B,MAAM,wBAAwB,GAAG,IAAI;AACrC,MAAM,qBAAqB,GAAG,KAAK;AACnC,MAAM,eAAe,GAAG,KAAK;AAC7B,MAAM,SAAS;AACf,MAAM,YAAY;AAClB,MAAM,QAAQ;AACd,MAAM,eAAe,GAAG,KAAK;AAC7B,MAAM,aAAa;AACnB,MAAM,qBAAqB,GAAG,MAAM;AACpC,MAAM,qBAAqB;AAC3B,MAAM,iBAAiB,GAAG;AAC1B,KAAK,GAAG,OAAO;AACf,IAAI,IAAI,KAAK,GAAG,MAAM;AACtB,IAAI,MAAM,UAAU,GAAG,0BAA0B,EAAE;AACnD,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;AACjC,IAAI,SAAS,SAAS,CAAC,EAAE,EAAE;AAC3B,MAAM,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE;AACxB,MAAM,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE;AACvC,IAAI;AACJ,IAAI,SAAS,UAAU,CAAC,EAAE,EAAE;AAC5B,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAClD,MAAM,OAAO,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,GAAG;AAC9C,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;AACjC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,8BAA8B,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,EAAE;AACpG,QAAQ,OAAO,OAAO;AACtB,MAAM;AACN,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,EAAE,uBAAuB,KAAK,QAAQ,EAAE;AAClF,QAAQ,OAAO,QAAQ;AACvB,MAAM;AACN,MAAM,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM;AACpD,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM;AAC9C,MAAM,IAAI,MAAM,EAAE,KAAK,OAAO,EAAE,OAAO,aAAa;AACpD,MAAM,IAAI,MAAM,EAAE,KAAK,MAAM,EAAE,OAAO,2CAA2C;AACjF,MAAM,IAAI,MAAM,EAAE,KAAK,QAAQ,EAAE,OAAO,2CAA2C;AACnF,MAAM,OAAO,EAAE;AACf,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,MAAM,IAAI,MAAM,EAAE,KAAK,QAAQ,KAAK,CAAC,CAAC,QAAQ;AACjG,IAAI,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC;AACvC,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;AACvD,IAAI,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,qBAAqB,KAAK,QAAQ,CAAC;AACjF,IAAI,SAAS,YAAY,CAAC,EAAE,EAAE;AAC9B,MAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI;AACrE,MAAM,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;AAC5B,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI;AAChD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACtD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACxD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACxD,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChC,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AAC9D,IAAI,SAAS,kBAAkB,GAAG;AAClC,MAAM,MAAM,kBAAkB,GAAG,YAAY,IAAI,MAAM,EAAE,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,oBAAoB,KAAK,KAAK,CAAC,SAAS,KAAK,8BAA8B,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC;AAC/M,MAAM,IAAI,CAAC,kBAAkB,EAAE,OAAO,KAAK;AAC3C,MAAM,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;AACtE,MAAM,OAAO,CAAC,CAAC,cAAc,IAAI,OAAO,cAAc,CAAC,eAAe,KAAK,WAAW,IAAI,OAAO,cAAc,CAAC,QAAQ,KAAK,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;AAClL,IAAI;AACJ,IAAI,SAAS,iBAAiB,GAAG;AACjC,MAAM,OAAO,kBAAkB,EAAE,IAAI,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;AAClE,IAAI;AACJ,IAAI,SAAS,iBAAiB,GAAG;AACjC,MAAM,OAAO,MAAM,EAAE,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,oBAAoB,IAAI,CAAC,EAAE,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,KAAK,8BAA8B,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC;AAC5M,IAAI;AACJ,IAAI,SAAS,oBAAoB,GAAG;AACpC,MAAM,OAAO,iBAAiB,EAAE;AAChC,IAAI;AACJ,IAAI,IAAI,SAAS,GAAG,IAAI;AACxB,IAAI,IAAI,gBAAgB;AACxB,IAAI,SAAS,cAAc,CAAC,WAAW,EAAE;AACzC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,oCAAoC,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,MAAM,IAAI,MAAM,EAAE,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3J,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,oBAAoB,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,EAAE;AAC9F,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,4CAA4C,EAAE,UAAU,CAAC,CAAC,uHAAuH,EAAE,QAAQ,EAAE,GAAG,2CAA2C,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,uFAAuF,CAAC,CAAC;AACvW,QAAQ,IAAI,IAAI,EAAE,EAAE;AACpB,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACvC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,wDAAwD,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AACnH,QAAQ,CAAC,MAAM;AACf,UAAU,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACrC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,oBAAoB,EAAE;AACtD,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACvC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,qDAAqD,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AACtH,QAAQ,CAAC,MAAM;AACf,UAAU,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,8DAA8D,CAAC,CAAC;AAC5F,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,0BAA0B,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,QAAQ,IAAI,MAAM,EAAE,KAAK,OAAO,IAAI,OAAO,EAAE;AAC7C,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACvC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,uJAAuJ,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACnQ,QAAQ,CAAC,MAAM;AACf,UAAU,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACrC,QAAQ,IAAI,UAAU,EAAE,EAAE;AAC1B,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACvC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,0OAA0O,CAAC,CAAC;AACxQ,UAAU,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACpE,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAC9C,QAAQ,CAAC,MAAM;AACf,UAAU,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,wEAAwE,EAAE,UAAU,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,QAAQ,GAAG,4FAA4F,GAAG,mBAAmB,EAAE,GAAG,yHAAyH,GAAG,MAAM,EAAE,KAAK,MAAM,GAAG,yEAAyE,GAAG,gDAAgD,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,QAAQ,IAAI,mBAAmB,EAAE,GAAG,EAAE,GAAG,gCAAgC,CAAC,2BAA2B,EAAE,QAAQ,EAAE,GAAG,2CAA2C,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACx0B,QAAQ,IAAI,IAAI,EAAE,EAAE;AACpB,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACvC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,yDAAyD,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AACnH,QAAQ,CAAC,MAAM;AACf,UAAU,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC;AACjD,QAAQ,IAAI,CAAC,iBAAiB,KAAK,iBAAiB,EAAE,IAAI,kBAAkB,EAAE,IAAI,oBAAoB,EAAE,IAAI,YAAY,IAAI,eAAe,CAAC,EAAE;AAC9I,UAAU,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACvC,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,8DAA8D,CAAC,CAAC;AAC5F,UAAU,IAAI,kBAAkB,EAAE,EAAE;AACpC,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,iBAAiB,EAAE,IAAI,KAAK,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,iBAAiB,EAAE,GAAG,qDAAqD,GAAG,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,iJAAiJ,EAAE,CAAC,iBAAiB,EAAE,GAAG,iCAAiC,GAAG,6EAA6E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7gB,YAAY,IAAI,CAAC,iBAAiB,EAAE,EAAE;AACtC,cAAc,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AAC3C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,wBAAwB,CAAC,CAAC;AAC1D,YAAY,CAAC,MAAM;AACnB,cAAc,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAC5C,cAAc,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC1C,YAAY;AACZ,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACjD,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1C,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACvC,UAAU,IAAI,iBAAiB,EAAE,IAAI,SAAS,EAAE;AAChD,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,qVAAqV,CAAC,CAAC;AACpb,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1C,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACvC,UAAU,IAAI,oBAAoB,EAAE,IAAI,YAAY,EAAE;AACtD,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,+PAA+P,CAAC,CAAC;AAC/R,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1C,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACvC,UAAU,IAAI,eAAe,IAAI,aAAa,EAAE;AAChD,YAAY,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACzC,YAAY,WAAW,CAAC,IAAI,CAAC,CAAC,iQAAiQ,CAAC,CAAC;AACjS,UAAU,CAAC,MAAM;AACjB,YAAY,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1C,UAAU;AACV,UAAU,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AAC5C,QAAQ,CAAC,MAAM;AACf,UAAU,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,QAAQ;AACR,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AAC1C,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACzC,MAAM;AACN,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,IAAI;AACJ,IAAI,GAAG;AACP,MAAM,SAAS,GAAG,IAAI;AACtB,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE;AAC3C,MAAM,cAAc,CAAC,gBAAgB,CAAC;AACtC,IAAI,CAAC,QAAQ,CAAC,SAAS;AACvB,IAAI,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACzC,EAAE,CAAC,CAAC;AACJ;AACA,SAAS,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE;AAC5C,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK;AACxC,IAAI,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO;AACzC,IAAI,MAAM,UAAU,GAAG,0BAA0B,EAAE;AACnD,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC;AACjC,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE;AACjC,MAAM,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI;AACzB,MAAM,IAAI,OAAO,CAAC,CAAC,cAAc,KAAK,QAAQ,EAAE,OAAO,CAAC,CAAC,cAAc;AACvE,MAAM,OAAO,IAAI;AACjB,IAAI;AACJ,IAAI,SAAS,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE;AACtC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM;AAClC,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;AAC9C,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AACpC,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;AACzD,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,IAAI;AACJ,IAAI,SAAS,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE;AAClD,MAAM,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;AAC7D,MAAM,IAAI,KAAK,KAAK,CAAC,EAAE,OAAO,GAAG;AACjC,MAAM,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC;AAC7D,MAAM,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,GAAG,GAAG,CAAC;AAChD,IAAI;AACJ,IAAI,SAAS,yBAAyB,CAAC,MAAM,EAAE;AAC/C,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ;AACnC,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI;AAC7B,MAAM,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,IAAI;AACrG,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,EAAE,OAAO,IAAI;AAC9C,MAAM,IAAI,OAAO,KAAK,CAAC,kBAAkB,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,OAAO,IAAI;AACjH,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,OAAO,IAAI;AACnD,MAAM,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,GAAG,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;AACxG,IAAI;AACJ,IAAI,SAAS,YAAY,CAAC,EAAE,EAAE;AAC9B,MAAM,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,OAAO,IAAI;AACrE,MAAM,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;AAC5B,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI;AAChD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACtD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACxD,MAAM,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;AACxD,MAAM,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAChC,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAC7D,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC;AACvD,IAAI,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC;AAC7C,IAAI,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM;AAClD,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,OAAO,IAAI;AAC5C,MAAM,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC;AAC7C,MAAM,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC;AACrD,MAAM,IAAI,OAAO,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,OAAO,IAAI;AAC1D,MAAM,OAAO,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC;AACjD,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM;AAC9C,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,OAAO,IAAI;AAC5C,MAAM,OAAO,yBAAyB,CAAC,KAAK,CAAC;AAC7C,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,sBAAsB,GAAG,EAAE;AACrC,IAAI,MAAM,mCAAmC,GAAG,EAAE;AAClD,IAAI,MAAM,eAAe,GAAG,oBAAoB;AAChD,IAAI,MAAM,iBAAiB,GAAG,4GAA4G;AAC1I,IAAI,SAAS,WAAW,CAAC,KAAK,EAAE;AAChC,MAAM,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;AACrE,IAAI;AACJ,IAAI,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM;AAC/C,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,OAAO,IAAI;AAC5C,MAAM,IAAI,mBAAmB,EAAE,IAAI,IAAI,EAAE;AACzC,QAAQ,MAAM,SAAS,GAAG,mBAAmB,EAAE,KAAK,CAAC,IAAI,uBAAuB,EAAE,IAAI,IAAI,IAAI,uBAAuB,EAAE,IAAI,mCAAmC;AAC9J,QAAQ,IAAI,SAAS,EAAE;AACvB,UAAU,OAAO;AACjB,YAAY,IAAI,EAAE,8BAA8B;AAChD,YAAY,SAAS,EAAE;AACvB,WAAW;AACX,QAAQ;AACR,QAAQ,MAAM,EAAE,GAAG,mBAAmB,EAAE,IAAI,sBAAsB;AAClE,QAAQ,OAAO,EAAE,GAAG;AACpB,UAAU,IAAI,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,eAAe,CAAC;AACzD,UAAU,SAAS,EAAE;AACrB,SAAS,GAAG;AACZ,UAAU,IAAI,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,4DAA4D,CAAC;AACtG,UAAU,SAAS,EAAE;AACrB,SAAS;AACT,MAAM;AACN,MAAM,IAAI,uBAAuB,EAAE,IAAI,IAAI,EAAE;AAC7C,QAAQ,MAAM,EAAE,GAAG,uBAAuB,EAAE,IAAI,sBAAsB;AACtE,QAAQ,OAAO,EAAE,GAAG;AACpB,UAAU,IAAI,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;AAC/C,UAAU,SAAS,EAAE;AACrB,SAAS,GAAG;AACZ,UAAU,IAAI,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC,qDAAqD,CAAC;AACnG,UAAU,SAAS,EAAE;AACrB,SAAS;AACT,MAAM;AACN,MAAM,OAAO,IAAI;AACjB,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM;AACxC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,OAAO,IAAI;AACnD,MAAM,OAAO;AACb,QAAQ,IAAI,EAAE,+BAA+B;AAC7C,QAAQ,SAAS,EAAE;AACnB,OAAO;AACP,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,SAAS,GAAG,IAAI;AACxB,IAAI,IAAI,gBAAgB;AACxB,IAAI,SAAS,cAAc,CAAC,WAAW,EAAE;AACzC,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,gTAAgT,CAAC,CAAC;AAC1U,MAAM,IAAI,CAAC,WAAW,EAAE;AACxB,QAAQ,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,GAAG,WAAW;AAChD,QAAQ,KAAK,EAAE,EAAE;AACjB,QAAQ,MAAM,EAAE,EAAE;AAClB,QAAQ,KAAK,EAAE,QAAQ,EAAE,GAAG,0BAA0B,GAAG;AACzD,OAAO,CAAC;AACR,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,MAAM,IAAI,IAAI,EAAE,EAAE;AAClB,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,wDAAwD,EAAE,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AACjH,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC5I,MAAM,IAAI,oBAAoB,EAAE,IAAI,IAAI,EAAE;AAC1C,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,6DAA6D,EAAE,WAAW,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AAC5N,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,IAAI,aAAa,EAAE,IAAI,IAAI,EAAE;AACnC,QAAQ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,QAAQ,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,iBAAiB,EAAE,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAC9K,MAAM,CAAC,MAAM;AACb,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC;AACzC,MAAM;AACN,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM;AACN,QAAQ,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,MAAM;AACN,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClC,IAAI;AACJ,IAAI,GAAG;AACP,MAAM,SAAS,GAAG,IAAI;AACtB,MAAM,gBAAgB,GAAG,WAAW,CAAC,IAAI,EAAE;AAC3C,MAAM,cAAc,CAAC,gBAAgB,CAAC;AACtC,IAAI,CAAC,QAAQ,CAAC,SAAS;AACvB,IAAI,WAAW,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACzC,EAAE,CAAC,CAAC;AACJ;;;;"}