@recombine-ai/bosun 0.16.2 → 0.17.1

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 (524) hide show
  1. package/README.md +24 -0
  2. package/bin/bosun.js +153 -20
  3. package/bin/git-mode.js +1139 -0
  4. package/build/client/_app/immutable/assets/0.D9HpHezk.css +1 -0
  5. package/build/client/_app/immutable/assets/0.D9HpHezk.css.br +0 -0
  6. package/build/client/_app/immutable/assets/0.D9HpHezk.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/{2.DtxQDOXx.css → 2.Bc0Sf3YD.css} +1 -1
  8. package/build/client/_app/immutable/assets/2.Bc0Sf3YD.css.br +0 -0
  9. package/build/client/_app/immutable/assets/2.Bc0Sf3YD.css.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{DneQQ7D5.js → -3ZOIHDA.js} +1 -1
  11. package/build/client/_app/immutable/chunks/-3ZOIHDA.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/-3ZOIHDA.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/7hV1SZxK.js +1 -0
  14. package/build/client/_app/immutable/chunks/7hV1SZxK.js.br +2 -0
  15. package/build/client/_app/immutable/chunks/7hV1SZxK.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/B-dTD_wm.js +1 -0
  17. package/build/client/_app/immutable/chunks/B-dTD_wm.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/B-dTD_wm.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{UqjCSZmA.js → B-iasAJv.js} +1 -1
  20. package/build/client/_app/immutable/chunks/B-iasAJv.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/B-iasAJv.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/BDijIo6D.js +33 -0
  23. package/build/client/_app/immutable/chunks/BDijIo6D.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/BDijIo6D.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/BHB0Pj1h.js +2 -0
  26. package/build/client/_app/immutable/chunks/BHB0Pj1h.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/BHB0Pj1h.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/{Bog028VR.js → BKfmN1Rj.js} +1 -1
  29. package/build/client/_app/immutable/chunks/BKfmN1Rj.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/BKfmN1Rj.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/{pPpIn6tB.js → BlFOg-Sd.js} +1 -1
  32. package/build/client/_app/immutable/chunks/BlFOg-Sd.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/BlFOg-Sd.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/{CJcZ2GVC.js → Byg3jr1u.js} +1 -1
  35. package/build/client/_app/immutable/chunks/Byg3jr1u.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/Byg3jr1u.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/{Bmd5zhWC.js → BzxxLgHi.js} +1 -1
  38. package/build/client/_app/immutable/chunks/BzxxLgHi.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/BzxxLgHi.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/{CEHsomMo.js → C4UC6AgE.js} +1 -1
  41. package/build/client/_app/immutable/chunks/C4UC6AgE.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/{CEHsomMo.js.gz → C4UC6AgE.js.gz} +0 -0
  43. package/build/client/_app/immutable/chunks/C60AG6QQ.js +1 -0
  44. package/build/client/_app/immutable/chunks/C60AG6QQ.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/C60AG6QQ.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/CAIfVN23.js +1 -0
  47. package/build/client/_app/immutable/chunks/CAIfVN23.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/CAIfVN23.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/{JcG4w2gF.js → CB9iDxwI.js} +1 -1
  50. package/build/client/_app/immutable/chunks/CB9iDxwI.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/CB9iDxwI.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/{DoD3q5w5.js → CD_KdWs9.js} +1 -1
  53. package/build/client/_app/immutable/chunks/CD_KdWs9.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/CD_KdWs9.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/CDy1LBR5.js +1 -0
  56. package/build/client/_app/immutable/chunks/CDy1LBR5.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/CDy1LBR5.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/{DCXjBDmY.js → CMFNmSvo.js} +1 -1
  59. package/build/client/_app/immutable/chunks/CMFNmSvo.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/CMFNmSvo.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/{Bv1mNXs0.js → CNIn4L55.js} +1 -1
  62. package/build/client/_app/immutable/chunks/CNIn4L55.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/CNIn4L55.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/CUKoVL36.js +1 -0
  65. package/build/client/_app/immutable/chunks/CUKoVL36.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/CUKoVL36.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/CYGbCr1i.js +3 -0
  68. package/build/client/_app/immutable/chunks/CYGbCr1i.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/CYGbCr1i.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/CYr0FGgn.js +1 -0
  71. package/build/client/_app/immutable/chunks/CYr0FGgn.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/CYr0FGgn.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/{DtXXy94i.js → Ce6a22qU.js} +1 -1
  74. package/build/client/_app/immutable/chunks/Ce6a22qU.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/Ce6a22qU.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/{DfcDjAv-.js → CeoQ-OhK.js} +1 -1
  77. package/build/client/_app/immutable/chunks/CeoQ-OhK.js.br +0 -0
  78. package/build/client/_app/immutable/chunks/CeoQ-OhK.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/{D8mA-uZ4.js → CupXtwVS.js} +1 -1
  80. package/build/client/_app/immutable/chunks/CupXtwVS.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/CupXtwVS.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/{B5zf3x62.js → Cy2Uze-c.js} +1 -1
  83. package/build/client/_app/immutable/chunks/Cy2Uze-c.js.br +0 -0
  84. package/build/client/_app/immutable/chunks/Cy2Uze-c.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/{Dg0A8wPA.js → D8Lmn3S5.js} +1 -1
  86. package/build/client/_app/immutable/chunks/D8Lmn3S5.js.br +0 -0
  87. package/build/client/_app/immutable/chunks/D8Lmn3S5.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/D8doM1Y6.js +1 -0
  89. package/build/client/_app/immutable/chunks/D8doM1Y6.js.br +2 -0
  90. package/build/client/_app/immutable/chunks/D8doM1Y6.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/{BHHfrjbV.js → D9BWOD7V.js} +1 -1
  92. package/build/client/_app/immutable/chunks/D9BWOD7V.js.br +3 -0
  93. package/build/client/_app/immutable/chunks/D9BWOD7V.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/{Cp_st-64.js → DBB88ZB7.js} +1 -1
  95. package/build/client/_app/immutable/chunks/DBB88ZB7.js.br +2 -0
  96. package/build/client/_app/immutable/chunks/DBB88ZB7.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/{Dm49pcMm.js → DC7lPrn4.js} +1 -1
  98. package/build/client/_app/immutable/chunks/DC7lPrn4.js.br +0 -0
  99. package/build/client/_app/immutable/chunks/DC7lPrn4.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/DCwWNTpf.js +9 -0
  101. package/build/client/_app/immutable/chunks/DCwWNTpf.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/DCwWNTpf.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/{wcTQUnZO.js → DEnUeQNt.js} +1 -1
  104. package/build/client/_app/immutable/chunks/DEnUeQNt.js.br +0 -0
  105. package/build/client/_app/immutable/chunks/DEnUeQNt.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/D_laxq3h.js +1 -0
  107. package/build/client/_app/immutable/chunks/D_laxq3h.js.br +0 -0
  108. package/build/client/_app/immutable/chunks/D_laxq3h.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/{Ddv5LgEc.js → DfkYlKBk.js} +1 -1
  110. package/build/client/_app/immutable/chunks/DfkYlKBk.js.br +0 -0
  111. package/build/client/_app/immutable/chunks/DfkYlKBk.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/DnMS2X6M.js +2 -0
  113. package/build/client/_app/immutable/chunks/DnMS2X6M.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/DnMS2X6M.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/{B1HdnQRQ.js → DrE1ro9S.js} +1 -1
  116. package/build/client/_app/immutable/chunks/DrE1ro9S.js.br +0 -0
  117. package/build/client/_app/immutable/chunks/DrE1ro9S.js.gz +0 -0
  118. package/build/client/_app/immutable/chunks/DzY_RPb9.js +1 -0
  119. package/build/client/_app/immutable/chunks/DzY_RPb9.js.br +0 -0
  120. package/build/client/_app/immutable/chunks/DzY_RPb9.js.gz +0 -0
  121. package/build/client/_app/immutable/chunks/PrCSpCPg.js +1 -0
  122. package/build/client/_app/immutable/chunks/PrCSpCPg.js.br +0 -0
  123. package/build/client/_app/immutable/chunks/PrCSpCPg.js.gz +0 -0
  124. package/build/client/_app/immutable/chunks/{CN555stc.js → eMofpOrR.js} +1 -1
  125. package/build/client/_app/immutable/chunks/eMofpOrR.js.br +0 -0
  126. package/build/client/_app/immutable/chunks/eMofpOrR.js.gz +0 -0
  127. package/build/client/_app/immutable/entry/app.BQUuHkSR.js +2 -0
  128. package/build/client/_app/immutable/entry/app.BQUuHkSR.js.br +0 -0
  129. package/build/client/_app/immutable/entry/app.BQUuHkSR.js.gz +0 -0
  130. package/build/client/_app/immutable/entry/start.DoeTycdu.js +1 -0
  131. package/build/client/_app/immutable/entry/start.DoeTycdu.js.br +2 -0
  132. package/build/client/_app/immutable/entry/start.DoeTycdu.js.gz +0 -0
  133. package/build/client/_app/immutable/nodes/0.DBnFpwRM.js +4 -0
  134. package/build/client/_app/immutable/nodes/0.DBnFpwRM.js.br +0 -0
  135. package/build/client/_app/immutable/nodes/0.DBnFpwRM.js.gz +0 -0
  136. package/build/client/_app/immutable/nodes/1.D-kI-fLd.js +1 -0
  137. package/build/client/_app/immutable/nodes/1.D-kI-fLd.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/1.D-kI-fLd.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/10.DWb5H7vX.js +28 -0
  140. package/build/client/_app/immutable/nodes/10.DWb5H7vX.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/10.DWb5H7vX.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/{15.D2I0y3ys.js → 15.CGc3_07c.js} +1 -1
  143. package/build/client/_app/immutable/nodes/15.CGc3_07c.js.br +3 -0
  144. package/build/client/_app/immutable/nodes/15.CGc3_07c.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/17.BIba62hW.js +3 -0
  146. package/build/client/_app/immutable/nodes/17.BIba62hW.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/17.BIba62hW.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/18.Clxr6FwI.js +11 -0
  149. package/build/client/_app/immutable/nodes/18.Clxr6FwI.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/18.Clxr6FwI.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/2.cbpnR8be.js +35 -0
  152. package/build/client/_app/immutable/nodes/2.cbpnR8be.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/2.cbpnR8be.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/3.DsP759xk.js +1 -0
  155. package/build/client/_app/immutable/nodes/3.DsP759xk.js.br +0 -0
  156. package/build/client/_app/immutable/nodes/3.DsP759xk.js.gz +0 -0
  157. package/build/client/_app/immutable/nodes/{4.C8VxVbVn.js → 4.BIGLAIDe.js} +1 -1
  158. package/build/client/_app/immutable/nodes/4.BIGLAIDe.js.br +0 -0
  159. package/build/client/_app/immutable/nodes/4.BIGLAIDe.js.gz +0 -0
  160. package/build/client/_app/immutable/nodes/{5.BjrnKYaA.js → 5.zMHOyhDv.js} +1 -1
  161. package/build/client/_app/immutable/nodes/5.zMHOyhDv.js.br +0 -0
  162. package/build/client/_app/immutable/nodes/5.zMHOyhDv.js.gz +0 -0
  163. package/build/client/_app/immutable/nodes/6.DFQ1IZsQ.js +1 -0
  164. package/build/client/_app/immutable/nodes/6.DFQ1IZsQ.js.br +0 -0
  165. package/build/client/_app/immutable/nodes/6.DFQ1IZsQ.js.gz +0 -0
  166. package/build/client/_app/immutable/nodes/8.CTgEdr7L.js +2 -0
  167. package/build/client/_app/immutable/nodes/8.CTgEdr7L.js.br +0 -0
  168. package/build/client/_app/immutable/nodes/8.CTgEdr7L.js.gz +0 -0
  169. package/build/client/_app/immutable/nodes/9.BidF5Uvq.js +2 -0
  170. package/build/client/_app/immutable/nodes/9.BidF5Uvq.js.br +0 -0
  171. package/build/client/_app/immutable/nodes/9.BidF5Uvq.js.gz +0 -0
  172. package/build/client/_app/version.json +1 -1
  173. package/build/client/_app/version.json.br +0 -0
  174. package/build/client/_app/version.json.gz +0 -0
  175. package/build/server/chunks/0-BZOFUIfF.js +9 -0
  176. package/build/server/chunks/0-BZOFUIfF.js.map +1 -0
  177. package/build/server/chunks/1-XwGU5VVN.js +9 -0
  178. package/build/server/chunks/{1-C0HdTvXW.js.map → 1-XwGU5VVN.js.map} +1 -1
  179. package/build/server/chunks/10-BgFSx4ib.js +9 -0
  180. package/build/server/chunks/10-BgFSx4ib.js.map +1 -0
  181. package/build/server/chunks/15-BjTTC1jf.js +9 -0
  182. package/build/server/chunks/{15-BQcb9C_y.js.map → 15-BjTTC1jf.js.map} +1 -1
  183. package/build/server/chunks/17-BEkWCfzc.js +9 -0
  184. package/build/server/chunks/17-BEkWCfzc.js.map +1 -0
  185. package/build/server/chunks/18-C-S0wKdp.js +9 -0
  186. package/build/server/chunks/18-C-S0wKdp.js.map +1 -0
  187. package/build/server/chunks/2-o-cIkIjs.js +9 -0
  188. package/build/server/chunks/2-o-cIkIjs.js.map +1 -0
  189. package/build/server/chunks/3-B-ABlyFO.js +9 -0
  190. package/build/server/chunks/3-B-ABlyFO.js.map +1 -0
  191. package/build/server/chunks/4-joAFA_Y8.js +9 -0
  192. package/build/server/chunks/4-joAFA_Y8.js.map +1 -0
  193. package/build/server/chunks/5-DIhC9k4l.js +9 -0
  194. package/build/server/chunks/5-DIhC9k4l.js.map +1 -0
  195. package/build/server/chunks/6-CMuAQIcW.js +9 -0
  196. package/build/server/chunks/6-CMuAQIcW.js.map +1 -0
  197. package/build/server/chunks/8-CbETTVRG.js +9 -0
  198. package/build/server/chunks/8-CbETTVRG.js.map +1 -0
  199. package/build/server/chunks/9-nMV90uVU.js +9 -0
  200. package/build/server/chunks/9-nMV90uVU.js.map +1 -0
  201. package/build/server/chunks/{AgentSidebar-BWBnqHnV.js → AgentSidebar-BEbSdZdN.js} +4 -4
  202. package/build/server/chunks/{AgentSidebar-BWBnqHnV.js.map → AgentSidebar-BEbSdZdN.js.map} +1 -1
  203. package/build/server/chunks/{Button-DH7gdU0s.js → Button-Dc9CR4Wh.js} +2 -2
  204. package/build/server/chunks/{Button-DH7gdU0s.js.map → Button-Dc9CR4Wh.js.map} +1 -1
  205. package/build/server/chunks/{ChatStepTrace-BivoNYOY.js → ChatStepTrace-OM96X4g8.js} +18 -7
  206. package/build/server/chunks/ChatStepTrace-OM96X4g8.js.map +1 -0
  207. package/build/server/chunks/{Dropdown-DnARl86Q.js → Dropdown-Cgd7pG-k.js} +2 -2
  208. package/build/server/chunks/{Dropdown-DnARl86Q.js.map → Dropdown-Cgd7pG-k.js.map} +1 -1
  209. package/build/server/chunks/GitControlsButton-BLcNzrDt.js +81 -0
  210. package/build/server/chunks/GitControlsButton-BLcNzrDt.js.map +1 -0
  211. package/build/server/chunks/{Icon-DP1YKCRV.js → Icon-Bogvl2n9.js} +2 -2
  212. package/build/server/chunks/{Icon-DP1YKCRV.js.map → Icon-Bogvl2n9.js.map} +1 -1
  213. package/build/server/chunks/{Input-CUJ9Cg7b.js → Input-7hpw1WLW.js} +2 -2
  214. package/build/server/chunks/{Input-CUJ9Cg7b.js.map → Input-7hpw1WLW.js.map} +1 -1
  215. package/build/server/chunks/{Modal-CGJuNpZ0.js → Modal-7IIIfFEG.js} +5 -5
  216. package/build/server/chunks/{Modal-CGJuNpZ0.js.map → Modal-7IIIfFEG.js.map} +1 -1
  217. package/build/server/chunks/{Panel-zvjxe036.js → Panel-Cj1mXx9-.js} +2 -2
  218. package/build/server/chunks/{Panel-zvjxe036.js.map → Panel-Cj1mXx9-.js.map} +1 -1
  219. package/build/server/chunks/{Tab-CUkyLqbN.js → Tab-bf4ZDs5y.js} +4 -4
  220. package/build/server/chunks/{Tab-CUkyLqbN.js.map → Tab-bf4ZDs5y.js.map} +1 -1
  221. package/build/server/chunks/{_layout.svelte-BnrWYuLv.js → _layout.svelte-C71luIwv.js} +10 -10
  222. package/build/server/chunks/{_layout.svelte-BnrWYuLv.js.map → _layout.svelte-C71luIwv.js.map} +1 -1
  223. package/build/server/chunks/{_layout.svelte-wi6o5Ecu.js → _layout.svelte-CFhHgXI_.js} +24 -18
  224. package/build/server/chunks/_layout.svelte-CFhHgXI_.js.map +1 -0
  225. package/build/server/chunks/_layout.svelte-CJd_pmkx.js +431 -0
  226. package/build/server/chunks/_layout.svelte-CJd_pmkx.js.map +1 -0
  227. package/build/server/chunks/{_layout.svelte-B88WMyk0.js → _layout.svelte-D6rhwm98.js} +445 -70
  228. package/build/server/chunks/_layout.svelte-D6rhwm98.js.map +1 -0
  229. package/build/server/chunks/{_page.svelte-CeS_21Ho.js → _page.svelte-BBvDMiTV.js} +25 -21
  230. package/build/server/chunks/_page.svelte-BBvDMiTV.js.map +1 -0
  231. package/build/server/chunks/{_page.svelte-h_J4lNT9.js → _page.svelte-BQs9dEuq.js} +8 -7
  232. package/build/server/chunks/{_page.svelte-h_J4lNT9.js.map → _page.svelte-BQs9dEuq.js.map} +1 -1
  233. package/build/server/chunks/{_page.svelte-DhFNFMnl.js → _page.svelte-BoO2LWVX.js} +34 -14
  234. package/build/server/chunks/_page.svelte-BoO2LWVX.js.map +1 -0
  235. package/build/server/chunks/{_page.svelte-CHgQjBQj.js → _page.svelte-DUCTSdv-.js} +2 -2
  236. package/build/server/chunks/{_page.svelte-CHgQjBQj.js.map → _page.svelte-DUCTSdv-.js.map} +1 -1
  237. package/build/server/chunks/_page.svelte-FXYLKyMw.js +110 -0
  238. package/build/server/chunks/_page.svelte-FXYLKyMw.js.map +1 -0
  239. package/build/server/chunks/{_page.svelte-57pyhszV.js → _page.svelte-KA1hqKj2.js} +20 -107
  240. package/build/server/chunks/_page.svelte-KA1hqKj2.js.map +1 -0
  241. package/build/server/chunks/{_page.svelte-BSVJ2d2G.js → _page.svelte-y8CZFL8a.js} +210 -106
  242. package/build/server/chunks/_page.svelte-y8CZFL8a.js.map +1 -0
  243. package/build/server/chunks/{_page.svelte-DHSYVLoj.js → _page.svelte-yIHSIEW6.js} +21 -15
  244. package/build/server/chunks/_page.svelte-yIHSIEW6.js.map +1 -0
  245. package/build/server/chunks/_server.ts-Cp9DgLcE.js +336 -0
  246. package/build/server/chunks/_server.ts-Cp9DgLcE.js.map +1 -0
  247. package/build/server/chunks/{agents-context-CbFsZmi5.js → agents-context-owgusUPR.js} +2 -2
  248. package/build/server/chunks/{agents-context-CbFsZmi5.js.map → agents-context-owgusUPR.js.map} +1 -1
  249. package/build/server/chunks/{client-DO-hqMbT.js → client-P-7bDULt.js} +4 -4
  250. package/build/server/chunks/{client-DO-hqMbT.js.map → client-P-7bDULt.js.map} +1 -1
  251. package/build/server/chunks/{conversation-view-memory-CtbUZd_L.js → conversation-view-memory-SdpdqTR7.js} +2 -2
  252. package/build/server/chunks/{conversation-view-memory-CtbUZd_L.js.map → conversation-view-memory-SdpdqTR7.js.map} +1 -1
  253. package/build/server/chunks/{edit-workspace-context-tyHBPujC.js → edit-workspace-context-hanFnXR3.js} +2 -2
  254. package/build/server/chunks/{edit-workspace-context-tyHBPujC.js.map → edit-workspace-context-hanFnXR3.js.map} +1 -1
  255. package/build/server/chunks/error.svelte-yI9RS6H4.js +15 -0
  256. package/build/server/chunks/{error.svelte-DmKKN1RU.js.map → error.svelte-yI9RS6H4.js.map} +1 -1
  257. package/build/server/chunks/git-mode-context-BpNsAUGF.js +18 -0
  258. package/build/server/chunks/git-mode-context-BpNsAUGF.js.map +1 -0
  259. package/build/server/chunks/{index-LMsd1ih2.js → index-DGtbUu8Y.js} +2 -2
  260. package/build/server/chunks/{index-LMsd1ih2.js.map → index-DGtbUu8Y.js.map} +1 -1
  261. package/build/server/chunks/{index-server-BRr5mZEq.js → index-server-l8-WsVn4.js} +2 -2
  262. package/build/server/chunks/{index-server-BRr5mZEq.js.map → index-server-l8-WsVn4.js.map} +1 -1
  263. package/build/server/chunks/{index2-ClgfzZ89.js → index2-CtgLiJVO.js} +3 -3
  264. package/build/server/chunks/{index2-ClgfzZ89.js.map → index2-CtgLiJVO.js.map} +1 -1
  265. package/build/server/chunks/{index3-BdRUAffj.js → index3-4hbbCqW0.js} +2 -2
  266. package/build/server/chunks/{index3-BdRUAffj.js.map → index3-4hbbCqW0.js.map} +1 -1
  267. package/build/server/chunks/{root-4q2Pr7ck.js → root-sWPnlpi3.js} +2 -2
  268. package/build/server/chunks/{root-4q2Pr7ck.js.map → root-sWPnlpi3.js.map} +1 -1
  269. package/build/server/chunks/{source-selection-CcN1cgXc.js → source-selection-DSkaPGfZ.js} +7 -2
  270. package/build/server/chunks/source-selection-DSkaPGfZ.js.map +1 -0
  271. package/build/server/chunks/{state.svelte-Bd1i-u49.js → state.svelte-BkvaElc6.js} +3 -3
  272. package/build/server/chunks/{state.svelte-Bd1i-u49.js.map → state.svelte-BkvaElc6.js.map} +1 -1
  273. package/build/server/chunks/trpc-client-Cr8RJ4UO.js +260 -0
  274. package/build/server/chunks/trpc-client-Cr8RJ4UO.js.map +1 -0
  275. package/build/server/index.js +4 -4
  276. package/build/server/index.js.map +1 -1
  277. package/build/server/manifest.js +15 -15
  278. package/build/server/manifest.js.map +1 -1
  279. package/package.json +1 -1
  280. package/src/backend/git-mode/command.spec.ts +172 -0
  281. package/src/backend/git-mode/command.ts +405 -0
  282. package/src/backend/git-mode/config.spec.ts +45 -0
  283. package/src/backend/git-mode/config.ts +90 -0
  284. package/src/backend/git-mode/index.ts +20 -0
  285. package/src/backend/git-mode/repository-write-gate.spec.ts +116 -0
  286. package/src/backend/git-mode/repository-write-gate.ts +260 -0
  287. package/src/backend/git-mode/router.ts +59 -0
  288. package/src/backend/git-mode/service.spec.ts +1653 -0
  289. package/src/backend/git-mode/service.ts +2183 -0
  290. package/src/backend/git-mode/types.ts +82 -0
  291. package/src/backend/git-mode/write-tracker.spec.ts +46 -0
  292. package/src/backend/git-mode/write-tracker.ts +39 -0
  293. package/src/backend/lib/backend-restart.spec.ts +27 -0
  294. package/src/backend/lib/backend-restart.ts +16 -2
  295. package/src/backend/lib/middleware/cors.spec.ts +67 -0
  296. package/src/backend/lib/middleware/cors.ts +40 -12
  297. package/src/backend/roleplay/agent-loader.ts +49 -0
  298. package/src/backend/roleplay/old-server.ts +106 -56
  299. package/src/backend/roleplay/prompt-edit-proposals.ts +38 -4
  300. package/src/backend/roleplay/prompt-file.ts +59 -0
  301. package/src/backend/roleplay/router.spec.ts +75 -0
  302. package/src/backend/roleplay/router.ts +123 -69
  303. package/src/backend/roleplay/suggest-file-edit.ts +160 -0
  304. package/src/backend/roleplay/suggest-prompt-edit.ts +9 -138
  305. package/src/backend/roleplay/suggest-test-fix.spec.ts +50 -0
  306. package/src/backend/roleplay/suggest-test-fix.ts +65 -0
  307. package/src/backend/roleplay/test-fix-proposal-acceptance.spec.ts +253 -0
  308. package/src/backend/server.ts +116 -13
  309. package/src/backend/tests/academy.ts +17 -3
  310. package/src/backend/tests/data.spec.ts +81 -2
  311. package/src/backend/tests/data.ts +74 -4
  312. package/src/backend/tests/router.ts +101 -36
  313. package/src/backend/tests/suggest-test-history-edit.spec.ts +20 -0
  314. package/src/backend/tests/suggest-test-history-edit.ts +52 -0
  315. package/src/backend/tests/test-edit-source.spec.ts +61 -0
  316. package/src/backend/tests/test-edit-source.ts +34 -0
  317. package/src/backend/tests/test-history-edit-proposals.ts +69 -0
  318. package/src/backend/tests/test-history-overrides.spec.ts +24 -0
  319. package/src/backend/tests/test-selection.ts +27 -0
  320. package/src/lib/api-telescope/source-selection.spec.ts +44 -0
  321. package/src/lib/api-telescope/source-selection.ts +28 -0
  322. package/src/lib/components/Modal.svelte +1 -1
  323. package/src/lib/edit/edit-workspace-context.ts +33 -3
  324. package/src/lib/edit/test-ai-edit.spec.ts +31 -0
  325. package/src/lib/edit/test-ai-edit.ts +52 -0
  326. package/src/lib/git-mode/BlockingGitDialog.svelte +118 -0
  327. package/src/lib/git-mode/GitControlsButton.svelte +96 -0
  328. package/src/lib/git-mode/client-admission.spec.ts +304 -0
  329. package/src/lib/git-mode/client-admission.ts +343 -0
  330. package/src/lib/git-mode/errors.ts +2 -0
  331. package/src/lib/git-mode/git-mode-context.ts +70 -0
  332. package/src/lib/git-mode/refresh-policy.spec.ts +95 -0
  333. package/src/lib/git-mode/refresh-policy.ts +39 -0
  334. package/src/lib/git-mode/status-recovery.spec.ts +86 -0
  335. package/src/lib/git-mode/status-recovery.ts +33 -0
  336. package/src/lib/monaco/bosun-theme.ts +6 -83
  337. package/src/lib/monaco/editor-appearance.spec.ts +84 -0
  338. package/src/lib/monaco/editor-appearance.ts +154 -0
  339. package/src/lib/monaco/editor-decorations.spec.ts +91 -0
  340. package/src/lib/monaco/editor-decorations.ts +133 -0
  341. package/src/lib/tests/assertion-types.ts +74 -0
  342. package/src/lib/trpc-client.ts +15 -1
  343. package/src/lib/ws-client.spec.ts +208 -0
  344. package/src/lib/ws-client.ts +196 -14
  345. package/src/lib/ws-message.ts +24 -0
  346. package/build/client/_app/immutable/assets/0.Rrc0O--C.css +0 -1
  347. package/build/client/_app/immutable/assets/0.Rrc0O--C.css.br +0 -0
  348. package/build/client/_app/immutable/assets/0.Rrc0O--C.css.gz +0 -0
  349. package/build/client/_app/immutable/assets/2.DtxQDOXx.css.br +0 -0
  350. package/build/client/_app/immutable/assets/2.DtxQDOXx.css.gz +0 -0
  351. package/build/client/_app/immutable/chunks/B1HdnQRQ.js.br +0 -0
  352. package/build/client/_app/immutable/chunks/B1HdnQRQ.js.gz +0 -0
  353. package/build/client/_app/immutable/chunks/B5zf3x62.js.br +0 -0
  354. package/build/client/_app/immutable/chunks/B5zf3x62.js.gz +0 -0
  355. package/build/client/_app/immutable/chunks/BHHfrjbV.js.br +0 -2
  356. package/build/client/_app/immutable/chunks/BHHfrjbV.js.gz +0 -0
  357. package/build/client/_app/immutable/chunks/BU7aeYn4.js +0 -1
  358. package/build/client/_app/immutable/chunks/BU7aeYn4.js.br +0 -0
  359. package/build/client/_app/immutable/chunks/BU7aeYn4.js.gz +0 -0
  360. package/build/client/_app/immutable/chunks/BbGYcfPY.js +0 -3
  361. package/build/client/_app/immutable/chunks/BbGYcfPY.js.br +0 -0
  362. package/build/client/_app/immutable/chunks/BbGYcfPY.js.gz +0 -0
  363. package/build/client/_app/immutable/chunks/Bmd5zhWC.js.br +0 -0
  364. package/build/client/_app/immutable/chunks/Bmd5zhWC.js.gz +0 -0
  365. package/build/client/_app/immutable/chunks/BnqH7p3U.js +0 -33
  366. package/build/client/_app/immutable/chunks/BnqH7p3U.js.br +0 -0
  367. package/build/client/_app/immutable/chunks/BnqH7p3U.js.gz +0 -0
  368. package/build/client/_app/immutable/chunks/Bog028VR.js.br +0 -0
  369. package/build/client/_app/immutable/chunks/Bog028VR.js.gz +0 -0
  370. package/build/client/_app/immutable/chunks/Bv1mNXs0.js.br +0 -0
  371. package/build/client/_app/immutable/chunks/Bv1mNXs0.js.gz +0 -0
  372. package/build/client/_app/immutable/chunks/BvjXTrOz.js +0 -1
  373. package/build/client/_app/immutable/chunks/BvjXTrOz.js.br +0 -0
  374. package/build/client/_app/immutable/chunks/BvjXTrOz.js.gz +0 -0
  375. package/build/client/_app/immutable/chunks/C1R-s4aD.js +0 -1
  376. package/build/client/_app/immutable/chunks/C1R-s4aD.js.br +0 -0
  377. package/build/client/_app/immutable/chunks/C1R-s4aD.js.gz +0 -0
  378. package/build/client/_app/immutable/chunks/CC1OcqhR.js +0 -1
  379. package/build/client/_app/immutable/chunks/CC1OcqhR.js.br +0 -0
  380. package/build/client/_app/immutable/chunks/CC1OcqhR.js.gz +0 -0
  381. package/build/client/_app/immutable/chunks/CEHsomMo.js.br +0 -0
  382. package/build/client/_app/immutable/chunks/CJcZ2GVC.js.br +0 -0
  383. package/build/client/_app/immutable/chunks/CJcZ2GVC.js.gz +0 -0
  384. package/build/client/_app/immutable/chunks/CN555stc.js.br +0 -0
  385. package/build/client/_app/immutable/chunks/CN555stc.js.gz +0 -0
  386. package/build/client/_app/immutable/chunks/CQg2Mme0.js +0 -9
  387. package/build/client/_app/immutable/chunks/CQg2Mme0.js.br +0 -0
  388. package/build/client/_app/immutable/chunks/CQg2Mme0.js.gz +0 -0
  389. package/build/client/_app/immutable/chunks/Cp_st-64.js.br +0 -0
  390. package/build/client/_app/immutable/chunks/Cp_st-64.js.gz +0 -0
  391. package/build/client/_app/immutable/chunks/D8mA-uZ4.js.br +0 -0
  392. package/build/client/_app/immutable/chunks/D8mA-uZ4.js.gz +0 -0
  393. package/build/client/_app/immutable/chunks/DCXjBDmY.js.br +0 -0
  394. package/build/client/_app/immutable/chunks/DCXjBDmY.js.gz +0 -0
  395. package/build/client/_app/immutable/chunks/DSLyVE1P.js +0 -1
  396. package/build/client/_app/immutable/chunks/DSLyVE1P.js.br +0 -0
  397. package/build/client/_app/immutable/chunks/DSLyVE1P.js.gz +0 -0
  398. package/build/client/_app/immutable/chunks/Ddv5LgEc.js.br +0 -0
  399. package/build/client/_app/immutable/chunks/Ddv5LgEc.js.gz +0 -0
  400. package/build/client/_app/immutable/chunks/DfcDjAv-.js.br +0 -0
  401. package/build/client/_app/immutable/chunks/DfcDjAv-.js.gz +0 -0
  402. package/build/client/_app/immutable/chunks/Dg0A8wPA.js.br +0 -0
  403. package/build/client/_app/immutable/chunks/Dg0A8wPA.js.gz +0 -0
  404. package/build/client/_app/immutable/chunks/Dm49pcMm.js.br +0 -0
  405. package/build/client/_app/immutable/chunks/Dm49pcMm.js.gz +0 -0
  406. package/build/client/_app/immutable/chunks/DneQQ7D5.js.br +0 -0
  407. package/build/client/_app/immutable/chunks/DneQQ7D5.js.gz +0 -0
  408. package/build/client/_app/immutable/chunks/DoD3q5w5.js.br +0 -0
  409. package/build/client/_app/immutable/chunks/DoD3q5w5.js.gz +0 -0
  410. package/build/client/_app/immutable/chunks/DtXXy94i.js.br +0 -0
  411. package/build/client/_app/immutable/chunks/DtXXy94i.js.gz +0 -0
  412. package/build/client/_app/immutable/chunks/Dy2CFyD6.js +0 -2
  413. package/build/client/_app/immutable/chunks/Dy2CFyD6.js.br +0 -0
  414. package/build/client/_app/immutable/chunks/Dy2CFyD6.js.gz +0 -0
  415. package/build/client/_app/immutable/chunks/DyBwTDJp.js +0 -2
  416. package/build/client/_app/immutable/chunks/DyBwTDJp.js.br +0 -0
  417. package/build/client/_app/immutable/chunks/DyBwTDJp.js.gz +0 -0
  418. package/build/client/_app/immutable/chunks/ILTCveYH.js +0 -1
  419. package/build/client/_app/immutable/chunks/ILTCveYH.js.br +0 -0
  420. package/build/client/_app/immutable/chunks/ILTCveYH.js.gz +0 -0
  421. package/build/client/_app/immutable/chunks/JcG4w2gF.js.br +0 -0
  422. package/build/client/_app/immutable/chunks/JcG4w2gF.js.gz +0 -0
  423. package/build/client/_app/immutable/chunks/UqjCSZmA.js.br +0 -0
  424. package/build/client/_app/immutable/chunks/UqjCSZmA.js.gz +0 -0
  425. package/build/client/_app/immutable/chunks/_YcrHZ6P.js +0 -1
  426. package/build/client/_app/immutable/chunks/_YcrHZ6P.js.br +0 -2
  427. package/build/client/_app/immutable/chunks/_YcrHZ6P.js.gz +0 -0
  428. package/build/client/_app/immutable/chunks/i6ygh6h8.js +0 -1
  429. package/build/client/_app/immutable/chunks/i6ygh6h8.js.br +0 -2
  430. package/build/client/_app/immutable/chunks/i6ygh6h8.js.gz +0 -0
  431. package/build/client/_app/immutable/chunks/oRi68ch3.js +0 -1
  432. package/build/client/_app/immutable/chunks/oRi68ch3.js.br +0 -0
  433. package/build/client/_app/immutable/chunks/oRi68ch3.js.gz +0 -0
  434. package/build/client/_app/immutable/chunks/pPpIn6tB.js.br +0 -0
  435. package/build/client/_app/immutable/chunks/pPpIn6tB.js.gz +0 -0
  436. package/build/client/_app/immutable/chunks/r0sHOWrM.js +0 -1
  437. package/build/client/_app/immutable/chunks/r0sHOWrM.js.br +0 -0
  438. package/build/client/_app/immutable/chunks/r0sHOWrM.js.gz +0 -0
  439. package/build/client/_app/immutable/chunks/wcTQUnZO.js.br +0 -0
  440. package/build/client/_app/immutable/chunks/wcTQUnZO.js.gz +0 -0
  441. package/build/client/_app/immutable/entry/app.DdO0gkPg.js +0 -2
  442. package/build/client/_app/immutable/entry/app.DdO0gkPg.js.br +0 -0
  443. package/build/client/_app/immutable/entry/app.DdO0gkPg.js.gz +0 -0
  444. package/build/client/_app/immutable/entry/start.eAjDq0c9.js +0 -1
  445. package/build/client/_app/immutable/entry/start.eAjDq0c9.js.br +0 -2
  446. package/build/client/_app/immutable/entry/start.eAjDq0c9.js.gz +0 -0
  447. package/build/client/_app/immutable/nodes/0.nG3DdvIX.js +0 -3
  448. package/build/client/_app/immutable/nodes/0.nG3DdvIX.js.br +0 -0
  449. package/build/client/_app/immutable/nodes/0.nG3DdvIX.js.gz +0 -0
  450. package/build/client/_app/immutable/nodes/1.Ceu0XS6v.js +0 -1
  451. package/build/client/_app/immutable/nodes/1.Ceu0XS6v.js.br +0 -0
  452. package/build/client/_app/immutable/nodes/1.Ceu0XS6v.js.gz +0 -0
  453. package/build/client/_app/immutable/nodes/10.dm2dgy31.js +0 -13
  454. package/build/client/_app/immutable/nodes/10.dm2dgy31.js.br +0 -0
  455. package/build/client/_app/immutable/nodes/10.dm2dgy31.js.gz +0 -0
  456. package/build/client/_app/immutable/nodes/15.D2I0y3ys.js.br +0 -0
  457. package/build/client/_app/immutable/nodes/15.D2I0y3ys.js.gz +0 -0
  458. package/build/client/_app/immutable/nodes/17.CKxGp0E7.js +0 -3
  459. package/build/client/_app/immutable/nodes/17.CKxGp0E7.js.br +0 -0
  460. package/build/client/_app/immutable/nodes/17.CKxGp0E7.js.gz +0 -0
  461. package/build/client/_app/immutable/nodes/18.DHJxyQpw.js +0 -11
  462. package/build/client/_app/immutable/nodes/18.DHJxyQpw.js.br +0 -0
  463. package/build/client/_app/immutable/nodes/18.DHJxyQpw.js.gz +0 -0
  464. package/build/client/_app/immutable/nodes/2.DesR2keg.js +0 -35
  465. package/build/client/_app/immutable/nodes/2.DesR2keg.js.br +0 -0
  466. package/build/client/_app/immutable/nodes/2.DesR2keg.js.gz +0 -0
  467. package/build/client/_app/immutable/nodes/3.BUKrXGR_.js +0 -1
  468. package/build/client/_app/immutable/nodes/3.BUKrXGR_.js.br +0 -0
  469. package/build/client/_app/immutable/nodes/3.BUKrXGR_.js.gz +0 -0
  470. package/build/client/_app/immutable/nodes/4.C8VxVbVn.js.br +0 -0
  471. package/build/client/_app/immutable/nodes/4.C8VxVbVn.js.gz +0 -0
  472. package/build/client/_app/immutable/nodes/5.BjrnKYaA.js.br +0 -0
  473. package/build/client/_app/immutable/nodes/5.BjrnKYaA.js.gz +0 -0
  474. package/build/client/_app/immutable/nodes/6.C_hEzPrU.js +0 -1
  475. package/build/client/_app/immutable/nodes/6.C_hEzPrU.js.br +0 -0
  476. package/build/client/_app/immutable/nodes/6.C_hEzPrU.js.gz +0 -0
  477. package/build/client/_app/immutable/nodes/8.BTYaOiDC.js +0 -2
  478. package/build/client/_app/immutable/nodes/8.BTYaOiDC.js.br +0 -0
  479. package/build/client/_app/immutable/nodes/8.BTYaOiDC.js.gz +0 -0
  480. package/build/client/_app/immutable/nodes/9.DVspuDYY.js +0 -2
  481. package/build/client/_app/immutable/nodes/9.DVspuDYY.js.br +0 -0
  482. package/build/client/_app/immutable/nodes/9.DVspuDYY.js.gz +0 -0
  483. package/build/server/chunks/0-D_duQDWy.js +0 -9
  484. package/build/server/chunks/0-D_duQDWy.js.map +0 -1
  485. package/build/server/chunks/1-C0HdTvXW.js +0 -9
  486. package/build/server/chunks/10-DcfhCR4R.js +0 -9
  487. package/build/server/chunks/10-DcfhCR4R.js.map +0 -1
  488. package/build/server/chunks/15-BQcb9C_y.js +0 -9
  489. package/build/server/chunks/17-DuVCTioj.js +0 -9
  490. package/build/server/chunks/17-DuVCTioj.js.map +0 -1
  491. package/build/server/chunks/18-CT0VFW_p.js +0 -9
  492. package/build/server/chunks/18-CT0VFW_p.js.map +0 -1
  493. package/build/server/chunks/2-DgTzKQAP.js +0 -9
  494. package/build/server/chunks/2-DgTzKQAP.js.map +0 -1
  495. package/build/server/chunks/3-eQMSMzXP.js +0 -9
  496. package/build/server/chunks/3-eQMSMzXP.js.map +0 -1
  497. package/build/server/chunks/4-OaAJtDqP.js +0 -9
  498. package/build/server/chunks/4-OaAJtDqP.js.map +0 -1
  499. package/build/server/chunks/5-CBdMutbv.js +0 -9
  500. package/build/server/chunks/5-CBdMutbv.js.map +0 -1
  501. package/build/server/chunks/6-FoEi7ggm.js +0 -9
  502. package/build/server/chunks/6-FoEi7ggm.js.map +0 -1
  503. package/build/server/chunks/8-B44yRkfX.js +0 -9
  504. package/build/server/chunks/8-B44yRkfX.js.map +0 -1
  505. package/build/server/chunks/9-eUjFpHzI.js +0 -9
  506. package/build/server/chunks/9-eUjFpHzI.js.map +0 -1
  507. package/build/server/chunks/ChatStepTrace-BivoNYOY.js.map +0 -1
  508. package/build/server/chunks/_layout.svelte-B-0DHjLB.js +0 -45
  509. package/build/server/chunks/_layout.svelte-B-0DHjLB.js.map +0 -1
  510. package/build/server/chunks/_layout.svelte-B88WMyk0.js.map +0 -1
  511. package/build/server/chunks/_layout.svelte-wi6o5Ecu.js.map +0 -1
  512. package/build/server/chunks/_page.svelte-57pyhszV.js.map +0 -1
  513. package/build/server/chunks/_page.svelte-BSVJ2d2G.js.map +0 -1
  514. package/build/server/chunks/_page.svelte-BoHt2cpr.js +0 -61
  515. package/build/server/chunks/_page.svelte-BoHt2cpr.js.map +0 -1
  516. package/build/server/chunks/_page.svelte-CeS_21Ho.js.map +0 -1
  517. package/build/server/chunks/_page.svelte-DHSYVLoj.js.map +0 -1
  518. package/build/server/chunks/_page.svelte-DhFNFMnl.js.map +0 -1
  519. package/build/server/chunks/_server.ts-D_eo_OAK.js +0 -139
  520. package/build/server/chunks/_server.ts-D_eo_OAK.js.map +0 -1
  521. package/build/server/chunks/error.svelte-DmKKN1RU.js +0 -15
  522. package/build/server/chunks/source-selection-CcN1cgXc.js.map +0 -1
  523. package/build/server/chunks/trpc-client-D8L6vWf4.js +0 -14
  524. package/build/server/chunks/trpc-client-D8L6vWf4.js.map +0 -1
@@ -0,0 +1,11 @@
1
+ import{a as c,t as K,f as b,d as be,c as Xt,b as ie,e as Ke}from"../chunks/CMFNmSvo.js";import"../chunks/7hV1SZxK.js";import{o as qe,a as Be}from"../chunks/CD_KdWs9.js";import{p as ce,d as He,j as t,y as d,c as h,f as ft,s as $,n as Pt,r as y,a as ue,w as Zt,o as Tt,t as W,k as ct,h as f,_ as et,a4 as D,bf as Bt,bg as Ve,e as Ye,$ as Ge,T as Qe,bh as fe}from"../chunks/C4UC6AgE.js";import{s as Y}from"../chunks/eMofpOrR.js";import{p as tt,a as Xe,s as Ze}from"../chunks/CupXtwVS.js";import{i as L}from"../chunks/D9BWOD7V.js";import{e as le,i as pe}from"../chunks/BlFOg-Sd.js";import{h as tr}from"../chunks/CNIn4L55.js";import{s as er}from"../chunks/D8Lmn3S5.js";import{b as rr}from"../chunks/Ce6a22qU.js";import{i as Te}from"../chunks/-3ZOIHDA.js";import{s as ar}from"../chunks/B-dTD_wm.js";import{g as ve,a as me,T as nr}from"../chunks/CB9iDxwI.js";import{i as se}from"../chunks/DgGeUDDh.js";import{b as or,f as sr}from"../chunks/T0seCQS_.js";import{B as _t}from"../chunks/Byg3jr1u.js";import{D as ir}from"../chunks/B-iasAJv.js";import{I as lr,h as ge}from"../chunks/DfkYlKBk.js";import{M as ye}from"../chunks/DCwWNTpf.js";import{m as cr}from"../chunks/ddC1NP9R.js";import{C as ur,a as dr,b as fr,f as _e,c as he}from"../chunks/CYGbCr1i.js";import{a as jt}from"../chunks/BHB0Pj1h.js";import{g as pr,c as xe}from"../chunks/DEnUeQNt.js";const vr=()=>{const rt=ar;return{page:{subscribe:rt.page.subscribe},navigating:{subscribe:rt.navigating.subscribe},updated:rt.updated}},mr={subscribe(rt){return vr().page.subscribe(rt)}};var gr=b("<!> <!>",1),yr=b('<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>'),_r=b("<div><!> <!></div>");function hr(rt,N){ce(N,!0);let w=tt(N,"disabled",3,!1),wt=tt(N,"dropdownId",3,"copy-traces-dropdown"),J=Zt(!1),ut=Zt(null),at=Zt(null),nt=Zt(null);He(()=>{w()&&t(J)&&d(J,!1)});async function ht(M){try{const z=M==="with-prompts"?N.getWithPromptsText():N.getWithoutPromptsText();await navigator.clipboard.writeText(z),d(at,M,!0),t(nt)&&clearTimeout(t(nt)),d(nt,window.setTimeout(()=>{d(at,null),d(nt,null)},2e3),!0)}catch(z){console.error("Failed to copy traces",z)}}var pt=_r(),p=h(pt);_t(p,{variant:"secondary",size:"small",get disabled(){return w()},get"aria-expanded"(){return t(J)},"aria-haspopup":"listbox",get"aria-controls"(){return wt()},onclick:M=>{M.stopPropagation(),d(J,!t(J))},class:"flex items-center gap-1",get el(){return t(ut)},set el(M){d(ut,M,!0)},children:(M,z)=>{var m=gr(),G=ft(m);{var k=A=>{var U=K("Copied traces (without prompts)");c(A,U)},B=A=>{var U=K("Copied traces (with prompts)");c(A,U)},ot=A=>{var U=K("Copy traces");c(A,U)};L(G,A=>{t(at)==="without-prompts"?A(k):t(at)==="with-prompts"?A(B,1):A(ot,-1)})}var H=$(G,2);{let A=Pt(()=>"size-5 text-rc-gray-400 transition-transform duration-200 "+(t(J)?"rotate-180":""));lr(H,{name:"chevron-down",get class(){return t(A)}})}c(M,m)},$$slots:{default:!0}});var xt=$(p,2);ir(xt,{get id(){return wt()},get open(){return t(J)},onClose:()=>d(J,!1),get anchorEl(){return t(ut)},placement:"bottom-end",offset:[0,1],children:z=>{var m=yr(),G=h(m);_t(G,{variant:"ghost",size:"small",role:"option",onclick:B=>{B.stopPropagation(),d(J,!1),ht("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:(B,ot)=>{Tt();var H=K("Without prompts");c(B,H)},$$slots:{default:!0}});var k=$(G,2);_t(k,{variant:"ghost",size:"small",role:"option",onclick:B=>{B.stopPropagation(),d(J,!1),ht("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:(B,ot)=>{Tt();var H=K("With prompts");c(B,H)},$$slots:{default:!0}}),y(m),c(z,m)},$$slots:{default:!0}}),y(pt),c(rt,pt),ue()}var xr=b("<div> </div>"),br=b('<div class="mt-1 whitespace-pre-wrap break-words text-xs italic text-rc-gray-200"> </div>'),Tr=b("<div><!> <!> <!></div>"),wr=b("<div><div><div> </div> <div><!> <!></div> <!></div></div>"),Sr=b('<div class="space-y-3"></div>'),$r=b('<div class="whitespace-pre-wrap break-words"><!></div>'),Lr=b('<button class="inline-flex text-sm text-rc-green-200 hover:text-rc-green-100"> </button>'),Cr=b('<div><span class="whitespace-pre-wrap break-words"><!></span> <!></div>');function Pr(rt,N){ce(N,!1);let w=tt(N,"value",8,""),wt=tt(N,"limit",8,200),J=tt(N,"maxLines",8,null),ut=tt(N,"className",8,""),at=tt(N,"collapsedLabel",8,"...more"),nt=tt(N,"initiallyExpanded",8,!1),ht=tt(N,"stopPropagation",8,!0),pt=tt(N,"expanded",28,nt),p=tt(N,"treatPlainText",8,!1),xt=tt(N,"highlightPrompt",8,!1);function M(s){return s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function z(s){const l=m(s);let a=M(l);const u=[];return a=a.replace(/(\{+[\s\S]*?\}+)/g,_=>{const g=u.length;return u.push(_),`__CURLY${g}__`}),a=a.replace(/^(\s*#.*)$/gm,'<span class="prompt-heading">$1</span>'),a=a.replace(/(&lt;[^&]*?&gt;)/g,'<span class="mtk8">$1</span>'),a=a.replace(/^(\s*)(\d+)([.)])(\s+)/gm,(_,g,S,O,gt)=>`${g}<span class="mtk8">${S}${O}</span>${gt}`),u.forEach((_,g)=>{const S=`<span class="mtk5">${_}</span>`;a=a.replace(`__CURLY${g}__`,S)}),a=a.replace(/\n/g,"<br/>"),a}function m(s){let l=s.replace(/\r\n/g,`
2
+ `);return l=l.replace(/\\n/g,`
3
+ `),l}function G(s){try{if(Array.isArray(s)){const l=s.map(a=>(a==null?void 0:a.text)??(a==null?void 0:a.content)??JSON.stringify(a)).join(" ");return m(l)}if(typeof s=="string")try{const l=JSON.parse(s);if(Array.isArray(l)){const a=l.map(u=>(u==null?void 0:u.text)??(u==null?void 0:u.content)??JSON.stringify(u)).join(" ");return m(a)}return m(s)}catch{return m(s)}return m(JSON.stringify(s))}catch{return m(String(s??""))}}function k(s){try{if(Array.isArray(s)){const l=s.map(a=>(a==null?void 0:a.text)??(a==null?void 0:a.content)??JSON.stringify(a)).join(`
4
+ `);return m(l)}if(typeof s=="string")try{const l=JSON.parse(s);if(Array.isArray(l)){const a=l.map(u=>(u==null?void 0:u.text)??(u==null?void 0:u.content)??JSON.stringify(u)).join(`
5
+ `);return m(a)}return m(s)}catch{return m(s)}return m(JSON.stringify(s,null,2))}catch{return m(String(s??""))}}function B(s){const a=m(s).split(/\n+/).map(S=>S.trim()).filter(S=>S.length>0),u=[];let _,g="";for(const S of a){const O=S.match(/^(user|assistant|system|customer|caller|tool|model|agent)\s*[:\-]\s*(.*)$/i);O?(g&&u.push({text:g,role:_}),_=O[1].toLowerCase(),g=O[2]??""):g?g+=`
6
+ `+S:g=S}return g&&u.push({text:g,role:_}),u}function ot(s){try{let l=s;if(typeof s=="string")try{l=JSON.parse(s)}catch{return p()?B(s):[]}if(!Array.isArray(l))if(Array.isArray(l==null?void 0:l.messages))l=l.messages;else return[];return l.map(a=>{let u;return(a==null?void 0:a.text)!=null?u=String(a.text):(a==null?void 0:a.content)!=null?Array.isArray(a.content)?u=a.content.map(_=>{var g;return typeof _=="string"?_:typeof(_==null?void 0:_.text)=="string"?_.text:typeof((g=_==null?void 0:_.text)==null?void 0:g.value)=="string"?_.text.value:JSON.stringify(_)}).join(" "):typeof a.content=="string"?u=a.content:u=JSON.stringify(a.content):typeof a=="string"?u=a:u=JSON.stringify(a),{text:m(u),role:a==null?void 0:a.role,time:a==null?void 0:a.time,duration:a==null?void 0:a.duration}}).filter(a=>a.text&&String(a.text).trim().length>0)}catch{return[]}}const H=()=>G(w()),A=()=>k(w()),U=()=>H().split(`
7
+ `),vt=()=>ot(w()),Ft=()=>vt().length>0,Nt=()=>J()!=null?U().length>J():H().length>wt(),T=()=>{const s=H();return Nt()?J()!=null?U().slice(0,J()).join(`
8
+ `):s.slice(0,wt()):s};function zt(s){if(!s)return null;try{const l=new Date(s);return Number.isNaN(l.getTime())?s:l.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return s}}function kt(s){if(s==null||!Number.isFinite(s))return null;const l=Number(s),a=Math.floor(l),u=Math.floor(a/60),_=a%60,g=String(u).padStart(2,"0"),S=String(_).padStart(2,"0");return`${g}:${S}`}function St(s){if(!s)return"Assistant";const l=s.trim();return l?l.charAt(0).toUpperCase()+l.slice(1):"Assistant"}function Ut(s){const l=(s==null?void 0:s.toLowerCase())??"";return l==="user"||l==="customer"||l==="caller"}function Dt(s){const l=[];return{main:s.replace(/<([^>]+)>/g,(u,_)=>{const g=String(_).trim();return g&&l.push(g),""}).trim(),system:l}}function V(s){ht()&&s.stopPropagation(),pt(!pt())}function mt(s){ht()&&s.stopPropagation()}Te();var dt=Xt(),$t=ft(dt);{var Lt=s=>{var l=Xt(),a=ft(l);{var u=S=>{var O=Sr();le(O,5,()=>f(vt),pe,(gt,x)=>{const C=et(()=>(t(x),f(()=>Ut(t(x).role)))),j=et(()=>(t(x),f(()=>(t(x).role??"").toLowerCase()==="system"))),q=et(()=>(t(x),f(()=>Dt(t(x).text)))),st=et(()=>(t(x),f(()=>zt(t(x).time)))),At=et(()=>(t(x),f(()=>kt(t(x).duration))));var It=wr(),Wt=h(It),Et=h(Wt),te=h(Et,!0);y(Et);var Ot=$(Et,2),Vt=h(Ot);{var Yt=Q=>{var X=xr(),it=h(X,!0);y(X),W(()=>Y(it,(ct(t(q)),f(()=>t(q).main)))),c(Q,X)};L(Vt,Q=>{ct(t(q)),f(()=>t(q).main)&&Q(Yt)})}var ee=$(Vt,2);le(ee,1,()=>(ct(t(q)),f(()=>t(q).system)),pe,(Q,X)=>{var it=br(),bt=h(it);y(it),W(()=>Y(bt,`<${t(X)??""}>`)),c(Q,it)}),y(Ot);var Gt=$(Ot,2);{var re=Q=>{var X=Tr(),it=h(X);{var bt=Z=>{var yt=K();W(()=>Y(yt,t(st))),c(Z,yt)};L(it,Z=>{t(st)&&Z(bt)})}var Rt=$(it,2);{var Kt=Z=>{var yt=K("·");c(Z,yt)};L(Rt,Z=>{t(st)&&t(At)&&Z(Kt)})}var qt=$(Rt,2);{var ae=Z=>{var yt=K();W(()=>Y(yt,t(At))),c(Z,yt)};L(qt,Z=>{t(At)&&Z(ae)})}y(X),W(()=>jt(X,1,`mt-1 text-xs text-rc-gray-300 ${t(C)?"text-right":"text-left"}`)),c(Q,X)};L(Gt,Q=>{(t(st)||t(At))&&Q(re)})}y(Wt),y(It),W(Q=>{jt(It,1,`flex ${t(C)?"justify-end":"justify-start"}`),jt(Wt,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(Et,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")}`),Y(te,Q),jt(Ot,1,`whitespace-pre-wrap break-words py-1 text-sm ${t(C)?"text-justify":"text-left"} ${t(j)?"italic text-rc-gray-200":""}`)},[()=>(t(x),f(()=>St(t(x).role)))]),c(gt,It)}),y(O),c(S,O)},_=Pt(()=>f(Ft)),g=S=>{var O=$r(),gt=h(O);{var x=j=>{var q=Xt(),st=ft(q);ge(st,()=>f(()=>z(A()))),c(j,q)},C=j=>{var q=K();W(st=>Y(q,st),[()=>f(A)]),c(j,q)};L(gt,j=>{xt()?j(x):j(C,-1)})}y(O),c(S,O)};L(a,S=>{t(_)?S(u):S(g,-1)})}c(s,l)},Ht=s=>{var l=Cr(),a=h(l),u=h(a);{var _=x=>{var C=Xt(),j=ft(C);ge(j,()=>f(()=>z(T()))),c(x,C)},g=x=>{var C=K();W(j=>Y(C,j),[()=>f(T)]),c(x,C)};L(u,x=>{xt()?x(_):x(g,-1)})}y(a);var S=$(a,2);{var O=x=>{var C=Lr(),j=h(C,!0);y(C),W(()=>Y(j,at())),ie("click",C,V),c(x,C)},gt=Pt(()=>f(Nt));L(S,x=>{t(gt)&&x(O)})}y(l),W(()=>jt(l,1,`mt-1 cursor-text select-text rounded bg-rc-gray-900 p-2 text-sm text-rc-gray-200 ${ut()}`)),ie("click",l,mt),c(s,l)};L($t,s=>{pt()?s(Lt):s(Ht,-1)})}c(rt,dt),ue()}be(["click"]);var Nr=b('<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200"> </span>',1),kr=b('<div class="flex flex-wrap items-center gap-2"><!> <!> <!></div>'),Ar=b('<div class="mt-2 text-sm text-rc-gray-400">Loading call details…</div>'),Ir=b('<div class="mt-2 text-sm text-rc-gray-300"> </div>'),Er=b('<div class="py-8 text-center text-rc-gray-300">No conversation selected</div>'),Or=b('<div class="py-8 text-center text-rc-gray-200">Loading traces...</div>'),Rr=b('<div class="z-50 py-8 text-center text-red-400"> </div>'),Jr=b('<div class="py-8 text-center text-rc-gray-300">No traces found</div>'),Mr=b('<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=b('<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>'),Fr=b("<!> <!> <!>",1),zr=b("<div></div>"),Ur=b('<audio class="w-full" controls=""></audio> <div class="mt-3 break-all text-sm text-rc-gray-300"> </div>',1),Dr=b("<!> <!>",1),Wr=b('<div class="rc-scroll flex max-h-[60vh] flex-col gap-4 overflow-scroll p-2"><!></div>'),Kr=b('<div class="flex w-full items-center justify-end gap-5"><!> <!></div>'),qr=b('<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 ga(rt,N){ce(N,!1);const w=()=>Xe(mr,"$page",wt),[wt,J]=Ze();let ut=tt(N,"useMock",8,!1);const at=pr(),nt=ve(w().url)??me()??"",ht=w().params.conversationId??"",pt=xe(ht,ut()?"__mock__":nt),p=at.traces.get(pt),xt=!!(p!=null&&p.tracesLoaded)&&!(p!=null&&p.hasMoreTraces),M=new nr(fetch);M.setSourceId(nt||void 0);let z=nt,m=D((p==null?void 0:p.traces)??[]),G=D((p==null?void 0:p.latencyTraces)??[]),k=D([]),B=D(new Map),ot=D(!1),H=xt,A=D((p==null?void 0:p.tracesError)??null),U=D(xt?ht:null),vt=D(xt?nt:null),Ft=(p==null?void 0:p.lastTraceId)??null,Nt=(p==null?void 0:p.hasMoreTraces)??!1,T=D((p==null?void 0:p.conversation)??null),zt=D(!1),kt=(p==null?void 0:p.conversationLoaded)??!1,St=D((p==null?void 0:p.conversationError)??null),Ut=D(""),Dt=D(null),V=D(null),mt=D(!1),dt=D(!1),$t=0,Lt=0;const Ht=new WeakMap;let s=0;function l(e,r=z){return xe(e,ut()?"__mock__":r)}function a(e=t(U),r=t(vt)??z){var i,v;if(!e)return;const o=l(e,r),n=at.traces.get(o);at.traces.set(o,{traces:t(m),latencyTraces:t(G),tracesLoaded:H,tracesError:t(A),lastTraceId:Ft,hasMoreTraces:Nt,conversation:t(T),conversationLoaded:kt,conversationError:t(St),scrollTop:(n==null?void 0:n.scrollTop)??((i=t(V))==null?void 0:i.scrollTop)??0,scrollLeft:(n==null?void 0:n.scrollLeft)??((v=t(V))==null?void 0:v.scrollLeft)??0})}async function u(e){e&&(await Qe(),t(V)&&(fe(V,t(V).scrollTop=e.scrollTop),fe(V,t(V).scrollLeft=e.scrollLeft)))}function _(){if(!t(U)||!t(V))return;const e=at.traces.get(l(t(U),t(vt)??z));if(!e){a();return}e.scrollTop=t(V).scrollTop,e.scrollLeft=t(V).scrollLeft}function g(e){if(typeof e!="string")return null;const r=e.trim();return r||null}function S(e){return`${Math.round(e)} ms`}function O(e){const r=g(e==null?void 0:e.traceId);if(r)return r;const o=Ht.get(e);if(o)return o;s+=1;const n=`synthetic-${e.traceType}-${e.createdAt}-${s}`;return Ht.set(e,n),n}function gt(e){const r=new Set;return e.filter(o=>{const n=g(o==null?void 0:o.traceId);return n?r.has(n)?!1:(r.add(n),!0):!0})}function x(e){return e?t(m):t(m).map(r=>{if(r.traceType!=="STEP")return r;const{receivedPrompt:o,renderedPrompt:n,...i}=r;return i})}function C(e){return e&&typeof e.renderedPrompt=="string"?e.renderedPrompt:null}function j(e,r){for(let o=r-1;o>=0;o--){const n=e[o];if(n.traceType!=="STEP")continue;const i=n;if(se(i.name)&&C(i))return i}for(let o=r-1;o>=0;o--){const n=e[o];if(n.traceType!=="STEP")continue;const i=n;if(i.name==="prewarm"&&C(i))return i}return null}function q(e){return!!(e!=null&&e.audioUrl&&String(e.audioUrl).trim())}function st(e){const r=e==null?void 0:e.transcript;return typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:!1}function At(e){const r=e==null?void 0:e.transcript;return r?typeof r=="string"?r:Array.isArray(r)?r.map(o=>{const n=typeof(o==null?void 0:o.time)=="string"?o.time:"",i=typeof(o==null?void 0:o.role)=="string"?o.role:"",v=typeof(o==null?void 0:o.text)=="string"?o.text:"",P=[n,i].filter(Boolean).join(" • ");return P?`${P}
9
+ ${v}`:v}).join(`
10
+
11
+ `):"":""}async function It(){try{await navigator.clipboard.writeText(At(t(T)))}catch(e){console.error("Failed to copy transcript",e)}}async function Wt(){var e;try{const r=(e=t(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 Et(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 te(e,r){const o=new Map;for(const n of or(r)){if(!n.isHigh)continue;const i=sr(e,n);if(!i)continue;const v=O(i),P=o.get(v);(!P||n.durationMs>P.durationMs)&&o.set(v,{id:n.id,durationMs:n.durationMs})}return o}function Ot(e){return t(B).get(O(e))??null}const Vt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Yt(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const o=r.getFullYear(),n=String(r.getMonth()+1).padStart(2,"0"),i=String(r.getDate()).padStart(2,"0");return`${o}-${n}-${i}`}function ee(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const o=r.getDate(),n=Vt[r.getMonth()],i=r.getFullYear();return`${o} ${n} ${i}`}async function Gt(e){const r=++Lt;d(zt,!0),kt=!1,d(St,null),d(T,null);try{if(ut())return;const o=await M.getConversation(e);if(r!==Lt)return;d(T,o),kt=!0}catch(o){if(r!==Lt)return;d(St,o.message),d(T,null)}finally{if(r!==Lt)return;d(zt,!1),a(e)}}async function re(e){const r=[];let o;const n=new Set;for(;;){const i=await M.getLatencyTraces(e,500,o);if(r.push(...i.items??[]),o=i.lastTraceId,!o)break;if(n.has(o))throw new Error("Telescope latency pagination repeated a cursor");n.add(o)}return r}async function Q(e){const r=[];let o;const n=new Set;for(;;){const i=await M.getTraces(e,100,o);r.push(...i.items??[]);const v=i.lastTraceId;if(!v)break;if(n.has(v))throw new Error("Telescope trace pagination repeated a cursor");n.add(v),o=v}return r}async function X(e,r=z){if(!e||e===t(U)&&r===t(vt))return;a();const o=++$t;z=r,M.setSourceId(r||void 0),d(U,e),d(vt,r),d(ot,!0),H=!1,d(A,null),Ft=null,Nt=!1,d(G,[]),d(mt,!1),d(dt,!1),Gt(e);try{let n=[],i=[];if(ut())n=(await cr.fetchTraces(e)).items??[];else{const[v,P]=await Promise.all([Q(e),re(e).catch(I=>(console.error("Failed to load latency traces for chat warnings:",I),[]))]);n=v,i=P}if(o!==$t)return;Ft=null,Nt=!1,d(G,i),d(m,gt(n).slice().sort((v,P)=>v.createdAt-P.createdAt)),H=!0}catch(n){if(o!==$t)return;d(A,n.message),d(m,[]),console.error("Failed to load traces:",n)}finally{if(o!==$t)return;d(ot,!1),a(e)}}qe(()=>{const e=w().params.conversationId;e&&(H?kt||Gt(e):X(e,z),u(p))}),Be(()=>{a(),$t+=1,Lt+=1}),Bt(()=>t(m),()=>{d(k,t(m).filter(e=>e.traceType==="API_CALL"||e.traceType==="STEP"||Et(e)))}),Bt(()=>(t(k),t(G)),()=>{d(B,te(t(k),t(G)))}),Bt(()=>(w(),t(T)),()=>{var e;d(Ut,g(w().url.searchParams.get("agent"))??g((e=t(T))==null?void 0:e.agentId)??"")}),Bt(()=>w(),()=>{d(Dt,g(w().url.searchParams.get("region")))}),Bt(()=>(w(),t(U),t(vt)),()=>{const e=w().params.conversationId,r=ve(w().url)??me()??"";e&&(e!==t(U)||r!==t(vt))&&X(e,r)}),Ve(),Te();var it=qr();tr("1uatba4",e=>{Ye(()=>{Ge.title="Bosun: Telescope"})});var bt=ft(it),Rt=h(bt),Kt=h(Rt),qt=h(Kt),ae=$(h(qt));{var Z=e=>{var r=Nr(),o=$(ft(r),2),n=h(o,!0);y(o),W(()=>Y(n,(w(),f(()=>w().params.conversationId)))),c(e,r)};L(ae,e=>{w(),f(()=>w().params.conversationId)&&e(Z)})}y(qt);var yt=$(qt,2);{var we=e=>{var r=kr(),o=h(r);{var n=E=>{_t(E,{variant:"secondary",size:"small",onclick:()=>d(mt,!0),children:(Jt,ne)=>{Tt();var Mt=K("Recording");c(Jt,Mt)},$$slots:{default:!0}})},i=Pt(()=>(t(T),f(()=>q(t(T)))));L(o,E=>{t(i)&&E(n)})}var v=$(o,2);{var P=E=>{_t(E,{variant:"secondary",size:"small",onclick:()=>d(dt,!0),children:(Jt,ne)=>{Tt();var Mt=K("Transcript");c(Jt,Mt)},$$slots:{default:!0}})},I=Pt(()=>(t(T),f(()=>st(t(T)))));L(v,E=>{t(I)&&E(P)})}var R=$(v,2);{let E=et(()=>(t(m),t(ot),f(()=>!t(m).length||t(ot))));hr(R,{get disabled(){return t(E)},getWithPromptsText:()=>JSON.stringify(x(!0),null,2),getWithoutPromptsText:()=>JSON.stringify(x(!1),null,2)})}y(r),c(e,r)};L(yt,e=>{w(),f(()=>w().params.conversationId)&&e(we)})}y(Kt);var Se=$(Kt,2);{var $e=e=>{var r=Ar();c(e,r)},Le=e=>{var r=Ir(),o=h(r);y(r),W(()=>Y(o,`Call details unavailable: ${t(St)??""}`)),c(e,r)};L(Se,e=>{t(zt)?e($e):t(St)&&e(Le,1)})}y(Rt);var Qt=$(Rt,2),Ce=h(Qt);{var Pe=e=>{var r=Er();c(e,r)},Ne=e=>{var r=Or();c(e,r)},ke=e=>{var r=Rr(),o=h(r);y(r),W(()=>Y(o,`Error: ${t(A)??""}`)),c(e,r)},Ae=e=>{var r=Jr();c(e,r)},Ie=e=>{var r=zr();le(r,7,()=>t(k),o=>O(o),(o,n,i)=>{const v=et(()=>(t(n),f(()=>Yt(t(n).createdAt)))),P=et(()=>(ct(t(i)),t(k),f(()=>t(i)>0?Yt(t(k)[t(i)-1].createdAt):null))),I=et(()=>(t(n),f(()=>ee(t(n).createdAt)))),R=et(()=>(t(n),f(()=>Ot(t(n)))));var E=Fr(),Jt=ft(E);{var ne=F=>{var lt=Mr(),Ct=h(lt),oe=h(Ct,!0);y(Ct),y(lt),W(()=>Y(oe,t(I))),c(F,lt)};L(Jt,F=>{t(v)&&t(I)&&t(v)!==t(P)&&F(ne)})}var Mt=$(Jt,2);{var je=F=>{ur(F,{get trace(){return t(n)}})},Fe=F=>{{let lt=et(()=>(ct(_e),t(k),ct(t(i)),f(()=>_e(t(k),t(i))))),Ct=et(()=>(ct(se),t(n),t(k),ct(t(i)),f(()=>se(t(n).name)?j(t(k),t(i)):null)));dr(F,{get trace(){return t(n)},get agentId(){return t(Ut)},get region(){return t(Dt)},get fallbackConversation(){return t(lt)},get compareTrace(){return t(Ct)},testCreationMode:"pii-sanitized"})}},ze=F=>{{let lt=et(()=>(ct(he),t(k),ct(t(i)),f(()=>he(t(k),t(i)))));fr(F,{get trace(){return t(n)},context:null,get agentId(){return t(Ut)},get region(){return t(Dt)},get testSourceStep(){return t(lt)},get testEntries(){return t(k)},requireTestSourceStep:!0,testCreationMode:"pii-sanitized"})}};L(Mt,F=>{t(n),f(()=>t(n).traceType==="API_CALL")?F(je):(t(n),f(()=>t(n).traceType==="STEP")?F(Fe,1):F(ze,-1))})}var Ue=$(Mt,2);{var De=F=>{var lt=jr(),Ct=h(lt),oe=h(Ct);y(Ct),y(lt),W(We=>Y(oe,`High response latency: ${We??""}`),[()=>(ct(t(R)),f(()=>S(t(R).durationMs)))]),c(F,lt)};L(Ue,F=>{t(R)&&F(De)})}c(o,E)}),y(r),c(e,r)};L(Ce,e=>{w(),f(()=>!w().params.conversationId)?e(Pe):t(ot)?e(Ne,1):t(A)?e(ke,2):(t(k),f(()=>!t(k).length)?e(Ae,3):e(Ie,-1))})}y(Qt),rr(Qt,e=>d(V,e),()=>t(V)),y(bt);var de=$(bt,2);{var Ee=e=>{ye(e,{title:"Recording",class:"!max-w-3xl",get open(){return t(mt)},set open(n){d(mt,n)},children:n=>{var i=Ur(),v=ft(i),P=$(v,2),I=h(P,!0);y(P),W(()=>{er(v,"src",(t(T),f(()=>{var R;return(R=t(T))==null?void 0:R.audioUrl}))),Y(I,(t(T),f(()=>{var R;return(R=t(T))==null?void 0:R.audioUrl})))}),c(n,i)},footer:n=>{var i=Dr(),v=ft(i);_t(v,{variant:"secondary",size:"small",onclick:Wt,children:(I,R)=>{Tt();var E=K("Copy URL");c(I,E)},$$slots:{default:!0}});var P=$(v,2);_t(P,{variant:"secondary",size:"small",onclick:()=>d(mt,!1),children:(I,R)=>{Tt();var E=K("Close");c(I,E)},$$slots:{default:!0}}),c(n,i)},$$slots:{default:!0,footer:!0},$$legacy:!0})},Oe=Pt(()=>(t(mt),t(T),f(()=>t(mt)&&q(t(T)))));L(de,e=>{t(Oe)&&e(Ee)})}var Re=$(de,2);{var Je=e=>{ye(e,{title:"Transcript",class:"!max-w-4xl",get open(){return t(dt)},set open(n){d(dt,n)},children:n=>{var i=Wr(),v=h(i);{var P=I=>{Pr(I,{get value(){return t(T),f(()=>t(T).transcript)},limit:500,expanded:!0})};L(v,I=>{t(T),f(()=>{var R;return typeof((R=t(T))==null?void 0:R.transcript)=="string"})&&I(P)})}y(i),c(n,i)},footer:n=>{var i=Kr(),v=h(i);_t(v,{onclick:It,children:(I,R)=>{Tt();var E=K("Copy transcript");c(I,E)},$$slots:{default:!0}});var P=$(v,2);_t(P,{variant:"secondary",onclick:()=>d(dt,!1),children:(I,R)=>{Tt();var E=K("Close");c(I,E)},$$slots:{default:!0}}),y(i),c(n,i)},$$slots:{default:!0,footer:!0},$$legacy:!0})},Me=Pt(()=>(t(dt),t(T),f(()=>t(dt)&&st(t(T)))));L(Re,e=>{t(Me)&&e(Je)})}ie("click",bt,e=>e.stopPropagation()),Ke("scroll",Qt,_),c(rt,it),ue(),J()}be(["click"]);export{ga as component};
@@ -0,0 +1,35 @@
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
+ var Ar=Object.defineProperty;var Cr=(P,E,l)=>E in P?Ar(P,E,{enumerable:!0,configurable:!0,writable:!0,value:l}):P[E]=l;var Ne=(P,E,l)=>Cr(P,typeof E!="symbol"?E+"":E,l);import{a as te,f as ge,d as nn,b as Mt,t as Ve,c as It}from"../chunks/CMFNmSvo.js";import{o as rn,a as on}from"../chunks/CD_KdWs9.js";import{p as bt,j as h,a as Et,n as xe,br as Pr,y as H,d as qe,c as ie,r as re,w as Le,s as pe,o as Ke,t as je,f as ze,a4 as Nr,bh as Rr,_ as Ir,x as Nn,T as Mr}from"../chunks/C4UC6AgE.js";import{s as Me}from"../chunks/eMofpOrR.js";import{i as Be}from"../chunks/D9BWOD7V.js";import{g as Rn,a as Fr,b as Br,M as Yt,k as Kr,R as jr}from"../chunks/DCwWNTpf.js";import{e as xt,i as Zt}from"../chunks/BlFOg-Sd.js";import{a as Dr,s as $r}from"../chunks/BHB0Pj1h.js";import{a as Vr,r as Hn,e as Ur,s as Gr}from"../chunks/D8Lmn3S5.js";import{b as Wr,a as qr}from"../chunks/DC7lPrn4.js";import{P as Tt,g as zn,s as Hr}from"../chunks/DzY_RPb9.js";import{B as Ze}from"../chunks/Byg3jr1u.js";import{d as In,e as zr,f as Qr,g as Yr,D as Jr}from"../chunks/B-iasAJv.js";import{I as Xr}from"../chunks/DfkYlKBk.js";import{T as en,a as mt}from"../chunks/C60AG6QQ.js";import{b as sn}from"../chunks/Ce6a22qU.js";import{p as lt,r as Zr}from"../chunks/CupXtwVS.js";import{p as Jt,l as ei,C as ti,P as Mn}from"../chunks/BDijIo6D.js";import{r as ni,g as St}from"../chunks/B-dTD_wm.js";import{p as nt}from"../chunks/DBB88ZB7.js";import{e as Xt,r as ri,t as Je,g as ii,i as oi}from"../chunks/CDy1LBR5.js";import{i as si}from"../chunks/DgGeUDDh.js";import{_ as Qn}from"../chunks/C1FmrZbK.js";import{e as Yn,a as Jn}from"../chunks/PrCSpCPg.js";import{g as an}from"../chunks/CUKoVL36.js";import{A as ai}from"../chunks/CAIfVN23.js";import{g as li}from"../chunks/D8doM1Y6.js";import"../chunks/7hV1SZxK.js";import{i as ci}from"../chunks/-3ZOIHDA.js";import{c as Fn,a as ui}from"../chunks/CYr0FGgn.js";import{G as fi}from"../chunks/D_laxq3h.js";var pi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function hi(P){return P&&P.__esModule&&Object.prototype.hasOwnProperty.call(P,"default")?P.default:P}var di=new Set(["$$slots","$$events","$$legacy","class","value","variant","el"]),vi=ge("<textarea></textarea>");function mi(P,E){bt(E,!0);let l=lt(E,"class",3,""),b=lt(E,"value",15,""),w=lt(E,"variant",3,"config"),d=lt(E,"el",15),k=Zr(E,di),p=xe(()=>w()==="chat"?`textarea-chat ${l()}`:`textarea-config ${l()}`);var O=vi();Pr(O),Vr(O,()=>({class:h(p),...k}),void 0,void 0,void 0,"svelte-1ilrf3m"),sn(O,e=>d(e),()=>d()),Wr(O,b),te(P,O),Et()}function gi(P){throw new Error(`Unhandled client WebSocket message: ${JSON.stringify(P)}`)}function yi(P){if(P.channel==="chat")return"block";switch(P.event.type){case"select-agent":case"reload-project":case"step-selected":case"prompt-overrides-updated":return"defer";case"context-updated":case"prompt-updated":case"trigger-action":case"hangup":return"block";default:return gi(P.event)}}function _i(P){return P.channel==="chat"?"chat":P.event.type}class wi{constructor(E,l=ri){Ne(this,"ws",null);Ne(this,"openHandler",null);Ne(this,"closeHandler",null);Ne(this,"errorHandler",null);Ne(this,"messageHandler",null);Ne(this,"retries",0);Ne(this,"maxRetries",5);Ne(this,"retryDelay",500);Ne(this,"retryTimeout",null);Ne(this,"isOpen",!1);Ne(this,"isConnecting",!1);Ne(this,"isDestroyed",!1);Ne(this,"wantsConnection",!1);Ne(this,"agentsLoaded",!1);Ne(this,"deferredMessages",new Map);Ne(this,"pendingGitSyncs",new Map);Ne(this,"unregisterAdmissionListener");Ne(this,"init",()=>{if(this.wantsConnection=!0,!(!this.admission.isOpen()||this.isOpen||this.isConnecting)){this.agentsLoaded=!1,console.log(`Initializing websocket connection with [${this.wsUrl}]`);try{this.isConnecting=!0,this.ws=new WebSocket(this.wsUrl)}catch{this.isConnecting=!1,this.retryConnect();return}this.isDestroyed=!1,this.ws.onmessage=E=>{var b,w,d,k,p,O,e,T;const l=JSON.parse(E.data);if(l.channel==="app-events"&&l.event.type==="git-sync-complete"){this.resolveGitSync(l.event.requestId);return}l.channel==="error"?(b=this.errorHandler)==null||b.call(this,l.message):l.channel==="app-events"?(console.log("MSG:",l.event.type),l.event.type==="agents-loaded"&&(this.agentsLoaded=!0)):l.channel==="log"?console.log(`MSG: log [${l.message.severity}]`,l.message.message):l.channel==="api-call-trace"?console.log("MSG: api-call-trace",(w=l.trace)==null?void 0:w.operationName,(d=l.trace)==null?void 0:d.method,(k=l.trace)==null?void 0:k.path):l.channel==="conversational-trace"&&console.log("MSG: conversational-trace",(p=l.trace)==null?void 0:p.eventName,(O=l.trace)==null?void 0:O.role,(e=l.trace)==null?void 0:e.medium),(T=this.messageHandler)==null||T.call(this,l)},this.ws.onerror=E=>{var l;console.error("Websocket error:",E),(l=this.ws)==null||l.close()},this.ws.onclose=()=>{var E;console.log("Websocket closed"),this.isOpen=!1,this.isConnecting=!1,this.rejectPendingGitSyncs("The roleplay connection closed before pending writes finished."),(E=this.closeHandler)==null||E.call(this),this.retryConnect()},this.ws.onopen=()=>{var E,l;if(this.isConnecting=!1,this.isDestroyed||!this.admission.isOpen()){(E=this.ws)==null||E.close();return}this.retries=0,this.isOpen=!0,this.retryTimeout&&(clearTimeout(this.retryTimeout),this.retryTimeout=null),(l=this.openHandler)==null||l.call(this),this.flushDeferredMessages(),console.log("Websocket connected")}}});Ne(this,"destroy",()=>{var E;this.wantsConnection=!1,this.isDestroyed=!0,this.clearDeferredMessages(),this.rejectPendingGitSyncs("The roleplay connection closed before pending writes finished."),this.retryTimeout&&(clearTimeout(this.retryTimeout),this.retryTimeout=null),(E=this.ws)==null||E.close()});Ne(this,"onOpen",E=>{this.openHandler=E,this.isOpen&&E()});Ne(this,"onClose",E=>{this.closeHandler=E,this.isOpen||E()});Ne(this,"onError",E=>{this.errorHandler=E});Ne(this,"onMessage",E=>{this.messageHandler=E});Ne(this,"sendMessage",(E,l)=>{var k;E.channel;const b=this.admission.isFlushAuthorized(l==null?void 0:l.gitFlushOperationId),w=this.admission.getState(),d=yi(E);return!b&&w.mode!=="open"?d==="defer"?(this.deferMessage(E),"deferred"):(this.admission.blockMutation(E.channel==="chat"?"websocket.chat":`websocket.${E.event.type}`),"blocked"):!this.isOpen||!this.ws?d==="defer"?(this.deferMessage(E),this.init(),"deferred"):((k=this.errorHandler)==null||k.call(this,"The roleplay connection is not ready. Wait for it to reconnect."),"not-ready"):(this.ws.send(JSON.stringify(E)),"sent")});Ne(this,"sendGitSyncRequest",(E,l)=>this.admission.isFlushAuthorized(l)?!this.isOpen||!this.ws?Promise.reject(new Error("The roleplay connection closed before pending writes finished.")):new Promise((b,w)=>{var k;const d=setTimeout(()=>{this.pendingGitSyncs.delete(E),w(new Error("Timed out while waiting for pending roleplay writes to finish."))},5e3);this.pendingGitSyncs.set(E,{resolve:b,reject:w,timer:d});try{(k=this.ws)==null||k.send(JSON.stringify({channel:"app-events",event:{type:"git-sync-request",requestId:E}}))}catch(p){clearTimeout(d),this.pendingGitSyncs.delete(E),w(p instanceof Error?p:new Error(String(p)))}}):Promise.reject(new Error("The Git WebSocket barrier is not authorized for the active refresh.")));Ne(this,"clearDeferredMessages",()=>{this.deferredMessages.clear()});Ne(this,"isReady",()=>this.isOpen&&this.agentsLoaded);Ne(this,"retryConnect",()=>{var E,l;if(!this.isDestroyed&&this.admission.isOpen()&&!(this.isOpen||this.isConnecting||this.retryTimeout)){if(this.retries>=this.maxRetries){(E=this.errorHandler)==null||E.call(this,"WebSocket Error, please reload the browser"),(l=this.closeHandler)==null||l.call(this);return}this.retryTimeout=setTimeout(()=>{this.retryTimeout=null,!(this.isDestroyed||!this.admission.isOpen()||this.isOpen||this.isConnecting)&&(this.retries++,this.init())},this.retryDelay)}});this.wsUrl=E,this.admission=l,this.unregisterAdmissionListener=this.admission.onStateChange(b=>{b.mode==="open"&&(this.wantsConnection&&this.init(),this.flushDeferredMessages())})}deferMessage(E){const l=_i(E);E.channel==="app-events"&&E.event.type==="select-agent"&&(this.deferredMessages.delete("step-selected"),this.deferredMessages.delete("prompt-overrides-updated")),this.deferredMessages.delete(l),this.deferredMessages.set(l,E)}flushDeferredMessages(){if(!this.admission.isOpen()||!this.isOpen||!this.ws)return;const E=[...this.deferredMessages.values()];this.deferredMessages.clear();for(const l of E)this.ws.send(JSON.stringify(l))}resolveGitSync(E){const l=this.pendingGitSyncs.get(E);l&&(clearTimeout(l.timer),this.pendingGitSyncs.delete(E),l.resolve())}rejectPendingGitSyncs(E){for(const l of this.pendingGitSyncs.values())clearTimeout(l.timer),l.reject(new Error(E));this.pendingGitSyncs.clear()}}const xi=Xt.PUBLIC_WS_HOST??`ws://${Xt.PUBLIC_WS_HOSTNAME??"localhost"}:${Xt.PUBLIC_WS_PORT??"8080"}`,at=new wi(xi);var bi=ge('<div class="flex h-full flex-col"><div class="h-full w-full"></div></div>');function Ei(P,E){bt(E,!0);let l=Le(null),b=null,w=[],d=!1,k;const p=an();let O=lt(E,"readOnly",3,!1);const e=xe(()=>p.isWritePaused()),T=xe(()=>O()||h(e));rn(async()=>{if(!k)return;Yn();const j=await Qn(()=>import("../chunks/DLQqXQ6R.js").then(V=>V.e),__vite__mapDeps([0,1,2]),import.meta.url);d||(Jn(j),H(l,j.editor.create(k,{value:E.schema??"",language:"typescript",theme:"bosun-dark",lineNumbers:"off",automaticLayout:!0,minimap:{enabled:!1},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",readOnly:h(T),domReadOnly:h(T),readOnlyMessage:{value:"Bosun is refreshing the project."}}),!0),b=h(l).getModel(),w.push(h(l).onDidChangeModelContent(()=>{if(!h(l))return;const V=h(l).getValue();V!==E.schema&&E.onChange(V)})),w.push(h(l).onDidAttemptReadOnlyEdit(()=>{h(e)&&p.requestBlockedOperationNotice()})))}),on(()=>{d=!0;for(const V of w)try{V.dispose()}catch{}w=[];const j=b;b=null;try{if(h(l)){try{h(l).setModel(null)}catch{}h(l).dispose()}}finally{H(l,null)}try{j==null||j.dispose()}catch{}}),qe(()=>{var V;const j=h(T);(V=h(l))==null||V.updateOptions({readOnly:j,domReadOnly:j})}),qe(()=>{if(!h(l))return;const j=E.schema??"";h(l).getValue()!==j&&h(l).setValue(j)}),Tt(P,{get class(){return`overflow-hidden ${E.class??""}`},children:(j,V)=>{var K=bi(),A=ie(K);sn(A,F=>k=F,()=>k),re(K),te(j,K)}}),Et()}function ki(P,E){return P.languages.registerCompletionItemProvider("markdown",{triggerCharacters:[" ","."],provideCompletionItems:(l,b)=>{const w=l.getValueInRange({startLineNumber:b.lineNumber,startColumn:1,endLineNumber:b.lineNumber,endColumn:b.column}),d=w.match(/\{%\s*(if|elif|for)\s+([^%]*)$/),k=w.match(/\{\{\s*([^}]*)$/);if(d||k){let O="";d?O=d[2].trim():k&&(O=k[1].trim());const{keys:e,lastPartLength:T}=Oi(E,O);return{suggestions:e.map(V=>({label:V,kind:P.languages.CompletionItemKind.Variable,insertText:V,range:{startLineNumber:b.lineNumber,endLineNumber:b.lineNumber,startColumn:b.column-T,endColumn:b.column}}))}}const p=w.match(/\{%\s*([^%]*)$/);if(p){const O=p[1].trim();return{suggestions:tn(["if","elif","else","endif","for","endfor"],O).map((T,j)=>({label:T,kind:P.languages.CompletionItemKind.Keyword,insertText:T,sortText:String(j).padStart(2,"0"),range:{startLineNumber:b.lineNumber,endLineNumber:b.lineNumber,startColumn:b.column-O.length,endColumn:b.column}}))}}return{suggestions:[]}}})}function Oi(P,E){let l=P,b=[],w=0;if(E==="")b=Object.keys(P??{}),w=0;else if(E.includes(".")){const d=E.split("."),k=d.pop()||"";w=k.length;for(const p of d)if(l&&typeof l=="object"&&p in l)l=l[p];else{l=null;break}l&&typeof l=="object"&&(b=tn(Object.keys(l),k))}else w=E.length,b=tn(Object.keys(P??{}),E);return{keys:b,lastPartLength:w}}function tn(P,E){return E?P.map((l,b)=>({value:l,index:b,match:Si(l,E)})).filter(l=>l.match!==null).sort((l,b)=>l.match.kindRank!==b.match.kindRank?l.match.kindRank-b.match.kindRank:l.match.span!==b.match.span?l.match.span-b.match.span:l.match.gapCount!==b.match.gapCount?l.match.gapCount-b.match.gapCount:l.match.start!==b.match.start?l.match.start-b.match.start:l.index-b.index).map(l=>l.value):P}function Si(P,E){const l=P.toLowerCase(),b=E.toLowerCase();if(!b)return null;if(l.startsWith(b))return{kindRank:0,start:0,span:b.length,gapCount:0};const w=l.indexOf(b);if(w!==-1)return{kindRank:Ci(P,w,b.length),start:w,span:b.length,gapCount:0};const d=Ti(l,b);return d?{kindRank:4,start:d.start,span:d.span,gapCount:d.gapCount}:null}function Ti(P,E){if(!P||!E)return null;let l=null,b=0;for(;b<P.length;){let w=b,d=0;for(;w<P.length&&d<E.length;)P[w]===E[d]&&(d+=1),w+=1;if(d!==E.length)break;const k=new Array(E.length);let p=w-1;for(let T=E.length-1;T>=0;T--){for(;p>=0&&P[p]!==E[T];)p-=1;if(p<0)return l;k[T]=p,p-=1}let O=0;for(let T=1;T<k.length;T++)O+=k[T]-k[T-1]-1;const e={start:k[0],span:k[k.length-1]-k[0]+1,gapCount:O};(!l||e.span<l.span||e.span===l.span&&e.gapCount<l.gapCount||e.span===l.span&&e.gapCount===l.gapCount&&e.start<l.start)&&(l=e),b=k[0]+1}return l}function Li(P,E){return E<=0?!0:/[\s._-]/.test(P[E-1]??"")}function Ai(P,E){return E>=P.length?!0:/[\s._-]/.test(P[E]??"")}function Ci(P,E,l){const b=Li(P,E),w=Ai(P,E+l);return b&&w?1:b?2:3}const Pi=/^(#{1,6})\s/,Ni=/^\s*\{%\s*(if|elif|elseif|else|endif|for|endfor)\b/,Ri={provideFoldingRanges(P){return Mi(P)}},Ii={provideFoldingRanges(P){return Fi(P)}};function Mi(P){const E=[],l=P.getLineCount(),b=[];for(let w=1;w<=l;w++){const d=Pi.exec(P.getLineContent(w));d&&b.push({line:w,level:d[1].length})}for(let w=0;w<b.length;w++){const{line:d,level:k}=b[w];let p=l;for(let O=w+1;O<b.length;O++)if(b[O].level<=k){p=b[O].line-1;break}p=Xn(P,d,p),p>d&&E.push({start:d,end:p})}return E}function Fi(P){const E=[],l=[],b=P.getLineCount();for(let w=1;w<=b;w++){const d=Ni.exec(P.getLineContent(w));if(!d)continue;const k=d[1];if(k==="if"){l.push({kind:"if",branchStarts:[w],startLine:w});continue}if(k==="for"){l.push({kind:"for",branchStarts:[w],startLine:w});continue}if(k==="elif"||k==="elseif"||k==="else"){const p=Bi(l,"if");if(!p)continue;Rt(E,P,p.branchStarts.at(-1)??p.startLine,w-1),p.branchStarts.push(w);continue}if(k==="endif"){const p=Bn(l,"if");if(!p)continue;Rt(E,P,p.branchStarts.at(-1)??p.startLine,w-1);continue}if(k==="endfor"){const p=Bn(l,"for");if(!p)continue;Rt(E,P,p.startLine,w-1)}}for(const w of l){const d=w.kind==="if"?w.branchStarts.at(-1)??w.startLine:w.startLine;Rt(E,P,d,b)}return E}function Bi(P,E){for(let l=P.length-1;l>=0;l--)if(P[l].kind===E)return P[l];return null}function Bn(P,E){for(let l=P.length-1;l>=0;l--)if(P[l].kind===E)return P.splice(l,1)[0];return null}function Rt(P,E,l,b){const w=Xn(E,l,b);w>l&&P.push({start:l,end:w})}function Xn(P,E,l){let b=l;for(;b>E&&P.getLineContent(b).trim()==="";)b-=1;return b}const Ki=/\{%[-\s]*(if|elif|elseif|else|endif|for|endfor)\b/,ji={provideDocumentHighlights(P,E){const l=$i(P),b=E.lineNumber,w=E.column;for(const d of l)for(const k of d)if(k.line===b&&w>=k.startColumn&&w<=k.endColumn)return d.map(p=>({range:{startLineNumber:p.line,startColumn:p.startColumn,endLineNumber:p.line,endColumn:p.endColumn},kind:1}));return[]}};function Di(P,E){const l=P.getLineContent(E),b=Ki.exec(l);if(!b)return null;const w=b[1],d=b.index+b[0].length-w.length;return{line:E,startColumn:d+1,endColumn:d+w.length+1,keyword:w}}function $i(P){const E=[],l=P.getLineCount(),b=[];for(let w=1;w<=l;w++){const d=Di(P,w);if(!d)continue;const k=d.keyword;if(k==="if"){b.push({kind:"if",tags:[d]});continue}if(k==="for"){b.push({kind:"for",tags:[d]});continue}if(k==="elif"||k==="elseif"||k==="else"){const p=Vi(b,"if");p&&p.tags.push(d);continue}if(k==="endif"){const p=Kn(b,"if");p&&(p.tags.push(d),E.push(p.tags));continue}if(k==="endfor"){const p=Kn(b,"for");p&&(p.tags.push(d),E.push(p.tags))}}return E}function Vi(P,E){for(let l=P.length-1;l>=0;l--)if(P[l].kind===E)return P[l];return null}function Kn(P,E){for(let l=P.length-1;l>=0;l--)if(P[l].kind===E)return P.splice(l,1)[0];return null}var Zn={exports:{}};/*! Browser bundle of nunjucks 3.2.4 */(function(P,E){(function(b,w){P.exports=w()})(typeof self<"u"?self:pi,function(){return function(l){var b={};function w(d){if(b[d])return b[d].exports;var k=b[d]={i:d,l:!1,exports:{}};return l[d].call(k.exports,k,k.exports,w),k.l=!0,k.exports}return w.m=l,w.c=b,w.d=function(d,k,p){w.o(d,k)||Object.defineProperty(d,k,{configurable:!1,enumerable:!0,get:p})},w.n=function(d){var k=d&&d.__esModule?function(){return d.default}:function(){return d};return w.d(k,"a",k),k},w.o=function(d,k){return Object.prototype.hasOwnProperty.call(d,k)},w.p="",w(w.s=11)}([function(l,e,w){var d=Array.prototype,k=Object.prototype,p={"&":"&amp;",'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","\\":"&#92;"},O=/[&"'<>\\]/g,e=l.exports={};function T(_,I){return k.hasOwnProperty.call(_,I)}e.hasOwnProp=T;function j(_){return p[_]}function V(_,I,G){if(G.Update||(G=new e.TemplateError(G)),G.Update(_),!I){var $=G;G=new Error($.message),G.name=$.name}return G}e._prettifyError=V;function K(_,I,G){var $,z;_ instanceof Error&&(z=_,_=z.name+": "+z.message),Object.setPrototypeOf?($=new Error(_),Object.setPrototypeOf($,K.prototype)):($=this,Object.defineProperty($,"message",{enumerable:!1,writable:!0,value:_})),Object.defineProperty($,"name",{value:"Template render error"}),Error.captureStackTrace&&Error.captureStackTrace($,this.constructor);var Q;if(z){var ne=Object.getOwnPropertyDescriptor(z,"stack");Q=ne&&(ne.get||function(){return ne.value}),Q||(Q=function(){return z.stack})}else{var ye=new Error(_).stack;Q=function(){return ye}}return Object.defineProperty($,"stack",{get:function(){return Q.call($)}}),Object.defineProperty($,"cause",{value:z}),$.lineno=I,$.colno=G,$.firstUpdate=!0,$.Update=function(se){var ue="("+(se||"unknown path")+")";return this.firstUpdate&&(this.lineno&&this.colno?ue+=" [Line "+this.lineno+", Column "+this.colno+"]":this.lineno&&(ue+=" [Line "+this.lineno+"]")),ue+=`
3
+ `,this.firstUpdate&&(ue+=" "),this.message=ue+(this.message||""),this.firstUpdate=!1,this},$}Object.setPrototypeOf?Object.setPrototypeOf(K.prototype,Error.prototype):K.prototype=Object.create(Error.prototype,{constructor:{value:K}}),e.TemplateError=K;function A(_){return _.replace(O,j)}e.escape=A;function F(_){return k.toString.call(_)==="[object Function]"}e.isFunction=F;function t(_){return k.toString.call(_)==="[object Array]"}e.isArray=t;function n(_){return k.toString.call(_)==="[object String]"}e.isString=n;function i(_){return k.toString.call(_)==="[object Object]"}e.isObject=i;function g(_){return _?typeof _=="string"?_.split("."):[_]:[]}function f(_){var I=g(_);return function($){for(var z=$,Q=0;Q<I.length;Q++){var ne=I[Q];if(T(z,ne))z=z[ne];else return}return z}}e.getAttrGetter=f;function y(_,I,G){for(var $={},z=F(I)?I:f(I),Q=0;Q<_.length;Q++){var ne=_[Q],ye=z(ne,Q);if(ye===void 0&&G===!0)throw new TypeError('groupby: attribute "'+I+'" resolved to undefined');($[ye]||($[ye]=[])).push(ne)}return $}e.groupBy=y;function r(_){return Array.prototype.slice.call(_)}e.toArray=r;function o(_){var I=[];if(!_)return I;for(var G=_.length,$=r(arguments).slice(1),z=-1;++z<G;)C($,_[z])===-1&&I.push(_[z]);return I}e.without=o;function u(_,I){for(var G="",$=0;$<I;$++)G+=_;return G}e.repeat=u;function s(_,I,G){if(_!=null){if(d.forEach&&_.forEach===d.forEach)_.forEach(I,G);else if(_.length===+_.length)for(var $=0,z=_.length;$<z;$++)I.call(G,_[$],$,_)}}e.each=s;function a(_,I){var G=[];if(_==null)return G;if(d.map&&_.map===d.map)return _.map(I);for(var $=0;$<_.length;$++)G[G.length]=I(_[$],$);return _.length===+_.length&&(G.length=_.length),G}e.map=a;function m(_,I,G){var $=-1;function z(){$++,$<_.length?I(_[$],$,z,G):G()}z()}e.asyncIter=m;function v(_,I,G){var $=B(_||{}),z=$.length,Q=-1;function ne(){Q++;var ye=$[Q];Q<z?I(ye,_[ye],Q,z,ne):G()}ne()}e.asyncFor=v;function C(_,I,G){return Array.prototype.indexOf.call(_||[],I,G)}e.indexOf=C;function B(_){var I=[];for(var G in _)T(_,G)&&I.push(G);return I}e.keys=B;function N(_){return B(_).map(function(I){return[I,_[I]]})}e._entries=N;function R(_){return B(_).map(function(I){return _[I]})}e._values=R;function D(_,I){return _=_||{},B(I).forEach(function(G){_[G]=I[G]}),_}e._assign=e.extend=D;function x(_,I){if(t(I)||n(I))return I.indexOf(_)!==-1;if(i(I))return _ in I;throw new Error('Cannot use "in" operator to search for "'+_+'" in unexpected types.')}e.inOperator=x},function(l,b,w){function d(n,i){for(var g=0;g<i.length;g++){var f=i[g];f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f&&(f.writable=!0),Object.defineProperty(n,p(f.key),f)}}function k(n,i,g){return i&&d(n.prototype,i),Object.defineProperty(n,"prototype",{writable:!1}),n}function p(n){var i=O(n,"string");return typeof i=="symbol"?i:String(i)}function O(n,i){if(typeof n!="object"||n===null)return n;var g=n[Symbol.toPrimitive];if(g!==void 0){var f=g.call(n,i);if(typeof f!="object")return f;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(n)}function e(n,i){n.prototype=Object.create(i.prototype),n.prototype.constructor=n,T(n,i)}function T(n,i){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(f,y){return f.__proto__=y,f},T(n,i)}var j=w(16),V=w(0);function K(n,i){return typeof n!="function"||typeof i!="function"?i:function(){var f=this.parent;this.parent=n;var y=i.apply(this,arguments);return this.parent=f,y}}function A(n,i,g){g=g||{},V.keys(g).forEach(function(y){g[y]=K(n.prototype[y],g[y])});var f=function(y){e(r,y);function r(){return y.apply(this,arguments)||this}return k(r,[{key:"typename",get:function(){return i}}]),r}(n);return V._assign(f.prototype,g),f}var F=function(){function n(){this.init.apply(this,arguments)}var i=n.prototype;return i.init=function(){},n.extend=function(f,y){return typeof f=="object"&&(y=f,f="anonymous"),A(this,f,y)},k(n,[{key:"typename",get:function(){return this.constructor.name}}]),n}(),t=function(n){e(i,n);function i(){var f,y;return y=n.call(this)||this,(f=y).init.apply(f,arguments),y}var g=i.prototype;return g.init=function(){},i.extend=function(y,r){return typeof y=="object"&&(r=y,y="anonymous"),A(this,y,r)},k(i,[{key:"typename",get:function(){return this.constructor.name}}]),i}(j);l.exports={Obj:F,EmitterObj:t}},function(l,b,w){var d=w(0),k=Array.from,p=typeof Symbol=="function"&&Symbol.iterator&&typeof k=="function",O=function(){function a(v,C){this.variables=Object.create(null),this.parent=v,this.topLevel=!1,this.isolateWrites=C}var m=a.prototype;return m.set=function(C,B,N){var R=C.split("."),D=this.variables,x=this;if(N&&(x=this.resolve(R[0],!0))){x.set(C,B);return}for(var _=0;_<R.length-1;_++){var I=R[_];D[I]||(D[I]={}),D=D[I]}D[R[R.length-1]]=B},m.get=function(C){var B=this.variables[C];return B!==void 0?B:null},m.lookup=function(C){var B=this.parent,N=this.variables[C];return N!==void 0?N:B&&B.lookup(C)},m.resolve=function(C,B){var N=B&&this.isolateWrites?void 0:this.parent,R=this.variables[C];return R!==void 0?this:N&&N.resolve(C)},m.push=function(C){return new a(this,C)},m.pop=function(){return this.parent},a}();function e(a,m,v){return function(){for(var B=arguments.length,N=new Array(B),R=0;R<B;R++)N[R]=arguments[R];var D=K(N),x,_=V(N);if(D>a.length)x=N.slice(0,a.length),N.slice(x.length,D).forEach(function($,z){z<m.length&&(_[m[z]]=$)}),x.push(_);else if(D<a.length){x=N.slice(0,D);for(var I=D;I<a.length;I++){var G=a[I];x.push(_[G]),delete _[G]}x.push(_)}else x=N;return v.apply(this,x)}}function T(a){return a.__keywords=!0,a}function j(a){return a&&Object.prototype.hasOwnProperty.call(a,"__keywords")}function V(a){var m=a.length;if(m){var v=a[m-1];if(j(v))return v}return{}}function K(a){var m=a.length;if(m===0)return 0;var v=a[m-1];return j(v)?m-1:m}function A(a){if(typeof a!="string")return a;this.val=a,this.length=a.length}A.prototype=Object.create(String.prototype,{length:{writable:!0,configurable:!0,value:0}}),A.prototype.valueOf=function(){return this.val},A.prototype.toString=function(){return this.val};function F(a,m){return a instanceof A?new A(m):m.toString()}function t(a){var m=typeof a;return m==="string"?new A(a):m!=="function"?a:function(C){var B=a.apply(this,arguments);return typeof B=="string"?new A(B):B}}function n(a,m){return a=a??"",m&&!(a instanceof A)&&(a=d.escape(a.toString())),a}function i(a,m,v){if(a==null)throw new d.TemplateError("attempted to output null or undefined value",m+1,v+1);return a}function g(a,m){if(a!=null)return typeof a[m]=="function"?function(){for(var v=arguments.length,C=new Array(v),B=0;B<v;B++)C[B]=arguments[B];return a[m].apply(a,C)}:a[m]}function f(a,m,v,C){if(a){if(typeof a!="function")throw new Error("Unable to call `"+m+"`, which is not a function")}else throw new Error("Unable to call `"+m+"`, which is undefined or falsey");return a.apply(v,C)}function y(a,m,v){var C=m.lookup(v);return C!==void 0?C:a.lookup(v)}function r(a,m,v){return a.lineno?a:new d.TemplateError(a,m,v)}function o(a,m,v,C){if(d.isArray(a)){var B=a.length;d.asyncIter(a,function(R,D,x){switch(m){case 1:v(R,D,B,x);break;case 2:v(R[0],R[1],D,B,x);break;case 3:v(R[0],R[1],R[2],D,B,x);break;default:R.push(D,B,x),v.apply(this,R)}},C)}else d.asyncFor(a,function(R,D,x,_,I){v(R,D,x,_,I)},C)}function u(a,m,v,C){var B=0,N,R;function D(z,Q){B++,R[z]=Q,B===N&&C(null,R.join(""))}if(d.isArray(a))if(N=a.length,R=new Array(N),N===0)C(null,"");else for(var x=0;x<a.length;x++){var _=a[x];switch(m){case 1:v(_,x,N,D);break;case 2:v(_[0],_[1],x,N,D);break;case 3:v(_[0],_[1],_[2],x,N,D);break;default:_.push(x,N,D),v.apply(this,_)}}else{var I=d.keys(a||{});if(N=I.length,R=new Array(N),N===0)C(null,"");else for(var G=0;G<I.length;G++){var $=I[G];v($,a[$],G,N,D)}}}function s(a){return typeof a!="object"||a===null||d.isArray(a)?a:p&&Symbol.iterator in a?k(a):a}l.exports={Frame:O,makeMacro:e,makeKeywordArgs:T,numArgs:K,suppressValue:n,ensureDefined:i,memberLookup:g,contextOrFrameLookup:y,callWrap:f,handleError:r,isArray:d.isArray,keys:d.keys,SafeString:A,copySafeness:F,markSafe:t,asyncEach:o,asyncAll:u,inOperator:d.inOperator,fromIterator:s}},function(l,b,w){function d(oe,le){for(var Se=0;Se<le.length;Se++){var Ee=le[Se];Ee.enumerable=Ee.enumerable||!1,Ee.configurable=!0,"value"in Ee&&(Ee.writable=!0),Object.defineProperty(oe,p(Ee.key),Ee)}}function k(oe,le,Se){return le&&d(oe.prototype,le),Object.defineProperty(oe,"prototype",{writable:!1}),oe}function p(oe){var le=O(oe,"string");return typeof le=="symbol"?le:String(le)}function O(oe,le){if(typeof oe!="object"||oe===null)return oe;var Se=oe[Symbol.toPrimitive];if(Se!==void 0){var Ee=Se.call(oe,le);if(typeof Ee!="object")return Ee;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(oe)}function e(oe,le){oe.prototype=Object.create(le.prototype),oe.prototype.constructor=oe,T(oe,le)}function T(oe,le){return T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Ee,Te){return Ee.__proto__=Te,Ee},T(oe,le)}var j=w(1),V=j.Obj;function K(oe,le,Se){oe instanceof le&&Se.push(oe),oe instanceof A&&oe.findAll(le,Se)}var A=function(oe){e(le,oe);function le(){return oe.apply(this,arguments)||this}var Se=le.prototype;return Se.init=function(Te,Re){for(var Ge=arguments,Xe=this,et=arguments.length,ft=new Array(et>2?et-2:0),it=2;it<et;it++)ft[it-2]=arguments[it];this.lineno=Te,this.colno=Re,this.fields.forEach(function(pt,gt){var Ot=Ge[gt+2];Ot===void 0&&(Ot=null),Xe[pt]=Ot})},Se.findAll=function(Te,Re){var Ge=this;return Re=Re||[],this instanceof t?this.children.forEach(function(Xe){return K(Xe,Te,Re)}):this.fields.forEach(function(Xe){return K(Ge[Xe],Te,Re)}),Re},Se.iterFields=function(Te){var Re=this;this.fields.forEach(function(Ge){Te(Re[Ge],Ge)})},le}(V),F=function(oe){e(le,oe);function le(){return oe.apply(this,arguments)||this}return k(le,[{key:"typename",get:function(){return"Value"}},{key:"fields",get:function(){return["value"]}}]),le}(A),t=function(oe){e(le,oe);function le(){return oe.apply(this,arguments)||this}var Se=le.prototype;return Se.init=function(Te,Re,Ge){oe.prototype.init.call(this,Te,Re,Ge||[])},Se.addChild=function(Te){this.children.push(Te)},k(le,[{key:"typename",get:function(){return"NodeList"}},{key:"fields",get:function(){return["children"]}}]),le}(A),n=t.extend("Root"),i=F.extend("Literal"),g=F.extend("Symbol"),f=t.extend("Group"),y=t.extend("Array"),r=A.extend("Pair",{fields:["key","value"]}),o=t.extend("Dict"),u=A.extend("LookupVal",{fields:["target","val"]}),s=A.extend("If",{fields:["cond","body","else_"]}),a=s.extend("IfAsync"),m=A.extend("InlineIf",{fields:["cond","body","else_"]}),v=A.extend("For",{fields:["arr","name","body","else_"]}),C=v.extend("AsyncEach"),B=v.extend("AsyncAll"),N=A.extend("Macro",{fields:["name","args","body"]}),R=N.extend("Caller"),D=A.extend("Import",{fields:["template","target","withContext"]}),x=function(oe){e(le,oe);function le(){return oe.apply(this,arguments)||this}var Se=le.prototype;return Se.init=function(Te,Re,Ge,Xe,et){oe.prototype.init.call(this,Te,Re,Ge,Xe||new t,et)},k(le,[{key:"typename",get:function(){return"FromImport"}},{key:"fields",get:function(){return["template","names","withContext"]}}]),le}(A),_=A.extend("FunCall",{fields:["name","args"]}),I=_.extend("Filter"),G=I.extend("FilterAsync",{fields:["name","args","symbol"]}),$=o.extend("KeywordArgs"),z=A.extend("Block",{fields:["name","body"]}),Q=A.extend("Super",{fields:["blockName","symbol"]}),ne=A.extend("TemplateRef",{fields:["template"]}),ye=ne.extend("Extends"),ke=A.extend("Include",{fields:["template","ignoreMissing"]}),se=A.extend("Set",{fields:["targets","value"]}),ue=A.extend("Switch",{fields:["expr","cases","default"]}),X=A.extend("Case",{fields:["cond","body"]}),ee=t.extend("Output"),Z=A.extend("Capture",{fields:["body"]}),de=i.extend("TemplateData"),_e=A.extend("UnaryOp",{fields:["target"]}),Pe=A.extend("BinOp",{fields:["left","right"]}),De=Pe.extend("In"),S=Pe.extend("Is"),U=Pe.extend("Or"),Y=Pe.extend("And"),q=_e.extend("Not"),ae=Pe.extend("Add"),fe=Pe.extend("Concat"),Oe=Pe.extend("Sub"),me=Pe.extend("Mul"),be=Pe.extend("Div"),Qe=Pe.extend("FloorDiv"),Ue=Pe.extend("Mod"),rt=Pe.extend("Pow"),Bt=_e.extend("Neg"),Lt=_e.extend("Pos"),At=A.extend("Compare",{fields:["expr","ops"]}),Kt=A.extend("CompareOperand",{fields:["expr","type"]}),kt=A.extend("CallExtension",{init:function(le,Se,Ee,Te){this.parent(),this.extName=le.__name||le,this.prop=Se,this.args=Ee||new t,this.contentArgs=Te||[],this.autoescape=le.autoescape},fields:["extName","prop","args","contentArgs"]}),jt=kt.extend("CallExtensionAsync");function ct(oe,le,Se){var Ee=oe.split(`
4
+ `);Ee.forEach(function(Te,Re){Te&&(Se&&Re>0||!Se)&&process.stdout.write(" ".repeat(le));var Ge=Re===Ee.length-1?"":`
5
+ `;process.stdout.write(""+Te+Ge)})}function ut(oe,le){if(le=le||0,ct(oe.typename+": ",le),oe instanceof t)ct(`
6
+ `),oe.children.forEach(function(Te){ut(Te,le+2)});else if(oe instanceof kt)ct(oe.extName+"."+oe.prop+`
7
+ `),oe.args&&ut(oe.args,le+2),oe.contentArgs&&oe.contentArgs.forEach(function(Te){ut(Te,le+2)});else{var Se=[],Ee=null;oe.iterFields(function(Te,Re){Te instanceof A?Se.push([Re,Te]):(Ee=Ee||{},Ee[Re]=Te)}),Ee?ct(JSON.stringify(Ee,null,2)+`
8
+ `,null,!0):ct(`
9
+ `),Se.forEach(function(Te){var Re=Te[0],Ge=Te[1];ct("["+Re+"] =>",le+2),ut(Ge,le+4)})}}l.exports={Node:A,Root:n,NodeList:t,Value:F,Literal:i,Symbol:g,Group:f,Array:y,Pair:r,Dict:o,Output:ee,Capture:Z,TemplateData:de,If:s,IfAsync:a,InlineIf:m,For:v,AsyncEach:C,AsyncAll:B,Macro:N,Caller:R,Import:D,FromImport:x,FunCall:_,Filter:I,FilterAsync:G,KeywordArgs:$,Block:z,Super:Q,Extends:ye,Include:ke,Set:se,Switch:ue,Case:X,LookupVal:u,BinOp:Pe,In:De,Is:S,Or:U,And:Y,Not:q,Add:ae,Concat:fe,Sub:Oe,Mul:me,Div:be,FloorDiv:Qe,Mod:Ue,Pow:rt,Neg:Bt,Pos:Lt,Compare:At,CompareOperand:Kt,CallExtension:kt,CallExtensionAsync:jt,printNodes:ut}},function(l,b){},function(l,b,w){function d(i,g){i.prototype=Object.create(g.prototype),i.prototype.constructor=i,k(i,g)}function k(i,g){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(y,r){return y.__proto__=r,y},k(i,g)}var p=w(8),O=w(17),e=w(3),T=w(0),j=T.TemplateError,V=w(2),K=V.Frame,A=w(1),F=A.Obj,t={"==":"==","===":"===","!=":"!=","!==":"!==","<":"<",">":">","<=":"<=",">=":">="},n=function(i){d(g,i);function g(){return i.apply(this,arguments)||this}var f=g.prototype;return f.init=function(r,o){this.templateName=r,this.codebuf=[],this.lastId=0,this.buffer=null,this.bufferStack=[],this._scopeClosers="",this.inBlock=!1,this.throwOnUndefined=o},f.fail=function(r,o,u){throw o!==void 0&&(o+=1),u!==void 0&&(u+=1),new j(r,o,u)},f._pushBuffer=function(){var r=this._tmpid();return this.bufferStack.push(this.buffer),this.buffer=r,this._emit("var "+this.buffer+' = "";'),r},f._popBuffer=function(){this.buffer=this.bufferStack.pop()},f._emit=function(r){this.codebuf.push(r)},f._emitLine=function(r){this._emit(r+`
10
+ `)},f._emitLines=function(){for(var r=this,o=arguments.length,u=new Array(o),s=0;s<o;s++)u[s]=arguments[s];u.forEach(function(a){return r._emitLine(a)})},f._emitFuncBegin=function(r,o){this.buffer="output",this._scopeClosers="",this._emitLine("function "+o+"(env, context, frame, runtime, cb) {"),this._emitLine("var lineno = "+r.lineno+";"),this._emitLine("var colno = "+r.colno+";"),this._emitLine("var "+this.buffer+' = "";'),this._emitLine("try {")},f._emitFuncEnd=function(r){r||this._emitLine("cb(null, "+this.buffer+");"),this._closeScopeLevels(),this._emitLine("} catch (e) {"),this._emitLine(" cb(runtime.handleError(e, lineno, colno));"),this._emitLine("}"),this._emitLine("}"),this.buffer=null},f._addScopeLevel=function(){this._scopeClosers+="})"},f._closeScopeLevels=function(){this._emitLine(this._scopeClosers+";"),this._scopeClosers=""},f._withScopedSyntax=function(r){var o=this._scopeClosers;this._scopeClosers="",r.call(this),this._closeScopeLevels(),this._scopeClosers=o},f._makeCallback=function(r){var o=this._tmpid();return"function("+o+(r?","+r:"")+`) {
11
+ if(`+o+") { cb("+o+"); return; }"},f._tmpid=function(){return this.lastId++,"t_"+this.lastId},f._templateName=function(){return this.templateName==null?"undefined":JSON.stringify(this.templateName)},f._compileChildren=function(r,o){var u=this;r.children.forEach(function(s){u.compile(s,o)})},f._compileAggregate=function(r,o,u,s){var a=this;u&&this._emit(u),r.children.forEach(function(m,v){v>0&&a._emit(","),a.compile(m,o)}),s&&this._emit(s)},f._compileExpression=function(r,o){this.assertType(r,e.Literal,e.Symbol,e.Group,e.Array,e.Dict,e.FunCall,e.Caller,e.Filter,e.LookupVal,e.Compare,e.InlineIf,e.In,e.Is,e.And,e.Or,e.Not,e.Add,e.Concat,e.Sub,e.Mul,e.Div,e.FloorDiv,e.Mod,e.Pow,e.Neg,e.Pos,e.Compare,e.NodeList),this.compile(r,o)},f.assertType=function(r){for(var o=arguments.length,u=new Array(o>1?o-1:0),s=1;s<o;s++)u[s-1]=arguments[s];u.some(function(a){return r instanceof a})||this.fail("assertType: invalid type: "+r.typename,r.lineno,r.colno)},f.compileCallExtension=function(r,o,u){var s=this,a=r.args,m=r.contentArgs,v=typeof r.autoescape=="boolean"?r.autoescape:!0;if(u||this._emit(this.buffer+" += runtime.suppressValue("),this._emit('env.getExtension("'+r.extName+'")["'+r.prop+'"]('),this._emit("context"),(a||m)&&this._emit(","),a&&(a instanceof e.NodeList||this.fail("compileCallExtension: arguments must be a NodeList, use `parser.parseSignature`"),a.children.forEach(function(B,N){s._compileExpression(B,o),(N!==a.children.length-1||m.length)&&s._emit(",")})),m.length&&m.forEach(function(B,N){if(N>0&&s._emit(","),B){s._emitLine("function(cb) {"),s._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}");var R=s._pushBuffer();s._withScopedSyntax(function(){s.compile(B,o),s._emitLine("cb(null, "+R+");")}),s._popBuffer(),s._emitLine("return "+R+";"),s._emitLine("}")}else s._emit("null")}),u){var C=this._tmpid();this._emitLine(", "+this._makeCallback(C)),this._emitLine(this.buffer+" += runtime.suppressValue("+C+", "+v+" && env.opts.autoescape);"),this._addScopeLevel()}else this._emit(")"),this._emit(", "+v+` && env.opts.autoescape);
12
+ `)},f.compileCallExtensionAsync=function(r,o){this.compileCallExtension(r,o,!0)},f.compileNodeList=function(r,o){this._compileChildren(r,o)},f.compileLiteral=function(r){if(typeof r.value=="string"){var o=r.value.replace(/\\/g,"\\\\");o=o.replace(/"/g,'\\"'),o=o.replace(/\n/g,"\\n"),o=o.replace(/\r/g,"\\r"),o=o.replace(/\t/g,"\\t"),o=o.replace(/\u2028/g,"\\u2028"),this._emit('"'+o+'"')}else r.value===null?this._emit("null"):this._emit(r.value.toString())},f.compileSymbol=function(r,o){var u=r.value,s=o.lookup(u);s?this._emit(s):this._emit('runtime.contextOrFrameLookup(context, frame, "'+u+'")')},f.compileGroup=function(r,o){this._compileAggregate(r,o,"(",")")},f.compileArray=function(r,o){this._compileAggregate(r,o,"[","]")},f.compileDict=function(r,o){this._compileAggregate(r,o,"{","}")},f.compilePair=function(r,o){var u=r.key,s=r.value;u instanceof e.Symbol?u=new e.Literal(u.lineno,u.colno,u.value):u instanceof e.Literal&&typeof u.value=="string"||this.fail("compilePair: Dict keys must be strings or names",u.lineno,u.colno),this.compile(u,o),this._emit(": "),this._compileExpression(s,o)},f.compileInlineIf=function(r,o){this._emit("("),this.compile(r.cond,o),this._emit("?"),this.compile(r.body,o),this._emit(":"),r.else_!==null?this.compile(r.else_,o):this._emit('""'),this._emit(")")},f.compileIn=function(r,o){this._emit("runtime.inOperator("),this.compile(r.left,o),this._emit(","),this.compile(r.right,o),this._emit(")")},f.compileIs=function(r,o){var u=r.right.name?r.right.name.value:r.right.value;this._emit('env.getTest("'+u+'").call(context, '),this.compile(r.left,o),r.right.args&&(this._emit(","),this.compile(r.right.args,o)),this._emit(") === true")},f._binOpEmitter=function(r,o,u){this.compile(r.left,o),this._emit(u),this.compile(r.right,o)},f.compileOr=function(r,o){return this._binOpEmitter(r,o," || ")},f.compileAnd=function(r,o){return this._binOpEmitter(r,o," && ")},f.compileAdd=function(r,o){return this._binOpEmitter(r,o," + ")},f.compileConcat=function(r,o){return this._binOpEmitter(r,o,' + "" + ')},f.compileSub=function(r,o){return this._binOpEmitter(r,o," - ")},f.compileMul=function(r,o){return this._binOpEmitter(r,o," * ")},f.compileDiv=function(r,o){return this._binOpEmitter(r,o," / ")},f.compileMod=function(r,o){return this._binOpEmitter(r,o," % ")},f.compileNot=function(r,o){this._emit("!"),this.compile(r.target,o)},f.compileFloorDiv=function(r,o){this._emit("Math.floor("),this.compile(r.left,o),this._emit(" / "),this.compile(r.right,o),this._emit(")")},f.compilePow=function(r,o){this._emit("Math.pow("),this.compile(r.left,o),this._emit(", "),this.compile(r.right,o),this._emit(")")},f.compileNeg=function(r,o){this._emit("-"),this.compile(r.target,o)},f.compilePos=function(r,o){this._emit("+"),this.compile(r.target,o)},f.compileCompare=function(r,o){var u=this;this.compile(r.expr,o),r.ops.forEach(function(s){u._emit(" "+t[s.type]+" "),u.compile(s.expr,o)})},f.compileLookupVal=function(r,o){this._emit("runtime.memberLookup(("),this._compileExpression(r.target,o),this._emit("),"),this._compileExpression(r.val,o),this._emit(")")},f._getNodeName=function(r){switch(r.typename){case"Symbol":return r.value;case"FunCall":return"the return value of ("+this._getNodeName(r.name)+")";case"LookupVal":return this._getNodeName(r.target)+'["'+this._getNodeName(r.val)+'"]';case"Literal":return r.value.toString();default:return"--expression--"}},f.compileFunCall=function(r,o){this._emit("(lineno = "+r.lineno+", colno = "+r.colno+", "),this._emit("runtime.callWrap("),this._compileExpression(r.name,o),this._emit(', "'+this._getNodeName(r.name).replace(/"/g,'\\"')+'", context, '),this._compileAggregate(r.args,o,"[","])"),this._emit(")")},f.compileFilter=function(r,o){var u=r.name;this.assertType(u,e.Symbol),this._emit('env.getFilter("'+u.value+'").call(context, '),this._compileAggregate(r.args,o),this._emit(")")},f.compileFilterAsync=function(r,o){var u=r.name,s=r.symbol.value;this.assertType(u,e.Symbol),o.set(s,s),this._emit('env.getFilter("'+u.value+'").call(context, '),this._compileAggregate(r.args,o),this._emitLine(", "+this._makeCallback(s)),this._addScopeLevel()},f.compileKeywordArgs=function(r,o){this._emit("runtime.makeKeywordArgs("),this.compileDict(r,o),this._emit(")")},f.compileSet=function(r,o){var u=this,s=[];r.targets.forEach(function(a){var m=a.value,v=o.lookup(m);v==null&&(v=u._tmpid(),u._emitLine("var "+v+";")),s.push(v)}),r.value?(this._emit(s.join(" = ")+" = "),this._compileExpression(r.value,o),this._emitLine(";")):(this._emit(s.join(" = ")+" = "),this.compile(r.body,o),this._emitLine(";")),r.targets.forEach(function(a,m){var v=s[m],C=a.value;u._emitLine('frame.set("'+C+'", '+v+", true);"),u._emitLine("if(frame.topLevel) {"),u._emitLine('context.setVariable("'+C+'", '+v+");"),u._emitLine("}"),C.charAt(0)!=="_"&&(u._emitLine("if(frame.topLevel) {"),u._emitLine('context.addExport("'+C+'", '+v+");"),u._emitLine("}"))})},f.compileSwitch=function(r,o){var u=this;this._emit("switch ("),this.compile(r.expr,o),this._emit(") {"),r.cases.forEach(function(s,a){u._emit("case "),u.compile(s.cond,o),u._emit(": "),u.compile(s.body,o),s.body.children.length&&u._emitLine("break;")}),r.default&&(this._emit("default:"),this.compile(r.default,o)),this._emit("}")},f.compileIf=function(r,o,u){var s=this;this._emit("if("),this._compileExpression(r.cond,o),this._emitLine(") {"),this._withScopedSyntax(function(){s.compile(r.body,o),u&&s._emit("cb()")}),r.else_?(this._emitLine(`}
13
+ else {`),this._withScopedSyntax(function(){s.compile(r.else_,o),u&&s._emit("cb()")})):u&&(this._emitLine(`}
14
+ else {`),this._emit("cb()")),this._emitLine("}")},f.compileIfAsync=function(r,o){this._emit("(function(cb) {"),this.compileIf(r,o,!0),this._emit("})("+this._makeCallback()),this._addScopeLevel()},f._emitLoopBindings=function(r,o,u,s){var a=this,m=[{name:"index",val:u+" + 1"},{name:"index0",val:u},{name:"revindex",val:s+" - "+u},{name:"revindex0",val:s+" - "+u+" - 1"},{name:"first",val:u+" === 0"},{name:"last",val:u+" === "+s+" - 1"},{name:"length",val:s}];m.forEach(function(v){a._emitLine('frame.set("loop.'+v.name+'", '+v.val+");")})},f.compileFor=function(r,o){var u=this,s=this._tmpid(),a=this._tmpid(),m=this._tmpid();if(o=o.push(),this._emitLine("frame = frame.push();"),this._emit("var "+m+" = "),this._compileExpression(r.arr,o),this._emitLine(";"),this._emit("if("+m+") {"),this._emitLine(m+" = runtime.fromIterator("+m+");"),r.name instanceof e.Array){this._emitLine("var "+s+";"),this._emitLine("if(runtime.isArray("+m+")) {"),this._emitLine("var "+a+" = "+m+".length;"),this._emitLine("for("+s+"=0; "+s+" < "+m+".length; "+s+"++) {"),r.name.children.forEach(function(x,_){var I=u._tmpid();u._emitLine("var "+I+" = "+m+"["+s+"]["+_+"];"),u._emitLine('frame.set("'+x+'", '+m+"["+s+"]["+_+"]);"),o.set(r.name.children[_].value,I)}),this._emitLoopBindings(r,m,s,a),this._withScopedSyntax(function(){u.compile(r.body,o)}),this._emitLine("}"),this._emitLine("} else {");var v=r.name.children,C=v[0],B=v[1],N=this._tmpid(),R=this._tmpid();o.set(C.value,N),o.set(B.value,R),this._emitLine(s+" = -1;"),this._emitLine("var "+a+" = runtime.keys("+m+").length;"),this._emitLine("for(var "+N+" in "+m+") {"),this._emitLine(s+"++;"),this._emitLine("var "+R+" = "+m+"["+N+"];"),this._emitLine('frame.set("'+C.value+'", '+N+");"),this._emitLine('frame.set("'+B.value+'", '+R+");"),this._emitLoopBindings(r,m,s,a),this._withScopedSyntax(function(){u.compile(r.body,o)}),this._emitLine("}"),this._emitLine("}")}else{var D=this._tmpid();o.set(r.name.value,D),this._emitLine("var "+a+" = "+m+".length;"),this._emitLine("for(var "+s+"=0; "+s+" < "+m+".length; "+s+"++) {"),this._emitLine("var "+D+" = "+m+"["+s+"];"),this._emitLine('frame.set("'+r.name.value+'", '+D+");"),this._emitLoopBindings(r,m,s,a),this._withScopedSyntax(function(){u.compile(r.body,o)}),this._emitLine("}")}this._emitLine("}"),r.else_&&(this._emitLine("if (!"+a+") {"),this.compile(r.else_,o),this._emitLine("}")),this._emitLine("frame = frame.pop();")},f._compileAsyncLoop=function(r,o,u){var s=this,a=this._tmpid(),m=this._tmpid(),v=this._tmpid(),C=u?"asyncAll":"asyncEach";if(o=o.push(),this._emitLine("frame = frame.push();"),this._emit("var "+v+" = runtime.fromIterator("),this._compileExpression(r.arr,o),this._emitLine(");"),r.name instanceof e.Array){var B=r.name.children.length;this._emit("runtime."+C+"("+v+", "+B+", function("),r.name.children.forEach(function(D){s._emit(D.value+",")}),this._emit(a+","+m+",next) {"),r.name.children.forEach(function(D){var x=D.value;o.set(x,x),s._emitLine('frame.set("'+x+'", '+x+");")})}else{var N=r.name.value;this._emitLine("runtime."+C+"("+v+", 1, function("+N+", "+a+", "+m+",next) {"),this._emitLine('frame.set("'+N+'", '+N+");"),o.set(N,N)}this._emitLoopBindings(r,v,a,m),this._withScopedSyntax(function(){var D;u&&(D=s._pushBuffer()),s.compile(r.body,o),s._emitLine("next("+a+(D?","+D:"")+");"),u&&s._popBuffer()});var R=this._tmpid();this._emitLine("}, "+this._makeCallback(R)),this._addScopeLevel(),u&&this._emitLine(this.buffer+" += "+R+";"),r.else_&&(this._emitLine("if (!"+v+".length) {"),this.compile(r.else_,o),this._emitLine("}")),this._emitLine("frame = frame.pop();")},f.compileAsyncEach=function(r,o){this._compileAsyncLoop(r,o)},f.compileAsyncAll=function(r,o){this._compileAsyncLoop(r,o,!0)},f._compileMacro=function(r,o){var u=this,s=[],a=null,m="macro_"+this._tmpid(),v=o!==void 0;r.args.children.forEach(function(x,_){_===r.args.children.length-1&&x instanceof e.Dict?a=x:(u.assertType(x,e.Symbol),s.push(x))});var C=[].concat(s.map(function(x){return"l_"+x.value}),["kwargs"]),B=s.map(function(x){return'"'+x.value+'"'}),N=(a&&a.children||[]).map(function(x){return'"'+x.key.value+'"'}),R;v?R=o.push(!0):R=new K,this._emitLines("var "+m+" = runtime.makeMacro(","["+B.join(", ")+"], ","["+N.join(", ")+"], ","function ("+C.join(", ")+") {","var callerFrame = frame;","frame = "+(v?"frame.push(true);":"new runtime.Frame();"),"kwargs = kwargs || {};",'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {','frame.set("caller", kwargs.caller); }'),s.forEach(function(x){u._emitLine('frame.set("'+x.value+'", l_'+x.value+");"),R.set(x.value,"l_"+x.value)}),a&&a.children.forEach(function(x){var _=x.key.value;u._emit('frame.set("'+_+'", '),u._emit('Object.prototype.hasOwnProperty.call(kwargs, "'+_+'")'),u._emit(' ? kwargs["'+_+'"] : '),u._compileExpression(x.value,R),u._emit(");")});var D=this._pushBuffer();return this._withScopedSyntax(function(){u.compile(r.body,R)}),this._emitLine("frame = "+(v?"frame.pop();":"callerFrame;")),this._emitLine("return new runtime.SafeString("+D+");"),this._emitLine("});"),this._popBuffer(),m},f.compileMacro=function(r,o){var u=this._compileMacro(r),s=r.name.value;o.set(s,u),o.parent?this._emitLine('frame.set("'+s+'", '+u+");"):(r.name.value.charAt(0)!=="_"&&this._emitLine('context.addExport("'+s+'");'),this._emitLine('context.setVariable("'+s+'", '+u+");"))},f.compileCaller=function(r,o){this._emit("(function (){");var u=this._compileMacro(r,o);this._emit("return "+u+";})()")},f._compileGetTemplate=function(r,o,u,s){var a=this._tmpid(),m=this._templateName(),v=this._makeCallback(a),C=u?"true":"false",B=s?"true":"false";return this._emit("env.getTemplate("),this._compileExpression(r.template,o),this._emitLine(", "+C+", "+m+", "+B+", "+v),a},f.compileImport=function(r,o){var u=r.target.value,s=this._compileGetTemplate(r,o,!1,!1);this._addScopeLevel(),this._emitLine(s+".getExported("+(r.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(s)),this._addScopeLevel(),o.set(u,s),o.parent?this._emitLine('frame.set("'+u+'", '+s+");"):this._emitLine('context.setVariable("'+u+'", '+s+");")},f.compileFromImport=function(r,o){var u=this,s=this._compileGetTemplate(r,o,!1,!1);this._addScopeLevel(),this._emitLine(s+".getExported("+(r.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(s)),this._addScopeLevel(),r.names.children.forEach(function(a){var m,v,C=u._tmpid();a instanceof e.Pair?(m=a.key.value,v=a.value.value):(m=a.value,v=m),u._emitLine("if(Object.prototype.hasOwnProperty.call("+s+', "'+m+'")) {'),u._emitLine("var "+C+" = "+s+"."+m+";"),u._emitLine("} else {"),u._emitLine(`cb(new Error("cannot import '`+m+`'")); return;`),u._emitLine("}"),o.set(v,C),o.parent?u._emitLine('frame.set("'+v+'", '+C+");"):u._emitLine('context.setVariable("'+v+'", '+C+");")})},f.compileBlock=function(r){var o=this._tmpid();this.inBlock||this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : '),this._emit('context.getBlock("'+r.name.value+'")'),this.inBlock||this._emit(")"),this._emitLine("(env, context, frame, runtime, "+this._makeCallback(o)),this._emitLine(this.buffer+" += "+o+";"),this._addScopeLevel()},f.compileSuper=function(r,o){var u=r.blockName.value,s=r.symbol.value,a=this._makeCallback(s);this._emitLine('context.getSuper(env, "'+u+'", b_'+u+", frame, runtime, "+a),this._emitLine(s+" = runtime.markSafe("+s+");"),this._addScopeLevel(),o.set(s,s)},f.compileExtends=function(r,o){var u=this._tmpid(),s=this._compileGetTemplate(r,o,!0,!1);this._emitLine("parentTemplate = "+s),this._emitLine("for(var "+u+" in parentTemplate.blocks) {"),this._emitLine("context.addBlock("+u+", parentTemplate.blocks["+u+"]);"),this._emitLine("}"),this._addScopeLevel()},f.compileInclude=function(r,o){this._emitLine("var tasks = [];"),this._emitLine("tasks.push("),this._emitLine("function(callback) {");var u=this._compileGetTemplate(r,o,!1,r.ignoreMissing);this._emitLine("callback(null,"+u+");});"),this._emitLine("});");var s=this._tmpid();this._emitLine("tasks.push("),this._emitLine("function(template, callback){"),this._emitLine("template.render(context.getVariables(), frame, "+this._makeCallback(s)),this._emitLine("callback(null,"+s+");});"),this._emitLine("});"),this._emitLine("tasks.push("),this._emitLine("function(result, callback){"),this._emitLine(this.buffer+" += result;"),this._emitLine("callback(null);"),this._emitLine("});"),this._emitLine("env.waterfall(tasks, function(){"),this._addScopeLevel()},f.compileTemplateData=function(r,o){this.compileLiteral(r,o)},f.compileCapture=function(r,o){var u=this,s=this.buffer;this.buffer="output",this._emitLine("(function() {"),this._emitLine('var output = "";'),this._withScopedSyntax(function(){u.compile(r.body,o)}),this._emitLine("return output;"),this._emitLine("})()"),this.buffer=s},f.compileOutput=function(r,o){var u=this,s=r.children;s.forEach(function(a){a instanceof e.TemplateData?a.value&&(u._emit(u.buffer+" += "),u.compileLiteral(a,o),u._emitLine(";")):(u._emit(u.buffer+" += runtime.suppressValue("),u.throwOnUndefined&&u._emit("runtime.ensureDefined("),u.compile(a,o),u.throwOnUndefined&&u._emit(","+r.lineno+","+r.colno+")"),u._emit(`, env.opts.autoescape);
15
+ `))})},f.compileRoot=function(r,o){var u=this;o&&this.fail("compileRoot: root node can't have frame"),o=new K,this._emitFuncBegin(r,"root"),this._emitLine("var parentTemplate = null;"),this._compileChildren(r,o),this._emitLine("if(parentTemplate) {"),this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);"),this._emitLine("} else {"),this._emitLine("cb(null, "+this.buffer+");"),this._emitLine("}"),this._emitFuncEnd(!0),this.inBlock=!0;var s=[],a=r.findAll(e.Block);a.forEach(function(m,v){var C=m.name.value;if(s.indexOf(C)!==-1)throw new Error('Block "'+C+'" defined more than once.');s.push(C),u._emitFuncBegin(m,"b_"+C);var B=new K;u._emitLine("var frame = frame.push(true);"),u.compile(m.body,B),u._emitFuncEnd()}),this._emitLine("return {"),a.forEach(function(m,v){var C="b_"+m.name.value;u._emitLine(C+": "+C+",")}),this._emitLine(`root: root
16
+ };`)},f.compile=function(r,o){var u=this["compile"+r.typename];u?u.call(this,r,o):this.fail("compile: Cannot compile node: "+r.typename,r.lineno,r.colno)},f.getCode=function(){return this.codebuf.join("")},g}(F);l.exports={compile:function(g,f,y,r,o){o===void 0&&(o={});var u=new n(r,o.throwOnUndefined),s=(y||[]).map(function(m){return m.preprocess}).filter(function(m){return!!m}),a=s.reduce(function(m,v){return v(m)},g);return u.compile(O.transform(p.parse(a,y,o),f,r)),u.getCode()},Compiler:n}},function(l,b,w){function d(T,j){T.prototype=Object.create(j.prototype),T.prototype.constructor=T,k(T,j)}function k(T,j){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(K,A){return K.__proto__=A,K},k(T,j)}var p=w(4),O=w(1),e=O.EmitterObj;l.exports=function(T){d(j,T);function j(){return T.apply(this,arguments)||this}var V=j.prototype;return V.resolve=function(A,F){return p.resolve(p.dirname(A),F)},V.isRelative=function(A){return A.indexOf("./")===0||A.indexOf("../")===0},j}(e)},function(l,b,w){function d(B,N){B.prototype=Object.create(N.prototype),B.prototype.constructor=B,k(B,N)}function k(B,N){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(D,x){return D.__proto__=x,D},k(B,N)}var p=w(12),O=w(15),e=w(0),T=w(5),j=w(18),V=w(10),K=V.FileSystemLoader,A=V.WebLoader,F=V.PrecompiledLoader,t=w(20),n=w(21),i=w(1),g=i.Obj,f=i.EmitterObj,y=w(2),r=y.handleError,o=y.Frame,u=w(22);function s(B,N,R){p(function(){B(N,R)})}var a={type:"code",obj:{root:function(N,R,D,x,_){try{_(null,"")}catch(I){_(r(I,null,null))}}}},m=function(B){d(N,B);function N(){return B.apply(this,arguments)||this}var R=N.prototype;return R.init=function(x,_){var I=this;_=this.opts=_||{},this.opts.dev=!!_.dev,this.opts.autoescape=_.autoescape!=null?_.autoescape:!0,this.opts.throwOnUndefined=!!_.throwOnUndefined,this.opts.trimBlocks=!!_.trimBlocks,this.opts.lstripBlocks=!!_.lstripBlocks,this.loaders=[],x?this.loaders=e.isArray(x)?x:[x]:K?this.loaders=[new K("views")]:A&&(this.loaders=[new A("/views")]),typeof window<"u"&&window.nunjucksPrecompiled&&this.loaders.unshift(new F(window.nunjucksPrecompiled)),this._initLoaders(),this.globals=n(),this.filters={},this.tests={},this.asyncFilters=[],this.extensions={},this.extensionsList=[],e._entries(j).forEach(function(G){var $=G[0],z=G[1];return I.addFilter($,z)}),e._entries(t).forEach(function(G){var $=G[0],z=G[1];return I.addTest($,z)})},R._initLoaders=function(){var x=this;this.loaders.forEach(function(_){_.cache={},typeof _.on=="function"&&(_.on("update",function(I,G){_.cache[I]=null,x.emit("update",I,G,_)}),_.on("load",function(I,G){x.emit("load",I,G,_)}))})},R.invalidateCache=function(){this.loaders.forEach(function(x){x.cache={}})},R.addExtension=function(x,_){return _.__name=x,this.extensions[x]=_,this.extensionsList.push(_),this},R.removeExtension=function(x){var _=this.getExtension(x);_&&(this.extensionsList=e.without(this.extensionsList,_),delete this.extensions[x])},R.getExtension=function(x){return this.extensions[x]},R.hasExtension=function(x){return!!this.extensions[x]},R.addGlobal=function(x,_){return this.globals[x]=_,this},R.getGlobal=function(x){if(typeof this.globals[x]>"u")throw new Error("global not found: "+x);return this.globals[x]},R.addFilter=function(x,_,I){var G=_;return I&&this.asyncFilters.push(x),this.filters[x]=G,this},R.getFilter=function(x){if(!this.filters[x])throw new Error("filter not found: "+x);return this.filters[x]},R.addTest=function(x,_){return this.tests[x]=_,this},R.getTest=function(x){if(!this.tests[x])throw new Error("test not found: "+x);return this.tests[x]},R.resolveTemplate=function(x,_,I){var G=x.isRelative&&_?x.isRelative(I):!1;return G&&x.resolve?x.resolve(_,I):I},R.getTemplate=function(x,_,I,G,$){var z=this,Q=this,ne=null;if(x&&x.raw&&(x=x.raw),e.isFunction(I)&&($=I,I=null,_=_||!1),e.isFunction(_)&&($=_,_=!1),x instanceof C)ne=x;else{if(typeof x!="string")throw new Error("template names must be a string: "+x);for(var ye=0;ye<this.loaders.length;ye++){var ke=this.loaders[ye];if(ne=ke.cache[this.resolveTemplate(ke,I,x)],ne)break}}if(ne)if(_&&ne.compile(),$){$(null,ne);return}else return ne;var se,ue=function(ee,Z){if(!Z&&!ee&&!G&&(ee=new Error("template not found: "+x)),ee)if($){$(ee);return}else throw ee;var de;Z?(de=new C(Z.src,z,Z.path,_),Z.noCache||(Z.loader.cache[x]=de)):de=new C(a,z,"",_),$?$(null,de):se=de};return e.asyncIter(this.loaders,function(X,ee,Z,de){function _e(Pe,De){Pe?de(Pe):De?(De.loader=X,de(null,De)):Z()}x=Q.resolveTemplate(X,I,x),X.async?X.getSource(x,_e):_e(null,X.getSource(x))},ue),se},R.express=function(x){return u(this,x)},R.render=function(x,_,I){e.isFunction(_)&&(I=_,_=null);var G=null;return this.getTemplate(x,function($,z){if($&&I)s(I,$);else{if($)throw $;G=z.render(_,I)}}),G},R.renderString=function(x,_,I,G){e.isFunction(I)&&(G=I,I={}),I=I||{};var $=new C(x,this,I.path);return $.render(_,G)},R.waterfall=function(x,_,I){return O(x,_,I)},N}(f),v=function(B){d(N,B);function N(){return B.apply(this,arguments)||this}var R=N.prototype;return R.init=function(x,_,I){var G=this;this.env=I||new m,this.ctx=e.extend({},x),this.blocks={},this.exported=[],e.keys(_).forEach(function($){G.addBlock($,_[$])})},R.lookup=function(x){return x in this.env.globals&&!(x in this.ctx)?this.env.globals[x]:this.ctx[x]},R.setVariable=function(x,_){this.ctx[x]=_},R.getVariables=function(){return this.ctx},R.addBlock=function(x,_){return this.blocks[x]=this.blocks[x]||[],this.blocks[x].push(_),this},R.getBlock=function(x){if(!this.blocks[x])throw new Error('unknown block "'+x+'"');return this.blocks[x][0]},R.getSuper=function(x,_,I,G,$,z){var Q=e.indexOf(this.blocks[_]||[],I),ne=this.blocks[_][Q+1],ye=this;if(Q===-1||!ne)throw new Error('no super block available for "'+_+'"');ne(x,ye,G,$,z)},R.addExport=function(x){this.exported.push(x)},R.getExported=function(){var x=this,_={};return this.exported.forEach(function(I){_[I]=x.ctx[I]}),_},N}(g),C=function(B){d(N,B);function N(){return B.apply(this,arguments)||this}var R=N.prototype;return R.init=function(x,_,I,G){if(this.env=_||new m,e.isObject(x))switch(x.type){case"code":this.tmplProps=x.obj;break;case"string":this.tmplStr=x.obj;break;default:throw new Error("Unexpected template object type "+x.type+"; expected 'code', or 'string'")}else if(e.isString(x))this.tmplStr=x;else throw new Error("src must be a string or an object describing the source");if(this.path=I,G)try{this._compile()}catch($){throw e._prettifyError(this.path,this.env.opts.dev,$)}else this.compiled=!1},R.render=function(x,_,I){var G=this;typeof x=="function"?(I=x,x={}):typeof _=="function"&&(I=_,_=null);var $=!_;try{this.compile()}catch(se){var z=e._prettifyError(this.path,this.env.opts.dev,se);if(I)return s(I,z);throw z}var Q=new v(x||{},this.blocks,this.env),ne=_?_.push(!0):new o;ne.topLevel=!0;var ye=null,ke=!1;return this.rootRenderFunc(this.env,Q,ne,y,function(se,ue){if(!(ke&&I&&typeof ue<"u"))if(se&&(se=e._prettifyError(G.path,G.env.opts.dev,se),ke=!0),I)$?s(I,se,ue):I(se,ue);else{if(se)throw se;ye=ue}}),ye},R.getExported=function(x,_,I){typeof x=="function"&&(I=x,x={}),typeof _=="function"&&(I=_,_=null);try{this.compile()}catch(z){if(I)return I(z);throw z}var G=_?_.push():new o;G.topLevel=!0;var $=new v(x||{},this.blocks,this.env);this.rootRenderFunc(this.env,$,G,y,function(z){z?I(z,null):I(null,$.getExported())})},R.compile=function(){this.compiled||this._compile()},R._compile=function(){var x;if(this.tmplProps)x=this.tmplProps;else{var _=T.compile(this.tmplStr,this.env.asyncFilters,this.env.extensionsList,this.path,this.env.opts),I=new Function(_);x=I()}this.blocks=this._getBlocks(x),this.rootRenderFunc=x.root,this.compiled=!0},R._getBlocks=function(x){var _={};return e.keys(x).forEach(function(I){I.slice(0,2)==="b_"&&(_[I.slice(2)]=x[I])}),_},N}(g);l.exports={Environment:m,Template:C}},function(l,b,w){function d(V,K){V.prototype=Object.create(K.prototype),V.prototype.constructor=V,k(V,K)}function k(V,K){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(F,t){return F.__proto__=t,F},k(V,K)}var p=w(9),O=w(3),e=w(1).Obj,T=w(0),j=function(V){d(K,V);function K(){return V.apply(this,arguments)||this}var A=K.prototype;return A.init=function(t){this.tokens=t,this.peeked=null,this.breakOnBlocks=null,this.dropLeadingWhitespace=!1,this.extensions=[]},A.nextToken=function(t){var n;if(this.peeked)if(!t&&this.peeked.type===p.TOKEN_WHITESPACE)this.peeked=null;else return n=this.peeked,this.peeked=null,n;if(n=this.tokens.nextToken(),!t)for(;n&&n.type===p.TOKEN_WHITESPACE;)n=this.tokens.nextToken();return n},A.peekToken=function(){return this.peeked=this.peeked||this.nextToken(),this.peeked},A.pushToken=function(t){if(this.peeked)throw new Error("pushToken: can only push one token on between reads");this.peeked=t},A.error=function(t,n,i){if(n===void 0||i===void 0){var g=this.peekToken()||{};n=g.lineno,i=g.colno}return n!==void 0&&(n+=1),i!==void 0&&(i+=1),new T.TemplateError(t,n,i)},A.fail=function(t,n,i){throw this.error(t,n,i)},A.skip=function(t){var n=this.nextToken();return!n||n.type!==t?(this.pushToken(n),!1):!0},A.expect=function(t){var n=this.nextToken();return n.type!==t&&this.fail("expected "+t+", got "+n.type,n.lineno,n.colno),n},A.skipValue=function(t,n){var i=this.nextToken();return!i||i.type!==t||i.value!==n?(this.pushToken(i),!1):!0},A.skipSymbol=function(t){return this.skipValue(p.TOKEN_SYMBOL,t)},A.advanceAfterBlockEnd=function(t){var n;return t||(n=this.peekToken(),n||this.fail("unexpected end of file"),n.type!==p.TOKEN_SYMBOL&&this.fail("advanceAfterBlockEnd: expected symbol token or explicit name to be passed"),t=this.nextToken().value),n=this.nextToken(),n&&n.type===p.TOKEN_BLOCK_END?n.value.charAt(0)==="-"&&(this.dropLeadingWhitespace=!0):this.fail("expected block end in "+t+" statement"),n},A.advanceAfterVariableEnd=function(){var t=this.nextToken();t&&t.type===p.TOKEN_VARIABLE_END?this.dropLeadingWhitespace=t.value.charAt(t.value.length-this.tokens.tags.VARIABLE_END.length-1)==="-":(this.pushToken(t),this.fail("expected variable end"))},A.parseFor=function(){var t=this.peekToken(),n,i;this.skipSymbol("for")?(n=new O.For(t.lineno,t.colno),i="endfor"):this.skipSymbol("asyncEach")?(n=new O.AsyncEach(t.lineno,t.colno),i="endeach"):this.skipSymbol("asyncAll")?(n=new O.AsyncAll(t.lineno,t.colno),i="endall"):this.fail("parseFor: expected for{Async}",t.lineno,t.colno),n.name=this.parsePrimary(),n.name instanceof O.Symbol||this.fail("parseFor: variable name expected for loop");var g=this.peekToken().type;if(g===p.TOKEN_COMMA){var f=n.name;for(n.name=new O.Array(f.lineno,f.colno),n.name.addChild(f);this.skip(p.TOKEN_COMMA);){var y=this.parsePrimary();n.name.addChild(y)}}return this.skipSymbol("in")||this.fail('parseFor: expected "in" keyword for loop',t.lineno,t.colno),n.arr=this.parseExpression(),this.advanceAfterBlockEnd(t.value),n.body=this.parseUntilBlocks(i,"else"),this.skipSymbol("else")&&(this.advanceAfterBlockEnd("else"),n.else_=this.parseUntilBlocks(i)),this.advanceAfterBlockEnd(),n},A.parseMacro=function(){var t=this.peekToken();this.skipSymbol("macro")||this.fail("expected macro");var n=this.parsePrimary(!0),i=this.parseSignature(),g=new O.Macro(t.lineno,t.colno,n,i);return this.advanceAfterBlockEnd(t.value),g.body=this.parseUntilBlocks("endmacro"),this.advanceAfterBlockEnd(),g},A.parseCall=function(){var t=this.peekToken();this.skipSymbol("call")||this.fail("expected call");var n=this.parseSignature(!0)||new O.NodeList,i=this.parsePrimary();this.advanceAfterBlockEnd(t.value);var g=this.parseUntilBlocks("endcall");this.advanceAfterBlockEnd();var f=new O.Symbol(t.lineno,t.colno,"caller"),y=new O.Caller(t.lineno,t.colno,f,n,g),r=i.args.children;r[r.length-1]instanceof O.KeywordArgs||r.push(new O.KeywordArgs);var o=r[r.length-1];return o.addChild(new O.Pair(t.lineno,t.colno,f,y)),new O.Output(t.lineno,t.colno,[i])},A.parseWithContext=function(){var t=this.peekToken(),n=null;return this.skipSymbol("with")?n=!0:this.skipSymbol("without")&&(n=!1),n!==null&&(this.skipSymbol("context")||this.fail("parseFrom: expected context after with/without",t.lineno,t.colno)),n},A.parseImport=function(){var t=this.peekToken();this.skipSymbol("import")||this.fail("parseImport: expected import",t.lineno,t.colno);var n=this.parseExpression();this.skipSymbol("as")||this.fail('parseImport: expected "as" keyword',t.lineno,t.colno);var i=this.parseExpression(),g=this.parseWithContext(),f=new O.Import(t.lineno,t.colno,n,i,g);return this.advanceAfterBlockEnd(t.value),f},A.parseFrom=function(){var t=this.peekToken();this.skipSymbol("from")||this.fail("parseFrom: expected from");var n=this.parseExpression();this.skipSymbol("import")||this.fail("parseFrom: expected import",t.lineno,t.colno);for(var i=new O.NodeList,g;;){var f=this.peekToken();if(f.type===p.TOKEN_BLOCK_END){i.children.length||this.fail("parseFrom: Expected at least one import name",t.lineno,t.colno),f.value.charAt(0)==="-"&&(this.dropLeadingWhitespace=!0),this.nextToken();break}i.children.length>0&&!this.skip(p.TOKEN_COMMA)&&this.fail("parseFrom: expected comma",t.lineno,t.colno);var y=this.parsePrimary();if(y.value.charAt(0)==="_"&&this.fail("parseFrom: names starting with an underscore cannot be imported",y.lineno,y.colno),this.skipSymbol("as")){var r=this.parsePrimary();i.addChild(new O.Pair(y.lineno,y.colno,y,r))}else i.addChild(y);g=this.parseWithContext()}return new O.FromImport(t.lineno,t.colno,n,i,g)},A.parseBlock=function(){var t=this.peekToken();this.skipSymbol("block")||this.fail("parseBlock: expected block",t.lineno,t.colno);var n=new O.Block(t.lineno,t.colno);n.name=this.parsePrimary(),n.name instanceof O.Symbol||this.fail("parseBlock: variable name expected",t.lineno,t.colno),this.advanceAfterBlockEnd(t.value),n.body=this.parseUntilBlocks("endblock"),this.skipSymbol("endblock"),this.skipSymbol(n.name.value);var i=this.peekToken();return i||this.fail("parseBlock: expected endblock, got end of file"),this.advanceAfterBlockEnd(i.value),n},A.parseExtends=function(){var t="extends",n=this.peekToken();this.skipSymbol(t)||this.fail("parseTemplateRef: expected "+t);var i=new O.Extends(n.lineno,n.colno);return i.template=this.parseExpression(),this.advanceAfterBlockEnd(n.value),i},A.parseInclude=function(){var t="include",n=this.peekToken();this.skipSymbol(t)||this.fail("parseInclude: expected "+t);var i=new O.Include(n.lineno,n.colno);return i.template=this.parseExpression(),this.skipSymbol("ignore")&&this.skipSymbol("missing")&&(i.ignoreMissing=!0),this.advanceAfterBlockEnd(n.value),i},A.parseIf=function(){var t=this.peekToken(),n;this.skipSymbol("if")||this.skipSymbol("elif")||this.skipSymbol("elseif")?n=new O.If(t.lineno,t.colno):this.skipSymbol("ifAsync")?n=new O.IfAsync(t.lineno,t.colno):this.fail("parseIf: expected if, elif, or elseif",t.lineno,t.colno),n.cond=this.parseExpression(),this.advanceAfterBlockEnd(t.value),n.body=this.parseUntilBlocks("elif","elseif","else","endif");var i=this.peekToken();switch(i&&i.value){case"elseif":case"elif":n.else_=this.parseIf();break;case"else":this.advanceAfterBlockEnd(),n.else_=this.parseUntilBlocks("endif"),this.advanceAfterBlockEnd();break;case"endif":n.else_=null,this.advanceAfterBlockEnd();break;default:this.fail("parseIf: expected elif, else, or endif, got end of file")}return n},A.parseSet=function(){var t=this.peekToken();this.skipSymbol("set")||this.fail("parseSet: expected set",t.lineno,t.colno);for(var n=new O.Set(t.lineno,t.colno,[]),i;(i=this.parsePrimary())&&(n.targets.push(i),!!this.skip(p.TOKEN_COMMA)););return this.skipValue(p.TOKEN_OPERATOR,"=")?(n.value=this.parseExpression(),this.advanceAfterBlockEnd(t.value)):this.skip(p.TOKEN_BLOCK_END)?(n.body=new O.Capture(t.lineno,t.colno,this.parseUntilBlocks("endset")),n.value=null,this.advanceAfterBlockEnd()):this.fail("parseSet: expected = or block end in set tag",t.lineno,t.colno),n},A.parseSwitch=function(){var t="switch",n="endswitch",i="case",g="default",f=this.peekToken();!this.skipSymbol(t)&&!this.skipSymbol(i)&&!this.skipSymbol(g)&&this.fail('parseSwitch: expected "switch," "case" or "default"',f.lineno,f.colno);var y=this.parseExpression();this.advanceAfterBlockEnd(t),this.parseUntilBlocks(i,g,n);var r=this.peekToken(),o=[],u;do{this.skipSymbol(i);var s=this.parseExpression();this.advanceAfterBlockEnd(t);var a=this.parseUntilBlocks(i,g,n);o.push(new O.Case(r.line,r.col,s,a)),r=this.peekToken()}while(r&&r.value===i);switch(r.value){case g:this.advanceAfterBlockEnd(),u=this.parseUntilBlocks(n),this.advanceAfterBlockEnd();break;case n:this.advanceAfterBlockEnd();break;default:this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.')}return new O.Switch(f.lineno,f.colno,y,o,u)},A.parseStatement=function(){var t=this.peekToken(),n;if(t.type!==p.TOKEN_SYMBOL&&this.fail("tag name expected",t.lineno,t.colno),this.breakOnBlocks&&T.indexOf(this.breakOnBlocks,t.value)!==-1)return null;switch(t.value){case"raw":return this.parseRaw();case"verbatim":return this.parseRaw("verbatim");case"if":case"ifAsync":return this.parseIf();case"for":case"asyncEach":case"asyncAll":return this.parseFor();case"block":return this.parseBlock();case"extends":return this.parseExtends();case"include":return this.parseInclude();case"set":return this.parseSet();case"macro":return this.parseMacro();case"call":return this.parseCall();case"import":return this.parseImport();case"from":return this.parseFrom();case"filter":return this.parseFilterStatement();case"switch":return this.parseSwitch();default:if(this.extensions.length)for(var i=0;i<this.extensions.length;i++){var g=this.extensions[i];if(T.indexOf(g.tags||[],t.value)!==-1)return g.parse(this,O,p)}this.fail("unknown block tag: "+t.value,t.lineno,t.colno)}return n},A.parseRaw=function(t){t=t||"raw";for(var n="end"+t,i=new RegExp("([\\s\\S]*?){%\\s*("+t+"|"+n+")\\s*(?=%})%}"),g=1,f="",y=null,r=this.advanceAfterBlockEnd();(y=this.tokens._extractRegex(i))&&g>0;){var o=y[0],u=y[1],s=y[2];s===t?g+=1:s===n&&(g-=1),g===0?(f+=u,this.tokens.backN(o.length-u.length)):f+=o}return new O.Output(r.lineno,r.colno,[new O.TemplateData(r.lineno,r.colno,f)])},A.parsePostfix=function(t){for(var n,i=this.peekToken();i;){if(i.type===p.TOKEN_LEFT_PAREN)t=new O.FunCall(i.lineno,i.colno,t,this.parseSignature());else if(i.type===p.TOKEN_LEFT_BRACKET)n=this.parseAggregate(),n.children.length>1&&this.fail("invalid index"),t=new O.LookupVal(i.lineno,i.colno,t,n.children[0]);else if(i.type===p.TOKEN_OPERATOR&&i.value==="."){this.nextToken();var g=this.nextToken();g.type!==p.TOKEN_SYMBOL&&this.fail("expected name as lookup value, got "+g.value,g.lineno,g.colno),n=new O.Literal(g.lineno,g.colno,g.value),t=new O.LookupVal(i.lineno,i.colno,t,n)}else break;i=this.peekToken()}return t},A.parseExpression=function(){var t=this.parseInlineIf();return t},A.parseInlineIf=function(){var t=this.parseOr();if(this.skipSymbol("if")){var n=this.parseOr(),i=t;t=new O.InlineIf(t.lineno,t.colno),t.body=i,t.cond=n,this.skipSymbol("else")?t.else_=this.parseOr():t.else_=null}return t},A.parseOr=function(){for(var t=this.parseAnd();this.skipSymbol("or");){var n=this.parseAnd();t=new O.Or(t.lineno,t.colno,t,n)}return t},A.parseAnd=function(){for(var t=this.parseNot();this.skipSymbol("and");){var n=this.parseNot();t=new O.And(t.lineno,t.colno,t,n)}return t},A.parseNot=function(){var t=this.peekToken();return this.skipSymbol("not")?new O.Not(t.lineno,t.colno,this.parseNot()):this.parseIn()},A.parseIn=function(){for(var t=this.parseIs();;){var n=this.nextToken();if(!n)break;var i=n.type===p.TOKEN_SYMBOL&&n.value==="not";if(i||this.pushToken(n),this.skipSymbol("in")){var g=this.parseIs();t=new O.In(t.lineno,t.colno,t,g),i&&(t=new O.Not(t.lineno,t.colno,t))}else{i&&this.pushToken(n);break}}return t},A.parseIs=function(){var t=this.parseCompare();if(this.skipSymbol("is")){var n=this.skipSymbol("not"),i=this.parseCompare();t=new O.Is(t.lineno,t.colno,t,i),n&&(t=new O.Not(t.lineno,t.colno,t))}return t},A.parseCompare=function(){for(var t=["==","===","!=","!==","<",">","<=",">="],n=this.parseConcat(),i=[];;){var g=this.nextToken();if(g)if(t.indexOf(g.value)!==-1)i.push(new O.CompareOperand(g.lineno,g.colno,this.parseConcat(),g.value));else{this.pushToken(g);break}else break}return i.length?new O.Compare(i[0].lineno,i[0].colno,n,i):n},A.parseConcat=function(){for(var t=this.parseAdd();this.skipValue(p.TOKEN_TILDE,"~");){var n=this.parseAdd();t=new O.Concat(t.lineno,t.colno,t,n)}return t},A.parseAdd=function(){for(var t=this.parseSub();this.skipValue(p.TOKEN_OPERATOR,"+");){var n=this.parseSub();t=new O.Add(t.lineno,t.colno,t,n)}return t},A.parseSub=function(){for(var t=this.parseMul();this.skipValue(p.TOKEN_OPERATOR,"-");){var n=this.parseMul();t=new O.Sub(t.lineno,t.colno,t,n)}return t},A.parseMul=function(){for(var t=this.parseDiv();this.skipValue(p.TOKEN_OPERATOR,"*");){var n=this.parseDiv();t=new O.Mul(t.lineno,t.colno,t,n)}return t},A.parseDiv=function(){for(var t=this.parseFloorDiv();this.skipValue(p.TOKEN_OPERATOR,"/");){var n=this.parseFloorDiv();t=new O.Div(t.lineno,t.colno,t,n)}return t},A.parseFloorDiv=function(){for(var t=this.parseMod();this.skipValue(p.TOKEN_OPERATOR,"//");){var n=this.parseMod();t=new O.FloorDiv(t.lineno,t.colno,t,n)}return t},A.parseMod=function(){for(var t=this.parsePow();this.skipValue(p.TOKEN_OPERATOR,"%");){var n=this.parsePow();t=new O.Mod(t.lineno,t.colno,t,n)}return t},A.parsePow=function(){for(var t=this.parseUnary();this.skipValue(p.TOKEN_OPERATOR,"**");){var n=this.parseUnary();t=new O.Pow(t.lineno,t.colno,t,n)}return t},A.parseUnary=function(t){var n=this.peekToken(),i;return this.skipValue(p.TOKEN_OPERATOR,"-")?i=new O.Neg(n.lineno,n.colno,this.parseUnary(!0)):this.skipValue(p.TOKEN_OPERATOR,"+")?i=new O.Pos(n.lineno,n.colno,this.parseUnary(!0)):i=this.parsePrimary(),t||(i=this.parseFilter(i)),i},A.parsePrimary=function(t){var n=this.nextToken(),i,g=null;if(n?n.type===p.TOKEN_STRING?i=n.value:n.type===p.TOKEN_INT?i=parseInt(n.value,10):n.type===p.TOKEN_FLOAT?i=parseFloat(n.value):n.type===p.TOKEN_BOOLEAN?n.value==="true"?i=!0:n.value==="false"?i=!1:this.fail("invalid boolean: "+n.value,n.lineno,n.colno):n.type===p.TOKEN_NONE?i=null:n.type===p.TOKEN_REGEX&&(i=new RegExp(n.value.body,n.value.flags)):this.fail("expected expression, got end of file"),i!==void 0?g=new O.Literal(n.lineno,n.colno,i):n.type===p.TOKEN_SYMBOL?g=new O.Symbol(n.lineno,n.colno,n.value):(this.pushToken(n),g=this.parseAggregate()),t||(g=this.parsePostfix(g)),g)return g;throw this.error("unexpected token: "+n.value,n.lineno,n.colno)},A.parseFilterName=function(){for(var t=this.expect(p.TOKEN_SYMBOL),n=t.value;this.skipValue(p.TOKEN_OPERATOR,".");)n+="."+this.expect(p.TOKEN_SYMBOL).value;return new O.Symbol(t.lineno,t.colno,n)},A.parseFilterArgs=function(t){if(this.peekToken().type===p.TOKEN_LEFT_PAREN){var n=this.parsePostfix(t);return n.args.children}return[]},A.parseFilter=function(t){for(;this.skip(p.TOKEN_PIPE);){var n=this.parseFilterName();t=new O.Filter(n.lineno,n.colno,n,new O.NodeList(n.lineno,n.colno,[t].concat(this.parseFilterArgs(t))))}return t},A.parseFilterStatement=function(){var t=this.peekToken();this.skipSymbol("filter")||this.fail("parseFilterStatement: expected filter");var n=this.parseFilterName(),i=this.parseFilterArgs(n);this.advanceAfterBlockEnd(t.value);var g=new O.Capture(n.lineno,n.colno,this.parseUntilBlocks("endfilter"));this.advanceAfterBlockEnd();var f=new O.Filter(n.lineno,n.colno,n,new O.NodeList(n.lineno,n.colno,[g].concat(i)));return new O.Output(n.lineno,n.colno,[f])},A.parseAggregate=function(){var t=this.nextToken(),n;switch(t.type){case p.TOKEN_LEFT_PAREN:n=new O.Group(t.lineno,t.colno);break;case p.TOKEN_LEFT_BRACKET:n=new O.Array(t.lineno,t.colno);break;case p.TOKEN_LEFT_CURLY:n=new O.Dict(t.lineno,t.colno);break;default:return null}for(;;){var i=this.peekToken().type;if(i===p.TOKEN_RIGHT_PAREN||i===p.TOKEN_RIGHT_BRACKET||i===p.TOKEN_RIGHT_CURLY){this.nextToken();break}if(n.children.length>0&&(this.skip(p.TOKEN_COMMA)||this.fail("parseAggregate: expected comma after expression",t.lineno,t.colno)),n instanceof O.Dict){var g=this.parsePrimary();this.skip(p.TOKEN_COLON)||this.fail("parseAggregate: expected colon after dict key",t.lineno,t.colno);var f=this.parseExpression();n.addChild(new O.Pair(g.lineno,g.colno,g,f))}else{var y=this.parseExpression();n.addChild(y)}}return n},A.parseSignature=function(t,n){var i=this.peekToken();if(!n&&i.type!==p.TOKEN_LEFT_PAREN){if(t)return null;this.fail("expected arguments",i.lineno,i.colno)}i.type===p.TOKEN_LEFT_PAREN&&(i=this.nextToken());for(var g=new O.NodeList(i.lineno,i.colno),f=new O.KeywordArgs(i.lineno,i.colno),y=!1;;){if(i=this.peekToken(),!n&&i.type===p.TOKEN_RIGHT_PAREN){this.nextToken();break}else if(n&&i.type===p.TOKEN_BLOCK_END)break;if(y&&!this.skip(p.TOKEN_COMMA))this.fail("parseSignature: expected comma after expression",i.lineno,i.colno);else{var r=this.parseExpression();this.skipValue(p.TOKEN_OPERATOR,"=")?f.addChild(new O.Pair(r.lineno,r.colno,r,this.parseExpression())):g.addChild(r)}y=!0}return f.children.length&&g.addChild(f),g},A.parseUntilBlocks=function(){for(var t=this.breakOnBlocks,n=arguments.length,i=new Array(n),g=0;g<n;g++)i[g]=arguments[g];this.breakOnBlocks=i;var f=this.parse();return this.breakOnBlocks=t,f},A.parseNodes=function(){for(var t,n=[];t=this.nextToken();)if(t.type===p.TOKEN_DATA){var i=t.value,g=this.peekToken(),f=g&&g.value;this.dropLeadingWhitespace&&(i=i.replace(/^\s*/,""),this.dropLeadingWhitespace=!1),g&&(g.type===p.TOKEN_BLOCK_START&&f.charAt(f.length-1)==="-"||g.type===p.TOKEN_VARIABLE_START&&f.charAt(this.tokens.tags.VARIABLE_START.length)==="-"||g.type===p.TOKEN_COMMENT&&f.charAt(this.tokens.tags.COMMENT_START.length)==="-")&&(i=i.replace(/\s*$/,"")),n.push(new O.Output(t.lineno,t.colno,[new O.TemplateData(t.lineno,t.colno,i)]))}else if(t.type===p.TOKEN_BLOCK_START){this.dropLeadingWhitespace=!1;var y=this.parseStatement();if(!y)break;n.push(y)}else if(t.type===p.TOKEN_VARIABLE_START){var r=this.parseExpression();this.dropLeadingWhitespace=!1,this.advanceAfterVariableEnd(),n.push(new O.Output(t.lineno,t.colno,[r]))}else t.type===p.TOKEN_COMMENT?this.dropLeadingWhitespace=t.value.charAt(t.value.length-this.tokens.tags.COMMENT_END.length-1)==="-":this.fail("Unexpected token at top-level: "+t.type,t.lineno,t.colno);return n},A.parse=function(){return new O.NodeList(0,0,this.parseNodes())},A.parseAsRoot=function(){return new O.Root(0,0,this.parseNodes())},K}(e);l.exports={parse:function(K,A,F){var t=new j(p.lex(K,F));return A!==void 0&&(t.extensions=A),t.parseAsRoot()},Parser:j}},function(l,b,w){var d=w(0),k=`
17
+ \r `,p="()[]{}%*-+~/#,:|.<>=!",O="0123456789",e="{%",T="%}",j="{{",V="}}",K="{#",A="#}",F="string",t="whitespace",n="data",i="block-start",g="block-end",f="variable-start",y="variable-end",r="comment",o="left-paren",u="right-paren",s="left-bracket",a="right-bracket",m="left-curly",v="right-curly",C="operator",B="comma",N="colon",R="tilde",D="pipe",x="int",_="float",I="boolean",G="none",$="symbol",z="special",Q="regex";function ne(ke,se,ue,X){return{type:ke,value:se,lineno:ue,colno:X}}var ye=function(){function ke(ue,X){this.str=ue,this.index=0,this.len=ue.length,this.lineno=0,this.colno=0,this.in_code=!1,X=X||{};var ee=X.tags||{};this.tags={BLOCK_START:ee.blockStart||e,BLOCK_END:ee.blockEnd||T,VARIABLE_START:ee.variableStart||j,VARIABLE_END:ee.variableEnd||V,COMMENT_START:ee.commentStart||K,COMMENT_END:ee.commentEnd||A},this.trimBlocks=!!X.trimBlocks,this.lstripBlocks=!!X.lstripBlocks}var se=ke.prototype;return se.nextToken=function(){var X=this.lineno,ee=this.colno,Z;if(this.in_code){var de=this.current();if(this.isFinished())return null;if(de==='"'||de==="'")return ne(F,this._parseString(de),X,ee);if(Z=this._extract(k))return ne(t,Z,X,ee);if((Z=this._extractString(this.tags.BLOCK_END))||(Z=this._extractString("-"+this.tags.BLOCK_END)))return this.in_code=!1,this.trimBlocks&&(de=this.current(),de===`
18
+ `?this.forward():de==="\r"&&(this.forward(),de=this.current(),de===`
19
+ `?this.forward():this.back())),ne(g,Z,X,ee);if((Z=this._extractString(this.tags.VARIABLE_END))||(Z=this._extractString("-"+this.tags.VARIABLE_END)))return this.in_code=!1,ne(y,Z,X,ee);if(de==="r"&&this.str.charAt(this.index+1)==="/"){this.forwardN(2);for(var _e="";!this.isFinished();)if(this.current()==="/"&&this.previous()!=="\\"){this.forward();break}else _e+=this.current(),this.forward();for(var Pe=["g","i","m","y"],De="";!this.isFinished();){var S=Pe.indexOf(this.current())!==-1;if(S)De+=this.current(),this.forward();else break}return ne(Q,{body:_e,flags:De},X,ee)}else if(p.indexOf(de)!==-1){this.forward();var U=["==","===","!=","!==","<=",">=","//","**"],Y=de+this.current(),q;switch(d.indexOf(U,Y)!==-1&&(this.forward(),de=Y,d.indexOf(U,Y+this.current())!==-1&&(de=Y+this.current(),this.forward())),de){case"(":q=o;break;case")":q=u;break;case"[":q=s;break;case"]":q=a;break;case"{":q=m;break;case"}":q=v;break;case",":q=B;break;case":":q=N;break;case"~":q=R;break;case"|":q=D;break;default:q=C}return ne(q,de,X,ee)}else if(Z=this._extractUntil(k+p),Z.match(/^[-+]?[0-9]+$/))if(this.current()==="."){this.forward();var ae=this._extract(O);return ne(_,Z+"."+ae,X,ee)}else return ne(x,Z,X,ee);else{if(Z.match(/^(true|false)$/))return ne(I,Z,X,ee);if(Z==="none")return ne(G,Z,X,ee);if(Z==="null")return ne(G,Z,X,ee);if(Z)return ne($,Z,X,ee);throw new Error("Unexpected value while parsing: "+Z)}}else{var fe=this.tags.BLOCK_START.charAt(0)+this.tags.VARIABLE_START.charAt(0)+this.tags.COMMENT_START.charAt(0)+this.tags.COMMENT_END.charAt(0);if(this.isFinished())return null;if((Z=this._extractString(this.tags.BLOCK_START+"-"))||(Z=this._extractString(this.tags.BLOCK_START)))return this.in_code=!0,ne(i,Z,X,ee);if((Z=this._extractString(this.tags.VARIABLE_START+"-"))||(Z=this._extractString(this.tags.VARIABLE_START)))return this.in_code=!0,ne(f,Z,X,ee);Z="";var Oe,me=!1;for(this._matches(this.tags.COMMENT_START)&&(me=!0,Z=this._extractString(this.tags.COMMENT_START));(Oe=this._extractUntil(fe))!==null;)if(Z+=Oe,(this._matches(this.tags.BLOCK_START)||this._matches(this.tags.VARIABLE_START)||this._matches(this.tags.COMMENT_START))&&!me){if(this.lstripBlocks&&this._matches(this.tags.BLOCK_START)&&this.colno>0&&this.colno<=Z.length){var be=Z.slice(-this.colno);if(/^\s+$/.test(be)&&(Z=Z.slice(0,-this.colno),!Z.length))return this.nextToken()}break}else if(this._matches(this.tags.COMMENT_END)){if(!me)throw new Error("unexpected end of comment");Z+=this._extractString(this.tags.COMMENT_END);break}else Z+=this.current(),this.forward();if(Oe===null&&me)throw new Error("expected end of comment, got end of file");return ne(me?r:n,Z,X,ee)}},se._parseString=function(X){this.forward();for(var ee="";!this.isFinished()&&this.current()!==X;){var Z=this.current();if(Z==="\\"){switch(this.forward(),this.current()){case"n":ee+=`
20
+ `;break;case"t":ee+=" ";break;case"r":ee+="\r";break;default:ee+=this.current()}this.forward()}else ee+=Z,this.forward()}return this.forward(),ee},se._matches=function(X){if(this.index+X.length>this.len)return null;var ee=this.str.slice(this.index,this.index+X.length);return ee===X},se._extractString=function(X){return this._matches(X)?(this.forwardN(X.length),X):null},se._extractUntil=function(X){return this._extractMatching(!0,X||"")},se._extract=function(X){return this._extractMatching(!1,X)},se._extractMatching=function(X,ee){if(this.isFinished())return null;var Z=ee.indexOf(this.current());if(X&&Z===-1||!X&&Z!==-1){var de=this.current();this.forward();for(var _e=ee.indexOf(this.current());(X&&_e===-1||!X&&_e!==-1)&&!this.isFinished();)de+=this.current(),this.forward(),_e=ee.indexOf(this.current());return de}return""},se._extractRegex=function(X){var ee=this.currentStr().match(X);return ee?(this.forwardN(ee[0].length),ee):null},se.isFinished=function(){return this.index>=this.len},se.forwardN=function(X){for(var ee=0;ee<X;ee++)this.forward()},se.forward=function(){this.index++,this.previous()===`
21
+ `?(this.lineno++,this.colno=0):this.colno++},se.backN=function(X){for(var ee=0;ee<X;ee++)this.back()},se.back=function(){if(this.index--,this.current()===`
22
+ `){this.lineno--;var X=this.src.lastIndexOf(`
23
+ `,this.index-1);X===-1?this.colno=this.index:this.colno=this.index-X}else this.colno--},se.current=function(){return this.isFinished()?"":this.str.charAt(this.index)},se.currentStr=function(){return this.isFinished()?"":this.str.substr(this.index)},se.previous=function(){return this.str.charAt(this.index-1)},ke}();l.exports={lex:function(se,ue){return new ye(se,ue)},TOKEN_STRING:F,TOKEN_WHITESPACE:t,TOKEN_DATA:n,TOKEN_BLOCK_START:i,TOKEN_BLOCK_END:g,TOKEN_VARIABLE_START:f,TOKEN_VARIABLE_END:y,TOKEN_COMMENT:r,TOKEN_LEFT_PAREN:o,TOKEN_RIGHT_PAREN:u,TOKEN_LEFT_BRACKET:s,TOKEN_RIGHT_BRACKET:a,TOKEN_LEFT_CURLY:m,TOKEN_RIGHT_CURLY:v,TOKEN_OPERATOR:C,TOKEN_COMMA:B,TOKEN_COLON:N,TOKEN_TILDE:R,TOKEN_PIPE:D,TOKEN_INT:x,TOKEN_FLOAT:_,TOKEN_BOOLEAN:I,TOKEN_NONE:G,TOKEN_SYMBOL:$,TOKEN_SPECIAL:z,TOKEN_REGEX:Q}},function(l,b,w){function d(j,V){j.prototype=Object.create(V.prototype),j.prototype.constructor=j,k(j,V)}function k(j,V){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(A,F){return A.__proto__=F,A},k(j,V)}var p=w(6),O=w(19),e=O.PrecompiledLoader,T=function(j){d(V,j);function V(A,F){var t;return t=j.call(this)||this,t.baseURL=A||".",F=F||{},t.useCache=!!F.useCache,t.async=!!F.async,t}var K=V.prototype;return K.resolve=function(F,t){throw new Error("relative templates not support in the browser yet")},K.getSource=function(F,t){var n=this,i=this.useCache,g;return this.fetch(this.baseURL+"/"+F,function(f,y){if(f)if(t)t(f.content);else if(f.status===404)g=null;else throw f.content;else g={src:y,path:F,noCache:!i},n.emit("load",F,g),t&&t(null,g)}),g},K.fetch=function(F,t){if(typeof window>"u")throw new Error("WebLoader can only by used in a browser");var n=new XMLHttpRequest,i=!0;n.onreadystatechange=function(){n.readyState===4&&i&&(i=!1,n.status===0||n.status===200?t(null,n.responseText):t({status:n.status,content:n.responseText}))},F+=(F.indexOf("?")===-1?"?":"&")+"s="+new Date().getTime(),n.open("GET",F,this.async),n.send()},V}(p);l.exports={WebLoader:T,PrecompiledLoader:e}},function(l,b,w){var d=w(0),k=w(7),p=k.Environment,O=k.Template,e=w(6),T=w(10),j=w(23),V=w(5),K=w(8),A=w(9),F=w(2),t=w(3),n=w(25),i;function g(f,y){y=y||{},d.isObject(f)&&(y=f,f=null);var r;return T.FileSystemLoader?r=new T.FileSystemLoader(f,{watch:y.watch,noCache:y.noCache}):T.WebLoader&&(r=new T.WebLoader(f,{useCache:y.web&&y.web.useCache,async:y.web&&y.web.async})),i=new p(r,y),y&&y.express&&i.express(y.express),i}l.exports={Environment:p,Template:O,Loader:e,FileSystemLoader:T.FileSystemLoader,NodeResolveLoader:T.NodeResolveLoader,PrecompiledLoader:T.PrecompiledLoader,WebLoader:T.WebLoader,compiler:V,parser:K,lexer:A,runtime:F,lib:d,nodes:t,installJinjaCompat:n,configure:g,reset:function(){i=void 0},compile:function(y,r,o,u){return i||g(),new O(y,r,o,u)},render:function(y,r,o){return i||g(),i.render(y,r,o)},renderString:function(y,r,o){return i||g(),i.renderString(y,r,o)},precompile:j?j.precompile:void 0,precompileString:j?j.precompileString:void 0}},function(l,b,w){var d=w(13),k=[],p=[],O=d.makeRequestCallFromTimer(e);function e(){if(p.length)throw p.shift()}l.exports=T;function T(V){var K;k.length?K=k.pop():K=new j,K.task=V,d(K)}function j(){this.task=null}j.prototype.call=function(){try{this.task.call()}catch(V){T.onerror?T.onerror(V):(p.push(V),O())}finally{this.task=null,k[k.length]=this}}},function(l,b,w){(function(d){l.exports=k;function k(t){p.length||O(),p[p.length]=t}var p=[],O,e=0,T=1024;function j(){for(;e<p.length;){var t=e;if(e=e+1,p[t].call(),e>T){for(var n=0,i=p.length-e;n<i;n++)p[n]=p[n+e];p.length-=e,e=0}}p.length=0,e=0}var V=typeof d<"u"?d:self,K=V.MutationObserver||V.WebKitMutationObserver;typeof K=="function"?O=A(j):O=F(j),k.requestFlush=O;function A(t){var n=1,i=new K(t),g=document.createTextNode("");return i.observe(g,{characterData:!0}),function(){n=-n,g.data=n}}function F(t){return function(){var i=setTimeout(f,0),g=setInterval(f,50);function f(){clearTimeout(i),clearInterval(g),t()}}}k.makeRequestCallFromTimer=F}).call(b,w(14))},function(l,b){var w;w=function(){return this}();try{w=w||Function("return this")()||(0,eval)("this")}catch{typeof window=="object"&&(w=window)}l.exports=w},function(l,b,w){var d,k;(function(p){var O=function(){var K=Array.prototype.slice.call(arguments);typeof K[0]=="function"&&K[0].apply(null,K.splice(1))},e=function(K){typeof setImmediate=="function"?setImmediate(K):typeof process<"u"&&process.nextTick?process.nextTick(K):setTimeout(K,0)},T=function(K){var A=function(F){var t=function(){return K.length&&K[F].apply(null,arguments),t.next()};return t.next=function(){return F<K.length-1?A(F+1):null},t};return A(0)},j=Array.isArray||function(K){return Object.prototype.toString.call(K)==="[object Array]"},V=function(K,A,F){var t=F?e:O;if(A=A||function(){},!j(K)){var n=new Error("First argument to waterfall must be an array of functions");return A(n)}if(!K.length)return A();var i=function(g){return function(f){if(f)A.apply(null,arguments),A=function(){};else{var y=Array.prototype.slice.call(arguments,1),r=g.next();r?y.push(i(r)):y.push(A),t(function(){g.apply(null,y)})}}};i(T(K))()};d=[],k=(function(){return V}).apply(b,d),k!==void 0&&(l.exports=k)})()},function(l,b,w){var d=typeof Reflect=="object"?Reflect:null,k=d&&typeof d.apply=="function"?d.apply:function(a,m,v){return Function.prototype.apply.call(a,m,v)},p;d&&typeof d.ownKeys=="function"?p=d.ownKeys:Object.getOwnPropertySymbols?p=function(a){return Object.getOwnPropertyNames(a).concat(Object.getOwnPropertySymbols(a))}:p=function(a){return Object.getOwnPropertyNames(a)};function O(s){console&&console.warn&&console.warn(s)}var e=Number.isNaN||function(a){return a!==a};function T(){T.init.call(this)}l.exports=T,l.exports.once=r,T.EventEmitter=T,T.prototype._events=void 0,T.prototype._eventsCount=0,T.prototype._maxListeners=void 0;var j=10;function V(s){if(typeof s!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof s)}Object.defineProperty(T,"defaultMaxListeners",{enumerable:!0,get:function(){return j},set:function(s){if(typeof s!="number"||s<0||e(s))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+s+".");j=s}}),T.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},T.prototype.setMaxListeners=function(a){if(typeof a!="number"||a<0||e(a))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+a+".");return this._maxListeners=a,this};function K(s){return s._maxListeners===void 0?T.defaultMaxListeners:s._maxListeners}T.prototype.getMaxListeners=function(){return K(this)},T.prototype.emit=function(a){for(var m=[],v=1;v<arguments.length;v++)m.push(arguments[v]);var C=a==="error",B=this._events;if(B!==void 0)C=C&&B.error===void 0;else if(!C)return!1;if(C){var N;if(m.length>0&&(N=m[0]),N instanceof Error)throw N;var R=new Error("Unhandled error."+(N?" ("+N.message+")":""));throw R.context=N,R}var D=B[a];if(D===void 0)return!1;if(typeof D=="function")k(D,this,m);else for(var x=D.length,_=g(D,x),v=0;v<x;++v)k(_[v],this,m);return!0};function A(s,a,m,v){var C,B,N;if(V(m),B=s._events,B===void 0?(B=s._events=Object.create(null),s._eventsCount=0):(B.newListener!==void 0&&(s.emit("newListener",a,m.listener?m.listener:m),B=s._events),N=B[a]),N===void 0)N=B[a]=m,++s._eventsCount;else if(typeof N=="function"?N=B[a]=v?[m,N]:[N,m]:v?N.unshift(m):N.push(m),C=K(s),C>0&&N.length>C&&!N.warned){N.warned=!0;var R=new Error("Possible EventEmitter memory leak detected. "+N.length+" "+String(a)+" listeners added. Use emitter.setMaxListeners() to increase limit");R.name="MaxListenersExceededWarning",R.emitter=s,R.type=a,R.count=N.length,O(R)}return s}T.prototype.addListener=function(a,m){return A(this,a,m,!1)},T.prototype.on=T.prototype.addListener,T.prototype.prependListener=function(a,m){return A(this,a,m,!0)};function F(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function t(s,a,m){var v={fired:!1,wrapFn:void 0,target:s,type:a,listener:m},C=F.bind(v);return C.listener=m,v.wrapFn=C,C}T.prototype.once=function(a,m){return V(m),this.on(a,t(this,a,m)),this},T.prototype.prependOnceListener=function(a,m){return V(m),this.prependListener(a,t(this,a,m)),this},T.prototype.removeListener=function(a,m){var v,C,B,N,R;if(V(m),C=this._events,C===void 0)return this;if(v=C[a],v===void 0)return this;if(v===m||v.listener===m)--this._eventsCount===0?this._events=Object.create(null):(delete C[a],C.removeListener&&this.emit("removeListener",a,v.listener||m));else if(typeof v!="function"){for(B=-1,N=v.length-1;N>=0;N--)if(v[N]===m||v[N].listener===m){R=v[N].listener,B=N;break}if(B<0)return this;B===0?v.shift():f(v,B),v.length===1&&(C[a]=v[0]),C.removeListener!==void 0&&this.emit("removeListener",a,R||m)}return this},T.prototype.off=T.prototype.removeListener,T.prototype.removeAllListeners=function(a){var m,v,C;if(v=this._events,v===void 0)return this;if(v.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):v[a]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete v[a]),this;if(arguments.length===0){var B=Object.keys(v),N;for(C=0;C<B.length;++C)N=B[C],N!=="removeListener"&&this.removeAllListeners(N);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(m=v[a],typeof m=="function")this.removeListener(a,m);else if(m!==void 0)for(C=m.length-1;C>=0;C--)this.removeListener(a,m[C]);return this};function n(s,a,m){var v=s._events;if(v===void 0)return[];var C=v[a];return C===void 0?[]:typeof C=="function"?m?[C.listener||C]:[C]:m?y(C):g(C,C.length)}T.prototype.listeners=function(a){return n(this,a,!0)},T.prototype.rawListeners=function(a){return n(this,a,!1)},T.listenerCount=function(s,a){return typeof s.listenerCount=="function"?s.listenerCount(a):i.call(s,a)},T.prototype.listenerCount=i;function i(s){var a=this._events;if(a!==void 0){var m=a[s];if(typeof m=="function")return 1;if(m!==void 0)return m.length}return 0}T.prototype.eventNames=function(){return this._eventsCount>0?p(this._events):[]};function g(s,a){for(var m=new Array(a),v=0;v<a;++v)m[v]=s[v];return m}function f(s,a){for(;a+1<s.length;a++)s[a]=s[a+1];s.pop()}function y(s){for(var a=new Array(s.length),m=0;m<a.length;++m)a[m]=s[m].listener||s[m];return a}function r(s,a){return new Promise(function(m,v){function C(N){s.removeListener(a,B),v(N)}function B(){typeof s.removeListener=="function"&&s.removeListener("error",C),m([].slice.call(arguments))}u(s,a,B,{once:!0}),a!=="error"&&o(s,C,{once:!0})})}function o(s,a,m){typeof s.on=="function"&&u(s,"error",a,m)}function u(s,a,m,v){if(typeof s.on=="function")v.once?s.once(a,m):s.on(a,m);else if(typeof s.addEventListener=="function")s.addEventListener(a,function C(B){v.once&&s.removeEventListener(a,C),m(B)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof s)}},function(l,b,w){var d=w(3),k=w(0),p=0;function O(){return"hole_"+p++}function e(i,g){for(var f=null,y=0;y<i.length;y++){var r=g(i[y]);r!==i[y]&&(f||(f=i.slice()),f[y]=r)}return f||i}function T(i,g,f){if(!(i instanceof d.Node))return i;if(!f){var y=g(i);if(y&&y!==i)return y}if(i instanceof d.NodeList){var r=e(i.children,function(m){return T(m,g,f)});r!==i.children&&(i=new d[i.typename](i.lineno,i.colno,r))}else if(i instanceof d.CallExtension){var o=T(i.args,g,f),u=e(i.contentArgs,function(m){return T(m,g,f)});(o!==i.args||u!==i.contentArgs)&&(i=new d[i.typename](i.extName,i.prop,o,u))}else{var s=i.fields.map(function(m){return i[m]}),a=e(s,function(m){return T(m,g,f)});a!==s&&(i=new d[i.typename](i.lineno,i.colno),a.forEach(function(m,v){i[i.fields[v]]=m}))}return f&&g(i)||i}function j(i,g){return T(i,g,!0)}function V(i,g,f){var y=[],r=j(f?i[f]:i,function(o){var u;return o instanceof d.Block?o:((o instanceof d.Filter&&k.indexOf(g,o.name.value)!==-1||o instanceof d.CallExtensionAsync)&&(u=new d.Symbol(o.lineno,o.colno,O()),y.push(new d.FilterAsync(o.lineno,o.colno,o.name,o.args,u))),u)});return f?i[f]=r:i=r,y.length?(y.push(i),new d.NodeList(i.lineno,i.colno,y)):i}function K(i,g){return j(i,function(f){return f instanceof d.Output?V(f,g):f instanceof d.Set?V(f,g,"value"):f instanceof d.For?V(f,g,"arr"):f instanceof d.If?V(f,g,"cond"):f instanceof d.CallExtension?V(f,g,"args"):void 0})}function A(i){return T(i,function(g){if(g instanceof d.Block){var f=!1,y=O();g.body=T(g.body,function(r){if(r instanceof d.FunCall&&r.name.value==="super")return f=!0,new d.Symbol(r.lineno,r.colno,y)}),f&&g.body.children.unshift(new d.Super(0,0,g.name,new d.Symbol(0,0,y)))}})}function F(i){return j(i,function(g){if(!(!(g instanceof d.If)&&!(g instanceof d.For))){var f=!1;if(T(g,function(y){if(y instanceof d.FilterAsync||y instanceof d.IfAsync||y instanceof d.AsyncEach||y instanceof d.AsyncAll||y instanceof d.CallExtensionAsync)return f=!0,y}),f){if(g instanceof d.If)return new d.IfAsync(g.lineno,g.colno,g.cond,g.body,g.else_);if(g instanceof d.For&&!(g instanceof d.AsyncAll))return new d.AsyncEach(g.lineno,g.colno,g.arr,g.name,g.body,g.else_)}}})}function t(i,g){return F(A(K(i,g)))}function n(i,g){return t(i,g||[])}l.exports={transform:n}},function(l,p,w){var d=w(0),k=w(2),p=l.exports={};function O(S,U){return S==null||S===!1?U:S}p.abs=Math.abs;function e(S){return S!==S}function T(S,U,Y){var q,ae=[],fe=[];for(q=0;q<S.length;q++)q%U===0&&fe.length&&(ae.push(fe),fe=[]),fe.push(S[q]);if(fe.length){if(Y)for(q=fe.length;q<U;q++)fe.push(Y);ae.push(fe)}return ae}p.batch=T;function j(S){S=O(S,"");var U=S.toLowerCase();return k.copySafeness(S,U.charAt(0).toUpperCase()+U.slice(1))}p.capitalize=j;function V(S,U){if(S=O(S,""),U=U||80,S.length>=U)return S;var Y=U-S.length,q=d.repeat(" ",Y/2-Y%2),ae=d.repeat(" ",Y/2);return k.copySafeness(S,q+S+ae)}p.center=V;function K(S,U,Y){return Y?S||U:S!==void 0?S:U}p.default=K;function A(S,U,Y){if(!d.isObject(S))throw new d.TemplateError("dictsort filter: val must be an object");var q=[];for(var ae in S)q.push([ae,S[ae]]);var fe;if(Y===void 0||Y==="key")fe=0;else if(Y==="value")fe=1;else throw new d.TemplateError("dictsort filter: You can only sort by either key or value");return q.sort(function(Oe,me){var be=Oe[fe],Qe=me[fe];return U||(d.isString(be)&&(be=be.toUpperCase()),d.isString(Qe)&&(Qe=Qe.toUpperCase())),be>Qe?1:be===Qe?0:-1}),q}p.dictsort=A;function F(S,U){return JSON.stringify(S,null,U)}p.dump=F;function t(S){return S instanceof k.SafeString?S:(S=S??"",k.markSafe(d.escape(S.toString())))}p.escape=t;function n(S){return S instanceof k.SafeString?S:(S=S??"",k.markSafe(S.toString()))}p.safe=n;function i(S){return S[0]}p.first=i;function g(S){return S=S??"",k.markSafe(d.escape(S.toString()))}p.forceescape=g;function f(S,U){return d.groupBy(S,U,this.env.opts.throwOnUndefined)}p.groupby=f;function y(S,U,Y){if(S=O(S,""),S==="")return"";U=U||4;var q=S.split(`
24
+ `),ae=d.repeat(" ",U),fe=q.map(function(Oe,me){return me===0&&!Y?Oe:""+ae+Oe}).join(`
25
+ `);return k.copySafeness(S,fe)}p.indent=y;function r(S,U,Y){return U=U||"",Y&&(S=d.map(S,function(q){return q[Y]})),S.join(U)}p.join=r;function o(S){return S[S.length-1]}p.last=o;function u(S){var U=O(S,"");return U!==void 0?typeof Map=="function"&&U instanceof Map||typeof Set=="function"&&U instanceof Set?U.size:d.isObject(U)&&!(U instanceof k.SafeString)?d.keys(U).length:U.length:0}p.length=u;function s(S){if(d.isString(S))return S.split("");if(d.isObject(S))return d._entries(S||{}).map(function(U){var Y=U[0],q=U[1];return{key:Y,value:q}});if(d.isArray(S))return S;throw new d.TemplateError("list filter: type not iterable")}p.list=s;function a(S){return S=O(S,""),S.toLowerCase()}p.lower=a;function m(S){return S==null?"":k.copySafeness(S,S.replace(/\r\n|\n/g,`<br />
26
+ `))}p.nl2br=m;function v(S){return S[Math.floor(Math.random()*S.length)]}p.random=v;function C(S){function U(Y,q,ae){q===void 0&&(q="truthy");var fe=this,Oe=fe.env.getTest(q);return d.toArray(Y).filter(function(be){return Oe.call(fe,be,ae)===S})}return U}p.reject=C(!1);function B(S,U){return S.filter(function(Y){return!Y[U]})}p.rejectattr=B,p.select=C(!0);function N(S,U){return S.filter(function(Y){return!!Y[U]})}p.selectattr=N;function R(S,U,Y,q){var ae=S;if(U instanceof RegExp)return S.replace(U,Y);typeof q>"u"&&(q=-1);var fe="";if(typeof U=="number")U=""+U;else if(typeof U!="string")return S;if(typeof S=="number"&&(S=""+S),typeof S!="string"&&!(S instanceof k.SafeString))return S;if(U==="")return fe=Y+S.split("").join(Y)+Y,k.copySafeness(S,fe);var Oe=S.indexOf(U);if(q===0||Oe===-1)return S;for(var me=0,be=0;Oe>-1&&(q===-1||be<q);)fe+=S.substring(me,Oe)+Y,me=Oe+U.length,be++,Oe=S.indexOf(U,me);return me<S.length&&(fe+=S.substring(me)),k.copySafeness(ae,fe)}p.replace=R;function D(S){var U;return d.isString(S)?U=s(S):U=d.map(S,function(Y){return Y}),U.reverse(),d.isString(S)?k.copySafeness(S,U.join("")):U}p.reverse=D;function x(S,U,Y){U=U||0;var q=Math.pow(10,U),ae;return Y==="ceil"?ae=Math.ceil:Y==="floor"?ae=Math.floor:ae=Math.round,ae(S*q)/q}p.round=x;function _(S,U,Y){for(var q=Math.floor(S.length/U),ae=S.length%U,fe=[],Oe=0,me=0;me<U;me++){var be=Oe+me*q;me<ae&&Oe++;var Qe=Oe+(me+1)*q,Ue=S.slice(be,Qe);Y&&me>=ae&&Ue.push(Y),fe.push(Ue)}return fe}p.slice=_;function I(S,U,Y){return Y===void 0&&(Y=0),U&&(S=d.map(S,function(q){return q[U]})),Y+S.reduce(function(q,ae){return q+ae},0)}p.sum=I,p.sort=k.makeMacro(["value","reverse","case_sensitive","attribute"],[],function(U,Y,q,ae){var fe=this,Oe=d.map(U,function(be){return be}),me=d.getAttrGetter(ae);return Oe.sort(function(be,Qe){var Ue=ae?me(be):be,rt=ae?me(Qe):Qe;if(fe.env.opts.throwOnUndefined&&ae&&(Ue===void 0||rt===void 0))throw new TypeError('sort: attribute "'+ae+'" resolved to undefined');return!q&&d.isString(Ue)&&d.isString(rt)&&(Ue=Ue.toLowerCase(),rt=rt.toLowerCase()),Ue<rt?Y?1:-1:Ue>rt?Y?-1:1:0}),Oe});function G(S){return k.copySafeness(S,S)}p.string=G;function $(S,U){S=O(S,"");var Y=/<\/?([a-z][a-z0-9]*)\b[^>]*>|<!--[\s\S]*?-->/gi,q=Q(S.replace(Y,"")),ae="";return U?ae=q.replace(/^ +| +$/gm,"").replace(/ +/g," ").replace(/(\r\n)/g,`
27
+ `).replace(/\n\n\n+/g,`
28
+
29
+ `):ae=q.replace(/\s+/gi," "),k.copySafeness(S,ae)}p.striptags=$;function z(S){S=O(S,"");var U=S.split(" ").map(function(Y){return j(Y)});return k.copySafeness(S,U.join(" "))}p.title=z;function Q(S){return k.copySafeness(S,S.replace(/^\s*|\s*$/g,""))}p.trim=Q;function ne(S,U,Y,q){var ae=S;if(S=O(S,""),U=U||255,S.length<=U)return S;if(Y)S=S.substring(0,U);else{var fe=S.lastIndexOf(" ",U);fe===-1&&(fe=U),S=S.substring(0,fe)}return S+=q??"...",k.copySafeness(ae,S)}p.truncate=ne;function ye(S){return S=O(S,""),S.toUpperCase()}p.upper=ye;function ke(S){var U=encodeURIComponent;if(d.isString(S))return U(S);var Y=d.isArray(S)?S:d._entries(S);return Y.map(function(q){var ae=q[0],fe=q[1];return U(ae)+"="+U(fe)}).join("&")}p.urlencode=ke;var se=/^(?:\(|<|&lt;)?(.*?)(?:\.|,|\)|\n|&gt;)?$/,ue=/^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i,X=/^https?:\/\/.*$/,ee=/^www\./,Z=/\.(?:org|net|com)(?:\:|\/|$)/;function de(S,U,Y){e(U)&&(U=1/0);var q=Y===!0?' rel="nofollow"':"",ae=S.split(/(\s+)/).filter(function(fe){return fe&&fe.length}).map(function(fe){var Oe=fe.match(se),me=Oe?Oe[1]:fe,be=me.substr(0,U);return X.test(me)?'<a href="'+me+'"'+q+">"+be+"</a>":ee.test(me)?'<a href="http://'+me+'"'+q+">"+be+"</a>":ue.test(me)?'<a href="mailto:'+me+'">'+me+"</a>":Z.test(me)?'<a href="http://'+me+'"'+q+">"+be+"</a>":fe});return ae.join("")}p.urlize=de;function _e(S){S=O(S,"");var U=S?S.match(/\w+/g):null;return U?U.length:null}p.wordcount=_e;function Pe(S,U){var Y=parseFloat(S);return e(Y)?U:Y}p.float=Pe;var De=k.makeMacro(["value","default","base"],[],function(U,Y,q){q===void 0&&(q=10);var ae=parseInt(U,q);return e(ae)?Y:ae});p.int=De,p.d=p.default,p.e=p.escape},function(l,b,w){function d(e,T){e.prototype=Object.create(T.prototype),e.prototype.constructor=e,k(e,T)}function k(e,T){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(V,K){return V.__proto__=K,V},k(e,T)}var p=w(6),O=function(e){d(T,e);function T(V){var K;return K=e.call(this)||this,K.precompiled=V||{},K}var j=T.prototype;return j.getSource=function(K){return this.precompiled[K]?{src:{type:"code",obj:this.precompiled[K]},path:K}:null},T}(p);l.exports={PrecompiledLoader:O}},function(l,b,w){var d=w(2).SafeString;function k(v){return typeof v=="function"}b.callable=k;function p(v){return v!==void 0}b.defined=p;function O(v,C){return v%C===0}b.divisibleby=O;function e(v){return v instanceof d}b.escaped=e;function T(v,C){return v===C}b.equalto=T,b.eq=b.equalto,b.sameas=b.equalto;function j(v){return v%2===0}b.even=j;function V(v){return!v}b.falsy=V;function K(v,C){return v>=C}b.ge=K;function A(v,C){return v>C}b.greaterthan=A,b.gt=b.greaterthan;function F(v,C){return v<=C}b.le=F;function t(v,C){return v<C}b.lessthan=t,b.lt=b.lessthan;function n(v){return v.toLowerCase()===v}b.lower=n;function i(v,C){return v!==C}b.ne=i;function g(v){return v===null}b.null=g;function f(v){return typeof v=="number"}b.number=f;function y(v){return v%2===1}b.odd=y;function r(v){return typeof v=="string"}b.string=r;function o(v){return!!v}b.truthy=o;function u(v){return v===void 0}b.undefined=u;function s(v){return v.toUpperCase()===v}b.upper=s;function a(v){return typeof Symbol<"u"?!!v[Symbol.iterator]:Array.isArray(v)||typeof v=="string"}b.iterable=a;function m(v){var C=v!=null&&typeof v=="object"&&!Array.isArray(v);return Set?C&&!(v instanceof Set):C}b.mapping=m},function(l,b,w){function d(O){var e=-1;return{current:null,reset:function(){e=-1,this.current=null},next:function(){return e++,e>=O.length&&(e=0),this.current=O[e],this.current}}}function k(O){O=O||",";var e=!0;return function(){var T=e?"":O;return e=!1,T}}function p(){return{range:function(e,T,j){typeof T>"u"?(T=e,e=0,j=1):j||(j=1);var V=[];if(j>0)for(var K=e;K<T;K+=j)V.push(K);else for(var A=e;A>T;A+=j)V.push(A);return V},cycler:function(){return d(Array.prototype.slice.call(arguments))},joiner:function(e){return k(e)}}}l.exports=p},function(l,b,w){var d=w(4);l.exports=function(p,O){function e(T,j){if(this.name=T,this.path=T,this.defaultEngine=j.defaultEngine,this.ext=d.extname(T),!this.ext&&!this.defaultEngine)throw new Error("No default engine was specified and no extension was provided.");this.ext||(this.name+=this.ext=(this.defaultEngine[0]!=="."?".":"")+this.defaultEngine)}return e.prototype.render=function(j,V){p.render(this.name,j,V)},O.set("view",e),O.set("nunjucksEnv",p),p}},function(l,b,w){var d=w(4),k=w(4),p=w(0),O=p._prettifyError,e=w(5),T=w(7),j=T.Environment,V=w(24);function K(n,i){return Array.isArray(i)?i.some(function(g){return n.match(g)}):!1}function A(n,i){i=i||{},i.isString=!0;var g=i.env||new j([]),f=i.wrapper||V;if(!i.name)throw new Error('the "name" option is required when compiling a string');return f([t(n,i.name,g)],i)}function F(n,i){i=i||{};var g=i.env||new j([]),f=i.wrapper||V;if(i.isString)return A(n,i);var y=d.existsSync(n)&&d.statSync(n),r=[],o=[];function u(m){d.readdirSync(m).forEach(function(v){var C=k.join(m,v),B=C.substr(k.join(n,"/").length),N=d.statSync(C);N&&N.isDirectory()?(B+="/",K(B,i.exclude)||u(C)):K(B,i.include)&&o.push(C)})}if(y.isFile())r.push(t(d.readFileSync(n,"utf-8"),i.name||n,g));else if(y.isDirectory()){u(n);for(var s=0;s<o.length;s++){var a=o[s].replace(k.join(n,"/"),"");try{r.push(t(d.readFileSync(o[s],"utf-8"),a,g))}catch(m){if(i.force)console.error(m);else throw m}}}return f(r,i)}function t(n,i,g){g=g||new j([]);var f=g.asyncFilters,y=g.extensionsList,r;i=i.replace(/\\/g,"/");try{r=e.compile(n,f,y,i,g.opts)}catch(o){throw O(i,!1,o)}return{name:i,template:r}}l.exports={precompile:F,precompileString:A}},function(l,b,w){function d(k,p){var O="";p=p||{};for(var e=0;e<k.length;e++){var T=JSON.stringify(k[e].name),j=k[e].template;O+="(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["+T+`] = (function() {
30
+ `+j+`
31
+ })();
32
+ `,p.asFunction&&(O+="return function(ctx, cb) { return nunjucks.render("+T+`, ctx, cb); }
33
+ `),O+=`})();
34
+ `}return O}l.exports=d},function(l,b,w){function d(){var k=this.runtime,p=this.lib,O=this.compiler.Compiler,e=this.parser.Parser,T=this.nodes,j=this.lexer,V=k.contextOrFrameLookup,K=k.memberLookup,A,F;O&&(A=O.prototype.assertType),e&&(F=e.prototype.parseAggregate);function t(){k.contextOrFrameLookup=V,k.memberLookup=K,O&&(O.prototype.assertType=A),e&&(e.prototype.parseAggregate=F)}k.contextOrFrameLookup=function(u,s,a){var m=V.apply(this,arguments);if(m!==void 0)return m;switch(a){case"True":return!0;case"False":return!1;case"None":return null;default:return}};function n(o){return{index:o.index,lineno:o.lineno,colno:o.colno}}if(T&&O&&e){var i=T.Node.extend("Slice",{fields:["start","stop","step"],init:function(u,s,a,m,v){a=a||new T.Literal(u,s,null),m=m||new T.Literal(u,s,null),v=v||new T.Literal(u,s,1),this.parent(u,s,a,m,v)}});O.prototype.assertType=function(u){u instanceof i||A.apply(this,arguments)},O.prototype.compileSlice=function(u,s){this._emit("("),this._compileExpression(u.start,s),this._emit("),("),this._compileExpression(u.stop,s),this._emit("),("),this._compileExpression(u.step,s),this._emit(")")},e.prototype.parseAggregate=function(){var u=this,s=n(this.tokens);s.colno--,s.index--;try{return F.apply(this)}catch(D){var a=n(this.tokens),m=function(){return p._assign(u.tokens,a),D};p._assign(this.tokens,s),this.peeked=!1;var v=this.peekToken();if(v.type!==j.TOKEN_LEFT_BRACKET)throw m();this.nextToken();for(var C=new i(v.lineno,v.colno),B=!1,N=0;N<=C.fields.length&&!this.skip(j.TOKEN_RIGHT_BRACKET);N++){if(N===C.fields.length)if(B)this.fail("parseSlice: too many slice components",v.lineno,v.colno);else break;if(this.skip(j.TOKEN_COLON))B=!0;else{var R=C.fields[N];C[R]=this.parseExpression(),B=this.skip(j.TOKEN_COLON)||B}}if(!B)throw m();return new T.Array(v.lineno,v.colno,[C])}}}function g(o,u,s,a){o=o||[],u===null&&(u=a<0?o.length-1:0),s===null?s=a<0?-1:o.length:s<0&&(s+=o.length),u<0&&(u+=o.length);for(var m=[],v=u;!(v<0||v>o.length||a>0&&v>=s||a<0&&v<=s);v+=a)m.push(k.memberLookup(o,v));return m}function f(o,u){return Object.prototype.hasOwnProperty.call(o,u)}var y={pop:function(u){if(u===void 0)return this.pop();if(u>=this.length||u<0)throw new Error("KeyError");return this.splice(u,1)},append:function(u){return this.push(u)},remove:function(u){for(var s=0;s<this.length;s++)if(this[s]===u)return this.splice(s,1);throw new Error("ValueError")},count:function(u){for(var s=0,a=0;a<this.length;a++)this[a]===u&&s++;return s},index:function(u){var s;if((s=this.indexOf(u))===-1)throw new Error("ValueError");return s},find:function(u){return this.indexOf(u)},insert:function(u,s){return this.splice(u,0,s)}},r={items:function(){return p._entries(this)},values:function(){return p._values(this)},keys:function(){return p.keys(this)},get:function(u,s){var a=this[u];return a===void 0&&(a=s),a},has_key:function(u){return f(this,u)},pop:function(u,s){var a=this[u];if(a===void 0&&s!==void 0)a=s;else{if(a===void 0)throw new Error("KeyError");delete this[u]}return a},popitem:function(){var u=p.keys(this);if(!u.length)throw new Error("KeyError");var s=u[0],a=this[s];return delete this[s],[s,a]},setdefault:function(u,s){return s===void 0&&(s=null),u in this||(this[u]=s),this[u]},update:function(u){return p._assign(this,u),null}};return r.iteritems=r.items,r.itervalues=r.values,r.iterkeys=r.keys,k.memberLookup=function(u,s,a){return arguments.length===4?g.apply(this,arguments):(u=u||{},p.isArray(u)&&f(y,s)?y[s].bind(u):p.isObject(u)&&f(r,s)?r[s].bind(u):K.apply(this,arguments))},t}l.exports=d}])})})(Zn);var Ui=Zn.exports;const Ft=hi(Ui);var Gi=ge('<label class="absolute right-6 top-1 z-10 inline-flex cursor-pointer items-center gap-2 bg-transparent text-rc-gray-100 focus:outline-none focus:ring-0"><input type="checkbox" class="checkbox svelte-1br1z62"/> <span>Preview</span></label>'),Wi=ge('<div class="flex justify-end"><!></div>'),qi=ge('<div class="prompt-editor flex h-full flex-col"><div class="relative flex-1"><div class="h-full w-full"></div> <!></div> <!></div>');function jn(P,E){bt(E,!0);let l=Le(null),b,w=lt(E,"readOnly",3,!1),d=lt(E,"readOnlyMessage",3,""),k=lt(E,"bottomPadding",3,0),p=lt(E,"showPreviewToggle",3,!0),O=lt(E,"preview",3,null),e=!1,T=null,j=Le(!1),V=null,K=[],A=null,F=null,t=Le(!1);const n=xe(()=>O()!==null?O():h(t)),i=xe(()=>`editorState/prompt/${E.agentId}/${E.stepName}`),g=xe(()=>`editorState/prompt/${E.agentId}/${E.stepName}/preview`),f=xe(()=>h(n)?h(g):h(i));function y(){Jt(h(f),h(l))}function r(N,R){const D=ei(R);if(!D)return;const x=N.getContribution("editor.contrib.folding");if(x!=null&&x.getFoldingModel)x.getFoldingModel().then(()=>{try{N.restoreViewState(D)}catch{}});else try{N.restoreViewState(D)}catch{}}function o(){F!=null&&clearTimeout(F),F=setTimeout(()=>{F=null,y()},180)}rn(()=>{if(!b)return;Yn();let N=!1;return Qn(()=>import("../chunks/DLQqXQ6R.js").then(R=>R.e),__vite__mapDeps([0,1,2]),import.meta.url).then(R=>{if(N)return;Jn(R),K.push(R.languages.registerFoldingRangeProvider("markdown",Ri)),K.push(R.languages.registerFoldingRangeProvider("markdown",Ii)),K.push(R.languages.registerDocumentHighlightProvider("markdown",ji)),H(l,R.editor.create(b,{...Rn("prompt",{bottomPadding:k()}),value:"",language:"markdown",readOnly:w(),readOnlyMessage:d()?{value:d()}:void 0}),!0),V=h(l).getModel(),K.push(Fr(h(l),R)),K.push(h(l).onDidChangeModelDecorations(()=>o())),K.push(h(l).onDidScrollChange(()=>o())),K.push(h(l).onDidChangeCursorPosition(()=>o())),K.push(h(l).onDidBlurEditorText(()=>y())),K.push(h(l).onDidAttemptReadOnlyEdit(()=>{var x;return(x=E.onReadOnlyEditAttempt)==null?void 0:x.call(E)})),Je.agents.context.query({agentId:E.agentId}).then(x=>{N||(A==null||A.dispose(),A=ki(R,x),K.push(A))}),T=Br(R,h(l));const D=E.initialPrompt??"";if(e=!0,h(l).setValue(D),e=!1,requestAnimationFrame(()=>{T==null||T.update(),h(l)&&r(h(l),h(f))}),K.push(h(l).onDidChangeModelContent(()=>{if(h(l)&&(T==null||T.update(),!e)){o();try{const x=h(l).getValue();E.onPromptChanged(x)}catch(x){console.error("Error updating prompt",x)}}})),H(j,!0),E.onEditorReady)try{E.onEditorReady(h(l),R)}catch(x){console.error("PromptEditor onEditorReady error",x)}}).catch(R=>{console.error("Error initializing Monaco editor:",R)}),()=>{N=!0,H(j,!1),F!=null&&clearTimeout(F),F=null,y(),A=null;for(const D of K)try{D.dispose()}catch{}K=[],T==null||T.dispose(),T=null;const R=V;if(V=null,h(l)){try{h(l).setModel(null)}catch{}h(l).dispose(),H(l,null)}try{R==null||R.dispose()}catch{}}}),qe(()=>{const N=w(),R=d(),D=Rn("prompt",{bottomPadding:k()});!h(l)||!h(j)||h(l).updateOptions({readOnly:N,readOnlyMessage:R?{value:R}:void 0,padding:D.padding})}),qe(()=>{const N=E.initialPrompt??"";if(!(!h(l)||!h(j)||h(n)&&!w())&&h(l).getValue()!==N){e=!0;try{h(l).setValue(N),T==null||T.update()}finally{e=!1}}});function u(N,R){return Ft.configure({autoescape:!1,trimBlocks:!0,lstripBlocks:!0}),Ft.renderString(N,R||{})}let s="",a=0;function m(N){var R;if(O()!==null){(R=E.onPreviewChange)==null||R.call(E,N);return}H(t,N,!0)}function v(){if(a+=1,!!h(l)){Jt(h(g),h(l)),e=!0;try{s&&(h(l).setValue(s),s=""),h(l).updateOptions({readOnly:w()})}finally{e=!1}r(h(l),h(i))}}async function C(){if(!h(l)||w())return;Jt(h(i),h(l)),s=h(l).getValue();const N=a+=1;let R=null;try{R=await Je.agents.context.query({agentId:E.agentId})}catch(x){console.error("Failed to load agent context for preview:",x),R=null}if(N!==a||!h(l)||!h(n))return;const D=u(s,R||{});e=!0;try{h(l).setValue(D),h(l).updateOptions({readOnly:!0})}finally{e=!1}r(h(l),h(g))}let B=Le(!1);qe(()=>{const N=!!h(n)&&!w();!h(l)||!h(j)||N!==h(B)&&(H(B,N,!0),N?C():v())}),Tt(P,{get class(){return`prompt-editor-frame relative overflow-hidden ${E.class??""}`},children:(N,R)=>{var D=qi(),x=ie(D),_=ie(x);sn(_,Q=>b=Q,()=>b);var I=pe(_,2);{var G=Q=>{var ne=Gi(),ye=ie(ne);Hn(ye),Ke(2),re(ne),je(()=>Ur(ye,h(n))),Mt("change",ye,ke=>m(ke.currentTarget.checked)),te(Q,ne)};Be(I,Q=>{p()&&!w()&&Q(G)})}re(x);var $=pe(x,2);{var z=Q=>{var ne=Wi(),ye=ie(ne);Ze(ye,{variant:"secondary",get onclick(){return E.onSchemaClick},class:"absolute bottom-2 right-6 !font-medium",children:(ke,se)=>{Ke();var ue=Ve("Schema");te(ke,ue)},$$slots:{default:!0}}),re(ne),te(Q,ne)};Be($,Q=>{E.showSchemaButton&&E.onSchemaClick&&Q(z)})}re(D),te(N,D)}}),Et()}nn(["change"]);var Hi=ge("<!> <!>",1),zi=ge('<div class="flex h-full items-center justify-center text-sm text-rc-gray-300">Loading</div>'),Dn=ge('<pre class="whitespace-pre-wrap font-mono text-xs text-rc-gray-200"> </pre>'),Qi=ge('<div class="flex h-full flex-col gap-3"><div class="text-sm text-red-400"> </div></div>'),Yi=ge('<div class="text-red-400">Error</div>'),Ji=ge('<div class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 px-3 py-2"><div class="flex items-center justify-between text-xs text-rc-gray-400"><div> </div> <!></div> <div class="whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div></div>'),Xi=ge('<div class="mb-4"><div class="mb-2 text-xs font-semibold text-rc-gray-400">Why this response</div> <div class="flex flex-col gap-2"></div></div>'),Zi=ge('<button type="button" class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 px-3 py-2 text-left hover:border-rc-gray-500"><div class="flex items-center justify-between text-xs text-rc-gray-400"><div> </div> <div> </div></div> <div class="whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div></button>'),eo=ge('<div class="flex flex-col gap-2"></div>'),to=ge('<div class="text-sm text-rc-gray-300">No quotes returned.</div>'),no=ge('<div class="mb-3 text-sm font-semibold text-rc-gray-100"> </div> <!> <!>',1),ro=ge('<button type="button" class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 px-3 py-2 text-left hover:border-rc-gray-500"><div class="whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div></button>'),io=ge('<div class="mt-3 flex flex-col gap-2"></div>'),oo=ge('<div class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 p-3"><div class="flex items-start justify-between gap-3"><div class="text-xs font-semibold text-rc-gray-400"></div> <div class="text-xs text-rc-gray-500"> </div></div> <div class="mt-1 whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div> <!></div>'),so=ge('<div class="flex flex-col gap-3"></div>'),ao=ge('<div class="text-sm text-rc-gray-300">No issues found.</div>'),lo=ge('<div class="mb-3 text-sm font-semibold text-rc-gray-100"> </div> <!>',1),co=ge('<div class="border-b border-rc-gray-700 px-2 py-1"><!></div> <div class="min-h-0 flex-1 overflow-auto p-3"><!></div>',1);function uo(P,E){bt(E,!0);const{state:l,actions:b}=zn();let w=Le("results"),d=Le(null);qe(()=>{var T;const e=((T=l.edit.popover)==null?void 0:T.requestId)??null;e!==h(d)&&(H(d,e,!0),H(w,"results"))});var k=It(),p=ze(k);{var O=e=>{const T=xe(()=>l.edit.popover);var j=co(),V=ze(j),K=ie(V);en(K,{get value(){return h(w)},ariaLabel:"Popover tabs",onChange:({value:g})=>H(w,g,!0),children:(g,f)=>{var y=Hi(),r=ze(y);mt(r,{value:"results",children:(u,s)=>{Ke();var a=Ve("Results");te(u,a)},$$slots:{default:!0}});var o=pe(r,2);mt(o,{value:"raw",children:(u,s)=>{Ke();var a=Ve("Raw");te(u,a)},$$slots:{default:!0}}),te(g,y)},$$slots:{default:!0}}),re(V);var A=pe(V,2),F=ie(A);{var t=g=>{var f=zi();te(g,f)},n=g=>{var f=It(),y=ze(f);{var r=u=>{const s=xe(()=>{var v;return typeof((v=h(T).data)==null?void 0:v.raw)=="string"?h(T).data.raw:h(T).error});var a=Dn(),m=ie(a,!0);re(a),je(()=>Me(m,h(s)||"—")),te(u,a)},o=u=>{var s=Qi(),a=ie(s),m=ie(a,!0);re(a),re(s),je(()=>Me(m,h(T).error)),te(u,s)};Be(y,u=>{h(w)==="raw"?u(r):u(o,-1)})}te(g,f)},i=g=>{const f=xe(()=>h(T).data);var y=It(),r=ze(y);{var o=a=>{var m=Dn(),v=ie(m,!0);re(m),je(()=>{var C;return Me(v,typeof((C=h(f))==null?void 0:C.raw)=="string"?h(f).raw:"—")}),te(a,m)},u=a=>{const m=xe(()=>{var $;return typeof(($=h(f))==null?void 0:$.parallelCalls)=="number"&&Number.isFinite(h(f).parallelCalls)?h(f).parallelCalls:10});var v=no(),C=ze(v),B=ie(C,!0);re(C);var N=pe(C,2);{var R=$=>{var z=Xi(),Q=pe(ie(z),2);xt(Q,23,()=>h(f).rationales,(ne,ye)=>ne.attempt??ye,(ne,ye,ke)=>{var se=Ji(),ue=ie(se),X=ie(ue),ee=ie(X);re(X);var Z=pe(X,2);{var de=De=>{var S=Yi();te(De,S)};Be(Z,De=>{h(ye).status==="error"&&De(de)})}re(ue);var _e=pe(ue,2),Pe=ie(_e,!0);re(_e),re(se),je(()=>{Me(ee,`Analysis ${h(ye).attempt??h(ke)+1??""}`),Me(Pe,h(ye).text)}),te(ne,se)}),re(Q),re(z),te($,z)},D=xe(()=>{var $;return Array.isArray(($=h(f))==null?void 0:$.rationales)&&h(f).rationales.length>0});Be(N,$=>{h(D)&&$(R)})}var x=pe(N,2);{var _=$=>{var z=eo();xt(z,23,()=>h(f).quotes,Q=>Q.quote,(Q,ne,ye)=>{var ke=Zi(),se=ie(ke),ue=ie(se),X=ie(ue);re(ue);var ee=pe(ue,2),Z=ie(ee);re(ee),re(se);var de=pe(se,2),_e=ie(de,!0);re(de),re(ke),je(()=>{Me(X,`Quote ${h(ye)+1}`),Me(Z,`x${h(ne).count??""}/${h(m)??""}`),Me(_e,h(ne).quote)}),Mt("click",ke,()=>b.focusQuote(h(ne).quote)),te(Q,ke)}),re(z),te($,z)},I=xe(()=>{var $;return Array.isArray(($=h(f))==null?void 0:$.quotes)&&h(f).quotes.length>0}),G=$=>{var z=to();te($,z)};Be(x,$=>{h(I)?$(_):$(G,-1)})}je(()=>{var $;return Me(B,(($=h(f))==null?void 0:$.title)??"Analysis")}),te(a,v)},s=a=>{var m=lo(),v=ze(m),C=ie(v,!0);re(v);var B=pe(v,2);{var N=x=>{var _=so();xt(_,21,()=>h(f).issues,Zt,(I,G,$)=>{var z=oo(),Q=ie(z),ne=ie(Q);ne.textContent=`Issue ${$+1}`;var ye=pe(ne,2),ke=ie(ye,!0);re(ye),re(Q);var se=pe(Q,2),ue=ie(se,!0);re(se);var X=pe(se,2);{var ee=Z=>{var de=io();xt(de,20,()=>h(G).contradictingQuotes,_e=>_e,(_e,Pe)=>{var De=ro(),S=ie(De),U=ie(S,!0);re(S),re(De),je(()=>Me(U,Pe)),Mt("click",De,()=>b.focusQuote(Pe)),te(_e,De)}),re(de),te(Z,de)};Be(X,Z=>{h(G).contradictingQuotes&&h(G).contradictingQuotes.length>0&&Z(ee)})}re(z),je(()=>{Me(ke,h(G).type),Me(ue,h(G).reason)}),te(I,z)}),re(_),te(x,_)},R=xe(()=>{var x;return Array.isArray((x=h(f))==null?void 0:x.issues)&&h(f).issues.length>0}),D=x=>{var _=ao();te(x,_)};Be(B,x=>{h(R)?x(N):x(D,-1)})}je(()=>{var x;return Me(C,((x=h(f))==null?void 0:x.title)??"Prompt issues")}),te(a,m)};Be(r,a=>{h(w)==="raw"?a(o):h(T).kind==="analyze"?a(u,1):a(s,-1)})}te(g,y)};Be(F,g=>{h(T).status==="loading"?g(t):h(T).status==="error"?g(n,1):g(i,-1)})}re(A),te(e,j)};Be(p,e=>{l.edit.popover&&e(O)})}te(P,k),Et()}nn(["click"]);var fo=ge('<div class="min-h-0 flex-1 overflow-hidden p-3"><!></div>');function po(P,E){bt(E,!1);const l=zn(),b=Nr(l.state),w=l.actions,k=an().registerBlocker("roleplay-context-draft",()=>"The roleplay context editor is open.");on(k);function p(T){Rr(b,h(b).context=T),w.sendAppEvent({type:"context-updated",context:T})}ci();var O=fo(),e=ie(O);{let T=Ir(()=>{var j;return`editorState/context/${h(b).agentId}/${((j=h(b).currentStep)==null?void 0:j.name)??"main"}`});ti(e,{class:"h-full min-h-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl focus:outline-none focus:ring-0",get context(){return h(b).context},onContextChanged:p,get editorStateKey(){return h(T)},suppressErrors:!0})}re(O),te(P,O),Et()}function ho(P){try{return decodeURIComponent(P)}catch{return P}}function er(P){var d;const l=(((d=String(P||"").split("?")[0])==null?void 0:d.split("#")[0])??"").split("/").filter(Boolean);if(l[0]!=="edit")return{agentId:null,tab:null};if(l.length===1)return{agentId:null,tab:null};const b=ho(l[1]??""),w=l[2]??null;return w?w==="roleplay"?{agentId:b,tab:"roleplay"}:w==="tests"?{agentId:b,tab:"tests"}:w==="configure"?{agentId:b,tab:"configure"}:{agentId:b,tab:null}:{agentId:b,tab:"roleplay"}}function vo(P){return{tab:er(P.pathname).tab??"roleplay",popover:null,highlights:null,requestSeq:0}}function mo(P,E){const b=er(E.pathname).tab??"roleplay";return{...P,tab:b,popover:null,highlights:null}}function go(P,E){const l=P.requestSeq+1;return{...P,requestSeq:l,popover:{kind:E.kind,status:"loading",requestId:l},highlights:null}}function yo(P,E){return!P.popover||P.popover.requestId!==E.requestId?P:{...P,popover:{...P.popover,status:"ready",data:E.data,error:void 0}}}function _o(P,E){return!P.popover||P.popover.requestId!==E.requestId?P:{...P,popover:{...P.popover,status:"error",error:String(E.error||"Unknown error"),data:E.data}}}function wo(P){return{...P,popover:null,highlights:null}}function xo(P,E){return{...P,highlights:{quotes:E??[],focusQuote:null,focusNonce:0}}}function bo(P,E){const l=String(E||"");if(!l)return P;const b=P.highlights??{quotes:[],focusQuote:null,focusNonce:0};return{...P,highlights:{...b,focusQuote:l,focusNonce:(b.focusNonce??0)+1}}}function Eo(P,E){const l=String(P??""),b=ko(E),w=Un(l);for(const d of b){const k=$n(l,d);if(k.length>0)return k;const p=Vn(l,d);if(p.length>0)return p;const O=Un(d);if(w!==l||O!==d){const e=$n(w,O);if(e.length>0)return e;const T=Vn(w,O);if(T.length>0)return T}}return[]}function $n(P,E){const l=String(E??"");if(!l)return[];const b=[];let w=0;for(;w<=P.length-l.length;){const d=P.indexOf(l,w);if(d===-1)break;b.push({start:d,end:d+l.length}),w=d+1}return b}function Vn(P,E){const l=String(E??"");if(!l.trim())return[];const b=Oo(l).replace(/\s+/g,"\\s+");let w;try{w=new RegExp(`(?=(${b}))`,"gu")}catch{return[]}const d=[];let k;for(;(k=w.exec(P))!==null;){const p=k.index,O=k[1]??"",e=p+O.length;e>p&&d.push({start:p,end:e}),w.lastIndex===p&&(w.lastIndex+=1)}return d}function ko(P){const E=String(P??""),l=E.trim(),b=new Set;for(const k of[E,l])k&&b.add(k);const w=l.replace(/^[-*•]\s+/,"");w&&w!==l&&b.add(w);const d=l.replace(/^(?:\(?\d+\)?[.)]|[a-zA-Z][.)])\s+/,"");return d&&d!==l&&b.add(d),[...b].filter(k=>k.trim().length>0)}function Un(P){return String(P??"").replace(/\r/g,`
35
+ `).replace(/[\u00A0\u2007\u202F\u2009\u200A\u200B\uFEFF]/g," ").replace(/[\u201C\u201D\u201E\u00AB\u00BB]/g,'"').replace(/[\u2018\u2019]/g,"'").replace(/[\u2013\u2014]/g,"-")}function Oo(P){return P.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Gn(P,E){const l=P.createDecorationsCollection(),b=P.createDecorationsCollection();let w=null,d=new Map,k=new Map,p=0;function O(){d=new Map,k=new Map,p=0}function e(t,n,i){return Number.isNaN(t)?n:Math.max(n,Math.min(i,t))}function T(t){const n=e(t,1,10);return`rgba(220, 38, 38, ${e(.22+n*.06,.28,.82)})`}function j(t,n){const i=String(t??"");if(!i)return[];const g=d.get(i);if(g)return g;const f=Eo(n,i);return d.set(i,f),f}function V(t){const n=P.getModel();if(!n)return;const i=n.getValue()??"",g=[],f=[...t||[]].sort((y,r)=>(y.count||0)-(r.count||0));for(const y of f){const r=String(y.quote||"");if(!r)continue;const o=e(Number(y.count||0),1,10),u=T(o),s=j(r,i);for(const a of s){const m=n.getPositionAt(a.start),v=n.getPositionAt(a.end);g.push({range:new E.Range(m.lineNumber,m.column,v.lineNumber,v.column),options:{inlineClassName:`analysis-quote analysis-quote-l${o}`,overviewRuler:{color:u,position:E.editor.OverviewRulerLane.Center}}})}}l.set(g)}function K(t){const n=P.getModel();if(!n)return;const i=n.getValue()??"",g=j(t,i);if(g.length===0)return;const y=((k.get(t)??-1)+1)%g.length;k.set(t,y);const r=g[y],o=n.getPositionAt(r.start),u=n.getPositionAt(r.end),s=new E.Range(o.lineNumber,o.column,u.lineNumber,u.column);b.set([{range:s,options:{inlineClassName:"analysis-quote-focus"}}]),P.setSelection(s),P.revealRangeInCenter(s,E.editor.ScrollType.Smooth),P.focus()}function A(t){if(w=t,!w){l.clear(),b.clear(),O();return}V(w.quotes||[]),w.focusQuote&&w.focusNonce!==p?(p=w.focusNonce,K(w.focusQuote)):w.focusQuote||b.clear()}const F=P.onDidChangeModelContent(()=>{w&&(d=new Map,b.clear(),V(w.quotes||[]))});return{setHighlights:A,dispose:()=>{try{F.dispose(),l.clear(),b.clear()}finally{w=null,O()}}}}var Wn=ge("<!> <!>",1),So=ge('<span class="truncate"> </span> <!>',1),To=ge('<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" aria-label="Region"></div>'),Lo=ge('<span class="text-sm text-rc-gray-300">Region</span> <div><!> <!></div>',1),Ao=ge('<div class="p-2 text-rc-gray-400">Connecting…</div>'),Co=ge('<div class="p-2 text-rc-gray-400">No steps</div>'),Po=ge('<button><span class="block truncate"> </span></button>'),No=ge('<div class="rc-scroll min-h-0 flex-1 overflow-auto p-2"><!></div>'),Ro=ge('<span class="max-w-64 text-sm text-red-300"> </span>'),Io=ge('<div class="absolute inset-0 z-10 min-w-0"><!> <div class="absolute bottom-2 left-3 z-20 flex items-center gap-2"><!> <!> <!></div> <!></div>'),Mo=ge('<div class="relative h-full min-w-0"><!> <!></div>'),qn=ge("<!> <!> <!>",1),Fo=ge('<div class="border-b border-rc-gray-700 p-2"><!></div> <div class="min-h-0 flex-1"><!></div> <!> <!>',1),Bo=ge('<div class="text-sm text-red-300"> </div>'),Ko=ge('<div class="flex flex-col gap-2"><label for="ai-edit-request" class="font-semibold text-rc-gray-100">What do you want to change?</label> <!> <!></div>'),jo=ge('<div class="min-w-0 truncate whitespace-nowrap text-base text-rc-gray-300"> </div>'),Do=ge('<p class="text-rc-gray-200">Try changing your request and suggest edits again.</p>'),$o=ge('<span class="text-rc-red-500 mr-auto text-sm"> </span>'),Vo=ge('<span class="mr-auto text-sm text-rc-gray-300"> </span>'),Uo=ge('<div class="flex h-screen"><!> <div class="flex h-full min-w-0 flex-1 flex-col bg-rc-gray-980 pb-3 pr-4 pt-2"><nav class="flex flex-none items-center bg-rc-gray-980"><div class="flex w-1/3 justify-start"></div> <div class="flex w-1/3 justify-center"><!></div> <div class="flex w-1/3 items-center justify-end gap-2 pr-2"><!> <!></div></nav> <div class="flex-1 overflow-hidden"><div class="grid h-full w-full grid-cols-[minmax(140px,2fr)_minmax(0,10fr)_minmax(0,11fr)]"><!> <div class="flex h-full min-w-0 flex-col"><div class="flex h-14 flex-none items-center justify-between gap-3 border-b border-rc-gray-700 p-2"><div class="min-w-0"><div class="truncate font-semibold text-rc-gray-100"> </div></div> <div class="flex items-center gap-3"><label class="inline-flex items-center gap-2 text-rc-gray-300"><input type="checkbox" aria-label="Preview rendered prompt" class="h-4 w-4 appearance-none rounded border border-rc-gray-300 bg-rc-gray-600 !accent-rc-gray-600 outline-none ring-0 checked:border-rc-gray-200 checked:bg-rc-gray-600 hover:border-rc-gray-200 hover:bg-rc-gray-600 focus:outline-none focus:ring-0 active:border-rc-gray-200 active:bg-rc-gray-600 disabled:cursor-not-allowed disabled:opacity-50"/> <span>Preview</span></label> <!> <!></div></div> <div class="min-h-0 flex-1"><!></div></div> <!></div></div></div></div> <!> <!> <!>',1);function bs(P,E){bt(E,!0);const{onError:l}=li(),b=an();let w=Le(Nn([]));const d=c=>{try{return c?decodeURIComponent(c):""}catch{return c||""}},k=c=>encodeURIComponent(c);function p(c){return d(c).trim().replace(/^\/+|\/+$/g,"")}const O=xe(()=>p(E.params.agent)),e=Nn({agentId:p(E.params.agent),region:null,availableRegions:[],defaultRegion:null,agentType:void 0,wsLoaded:!1,chatReady:!1,steps:[],currentStep:null,promptDrafts:{},promptEdits:{},testHistoryEdits:{},context:null,promptContext:null,agentStates:[],currentState:null,contextPopoverOpen:!1,edit:vo({pathname:nt.url.pathname})});let T=null,j=null,V;const K="region-dropdown";let A=Le(!1),F=Le(null);qe(()=>{const c=e.availableRegions,L=e.region;(!c.length||!L||!c.includes(L))&&H(A,!1)});function t(c,L){if(typeof window>"u")return;const M=new URL(window.location.href);L===null?M.searchParams.delete(c):M.searchParams.set(c,L),ni(M.toString(),{})}function n(c,L){at.sendMessage({channel:"app-events",event:c},L)}function i(c){return at.isReady()?at.sendGitSyncRequest(crypto.randomUUID(),c.operationId):Promise.resolve()}b.registerFlusher("edit-websocket-writes",i,{final:!0});function g(c){c!=null&&c.name&&e.promptDrafts[c.name]===void 0&&(e.promptDrafts[c.name]=c.prompt??"")}const f=xe(()=>{var c;return((c=e.currentStep)==null?void 0:c.name)??null}),y=(c,L)=>`${c}\0${L}`,r=(c,L,M)=>`${c}\0${L??""}\0${M}`,o=xe(()=>{const c=h(f);return c?e.promptEdits[y(e.agentId,c)]??null:null}),u=xe(()=>{const c=h(f);if(!c)return"";const L=e.promptDrafts[c];return typeof L=="string"?L:""}),s=xe(()=>{var c;return((c=h(o))==null?void 0:c.suggestedPrompt)??h(u)}),a=xe(()=>b.isWritePaused());function m(c=e.agentId){const L={};for(const M of Object.values(e.promptEdits))M.agentId===c&&(L[M.step]=M.suggestedPrompt);return L}function v(c=e.agentId,L=e.region){const M={};for(const W of Object.values(e.testHistoryEdits))W.agentId===c&&W.region===L&&(M[W.testId]={conversation:W.suggestedConversation});return M}function C(){e.wsLoaded&&n({type:"prompt-overrides-updated",prompts:m()})}function B(c,L){return L?e.promptEdits[y(c,L)]??null:null}let N=null,R=Le(null),D=null,x=Promise.resolve(),_=Le(0);const I=800;function G(){N&&(clearTimeout(N),N=null)}async function $(c,L,M,W){H(_,h(_)+1);try{await Je.agents.savePrompt.mutate({agentId:c,step:L,prompt:M},W?ii(W.operationId):void 0),e.agentId===c&&(e.steps=e.steps.map(J=>J.name===L?{...J,prompt:M}:J),e.currentStep=e.steps.find(J=>J.name===h(f))??e.currentStep)}catch(J){console.error("Failed to save prompt",J);const ce=e.promptDrafts[L];throw e.agentId===c&&ce===M&&H(R,{stepName:L,prompt:M},!0),J}finally{H(_,h(_)-1)}}function z(c,L,M,W){const J=x.catch(()=>{}).then(()=>$(c,L,M,W));return x=J.catch(()=>{}),J}async function Q(c=!1,L){if(!(!c&&b.isWritePaused()))for(await x;h(R);){const M=e.agentId.trim();if(!M)return;const{stepName:W,prompt:J}=h(R);G(),H(R,null),await z(M,W,J,L),await x}}function ne(c,L){H(R,{stepName:c,prompt:L},!0),G(),N=setTimeout(()=>{N=null,!b.isWritePaused()&&Q()},I)}const ye=b.registerFlusher("edit-prompt",c=>Q(!0,c)),ke=b.registerBlocker("edit-prompt-save",()=>N||h(R)||h(_)>0?"A prompt edit is still being saved.":null);qe(()=>{const c=b.isWritePaused(),L=h(R);c||!L||N||h(_)>0||ne(L.stepName,L.prompt)}),qe(()=>{const c=b.isWritePaused();!e.wsLoaded||c||Q()});async function se(c){try{const L=await Je.regionConfig.meta.query({agent:c});if(!L){e.availableRegions=[],e.defaultRegion=null,e.region=null,t("region",null);return}if(e.availableRegions=L.availableRegions,e.defaultRegion=L.defaultRegion??null,!Array.isArray(L.availableRegions)||L.availableRegions.length===0){e.region=null,t("region",null);return}const M=(nt.url.searchParams.get("region")||"").trim()||null,W=M&&L.availableRegions.includes(M)&&M||L.defaultRegion&&L.availableRegions.includes(L.defaultRegion)&&L.defaultRegion||L.availableRegions[0]||null;e.region=W,t("region",W)}catch(L){console.error("Failed to load region config meta",L),e.availableRegions=[],e.defaultRegion=null,e.region=null,t("region",null)}}qe(()=>{const c=h(O);c&&c!==j&&(j=c,se(c))});function ue(c){var M;Q(),_t();const L=e.steps.find(W=>W.name===c)||null;e.currentStep=L,L?(g(L),t("step",L.name),n({type:"step-selected",step:L.name}),t("promptEdit",((M=B(e.agentId,L.name))==null?void 0:M.id)??null)):t("step",null)}function X(c){const L=h(f);if(L){if(e.promptDrafts[L]=c,(D==null?void 0:D.stepName)===L&&D.prompt===c){D=null;return}D=null,ne(L,c)}}let ee=Le(!1),Z=Le(""),de=Le(null),_e=Le(!1),Pe=Le(null);function De(c){return(c||"").replace(/[*_`]/g,"").replace(/(^|\s)#{1,6}\s+/g," ").replace(/\s+/g," ").trim()||"Thinking..."}const S=xe(()=>{var c;return De((c=h(Pe))==null?void 0:c.summary)});let U=Le(null),Y=Le(null),q=Le(!1),ae=Le(!1),fe=Le(0),Oe=Le(0),me=Le(!1),be=0,Qe=!1,Ue=!1;const rt=new Set,Bt=b.registerBlocker("ai-prompt-edit",()=>h(fe)>0||h(_e)?"An AI edit is still being generated.":h(q)?"An AI edit is still being accepted.":h(Oe)>0?"A pending AI prompt edit is still loading.":h(me)?"A pending AI prompt edit could not be restored. Reload this page before refreshing.":Object.keys(e.promptEdits).length>0?"Accept or reject the pending AI prompt edit before refreshing.":Object.keys(e.testHistoryEdits).length>0?"Accept or reject the pending AI test history edit before refreshing.":h(ee)&&h(Z).trim()?"Finish or cancel the open AI edit before refreshing.":null);qe(()=>{const c=h(ee);Qe&&!c&&h(_e)&&(be+=1,H(_e,!1)),Qe=c});function Lt(){return!b.isWritePaused()&&!b.isActivationStarting()?!1:(b.requestBlockedOperationNotice(),!0)}function At(c="",L){if(!e.currentStep)return;const M=L?B(e.agentId,L.step):h(o);(!L||L.kind==="test-fix")&&M||Lt()||(H(Z,c,!0),H(de,L??null,!0),H(U,null),H(ae,!1),H(ee,!0))}function Kt(){be+=1,H(_e,!1),H(ee,!1),H(de,null),H(ae,!1)}async function kt(c,L){for(;L===be&&h(_e);){try{const M=await Je.agents.promptEditProgress.query({id:c});if(L!==be||!h(_e))return;M&&H(Pe,{phase:M.phase,activity:M.activity,summary:M.summary},!0)}catch(M){L===be&&console.warn("Failed to read prompt edit progress",M)}await new Promise(M=>setTimeout(M,400))}}async function jt(){const c=h(Z).trim(),L=h(de),M=(L==null?void 0:L.step)??h(f),W=e.agentId.trim();if(!c||!M||!W||h(_e)||Lt())return;const J=++be,ce=crypto.randomUUID();H(_e,!0),H(fe,h(fe)+1),H(Pe,null),H(U,null),kt(ce,J);try{if(!L){if(await Q(),Ue||J!==be)return;if(b.isWritePaused()){b.requestBlockedOperationNotice();return}}let ve=null,he=null,we=null;if((L==null?void 0:L.kind)==="test-fix"){const Ae=await Je.agents.suggestTestFix.mutate({agentId:W,region:e.region,testId:L.testId,step:M,request:c,prompt:L.prompt,basePrompt:L.basePrompt,currentIncorrectOutcome:L.currentIncorrectOutcome??"",progressId:ce});he=Ae.history,we=Ae.prompt}else L?he=await Je.tests.suggestHistoryEdit.mutate({agent:W,region:e.region,testId:L.testId,step:M,request:c,prompt:L.prompt,basePrompt:L.basePrompt,progressId:ce}):we=await Je.agents.suggestPromptEdit.mutate({agentId:W,step:M,request:c,progressId:ce});if(J!==be)return;if(L&&(he==null?void 0:he.status)==="changed"&&(ve=he.proposal),!ve&&(!we||we.status==="unchanged")){H(ae,!0);return}if(ve&&(e.testHistoryEdits[r(ve.agentId,ve.region,ve.testId)]=ve),(we==null?void 0:we.status)==="changed"){const Ae=we.proposal;e.promptEdits[y(Ae.agentId,Ae.step)]=Ae,t("promptEdit",Ae.id),H(dt,!1),C()}H(ee,!1),H(de,null)}catch(ve){if(J!==be)return;if(oi(ve)){b.requestBlockedOperationNotice();return}console.error("Failed to suggest prompt edits",ve),H(U,ve instanceof Error?ve.message:"Failed to suggest edits",!0)}finally{H(fe,h(fe)-1),J===be&&(H(_e,!1),H(Pe,null))}}function ct(c){for(const[L,M]of Object.entries(e.promptEdits))M.id===c&&delete e.promptEdits[L];nt.url.searchParams.get("promptEdit")===c&&t("promptEdit",null)}function ut(){var W;const c=Pt??Dt,L=(c==null?void 0:c.saveViewState())??null;if(!c||!L)return null;const M=((W=c.getVisibleRanges()[0])==null?void 0:W.startLineNumber)??null;return{viewState:L,topLine:M,topLineOffset:M?c.getTopForLineNumber(M)-c.getScrollTop():0}}function oe(c){if(!c||!ht)return;const L=ht,M=()=>{if(ht===L)try{L.restoreViewState(c.viewState),c.topLine&&L.setScrollTop(L.getTopForLineNumber(c.topLine)-c.topLineOffset)}catch(W){console.warn("Failed to preserve prompt scroll position",W)}};M(),requestAnimationFrame(M)}function le(){const c=h(o);if(!c||h(q))return;const L=ut();oe(L),yt(),H(Y,null),ct(c.id),C(),Je.agents.rejectPromptEdit.mutate({id:c.id}).catch(M=>{console.error("Failed to release rejected prompt edit",M)})}function Se(c,L){if(h(f)!==c||!ht)return!1;const M=ht.getModel();if(!M)return!1;if(M.getValue()===L)return!0;try{return D={stepName:c,prompt:L},M.pushStackElement(),M.pushEditOperations(ht.getSelections(),[{range:M.getFullModelRange(),text:L,forceMoveMarkers:!0}],()=>null),M.pushStackElement(),M.getValue()===L}catch(W){return console.warn("Failed to add the accepted prompt edit to Monaco undo history",W),!1}finally{D=null}}async function Ee(){const c=h(o);if(!c||h(q))return;const L=ut();yt(),H(q,!0),H(Y,null);try{const M=await Je.agents.acceptPromptEdit.mutate({id:c.id});if(Ue||(Se(c.step,M.prompt),e.promptDrafts[c.step]=M.prompt,e.steps=e.steps.map(W=>W.name===c.step?{...W,prompt:M.prompt}:W),e.currentStep=e.steps.find(W=>W.name===h(f))??e.currentStep,await Mr(),Ue))return;oe(L),ct(c.id),C()}catch(M){if(Ue)return;console.error("Failed to accept prompt edit",M),H(Y,M instanceof Error?M.message:"Failed to save prompt",!0)}finally{H(q,!1)}}async function Te(c){H(Oe,h(Oe)+1),H(me,!1);try{const L=await Je.agents.promptEditProposal.query({id:c});if(Ue||!L||L.agentId!==e.agentId)return;e.promptEdits[y(L.agentId,L.step)]=L,C()}catch(L){Ue||(H(me,!0),console.error("Failed to restore prompt edit",L))}finally{H(Oe,h(Oe)-1)}}qe(()=>{const c=(nt.url.searchParams.get("promptEdit")||"").trim();if(!c){H(me,!1);return}rt.has(c)||(rt.add(c),Te(c))});const Re=xe(()=>{var c;return((c=e.currentStep)==null?void 0:c.schema)??null}),Ge=xe(()=>!!h(Re)&&h(Re).trim().length>0);let Xe=Le(!1),et=Le(""),ft=Le(!1),it=Le(null),pt=Le(null);const gt=xe(()=>h(et)!==(h(Re)??"")),Ot=b.registerBlocker("schema-draft",()=>h(ft)?"The schema is still being saved.":h(Xe)&&h(gt)?"An unsaved schema draft is open.":null);function ln(){h(Re)&&(H(et,h(Re),!0),H(it,null),H(pt,null),H(Xe,!0))}function tr(c){H(et,c,!0),H(it,null),H(pt,null)}async function nr(){var M;const c=(M=e.currentStep)==null?void 0:M.name,L=e.agentId.trim();if(!(!c||!L||!h(gt)||h(ft))){H(ft,!0),H(it,null),H(pt,null);try{await Q();const W=await Je.agents.saveSchema.mutate({agentId:L,step:c,schema:h(et)});e.steps=e.steps.map(J=>J.name===c?{...J,schema:h(et)}:J),e.currentStep=e.steps.find(J=>J.name===c)??e.currentStep,H(pt,W.restartScheduled?"Saved. Reloading the project…":"Saved. Restart Bosun to use this schema in tests.",!0),W.restartScheduled&&setTimeout(()=>window.location.reload(),1200)}catch(W){console.error("Failed to save schema",W),H(it,W instanceof Error?W.message:"Failed to save schema",!0)}finally{H(ft,!1)}}}function rr({value:c}){if(c===e.edit.tab)return;Q(),_t();const L=nt.url.searchParams.get("step"),M=nt.url.searchParams.get("region"),W=`/edit/${k(e.agentId)}/${c}`,J=new URLSearchParams;L&&J.set("step",L),M&&J.set("region",M),h(o)&&J.set("promptEdit",h(o).id);const ce=J.size?`${W}?${J.toString()}`:W;St(ce)}const cn=xe(()=>{const c=nt.url.pathname.split("/")[1];return c==="traces"?"view":c});function ir({value:c}){if(c!==h(cn)){if(Q(),_t(),c==="edit")return St("/edit");if(c==="view"){const L=new URLSearchParams({agent:e.agentId});return e.region&&L.set("region",e.region),St(`/view?${L.toString()}`)}St("/"+c)}}function un(c){var L;return e.contextPopoverOpen=!1,e.edit=go(e.edit,{kind:c}),((L=e.edit.popover)==null?void 0:L.requestId)??0}function fn(c,L){e.edit=yo(e.edit,{requestId:c,data:L})}function pn(c,L,M){e.edit=_o(e.edit,{requestId:c,error:L,data:M})}function yt(){e.edit=wo(e.edit)}function hn(){yt(),e.contextPopoverOpen=!0}function Ct(){e.contextPopoverOpen=!1}function or(){e.contextPopoverOpen?Ct():hn()}function _t(){yt(),Ct()}function sr(c){return c==="analyze"?"Analyze":"Find issues"}function dn(c){e.edit=xo(e.edit,c)}function ar(c){e.edit=bo(e.edit,c)}let tt=null,He=null,ht=null,Pt=null,Dt=null,dt=Le(!1),vn=null;function mn(c){try{return Ft.configure({autoescape:!1,trimBlocks:!0,lstripBlocks:!0}),Ft.renderString(c,e.promptContext??e.context??{})}catch(L){return console.error("Failed to render prompt preview",L),c}}const lr=xe(()=>{const c=h(o);return c?h(dt)?mn(c.originalPrompt):c.originalPrompt:""}),cr=xe(()=>{const c=h(o);return c?h(dt)?mn(c.suggestedPrompt):c.suggestedPrompt:""});qe(()=>{var L;const c=((L=e.currentStep)==null?void 0:L.name)??null;c!==vn&&(vn=c,H(dt,!1))});function ur(c,L){ht=c,tt==null||tt.dispose(),tt=Gn(c,L),tt.setHighlights(e.edit.highlights)}function fr(c,L){Pt=c,He==null||He.dispose(),He=Gn(c,L),He.setHighlights(e.edit.highlights)}qe(()=>{const c=e.edit.highlights;!!h(o)&&!!e.edit.popover?He==null||He.setHighlights(c):tt==null||tt.setHighlights(c)}),qe(()=>{h(o)&&e.edit.popover||(He==null||He.dispose(),He=null,Pt=null)});let gn=Le("");qe(()=>{const c=nt.url.toString();c!==h(gn)&&(H(gn,c,!0),e.edit=mo(e.edit,{pathname:nt.url.pathname}),e.contextPopoverOpen=!1)});function pr(c,L,M){return Math.max(L,Math.min(M,c))}function hr(c){const L=new Map;for(const M of c||[])for(const W of M.contradictingQuotes||[]){const J=String(W||"").trim();J&&L.set(J,(L.get(J)||0)+1)}return[...L.entries()].map(([M,W])=>({quote:M,count:pr(W,1,10)})).sort((M,W)=>W.count-M.count||M.quote.localeCompare(W.quote))}let Nt=Le(!1);async function dr(){var L;if(h(Nt)||!e.currentStep)return;H(Nt,!0);const c=un("findIssues");try{const M=await Je.tests.findPromptIssues.mutate({agent:e.agentId,step:e.currentStep.name,prompt:h(s)}),W=hr(M.issues||[]);if(((L=e.edit.popover)==null?void 0:L.requestId)!==c)return;dn(W);let J=null;try{J=JSON.stringify(M.raw,null,2)}catch{J=null}fn(c,{title:`Prompt issues — ${e.currentStep.name}`,issues:M.issues,raw:J})}catch(M){console.error(M);const W=typeof(M==null?void 0:M.message)=="string"?M.message:(()=>{try{return JSON.stringify(M)}catch{return String(M)}})();pn(c,W||"Failed to find issues in this prompt",{title:`Prompt issues failed — ${e.currentStep.name}`,raw:W})}finally{H(Nt,!1)}}function vr(c){Q(),_t();const L=nt.url.searchParams.get("step"),M=nt.url.searchParams.get("region"),W=`/edit/${k(c)}/${e.edit.tab}`,J=new URLSearchParams;L&&J.set("step",L),M&&J.set("region",M);const ce=B(c,L);ce&&J.set("promptEdit",ce.id);const ve=J.size?`${W}?${J.toString()}`:W;St(ve)}function mr(c){!c||c===e.region||(Q(),e.region=c,t("region",c))}Hr({state:e,actions:{openPopover:un,setPopoverReady:fn,setPopoverError:pn,closePopover:yt,setHighlightQuotes:dn,focusQuote:ar,openContextPopover:hn,closeContextPopover:Ct,toggleContextPopover:or,openAiEdit:(c,L)=>At(c,L),sendAppEvent:n,sendChatMessage:c=>!e.wsLoaded||!e.chatReady?(console.warn("[roleplay] Ignoring chat message while websocket session is reconnecting"),!1):(C(),at.sendMessage({channel:"chat",message:c})==="sent"),flushPromptSave:Q,getPromptOverrides:()=>m(),getTestHistoryOverrides:()=>v(),getActivePromptEditId:()=>{var c;return((c=h(o))==null?void 0:c.id)??null},selectState:c=>{Q(),_t(),V=c,e.currentState=c,In(),Fn(),n({type:"select-agent",agent:e.agentId,state:c,region:e.region,promptOverrides:m()})},hangup(){n({type:"hangup",agentId:e.agentId,region:e.region})}}}),rn(async()=>{try{H(w,await Je.agents.catalog.query(),!0)}catch(c){console.error("Failed to load agents",c)}at.onClose(()=>{e.wsLoaded=!1,e.chatReady=!1,e.context=null,e.promptContext=null,e.agentStates=[],e.currentState=null,e.contextPopoverOpen=!1,T=null}),at.onError(c=>l(c)),at.onMessage(c=>{if(c.channel==="app-events"){if(c.event.type==="agents-loaded"){e.wsLoaded=!0;return}if(c.event.type==="context-updated"){e.context=c.event.context,c.event.promptContext&&(e.promptContext=c.event.promptContext);return}if(c.event.type==="update-states"){const L=e.agentStates.length;e.agentStates=c.event.states;const M=e.agentStates.length>0?e.agentStates[e.agentStates.length-1].id:null;V!==void 0?e.currentState=V:(e.currentState===null&&L===0&&M||e.agentStates.length>L)&&(e.currentState=M),V=void 0;return}if(c.event.type==="agent-selected"){e.steps=c.event.agent.steps,e.agentType=c.event.agent.type;const L={};for(const ve of e.steps){const he=e.promptDrafts[ve.name];L[ve.name]=typeof he=="string"?he:ve.prompt??""}e.promptDrafts=L;const M=(nt.url.searchParams.get("step")||"").trim()||null,W=M?e.steps.find(ve=>ve.name===M)??null:null,J=e.steps.find(ve=>ve.name.toLowerCase()==="main")??e.steps.find(ve=>si(ve.name))??e.steps[0]??null,ce=W??J;e.currentStep=ce,ce?(g(ce),ce.name!==M&&t("step",ce.name),n({type:"step-selected",step:ce.name}),Q()):t("step",null);return}return}if(c.channel==="log"){ui(c.message);return}if(c.channel==="step-trace"){zr(c.trace);return}if(c.channel==="api-call-trace"){Qr(c.trace);return}if(c.channel==="conversational-trace"){Yr(c.trace);return}if(c.channel==="error"){l(c.message);return}}),at.init(),e.wsLoaded=at.isReady()}),on(()=>{Ue=!0,be+=1,H(_e,!1),ye(),ke(),Bt(),Ot(),at.clearDeferredMessages(),Q(),G(),tt==null||tt.dispose(),tt=null,ht=null,He==null||He.dispose(),He=null,Pt=null,Dt=null}),qe(()=>{const c=h(O);if(c!==e.agentId&&(Q(),H(R,null),G(),e.chatReady=!1,e.promptDrafts={},e.steps=[],e.currentStep=null),e.agentId=c,!e.wsLoaded){e.chatReady=!1;return}if(!e.agentId){e.chatReady=!1;return}if(e.availableRegions.length>0&&!e.region){e.chatReady=!1;return}const L=`${e.agentId}::${e.region??""}`;T!==L&&(T=L,In(),Fn(),_t(),e.currentState=null,e.agentStates=[],e.context=null,e.promptContext=null,Q(),V=void 0,e.chatReady=!1,n({type:"select-agent",agent:e.agentId,region:e.region,promptOverrides:m()}),e.chatReady=!0)});var yn=Uo(),$t=ze(yn),_n=ie($t);ai(_n,{className:"flex-none",get agents(){return h(w)},get currentAgent(){return e.agentId},onAgentClick:vr});var wn=pe(_n,2),Vt=ie(wn),Ut=pe(ie(Vt),2),gr=ie(Ut);en(gr,{get value(){return h(cn)},ariaLabel:"Top tabs",onChange:ir,children:(c,L)=>{var M=Wn(),W=ze(M);mt(W,{value:"edit",children:(ce,ve)=>{Ke();var he=Ve("Edit");te(ce,he)},$$slots:{default:!0}});var J=pe(W,2);mt(J,{value:"view",children:(ce,ve)=>{Ke();var he=Ve("View");te(ce,he)},$$slots:{default:!0}}),te(c,M)},$$slots:{default:!0}}),re(Ut);var xn=pe(Ut,2),bn=ie(xn);{var yr=c=>{var L=Lo(),M=pe(ze(L),2),W=ie(M);Ze(W,{variant:"secondary",size:"small",get"aria-expanded"(){return h(A)},"aria-haspopup":"listbox","aria-controls":K,onclick:ce=>{ce.stopPropagation(),H(A,!h(A))},class:"flex w-32 items-center justify-between gap-1 !px-3 !py-1",get el(){return h(F)},set el(ce){H(F,ce,!0)},children:(ce,ve)=>{var he=So(),we=ze(he),Ae=ie(we,!0);re(we);var Ie=pe(we,2);{let Ce=xe(()=>"size-5 text-rc-gray-400 transition-transform duration-200 "+(h(A)?"rotate-180":""));Xr(Ie,{name:"chevron-down",get class(){return h(Ce)}})}je(()=>Me(Ae,e.region)),te(ce,he)},$$slots:{default:!0}});var J=pe(W,2);Jr(J,{id:K,get open(){return h(A)},onClose:()=>H(A,!1),get anchorEl(){return h(F)},placement:"bottom-end",offset:[0,1],children:ve=>{var he=To();xt(he,21,()=>e.availableRegions,Zt,(we,Ae)=>{{let Ie=xe(()=>h(Ae)===e.region),Ce=xe(()=>`w-full rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400 ${h(Ae)===e.region?"bg-rc-gray-800 text-rc-gray-100":"text-rc-gray-200"}`);Ze(we,{variant:"ghost",size:"small",role:"option",get"aria-selected"(){return h(Ie)},onclick:Fe=>{Fe.stopPropagation(),H(A,!1),mr(h(Ae))},get class(){return h(Ce)},children:(Fe,Ye)=>{Ke();var ot=Ve();je(()=>Me(ot,h(Ae))),te(Fe,ot)},$$slots:{default:!0}})}}),re(he),te(ve,he)},$$slots:{default:!0}}),re(M),te(c,L)};Be(bn,c=>{e.availableRegions.length>0&&e.region&&c(yr)})}var _r=pe(bn,2);fi(_r,{}),re(xn),re(Vt);var En=pe(Vt,2),kn=ie(En),On=ie(kn);Tt(On,{class:"flex h-full min-w-0 flex-col !rounded-none p-0",children:(c,L)=>{var M=No(),W=ie(M);{var J=he=>{var we=Ao();te(he,we)},ce=he=>{var we=Co();te(he,we)},ve=he=>{var we=It(),Ae=ze(we);xt(Ae,17,()=>e.steps,Zt,(Ie,Ce)=>{var Fe=Po(),Ye=ie(Fe),ot=ie(Ye,!0);re(Ye),re(Fe),je(()=>{var vt;Dr(Fe,1,`my-1 w-full rounded-lg px-3 py-2 text-left text-rc-gray-200 hover:bg-rc-gray-700 ${h(Ce).name===((vt=e.currentStep)==null?void 0:vt.name)?"bg-rc-gray-600":"bg-transparent"}`),Me(ot,h(Ce).name)}),Mt("click",Fe,()=>ue(h(Ce).name)),te(Ie,Fe)}),te(he,we)};Be(W,he=>{e.wsLoaded?e.steps.length===0?he(ce,1):he(ve,-1):he(J)})}re(M),te(c,M)}});var Gt=pe(On,2),Wt=ie(Gt),qt=ie(Wt),Sn=ie(qt),wr=ie(Sn,!0);re(Sn),re(qt);var Tn=pe(qt,2),Ht=ie(Tn),zt=ie(Ht);Hn(zt),Ke(2),re(Ht);var Ln=pe(Ht,2);{let c=xe(()=>!e.currentStep||h(Nt));Ze(Ln,{variant:"secondary",get disabled(){return h(c)},onclick:dr,children:(L,M)=>{Ke();var W=Ve("Find issues");te(L,W)},$$slots:{default:!0}})}var xr=pe(Ln,2);{let c=xe(()=>!e.currentStep||!!h(o)||h(_e));Ze(xr,{variant:"secondary",get disabled(){return h(c)},onclick:()=>At(),children:(L,M)=>{Ke();var W=Ve("Edit with AI");te(L,W)},$$slots:{default:!0}})}re(Tn),re(Wt);var An=pe(Wt,2),br=ie(An);{var Er=c=>{var L=Mo(),M=ie(L);Kr(M,()=>e.currentStep.name,ce=>{{let ve=xe(()=>h(Ge)&&!h(o)),he=xe(()=>!!h(o)||h(a)),we=xe(()=>h(o)?"Accept or reject the AI suggestion before editing.":h(a)?"Bosun is refreshing the project.":""),Ae=xe(()=>h(o)?!1:h(dt));jn(ce,{class:"h-full min-w-0 focus:outline-none focus:ring-0",get initialPrompt(){return h(u)},get agentId(){return e.agentId},get stepName(){return e.currentStep.name},onPromptChanged:X,get showSchemaButton(){return h(ve)},onSchemaClick:ln,get readOnly(){return h(he)},get readOnlyMessage(){return h(we)},showPreviewToggle:!1,get preview(){return h(Ae)},onEditorReady:ur,get onReadOnlyEditAttempt(){return b.requestBlockedOperationNotice}})}});var W=pe(M,2);{var J=ce=>{var ve=Io(),he=ie(ve);{var we=$e=>{jn($e,{class:"h-full min-w-0 focus:outline-none focus:ring-0",get initialPrompt(){return h(o).suggestedPrompt},get agentId(){return e.agentId},get stepName(){return e.currentStep.name},onPromptChanged:()=>{},showSchemaButton:!1,readOnly:!0,readOnlyMessage:"Accept or reject the AI suggestion before editing.",bottomPadding:56,showPreviewToggle:!1,onEditorReady:fr,get onReadOnlyEditAttempt(){return b.requestBlockedOperationNotice}})},Ae=$e=>{jr($e,{variant:"prompt",class:"h-full min-w-0",get original(){return h(lr)},get modified(){return h(cr)},inline:!0,bottomPadding:56,readOnlyMessage:"Accept or reject the AI suggestion before editing.",onModifiedEditorReady:We=>Dt=We})};Be(he,$e=>{e.edit.popover?$e(we):$e(Ae,-1)})}var Ie=pe(he,2),Ce=ie(Ie);Ze(Ce,{variant:"secondary",get disabled(){return h(q)},onclick:le,children:($e,We)=>{Ke();var st=Ve("✕ Reject");te($e,st)},$$slots:{default:!0}});var Fe=pe(Ce,2);Ze(Fe,{get disabled(){return h(q)},onclick:Ee,children:($e,We)=>{Ke();var st=Ve("✓ Accept");te($e,st)},$$slots:{default:!0}});var Ye=pe(Fe,2);{var ot=$e=>{var We=Ro(),st=ie(We,!0);re(We),je(()=>Me(st,h(Y))),te($e,We)};Be(Ye,$e=>{h(Y)&&$e(ot)})}re(Ie);var vt=pe(Ie,2);{var Qt=$e=>{Ze($e,{variant:"secondary",onclick:ln,class:"absolute bottom-2 right-6 z-20 !font-medium",children:(We,st)=>{Ke();var wt=Ve("Schema");te(We,wt)},$$slots:{default:!0}})};Be(vt,$e=>{h(Ge)&&$e(Qt)})}re(ve),te(ce,ve)};Be(W,ce=>{h(o)&&ce(J)})}re(L),te(c,L)},kr=c=>{Tt(c,{class:"flex h-full min-w-0 items-center justify-center !rounded-none p-4 text-sm text-rc-gray-400",children:(L,M)=>{Ke();var W=Ve("Select a step to edit its prompt");te(L,W)}})};Be(br,c=>{e.currentStep?c(Er):c(kr,-1)})}re(An),re(Gt);var Or=pe(Gt,2);Tt(Or,{class:"relative flex h-full min-w-0 flex-col overflow-hidden !rounded-none p-0",children:(c,L)=>{var M=Fo(),W=ze(M),J=ie(W);en(J,{get value(){return e.edit.tab},ariaLabel:"Mode tabs",onChange:rr,children:(Ce,Fe)=>{var Ye=qn(),ot=ze(Ye);mt(ot,{value:"roleplay",children:(We,st)=>{Ke();var wt=Ve("Roleplay");te(We,wt)},$$slots:{default:!0}});var vt=pe(ot,2);mt(vt,{value:"tests",children:(We,st)=>{Ke();var wt=Ve("Tests");te(We,wt)},$$slots:{default:!0}});var Qt=pe(vt,2);{var $e=We=>{mt(We,{value:"configure",children:(st,wt)=>{Ke();var Lr=Ve("Configure");te(st,Lr)},$$slots:{default:!0}})};Be(Qt,We=>{e.defaultRegion!==null&&We($e)})}te(Ce,Ye)},$$slots:{default:!0}}),re(W);var ce=pe(W,2),ve=ie(ce);$r(ve,()=>E.children),re(ce);var he=pe(ce,2);{var we=Ce=>{{const Fe=ot=>{uo(ot,{})};let Ye=xe(()=>sr(e.edit.popover.kind));Mn(Ce,{get title(){return h(Ye)},onClose:yt,children:Fe})}};Be(he,Ce=>{e.edit.popover&&Ce(we)})}var Ae=pe(he,2);{var Ie=Ce=>{Mn(Ce,{title:"Edit context",onClose:Ct,children:Ye=>{po(Ye,{})}})};Be(Ae,Ce=>{e.contextPopoverOpen&&Ce(Ie)})}te(c,M)}}),re(kn),re(En),re(wn),re($t);var Cn=pe($t,2);Yt(Cn,{title:"Edit with AI",class:"!max-w-xl",get underlayOpen(){return h(_e)},get open(){return h(ee)},set open(W){H(ee,W,!0)},children:W=>{var J=Ko(),ce=pe(ie(J),2);mi(ce,{id:"ai-edit-request",rows:6,get disabled(){return h(_e)},placeholder:"I want the agent to ask the user's name during the greeting",class:"rc-scroll disabled:cursor-wait disabled:opacity-70",get value(){return h(Z)},set value(we){H(Z,we,!0)}});var ve=pe(ce,2);{var he=we=>{var Ae=Bo(),Ie=ie(Ae,!0);re(Ae),je(()=>Me(Ie,h(U))),te(we,Ae)};Be(ve,we=>{h(U)&&we(he)})}re(J),te(W,J)},footer:W=>{var J=Wn(),ce=ze(J);Ze(ce,{variant:"outlined",size:"small",onclick:Kt,children:(he,we)=>{Ke();var Ae=Ve("Cancel");te(he,Ae)},$$slots:{default:!0}});var ve=pe(ce,2);{let he=xe(()=>!h(Z).trim()||h(_e));Ze(ve,{size:"small",get disabled(){return h(he)},onclick:jt,children:(we,Ae)=>{Ke();var Ie=Ve();je(()=>Me(Ie,h(_e)?"Suggesting edits…":"Suggest edits")),te(we,Ie)},$$slots:{default:!0}})}te(W,J)},underlay:W=>{var J=jo(),ce=ie(J,!0);re(J),je(()=>{Gr(J,"title",h(S)),Me(ce,h(S))}),te(W,J)},$$slots:{default:!0,footer:!0,underlay:!0}});var Pn=pe(Cn,2);Yt(Pn,{title:"No changes were suggested",class:"!z-[60] !max-w-md",overlayClass:"!z-[60]",get open(){return h(ae)},set open(M){H(ae,M,!0)},children:M=>{var W=Do();te(M,W)},footer:M=>{Ze(M,{size:"small",onclick:()=>H(ae,!1),children:(W,J)=>{Ke();var ce=Ve("Close");te(W,ce)},$$slots:{default:!0}})},$$slots:{default:!0,footer:!0}});var Sr=pe(Pn,2);{var Tr=c=>{Yt(c,{title:"Schema",class:"!w-[80vw] !max-w-5xl",get open(){return h(Xe)},set open(W){H(Xe,W,!0)},children:W=>{Ei(W,{class:"h-[70vh] min-w-0",get schema(){return h(et)},onChange:tr})},footer:W=>{var J=qn(),ce=ze(J);{var ve=Ie=>{var Ce=$o(),Fe=ie(Ce,!0);re(Ce),je(()=>Me(Fe,h(it))),te(Ie,Ce)},he=Ie=>{var Ce=Vo(),Fe=ie(Ce,!0);re(Ce),je(()=>Me(Fe,h(pt))),te(Ie,Ce)};Be(ce,Ie=>{h(it)?Ie(ve):h(pt)&&Ie(he,1)})}var we=pe(ce,2);Ze(we,{variant:"outlined",size:"small",onclick:()=>H(Xe,!1),children:(Ie,Ce)=>{Ke();var Fe=Ve();je(()=>Me(Fe,h(gt)?"Cancel":"Close")),te(Ie,Fe)},$$slots:{default:!0}});var Ae=pe(we,2);{let Ie=xe(()=>!h(gt)||h(ft));Ze(Ae,{size:"small",get disabled(){return h(Ie)},onclick:nr,children:(Ce,Fe)=>{Ke();var Ye=Ve();je(()=>Me(Ye,h(ft)?"Saving…":"Save")),te(Ce,Ye)},$$slots:{default:!0}})}te(W,J)},$$slots:{default:!0,footer:!0}})};Be(Sr,c=>{h(Re)&&c(Tr)})}je(()=>{var c;Me(wr,((c=e.currentStep)==null?void 0:c.name)??"Prompt"),zt.disabled=!e.currentStep||!!h(o)&&!!e.edit.popover}),qr(zt,()=>h(dt),c=>H(dt,c)),te(P,yn),Et()}nn(["click"]);export{bs as component};
@@ -0,0 +1 @@
1
+ import{d as Ot,b as F,a as u,t as k,f as w,c as Gt}from"../chunks/CMFNmSvo.js";import{o as qt}from"../chunks/CD_KdWs9.js";import{p as Qt,w as v,x as _e,d as Vt,t as T,j as t,a as Wt,e as Yt,f as he,s as l,c as n,y as s,n as P,$ as Ht,o as E,r as o}from"../chunks/C4UC6AgE.js";import{s as g}from"../chunks/eMofpOrR.js";import{i as Q}from"../chunks/D9BWOD7V.js";import{e as Ye,i as He}from"../chunks/BlFOg-Sd.js";import{s as Jt,a as Kt}from"../chunks/BHB0Pj1h.js";import{h as Xt}from"../chunks/CNIn4L55.js";import{c as Je,s as Ke}from"../chunks/D8Lmn3S5.js";import{p as Zt}from"../chunks/CupXtwVS.js";import{g as _}from"../chunks/B-dTD_wm.js";import{p}from"../chunks/DBB88ZB7.js";import{B as V}from"../chunks/Byg3jr1u.js";import{I as er}from"../chunks/DfkYlKBk.js";import{I as tr}from"../chunks/CeoQ-OhK.js";import{m as rr}from"../chunks/ddC1NP9R.js";import{p as Xe,T as ar,b as sr,g as or,r as nr,a as ir,w as lr}from"../chunks/CB9iDxwI.js";import{T as cr,a as Ze}from"../chunks/C60AG6QQ.js";import{A as dr}from"../chunks/CAIfVN23.js";import{g as vr}from"../chunks/D8doM1Y6.js";import{t as ur}from"../chunks/CDy1LBR5.js";import{G as pr}from"../chunks/D_laxq3h.js";var fr=w("<!> <!>",1),et=w("<option> </option>"),gr=w('<button type="button" aria-label="Clear search" class="absolute right-2 top-1/2 flex -translate-y-1/2 items-center justify-center rounded p-1 text-rc-gray-200 hover:bg-rc-gray-600 hover:text-rc-gray-100 focus:outline-none"><!></button>'),mr=w('<p class="py-8 text-center text-rc-gray-200">Loading...</p>'),_r=w('<p class="py-8 text-center text-rc-gray-300">No conversations found</p>'),hr=w('<span class="text-rc-gray-200">, Agent Id:</span> <span class="text-rc-green-200"> </span>',1),xr=w('<li><div class="flex w-full flex-col gap-2"><div class="flex w-full items-center justify-between"><div class="text-gray-300"> </div> <div class="flex items-center gap-2"><span class="text-xs text-rc-gray-300"> </span> <span class="font-semibold text-rc-gray-100"> </span></div></div> <div class="flex items-center justify-between gap-4"><div class="text-sm"><span class="text-rc-gray-200">Conversation Id:</span> <span class="text-rc-green-200"> </span> <!></div> <p class="text-sm text-gray-400"> </p></div></div></li>'),yr=w('<ul class="space-y-2"></ul>'),wr=w('<div class="flex h-screen"><!> <div class="flex h-full min-w-0 flex-1 flex-col bg-rc-gray-980 pb-3 pr-4 pt-2"><nav class="flex flex-none flex-col bg-rc-gray-980"><div class="flex items-center"><div class="flex w-1/3"></div> <div class="flex w-1/3 justify-center"><!></div> <div class="flex w-1/3 justify-end pr-2"><!></div></div> <div class="flex flex-wrap items-center gap-4"><div class="flex-1"><label class="block"><div class="flex gap-2"><select class="select svelte-1uk1thp" aria-label="Telescope source"><!></select> <div class="relative"><!><!></div> <!></div></label></div> <div class="hidden items-center gap-2"><div class="text-rc-gray-200">Sort:</div> <!></div> <div class="hidden items-center gap-2"><div class="text-rc-gray-200">Page size:</div> <select class="rounded-sm border border-rc-gray-300 bg-rc-gray-700 p-2 pr-8 text-rc-gray-100"><option>5</option><option>10</option><option>20</option><option>50</option></select></div> <div class="flex items-center gap-3"><div class="flex items-center gap-2"><!> <!> <div class="text-sm text-rc-gray-200"> </div></div></div> <div class="ml-auto whitespace-nowrap text-sm"><span class="text-gray-400">API Mode:</span> <span class="font-semibold text-rc-green-200"> </span></div></div></nav> <main class="flex flex-1 overflow-hidden"><div class="flex h-full w-1/3 flex-col"><div class="flex-none border-b border-rc-gray-300/40 p-4"><h2 class="text-lg font-semibold text-rc-gray-100">Conversations</h2></div> <div class="rc-scroll min-h-0 flex-1 overflow-scroll px-3 py-4"><!></div></div> <div class="flex h-full w-2/3 flex-col bg-rc-gray-980"><!></div></main></div></div>');function qr(tt,W){Qt(W,!0);const R=new ar(fetch);let xe=v(_e([])),h=v(void 0),x=v(null);const f=P(()=>(p.url.searchParams.get("agent")??"").trim()),Y=P(()=>(p.url.searchParams.get("region")??"").trim());let L=v(""),H=v(20),j=v("20"),M=v(!0),y=v(_e([])),b=v(null),z=v(!1),J=v(null),ye=v(0),$=v(_e([])),I=v(""),B=v(!1),K=v(null),we=v(!1),X=v(null),be=Zt(W,"useMock",3,!1);const{onError:$e}=vr();function rt(e){return new Date(e).toLocaleString()}function at(e){const r=Math.floor(e/60),a=e%60;return`${r}:${String(a).padStart(2,"0")}`}function Ie(e=t(f),r=e===t(f)?t(Y):""){const a=new URLSearchParams;e&&a.set("agent",e),e&&r&&a.set("region",r),t(I)&&a.set(sr,t(I));const i=a.toString();return i?`?${i}`:""}function U(e=t(f)){return`${t(Ae)}/conversations${Ie(e)}`}const st=P(()=>p.url.pathname.split("/").at(-1)==="latency"?"latency":"traces");function ot(e,r=t(st),a=t(f)){return`${t(Ae)}/conversations/${encodeURIComponent(e)}/${r}${Ie(a)}`}async function nt(e,r=t(H),a,i){return be()?rr.fetchConversations(r,e,a??void 0):R.getConversations({phoneNumber:e,agentId:i,limit:Number(r),lastConversationId:a??void 0})}async function N(){s(y,[],!0),s(b,null),await Z()}async function it(){s(B,!0),s(K,null);try{const e=await fetch("/traces/api/sources");if(!e.ok)throw new Error(`Failed to load sources (${e.status})`);const r=await e.json(),a=Array.isArray(r)?r:[];if(s($,a.filter(d=>d&&typeof d.id=="string"&&typeof d.label=="string"),!0),!t($).length)throw new Error("No sources returned");const i=or(p.url),c=nr(t($),i,ir());if(!c)throw new Error("No sources returned");if(s(I,c,!0),Xe(c),R.setSourceId(c),i!==c){const d=lr(p.url,c);await _(`${d.pathname}${d.search}`,{replaceState:!0})}}catch(e){console.error("Failed to load Telescope sources:",e),s(K,(e==null?void 0:e.message)??"Failed to load Telescope sources",!0),s($,[],!0),s(I,""),R.setSourceId(void 0)}finally{s(B,!1)}}async function lt(e){const r=e.target.value;s(I,r,!0),Xe(r),R.setSourceId(r),s(x,null),await _(U()),await N()}async function ct(){try{s(xe,await ur.agents.catalog.query(),!0)}catch(e){const r=e instanceof Error?e.message:e?String(e):"Unknown error";console.error("Failed to load agents:",e),$e(`Failed to load agents: ${r}`)}}async function Z(){s(z,!0),s(J,null);try{const e=await nt(t(L)||void 0,t(H),t(b)??void 0,t(f)||void 0);let r=Array.isArray(e.items)?e.items.slice():[];r=r.filter(a=>!!(a!=null&&a.phoneNumber)),s(h,{limit:e.limit,items:r,lastConversationId:e.lastConversationId},!0),s(ye,r.length,!0),s(b,e.lastConversationId??null,!0),s(z,!1)}catch(e){s(z,!1),s(J,e.message||"Unknown error",!0),$e(`Error loading conversations: ${t(J)}`),console.error("Load page error:",e)}}async function dt(){var e;(e=t(h))!=null&&e.lastConversationId&&(t(y).push(t(h).lastConversationId),s(b,t(h).lastConversationId,!0),await Z())}async function vt(){t(y).length&&(t(y).pop(),s(b,t(y).length?t(y)[t(y).length-1]:null,!0),await Z())}function ut(){var e;s(M,!t(M)),(e=t(h))!=null&&e.items&&t(h).items.sort((r,a)=>t(M)?a.createdAt-r.createdAt:r.createdAt-a.createdAt)}async function pt(e,r){var i;if(r==null||r.stopPropagation(),p.params.conversationId&&p.params.conversationId===e.conversationId||!p.params.conversationId&&((i=t(x))==null?void 0:i.conversationId)===e.conversationId){s(x,null),await _(U());return}s(x,e,!0),await _(ot(e.conversationId))}function ft(e){const r=e.target.value;s(j,r,!0),s(H,parseInt(t(j),10)||20,!0)}async function Se(){await N()}async function gt(e){e==null||e.preventDefault(),e==null||e.stopPropagation(),s(L,""),s(y,[],!0),s(b,null),await N()}const Ce=P(()=>{const e=p.url.pathname.split("/")[1];return e==="traces"?"view":e}),Ae=P(()=>p.url.pathname.startsWith("/view")?"/view":"/traces");function mt({value:e}){if(e!==t(Ce)){if(e==="edit"){if(!t(f))return _("/edit");const r=new URLSearchParams;t(Y)&&r.set("region",t(Y));const a=r.toString();return _(`/edit/${encodeURIComponent(t(f))}/roleplay${a?`?${a}`:""}`)}if(e==="view")return _(U());_("/"+e)}}async function _t(e,r){r==null||r.stopPropagation(),e!==t(f)&&(s(x,null),await _(U(e)))}async function ht(e){e==null||e.stopPropagation(),t(f)&&(s(x,null),await _(U("")))}Vt(()=>{const e=t(f);t(we)&&e!==t(X)&&(s(X,e,!0),s(x,null),N())}),qt(()=>{(async()=>(await Promise.all([ct(),it()]),await N(),s(X,t(f),!0),s(we,!0)))()});var ee=wr();Xt("1uk1thp",e=>{Yt(()=>{Ht.title="Bosun: Telescope"})});var Pe=n(ee);dr(Pe,{get agents(){return t(xe)},get currentAgent(){return t(f)},onAgentClick:_t,showAllAgentsOption:!0,onAllAgentsClick:ht,className:"flex-none"});var ke=l(Pe,2),te=n(ke),re=n(te),ae=l(n(re),2),xt=n(ae);cr(xt,{get value(){return t(Ce)},ariaLabel:"Top tabs",onChange:mt,children:(e,r)=>{var a=fr(),i=he(a);Ze(i,{value:"edit",children:(d,C)=>{E();var m=k("Edit");u(d,m)},$$slots:{default:!0}});var c=l(i,2);Ze(c,{value:"view",children:(d,C)=>{E();var m=k("View");u(d,m)},$$slots:{default:!0}}),u(e,a)},$$slots:{default:!0}}),o(ae);var Te=l(ae,2),yt=n(Te);pr(yt,{}),o(Te),o(re);var Ee=l(re,2),se=n(Ee),Le=n(se),Ue=n(Le),S=n(Ue),wt=n(S);{var bt=e=>{var r=Gt(),a=he(r);Ye(a,17,()=>t($),He,(i,c)=>{var d=et(),C=n(d,!0);o(d);var m={};T(()=>{g(C,t(c).label),m!==(m=t(c).id)&&(d.value=(d.__value=t(c).id)??"")}),u(i,d)}),u(e,r)},$t=e=>{var r=et(),a=n(r,!0);o(r),r.value=r.__value="",T(()=>g(a,t(B)?"Loading…":"No sources")),u(e,r)};Q(wt,e=>{t($).length?e(bt):e($t,-1)})}o(S);var oe=l(S,2),Ne=n(oe);tr(Ne,{class:"w-56 rounded-r-none !border !border-rc-gray-500 !p-2 !pr-8 hover:border-rc-gray-400",placeholder:"Search by phone...",onkeydown:e=>{e.key==="Enter"&&(e.preventDefault(),e.stopPropagation(),Se())},get value(){return t(L)},set value(e){s(L,e,!0)}});var It=l(Ne);{var St=e=>{var r=gr(),a=n(r);er(a,{name:"close",width:18,height:18}),o(r),F("click",r,gt),u(e,r)};Q(It,e=>{t(L)&&e(St)})}o(oe);var Ct=l(oe,2);V(Ct,{onclick:Se,children:(e,r)=>{E();var a=k("Search");u(e,a)},$$slots:{default:!0}}),o(Ue),o(Le),o(se);var ne=l(se,2),At=l(n(ne),2);V(At,{onclick:ut,children:(e,r)=>{E();var a=k();T(()=>g(a,t(M)?"Newest first":"Oldest first")),u(e,a)},$$slots:{default:!0}}),o(ne);var ie=l(ne,2),O=l(n(ie),2),le=n(O);le.value=le.__value="5";var ce=l(le);ce.value=ce.__value="10";var de=l(ce);de.value=de.__value="20";var De=l(de);De.value=De.__value="50",o(O),o(ie);var ve=l(ie,2),Fe=n(ve),Re=n(Fe);{let e=P(()=>t(y).length===0&&!t(b));V(Re,{onclick:vt,get disabled(){return t(e)},children:(r,a)=>{E();var i=k("Prev");u(r,i)},$$slots:{default:!0}})}var je=l(Re,2);{let e=P(()=>{var r;return!((r=t(h))!=null&&r.items.length)});V(je,{onclick:dt,get disabled(){return t(e)},children:(r,a)=>{E();var i=k("Next");u(r,i)},$$slots:{default:!0}})}var Me=l(je,2),Pt=n(Me);o(Me),o(Fe),o(ve);var ze=l(ve,2),Be=l(n(ze),2),kt=n(Be,!0);o(Be),o(ze),o(Ee),o(te);var Oe=l(te,2),ue=n(Oe),Ge=l(n(ue),2),Tt=n(Ge);{var Et=e=>{var r=mr();u(e,r)},Lt=e=>{var r=_r();u(e,r)},Ut=e=>{var r=yr();Ye(r,21,()=>t(h).items,He,(a,i)=>{var c=xr(),d=n(c),C=n(d),m=n(C),Dt=n(m,!0);o(m);var qe=l(m,2),fe=n(qe),Ft=n(fe,!0);o(fe);var Qe=l(fe,2),Rt=n(Qe,!0);o(Qe),o(qe),o(C);var Ve=l(C,2),ge=n(Ve),me=l(n(ge),2),jt=n(me,!0);o(me);var Mt=l(me,2);{var zt=A=>{var G=hr(),D=l(he(G),2),q=n(D,!0);o(D),T(()=>g(q,t(i).agentId)),u(A,G)};Q(Mt,A=>{!t(f)&&t(i).agentId&&A(zt)})}o(ge);var We=l(ge,2),Bt=n(We);o(We),o(Ve),o(d),o(c),T((A,G)=>{var D,q;Kt(c,1,`cursor-pointer rounded-lg p-3 transition-colors ${(p.params.conversationId?t(i).conversationId===p.params.conversationId:t(i).conversationId===((D=t(x))==null?void 0:D.conversationId))?"bg-rc-gray-600":"bg-rc-gray-700 hover:bg-rc-gray-650"}`,"svelte-1uk1thp"),Ke(c,"aria-selected",p.params.conversationId?t(i).conversationId===p.params.conversationId:t(i).conversationId===((q=t(x))==null?void 0:q.conversationId)),g(Dt,A),g(Ft,t(i).medium),g(Rt,t(i).phoneNumber),g(jt,t(i).conversationId),g(Bt,`Duration: ${G??""}`)},[()=>rt(t(i).createdAt),()=>at(t(i).duration??0)]),F("click",c,A=>pt(t(i),A)),u(a,c)}),o(r),u(e,r)};Q(Tt,e=>{var r,a;t(z)?e(Et):(a=(r=t(h))==null?void 0:r.items)!=null&&a.length?e(Ut,-1):e(Lt,1)})}o(Ge),o(ue);var pe=l(ue,2),Nt=n(pe);Jt(Nt,()=>W.children),o(pe),o(Oe),o(ke),o(ee),T(()=>{S.disabled=t(B)||!t($).length,Ke(S,"title",t(K)??"Telescope source"),g(Pt,`Items: ${t(ye)??""}`),g(kt,be()?"Mock (local)":"Live")}),F("change",S,lt),Je(S,()=>t(I),e=>s(I,e)),F("change",O,ft),Je(O,()=>t(j),e=>s(j,e)),F("click",pe,e=>e.stopPropagation()),u(tt,ee),Wt()}Ot(["change","click"]);export{qr as component};
@@ -1 +1 @@
1
- import{d as L,b as U,a as t,t as h,f as x}from"../chunks/DCXjBDmY.js";import{p as j,a as B,f as M,j as l,s as g,n as $,c,o as b,r as d}from"../chunks/CEHsomMo.js";import{s as R}from"../chunks/DSLyVE1P.js";import{g as W}from"../chunks/BvjXTrOz.js";import{p as o}from"../chunks/Cp_st-64.js";import{T as q,a as _}from"../chunks/ILTCveYH.js";import{p as z}from"../chunks/wcTQUnZO.js";var A=x("<!> <!>",1),D=x('<div class="flex h-full min-h-0 flex-col bg-rc-gray-980"><div class="flex-none border-b border-rc-gray-300/40 px-4 pt-3"><!></div> <div class="min-h-0 flex-1"><!></div></div>');function O(y,v){j(v,!0),z();const p=$(()=>o.url.pathname.split("/").at(-1)==="latency"?"latency":"traces"),w=$(()=>o.url.pathname.startsWith("/view")?"/view":"/traces");function T(a){const m=o.params.conversationId??"",r=o.url.search;return`${l(w)}/conversations/${encodeURIComponent(m)}/${a}${r}`}function C({value:a}){a!=="traces"&&a!=="latency"||a!==l(p)&&W(T(a))}var e=D(),s=c(e),P=c(s);q(P,{get value(){return l(p)},ariaLabel:"View conversation tabs",onChange:C,children:(a,m)=>{var r=A(),u=M(r);_(u,{value:"traces",children:(n,k)=>{b();var i=h("Traces");t(n,i)},$$slots:{default:!0}});var I=g(u,2);_(I,{value:"latency",children:(n,k)=>{b();var i=h("Latency");t(n,i)},$$slots:{default:!0}}),t(a,r)},$$slots:{default:!0}}),d(s);var f=g(s,2),V=c(f);R(V,()=>v.children),d(f),d(e),U("click",e,a=>a.stopPropagation()),t(y,e),B()}L(["click"]);export{O as component};
1
+ import{d as L,b as U,a as t,t as h,f as x}from"../chunks/CMFNmSvo.js";import{p as j,a as B,f as M,j as l,s as g,n as $,c,o as b,r as d}from"../chunks/C4UC6AgE.js";import{s as R}from"../chunks/BHB0Pj1h.js";import{g as W}from"../chunks/B-dTD_wm.js";import{p as o}from"../chunks/DBB88ZB7.js";import{T as q,a as _}from"../chunks/C60AG6QQ.js";import{p as z}from"../chunks/DEnUeQNt.js";var A=x("<!> <!>",1),D=x('<div class="flex h-full min-h-0 flex-col bg-rc-gray-980"><div class="flex-none border-b border-rc-gray-300/40 px-4 pt-3"><!></div> <div class="min-h-0 flex-1"><!></div></div>');function O(y,v){j(v,!0),z();const p=$(()=>o.url.pathname.split("/").at(-1)==="latency"?"latency":"traces"),w=$(()=>o.url.pathname.startsWith("/view")?"/view":"/traces");function T(a){const m=o.params.conversationId??"",r=o.url.search;return`${l(w)}/conversations/${encodeURIComponent(m)}/${a}${r}`}function C({value:a}){a!=="traces"&&a!=="latency"||a!==l(p)&&W(T(a))}var e=D(),s=c(e),P=c(s);q(P,{get value(){return l(p)},ariaLabel:"View conversation tabs",onChange:C,children:(a,m)=>{var r=A(),u=M(r);_(u,{value:"traces",children:(n,k)=>{b();var i=h("Traces");t(n,i)},$$slots:{default:!0}});var I=g(u,2);_(I,{value:"latency",children:(n,k)=>{b();var i=h("Latency");t(n,i)},$$slots:{default:!0}}),t(a,r)},$$slots:{default:!0}}),d(s);var f=g(s,2),V=c(f);R(V,()=>v.children),d(f),d(e),U("click",e,a=>a.stopPropagation()),t(y,e),B()}L(["click"]);export{O as component};