@recombine-ai/bosun 0.20.0 → 0.21.0-test.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 (172) hide show
  1. package/build/_app/immutable/assets/0.9rkIUGuN.css +1 -0
  2. package/build/_app/immutable/assets/0.9rkIUGuN.css.br +0 -0
  3. package/build/_app/immutable/assets/0.9rkIUGuN.css.gz +0 -0
  4. package/build/_app/immutable/chunks/{Byx1piFp.js → BCt5mYqr.js} +2 -2
  5. package/build/_app/immutable/chunks/BCt5mYqr.js.br +0 -0
  6. package/build/_app/immutable/chunks/BCt5mYqr.js.gz +0 -0
  7. package/build/_app/immutable/chunks/{BSnTSnag.js → BavTq23q.js} +1 -1
  8. package/build/_app/immutable/chunks/BavTq23q.js.br +0 -0
  9. package/build/_app/immutable/chunks/BavTq23q.js.gz +0 -0
  10. package/build/_app/immutable/chunks/ButrXdPV.js +3 -0
  11. package/build/_app/immutable/chunks/ButrXdPV.js.br +0 -0
  12. package/build/_app/immutable/chunks/ButrXdPV.js.gz +0 -0
  13. package/build/_app/immutable/chunks/{CGV7fMmX.js → C9BPLYOl.js} +1 -1
  14. package/build/_app/immutable/chunks/C9BPLYOl.js.br +0 -0
  15. package/build/_app/immutable/chunks/C9BPLYOl.js.gz +0 -0
  16. package/build/_app/immutable/chunks/CQ04EkYa.js +1 -0
  17. package/build/_app/immutable/chunks/CQ04EkYa.js.br +0 -0
  18. package/build/_app/immutable/chunks/CQ04EkYa.js.gz +0 -0
  19. package/build/_app/immutable/chunks/{BT98u4gR.js → D9plo2iy.js} +1 -1
  20. package/build/_app/immutable/chunks/D9plo2iy.js.br +0 -0
  21. package/build/_app/immutable/chunks/D9plo2iy.js.gz +0 -0
  22. package/build/_app/immutable/chunks/DCpWhX37.js +39 -0
  23. package/build/_app/immutable/chunks/DCpWhX37.js.br +0 -0
  24. package/build/_app/immutable/chunks/DCpWhX37.js.gz +0 -0
  25. package/build/_app/immutable/chunks/{Cf3l6QEG.js → DDg2JRw0.js} +1 -1
  26. package/build/_app/immutable/chunks/DDg2JRw0.js.br +0 -0
  27. package/build/_app/immutable/chunks/DDg2JRw0.js.gz +0 -0
  28. package/build/_app/immutable/chunks/DDumOzD3.js +1 -0
  29. package/build/_app/immutable/chunks/DDumOzD3.js.br +0 -0
  30. package/build/_app/immutable/chunks/DDumOzD3.js.gz +0 -0
  31. package/build/_app/immutable/chunks/{D_MTg6YY.js → DHHydtNp.js} +1 -1
  32. package/build/_app/immutable/chunks/DHHydtNp.js.br +0 -0
  33. package/build/_app/immutable/chunks/DHHydtNp.js.gz +0 -0
  34. package/build/_app/immutable/chunks/DOTdXvTw.js +2 -0
  35. package/build/_app/immutable/chunks/DOTdXvTw.js.br +0 -0
  36. package/build/_app/immutable/chunks/DOTdXvTw.js.gz +0 -0
  37. package/build/_app/immutable/chunks/DYSPsyyc.js +1 -0
  38. package/build/_app/immutable/chunks/DYSPsyyc.js.br +2 -0
  39. package/build/_app/immutable/chunks/DYSPsyyc.js.gz +0 -0
  40. package/build/_app/immutable/chunks/{CL717zGu.js → Uqa7obpm.js} +1 -1
  41. package/build/_app/immutable/chunks/Uqa7obpm.js.br +0 -0
  42. package/build/_app/immutable/chunks/Uqa7obpm.js.gz +0 -0
  43. package/build/_app/immutable/entry/{app.B73YVKlJ.js → app.BR1lgfTI.js} +2 -2
  44. package/build/_app/immutable/entry/app.BR1lgfTI.js.br +0 -0
  45. package/build/_app/immutable/entry/app.BR1lgfTI.js.gz +0 -0
  46. package/build/_app/immutable/entry/start.BaMhUKER.js +1 -0
  47. package/build/_app/immutable/entry/start.BaMhUKER.js.br +1 -0
  48. package/build/_app/immutable/entry/start.BaMhUKER.js.gz +0 -0
  49. package/build/_app/immutable/nodes/{0.CRuATwoa.js → 0.DieFEjKj.js} +1 -1
  50. package/build/_app/immutable/nodes/0.DieFEjKj.js.br +0 -0
  51. package/build/_app/immutable/nodes/0.DieFEjKj.js.gz +0 -0
  52. package/build/_app/immutable/nodes/{1.BwTYt1ri.js → 1.2N7NxjNa.js} +1 -1
  53. package/build/_app/immutable/nodes/1.2N7NxjNa.js.br +2 -0
  54. package/build/_app/immutable/nodes/1.2N7NxjNa.js.gz +0 -0
  55. package/build/_app/immutable/nodes/16.RoyGNCo6.js +1 -0
  56. package/build/_app/immutable/nodes/16.RoyGNCo6.js.br +2 -0
  57. package/build/_app/immutable/nodes/16.RoyGNCo6.js.gz +0 -0
  58. package/build/_app/immutable/nodes/{17.BW7FjO0Q.js → 17.L5kDaK8U.js} +3 -3
  59. package/build/_app/immutable/nodes/17.L5kDaK8U.js.br +0 -0
  60. package/build/_app/immutable/nodes/17.L5kDaK8U.js.gz +0 -0
  61. package/build/_app/immutable/nodes/2.XKYmWFax.js +35 -0
  62. package/build/_app/immutable/nodes/2.XKYmWFax.js.br +0 -0
  63. package/build/_app/immutable/nodes/2.XKYmWFax.js.gz +0 -0
  64. package/build/_app/immutable/nodes/{3.Cu2n_SuU.js → 3.DVyHLjOa.js} +1 -1
  65. package/build/_app/immutable/nodes/3.DVyHLjOa.js.br +0 -0
  66. package/build/_app/immutable/nodes/3.DVyHLjOa.js.gz +0 -0
  67. package/build/_app/immutable/nodes/{4.DfbxAWaw.js → 4.DjvkqX8G.js} +1 -1
  68. package/build/_app/immutable/nodes/4.DjvkqX8G.js.br +0 -0
  69. package/build/_app/immutable/nodes/4.DjvkqX8G.js.gz +0 -0
  70. package/build/_app/immutable/nodes/{5.B1H9pyMk.js → 5.CC0sWo3-.js} +1 -1
  71. package/build/_app/immutable/nodes/5.CC0sWo3-.js.br +0 -0
  72. package/build/_app/immutable/nodes/5.CC0sWo3-.js.gz +0 -0
  73. package/build/_app/immutable/nodes/{6.Bq16_9w3.js → 6.lov-sild.js} +1 -1
  74. package/build/_app/immutable/nodes/6.lov-sild.js.br +0 -0
  75. package/build/_app/immutable/nodes/6.lov-sild.js.gz +0 -0
  76. package/build/_app/immutable/nodes/8.D4Z18MEJ.js +2 -0
  77. package/build/_app/immutable/nodes/8.D4Z18MEJ.js.br +0 -0
  78. package/build/_app/immutable/nodes/8.D4Z18MEJ.js.gz +0 -0
  79. package/build/_app/immutable/nodes/{9.C2W2D2GW.js → 9.C0YTopNq.js} +1 -1
  80. package/build/_app/immutable/nodes/9.C0YTopNq.js.br +0 -0
  81. package/build/_app/immutable/nodes/9.C0YTopNq.js.gz +0 -0
  82. package/build/_app/version.json +1 -1
  83. package/build/_app/version.json.br +0 -0
  84. package/build/_app/version.json.gz +0 -0
  85. package/build/index.html +10 -10
  86. package/build/index.html.br +0 -0
  87. package/build/index.html.gz +0 -0
  88. package/dist/index.js +1530 -153
  89. package/dist/index.js.map +4 -4
  90. package/dist/types/backend/config/router.d.ts +1 -0
  91. package/dist/types/backend/connected-agents/router.d.ts +63 -0
  92. package/dist/types/backend/index.d.ts +2 -1
  93. package/dist/types/backend/lib/bosun-context.d.ts +4 -1
  94. package/dist/types/backend/lib/options.d.ts +83 -0
  95. package/dist/types/backend/roleplay/router.d.ts +1 -1
  96. package/dist/types/backend/server.d.ts +102 -1
  97. package/dist/types/backend/trumpet/http-service.d.ts +23 -0
  98. package/dist/types/backend/trumpet/hub.d.ts +7 -0
  99. package/dist/types/backend/trumpet/local-rc-voice.d.ts +30 -0
  100. package/dist/types/backend/trumpet/logging.d.ts +6 -0
  101. package/dist/types/backend/trumpet/router.d.ts +40 -0
  102. package/dist/types/backend/trumpet/supervisor.d.ts +45 -0
  103. package/dist/types/backend/trumpet/trace-store.d.ts +6 -0
  104. package/dist/types/backend/trumpet/tracers.d.ts +23 -0
  105. package/dist/types/backend/trumpet/types.d.ts +115 -0
  106. package/dist/types/lib/ws-message.d.ts +4 -0
  107. package/package.json +3 -1
  108. package/build/_app/immutable/assets/0.CDmx-FLf.css +0 -1
  109. package/build/_app/immutable/assets/0.CDmx-FLf.css.br +0 -0
  110. package/build/_app/immutable/assets/0.CDmx-FLf.css.gz +0 -0
  111. package/build/_app/immutable/chunks/12bfCwgn.js +0 -2
  112. package/build/_app/immutable/chunks/12bfCwgn.js.br +0 -0
  113. package/build/_app/immutable/chunks/12bfCwgn.js.gz +0 -0
  114. package/build/_app/immutable/chunks/BOHUKGg_.js +0 -1
  115. package/build/_app/immutable/chunks/BOHUKGg_.js.br +0 -0
  116. package/build/_app/immutable/chunks/BOHUKGg_.js.gz +0 -0
  117. package/build/_app/immutable/chunks/BSnTSnag.js.br +0 -0
  118. package/build/_app/immutable/chunks/BSnTSnag.js.gz +0 -0
  119. package/build/_app/immutable/chunks/BT98u4gR.js.br +0 -0
  120. package/build/_app/immutable/chunks/BT98u4gR.js.gz +0 -0
  121. package/build/_app/immutable/chunks/Byx1piFp.js.br +0 -0
  122. package/build/_app/immutable/chunks/Byx1piFp.js.gz +0 -0
  123. package/build/_app/immutable/chunks/CGV7fMmX.js.br +0 -0
  124. package/build/_app/immutable/chunks/CGV7fMmX.js.gz +0 -0
  125. package/build/_app/immutable/chunks/CL717zGu.js.br +0 -0
  126. package/build/_app/immutable/chunks/CL717zGu.js.gz +0 -0
  127. package/build/_app/immutable/chunks/Cf3l6QEG.js.br +0 -0
  128. package/build/_app/immutable/chunks/Cf3l6QEG.js.gz +0 -0
  129. package/build/_app/immutable/chunks/D_MTg6YY.js.br +0 -0
  130. package/build/_app/immutable/chunks/D_MTg6YY.js.gz +0 -0
  131. package/build/_app/immutable/chunks/Dne1wF_T.js +0 -1
  132. package/build/_app/immutable/chunks/Dne1wF_T.js.br +0 -0
  133. package/build/_app/immutable/chunks/Dne1wF_T.js.gz +0 -0
  134. package/build/_app/immutable/chunks/DoM_ZOrs.js +0 -1
  135. package/build/_app/immutable/chunks/DoM_ZOrs.js.br +0 -2
  136. package/build/_app/immutable/chunks/DoM_ZOrs.js.gz +0 -0
  137. package/build/_app/immutable/chunks/Xth-LXaZ.js +0 -1
  138. package/build/_app/immutable/chunks/Xth-LXaZ.js.br +0 -0
  139. package/build/_app/immutable/chunks/Xth-LXaZ.js.gz +0 -0
  140. package/build/_app/immutable/entry/app.B73YVKlJ.js.br +0 -0
  141. package/build/_app/immutable/entry/app.B73YVKlJ.js.gz +0 -0
  142. package/build/_app/immutable/entry/start.59SUcW9F.js +0 -1
  143. package/build/_app/immutable/entry/start.59SUcW9F.js.br +0 -0
  144. package/build/_app/immutable/entry/start.59SUcW9F.js.gz +0 -0
  145. package/build/_app/immutable/nodes/0.CRuATwoa.js.br +0 -0
  146. package/build/_app/immutable/nodes/0.CRuATwoa.js.gz +0 -0
  147. package/build/_app/immutable/nodes/1.BwTYt1ri.js.br +0 -1
  148. package/build/_app/immutable/nodes/1.BwTYt1ri.js.gz +0 -0
  149. package/build/_app/immutable/nodes/16.CyAJjPYI.js +0 -3
  150. package/build/_app/immutable/nodes/16.CyAJjPYI.js.br +0 -0
  151. package/build/_app/immutable/nodes/16.CyAJjPYI.js.gz +0 -0
  152. package/build/_app/immutable/nodes/17.BW7FjO0Q.js.br +0 -0
  153. package/build/_app/immutable/nodes/17.BW7FjO0Q.js.gz +0 -0
  154. package/build/_app/immutable/nodes/2.Dzsy2J7Q.js +0 -35
  155. package/build/_app/immutable/nodes/2.Dzsy2J7Q.js.br +0 -0
  156. package/build/_app/immutable/nodes/2.Dzsy2J7Q.js.gz +0 -0
  157. package/build/_app/immutable/nodes/3.Cu2n_SuU.js.br +0 -0
  158. package/build/_app/immutable/nodes/3.Cu2n_SuU.js.gz +0 -0
  159. package/build/_app/immutable/nodes/4.DfbxAWaw.js.br +0 -0
  160. package/build/_app/immutable/nodes/4.DfbxAWaw.js.gz +0 -0
  161. package/build/_app/immutable/nodes/5.B1H9pyMk.js.br +0 -0
  162. package/build/_app/immutable/nodes/5.B1H9pyMk.js.gz +0 -0
  163. package/build/_app/immutable/nodes/6.Bq16_9w3.js.br +0 -0
  164. package/build/_app/immutable/nodes/6.Bq16_9w3.js.gz +0 -0
  165. package/build/_app/immutable/nodes/8.BCatMgwB.js +0 -2
  166. package/build/_app/immutable/nodes/8.BCatMgwB.js.br +0 -0
  167. package/build/_app/immutable/nodes/8.BCatMgwB.js.gz +0 -0
  168. package/build/_app/immutable/nodes/9.C2W2D2GW.js.br +0 -0
  169. package/build/_app/immutable/nodes/9.C2W2D2GW.js.gz +0 -0
  170. /package/build/_app/immutable/assets/{Popper.BKFfO-Eu.css → latency.BKFfO-Eu.css} +0 -0
  171. /package/build/_app/immutable/assets/{Popper.BKFfO-Eu.css.br → latency.BKFfO-Eu.css.br} +0 -0
  172. /package/build/_app/immutable/assets/{Popper.BKFfO-Eu.css.gz → latency.BKFfO-Eu.css.gz} +0 -0
@@ -0,0 +1 @@
1
+ *,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:DarkerGrotesque,ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}input:where([type=text]),input:where(:not([type])),input:where([type=email]),input:where([type=url]),input:where([type=password]),input:where([type=number]),input:where([type=date]),input:where([type=datetime-local]),input:where([type=month]),input:where([type=search]),input:where([type=tel]),input:where([type=time]),input:where([type=week]),select:where([multiple]),textarea,select{appearance:none;--tw-shadow:0 0 #0000;background-color:#fff;border-width:1px;border-color:#6b7280;border-radius:0;padding:.5rem .75rem;font-size:1rem;line-height:1.5rem}input:where([type=text]):focus,input:where(:not([type])):focus,input:where([type=email]):focus,input:where([type=url]):focus,input:where([type=password]):focus,input:where([type=number]):focus,input:where([type=date]):focus,input:where([type=datetime-local]):focus,input:where([type=month]):focus,input:where([type=search]):focus,input:where([type=tel]):focus,input:where([type=time]):focus,input:where([type=week]):focus,select:where([multiple]):focus,textarea:focus,select:focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);border-color:#2563eb;outline:2px solid #0000}input::-moz-placeholder{color:#6b7280;opacity:1}textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-year-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-month-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-day-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-hour-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-minute-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-second-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-millisecond-field{padding-top:0;padding-bottom:0}::-webkit-datetime-edit-meridiem-field{padding-top:0;padding-bottom:0}select{-webkit-print-color-adjust:exact;print-color-adjust:exact;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}select:where([multiple]),select:where([size]:not([size="1"])){background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;-webkit-print-color-adjust:unset;print-color-adjust:unset;padding-right:.75rem}input:where([type=checkbox]),input:where([type=radio]){appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;vertical-align:middle;-webkit-user-select:none;user-select:none;color:#2563eb;--tw-shadow:0 0 #0000;background-color:#fff;background-origin:border-box;border-width:1px;border-color:#6b7280;flex-shrink:0;width:1rem;height:1rem;padding:0;display:inline-block}input:where([type=checkbox]){border-radius:0}input:where([type=radio]){border-radius:100%}input:where([type=checkbox]):focus,input:where([type=radio]):focus{outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);outline:2px solid #0000}input:where([type=checkbox]):checked,input:where([type=radio]):checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}input:where([type=checkbox]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=checkbox]):checked{appearance:auto}}input:where([type=radio]):checked{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e")}@media (forced-colors:active){input:where([type=radio]):checked{appearance:auto}}input:where([type=checkbox]):checked:hover,input:where([type=checkbox]):checked:focus,input:where([type=radio]):checked:hover,input:where([type=radio]):checked:focus{background-color:currentColor;border-color:#0000}input:where([type=checkbox]):indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}@media (forced-colors:active){input:where([type=checkbox]):indeterminate{appearance:auto}}input:where([type=checkbox]):indeterminate:hover,input:where([type=checkbox]):indeterminate:focus{background-color:currentColor;border-color:#0000}input:where([type=file]){background:unset;border-color:inherit;font-size:unset;line-height:inherit;border-width:0;border-radius:0;padding:0}input:where([type=file]):focus{outline:1px solid buttontext;outline:1px auto -webkit-focus-ring-color}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.inset-2{inset:.5rem}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-left-28{left:-7rem}.bottom-0{bottom:0}.bottom-1{bottom:.25rem}.bottom-16{bottom:4rem}.bottom-2{bottom:.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.right-0{right:0}.right-2{right:.5rem}.right-6{right:1.5rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-full{top:100%}.\!z-\[60\]{z-index:60!important}.-z-10{z-index:-10}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-popover{z-index:1300}.m-0{margin:0}.m-4{margin:1rem}.m-auto{margin:auto}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.-mt-2{margin-top:-.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-11{margin-left:2.75rem}.ml-2{margin-left:.5rem}.ml-7{margin-left:1.75rem}.ml-9{margin-left:2.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-48{margin-top:12rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.size-5{width:1.25rem;height:1.25rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.h-0\.5{height:.125rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[220px\]{height:220px}.h-\[55vh\]{height:55vh}.h-\[65vh\]{height:65vh}.h-\[70vh\]{height:70vh}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.h-xl{height:90px}.max-h-56{max-height:14rem}.max-h-60{max-height:15rem}.max-h-72{max-height:18rem}.max-h-96{max-height:24rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[90vh\]{max-height:90vh}.max-h-\[calc\(90vh-7rem\)\]{max-height:calc(90vh - 7rem)}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.min-h-96{min-height:24rem}.min-h-\[32rem\]{min-height:32rem}.min-h-\[68vh\]{min-height:68vh}.\!w-\[28rem\]{width:28rem!important}.\!w-\[30rem\]{width:30rem!important}.\!w-\[34rem\]{width:34rem!important}.\!w-\[42rem\]{width:42rem!important}.\!w-\[59px\]{width:59px!important}.\!w-\[80vw\]{width:80vw!important}.\!w-\[85vw\]{width:85vw!important}.\!w-\[94vw\]{width:94vw!important}.\!w-\[95vw\]{width:95vw!important}.w-1\/3{width:33.3333%}.w-16{width:4rem}.w-2{width:.5rem}.w-2\/3{width:66.6667%}.w-36{width:9rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-50vw{width:50vw}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-80{width:20rem}.w-\[95vw\]{width:95vw}.w-fit{width:fit-content}.w-full{width:100%}.w-max{width:max-content}.w-px{width:1px}.w-xl{width:90px}.min-w-0{min-width:0}.min-w-32{min-width:8rem}.min-w-fit{min-width:fit-content}.min-w-full{min-width:100%}.min-w-xl{min-width:90px}.\!max-w-3xl{max-width:48rem!important}.\!max-w-4xl{max-width:56rem!important}.\!max-w-5xl{max-width:64rem!important}.\!max-w-\[90rem\]{max-width:90rem!important}.\!max-w-lg{max-width:32rem!important}.\!max-w-md{max-width:28rem!important}.\!max-w-xl{max-width:36rem!important}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-64{max-width:16rem}.max-w-6xl{max-width:72rem}.max-w-80{max-width:20rem}.max-w-\[28rem\]{max-width:28rem}.max-w-\[34rem\]{max-width:34rem}.max-w-\[70\%\]{max-width:70%}.max-w-\[83\%\]{max-width:83%}.max-w-\[90\%\]{max-width:90%}.max-w-\[min\(26rem\,90vw\)\]{max-width:min(26rem,90vw)}.max-w-xl{max-width:36rem}.flex-1{flex:1}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x:-100%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[5px\]{--tw-translate-y:5px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.resize-y{resize:vertical}.resize{resize:both}.list-disc{list-style-type:disc}.appearance-none{appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[140px_minmax\(0\,1fr\)\]{grid-template-columns:140px minmax(0,1fr)}.grid-cols-\[18rem\,minmax\(0\,1fr\)\]{grid-template-columns:18rem minmax(0,1fr)}.grid-cols-\[1fr\,2\.25rem\]{grid-template-columns:1fr 2.25rem}.grid-cols-\[1fr_1fr_auto\]{grid-template-columns:1fr 1fr auto}.grid-cols-\[2\.25rem\,1fr\]{grid-template-columns:2.25rem 1fr}.grid-cols-\[minmax\(18rem\,1fr\)_auto_auto\]{grid-template-columns:minmax(18rem,1fr) auto auto}.grid-cols-\[minmax\(280px\,3fr\)_minmax\(0\,9fr\)_minmax\(0\,10fr\)\]{grid-template-columns:minmax(280px,3fr) minmax(0,9fr) minmax(0,10fr)}.grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-5{-moz-column-gap:1.25rem;column-gap:1.25rem}.gap-y-0{row-gap:0}.gap-y-1{row-gap:.25rem}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.justify-self-end{justify-self:end}.justify-self-center{justify-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-nowrap{text-wrap:nowrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:8px}.rounded-md{border-radius:5px}.rounded-none{border-radius:0}.rounded-sm{border-radius:3px}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-lg{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.\!border{border-width:1px!important}.border{border-width:1px}.border-0{border-width:0}.border-thin{border-width:.4px}.border-x{border-left-width:1px;border-right-width:1px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0}.border-b-thin{border-bottom-width:.4px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-r-thin{border-right-width:.4px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.\!border-emerald-500{--tw-border-opacity:1!important;border-color:rgb(16 185 129/var(--tw-border-opacity,1))!important}.\!border-rc-gray-500{--tw-border-opacity:1!important;border-color:rgb(75 75 75/var(--tw-border-opacity,1))!important}.border-amber-600{--tw-border-opacity:1;border-color:rgb(217 119 6/var(--tw-border-opacity,1))}.border-emerald-500{--tw-border-opacity:1;border-color:rgb(16 185 129/var(--tw-border-opacity,1))}.border-rc-gray-110{border-color:#dddddd1a}.border-rc-gray-200\/80{border-color:#afafafcc}.border-rc-gray-300{--tw-border-opacity:1;border-color:rgb(118 118 118/var(--tw-border-opacity,1))}.border-rc-gray-300\/40{border-color:#76767666}.border-rc-gray-500{--tw-border-opacity:1;border-color:rgb(75 75 75/var(--tw-border-opacity,1))}.border-rc-gray-500\/70{border-color:#4b4b4bb3}.border-rc-gray-500\/80{border-color:#4b4b4bcc}.border-rc-gray-600{--tw-border-opacity:1;border-color:rgb(55 55 55/var(--tw-border-opacity,1))}.border-rc-gray-650{--tw-border-opacity:1;border-color:rgb(38 38 38/var(--tw-border-opacity,1))}.border-rc-gray-700{--tw-border-opacity:1;border-color:rgb(34 34 34/var(--tw-border-opacity,1))}.border-rc-gray-700\/50{border-color:#22222280}.border-rc-gray-700\/60{border-color:#2229}.border-rc-green-200{--tw-border-opacity:1;border-color:rgb(0 181 138/var(--tw-border-opacity,1))}.border-rc-green-200\/90{border-color:#00b58ae6}.border-rc-green-450{border-color:#0457431a}.border-rc-red-600{--tw-border-opacity:1;border-color:rgb(255 102 102/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-red-500\/60{border-color:#ef444499}.border-red-500\/70{border-color:#ef4444b3}.border-transparent{border-color:#0000}.border-r-gray-700\/50{border-right-color:#37415180}.border-r-rc-gray-600{--tw-border-opacity:1;border-right-color:rgb(55 55 55/var(--tw-border-opacity,1))}.\!bg-rc-gray-700{--tw-bg-opacity:1!important;background-color:rgb(34 34 34/var(--tw-bg-opacity,1))!important}.\!bg-rc-gray-900{--tw-bg-opacity:1!important;background-color:rgb(25 25 25/var(--tw-bg-opacity,1))!important}.bg-amber-950\/30{background-color:#451a034d}.bg-black\/20{background-color:#0003}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.bg-rc-gray-600{--tw-bg-opacity:1;background-color:rgb(55 55 55/var(--tw-bg-opacity,1))}.bg-rc-gray-650{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.bg-rc-gray-700{--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity,1))}.bg-rc-gray-700\/45{background-color:#22222273}.bg-rc-gray-700\/60{background-color:#2229}.bg-rc-gray-700\/70{background-color:#222222b3}.bg-rc-gray-800{--tw-bg-opacity:1;background-color:rgb(29 29 29/var(--tw-bg-opacity,1))}.bg-rc-gray-800\/40{background-color:#1d1d1d66}.bg-rc-gray-900{--tw-bg-opacity:1;background-color:rgb(25 25 25/var(--tw-bg-opacity,1))}.bg-rc-gray-900\/40{background-color:#19191966}.bg-rc-gray-900\/60{background-color:#19191999}.bg-rc-gray-900\/95{background-color:#191919f2}.bg-rc-gray-930{background-color:#00000003}.bg-rc-gray-930\/90{background-color:#000000e6}.bg-rc-gray-980{--tw-bg-opacity:1;background-color:rgb(24 24 24/var(--tw-bg-opacity,1))}.bg-rc-green-200{--tw-bg-opacity:1;background-color:rgb(0 181 138/var(--tw-bg-opacity,1))}.bg-rc-green-350{background-color:#09754f99}.bg-rc-green-700{--tw-bg-opacity:1;background-color:rgb(0 90 69/var(--tw-bg-opacity,1))}.bg-rc-green-700\/80{background-color:#005a45cc}.bg-red-200{--tw-bg-opacity:1;background-color:rgb(254 202 202/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-950\/20{background-color:#450a0a33}.bg-red-950\/30{background-color:#450a0a4d}.bg-red-950\/40{background-color:#450a0a66}.bg-red-950\/90{background-color:#450a0ae6}.bg-transparent{background-color:#0000}.object-contain{-o-object-fit:contain;object-fit:contain}.\!p-2{padding:.5rem!important}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-8{padding:2rem}.\!px-0{padding-left:0!important;padding-right:0!important}.\!px-3{padding-left:.75rem!important;padding-right:.75rem!important}.\!py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.\!pb-1{padding-bottom:.25rem!important}.\!pl-\[4\.25rem\]{padding-left:4.25rem!important}.\!pl-\[5\.5rem\]{padding-left:5.5rem!important}.\!pr-8{padding-right:2rem!important}.\!pt-\[5px\]{padding-top:5px!important}.pb-1{padding-bottom:.25rem}.pb-16{padding-bottom:4rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pb-xs{padding-bottom:2px}.pl-11{padding-left:2.75rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pr-8{padding-right:2rem}.pr-80{padding-right:20rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-40{padding-top:10rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.align-text-bottom{vertical-align:text-bottom}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:DarkerGrotesque,ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.\!text-base{font-size:.875rem!important;line-height:1.2!important}.\!text-sm{letter-spacing:.005em!important;font-size:.8125rem!important;line-height:1.25!important}.text-4xl{font-size:2.25rem;line-height:1.2}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[calc\(0\.875rem-1pt\)\]{font-size:calc(.875rem - 1pt)}.text-base{font-size:.875rem;line-height:1.2}.text-lg{letter-spacing:.005em;font-size:1.125rem;line-height:1.2}.text-sm{letter-spacing:.005em;font-size:.8125rem;line-height:1.25}.text-xl{letter-spacing:.005em;font-size:1.25rem;line-height:.9}.text-xs{letter-spacing:.01em;font-size:.75rem;line-height:1.1}.\!font-medium{font-weight:500!important}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.\!leading-6{line-height:1.5rem!important}.leading-6{line-height:1.5rem}.leading-\[30px\]{line-height:30px}.leading-none{line-height:1}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-rc-blue{--tw-text-opacity:1;color:rgb(86 156 214/var(--tw-text-opacity,1))}.text-rc-gray-050{color:#ffffff1a}.text-rc-gray-100{--tw-text-opacity:1;color:rgb(221 221 221/var(--tw-text-opacity,1))}.text-rc-gray-200{--tw-text-opacity:1;color:rgb(175 175 175/var(--tw-text-opacity,1))}.text-rc-gray-200\/70{color:#afafafb3}.text-rc-gray-300{--tw-text-opacity:1;color:rgb(118 118 118/var(--tw-text-opacity,1))}.text-rc-gray-400{--tw-text-opacity:1;color:rgb(99 99 99/var(--tw-text-opacity,1))}.text-rc-gray-400\/70{color:#636363b3}.text-rc-gray-500{--tw-text-opacity:1;color:rgb(75 75 75/var(--tw-text-opacity,1))}.text-rc-gray-900{--tw-text-opacity:1;color:rgb(25 25 25/var(--tw-text-opacity,1))}.text-rc-green-200{--tw-text-opacity:1;color:rgb(0 181 138/var(--tw-text-opacity,1))}.text-rc-green-400{--tw-text-opacity:1;color:rgb(4 87 67/var(--tw-text-opacity,1))}.text-rc-red-600{--tw-text-opacity:1;color:rgb(255 102 102/var(--tw-text-opacity,1))}.text-rc-red-800{--tw-text-opacity:1;color:rgb(255 129 101/var(--tw-text-opacity,1))}.text-red-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.text-red-200{--tw-text-opacity:1;color:rgb(254 202 202/var(--tw-text-opacity,1))}.text-red-300{--tw-text-opacity:1;color:rgb(252 165 165/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-red-950{--tw-text-opacity:1;color:rgb(69 10 10/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.placeholder-rc-gray-300::placeholder{--tw-placeholder-opacity:1;color:rgb(118 118 118/var(--tw-placeholder-opacity,1))}.\!accent-rc-gray-600{accent-color:#373737!important}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.12\)\]{--tw-shadow:0 0 0 1px #0000001f;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(0\,0\,0\,0\.28\)\]{--tw-shadow:0 0 0 1px #00000047;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-inner-white-soft{--tw-shadow:inset 0 0 10px 0 #ffffff1a;--tw-shadow-colored:inset 0 0 10px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 0 0 1px #76767666;--tw-shadow-colored:0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(64px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur:blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.\!duration-75{transition-duration:75ms!important}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-75{transition-duration:75ms}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.analysis-quote{border-radius:2px}.analysis-quote-focus{border-radius:2px;box-shadow:inset 0 0 0 1px #fecacaf2,inset 0 0 0 3px #dc262640}.analysis-quote-l1{background:#dc26262e}.analysis-quote-l2{background:#dc26263d}.analysis-quote-l3{background:#dc26264d}.analysis-quote-l4{background:#dc26265c}.analysis-quote-l5{background:#dc26266b}.analysis-quote-l6{background:#dc26267a}.analysis-quote-l7{background:#dc26268a}.analysis-quote-l8{background:#dc262699}.analysis-quote-l9{background:#dc2626a8}.analysis-quote-l10{background:#dc2626b8}.monaco-editor .test-expected-output{color:#00b58a!important}.monaco-editor .test-expected-json-output{color:#00b58a!important;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace!important}.monaco-editor .test-expected-output-tag{color:#ce9178!important}.prompt-editor-frame{--tw-border-opacity:1;border-width:.4px;border-color:rgb(38 38 38/var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgb(29 29 29/var(--tw-bg-opacity,1));--tw-shadow:inset 0 0 10px 0 #ffffff1a;--tw-shadow-colored:inset 0 0 10px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow);--tw-backdrop-blur:blur(64px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);border-radius:8px}.monaco-editor .prompt-heading-1{letter-spacing:.025em;--tw-text-opacity:1;color:rgb(221 221 221/var(--tw-text-opacity,1));padding-bottom:.5rem;font-size:16px;font-weight:800}.monaco-editor .prompt-heading-2,.monaco-editor .prompt-heading-3{--tw-text-opacity:1;color:rgb(221 221 221/var(--tw-text-opacity,1));padding-bottom:.5rem;font-size:12px;font-weight:700;line-height:1.2}.monaco-editor .prompt-symbol,.monaco-editor .prompt-subnumber{--tw-text-opacity:1;color:rgb(118 118 118/var(--tw-text-opacity,1));font-weight:400}.prompt-editor .bracket-highlighting-0,.prompt-editor .bracket-highlighting-1,.prompt-editor .bracket-highlighting-2,.prompt-editor .bracket-highlighting-3,.prompt-editor .bracket-highlighting-4,.prompt-editor .bracket-highlighting-5{--tw-text-opacity:1!important;color:rgb(175 175 175/var(--tw-text-opacity,1))!important}.placeholder\:text-gray-500::placeholder{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.last\:border-b-0:last-child{border-bottom-width:0}.checked\:border-rc-gray-200:checked{--tw-border-opacity:1;border-color:rgb(175 175 175/var(--tw-border-opacity,1))}.checked\:bg-rc-gray-600:checked{--tw-bg-opacity:1;background-color:rgb(55 55 55/var(--tw-bg-opacity,1))}.hover\:border:hover{border-width:1px}.hover\:\!border-emerald-500:hover{--tw-border-opacity:1!important;border-color:rgb(16 185 129/var(--tw-border-opacity,1))!important}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.hover\:border-rc-gray-200:hover{--tw-border-opacity:1;border-color:rgb(175 175 175/var(--tw-border-opacity,1))}.hover\:border-rc-gray-400:hover{--tw-border-opacity:1;border-color:rgb(99 99 99/var(--tw-border-opacity,1))}.hover\:border-rc-gray-500:hover{--tw-border-opacity:1;border-color:rgb(75 75 75/var(--tw-border-opacity,1))}.hover\:border-rc-green-200:hover{--tw-border-opacity:1;border-color:rgb(0 181 138/var(--tw-border-opacity,1))}.hover\:bg-rc-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(55 55 55/var(--tw-bg-opacity,1))}.hover\:bg-rc-gray-650:hover{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.hover\:bg-rc-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity,1))}.hover\:bg-rc-gray-700\/70:hover{background-color:#222222b3}.hover\:bg-rc-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(29 29 29/var(--tw-bg-opacity,1))}.hover\:bg-rc-gray-800\/40:hover{background-color:#1d1d1d66}.hover\:bg-rc-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(25 25 25/var(--tw-bg-opacity,1))}.hover\:bg-rc-green-250:hover{background-color:#005c3b99}.hover\:bg-rc-green-700:hover{--tw-bg-opacity:1;background-color:rgb(0 90 69/var(--tw-bg-opacity,1))}.hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.hover\:bg-double-gradient:hover{background-image:linear-gradient(#00000003,#00000003),linear-gradient(#ffffff0d,#ffffff0d)}.hover\:text-gray-100:hover{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.hover\:text-gray-200:hover{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.hover\:text-rc-gray-100:hover{--tw-text-opacity:1;color:rgb(221 221 221/var(--tw-text-opacity,1))}.hover\:text-rc-gray-200:hover{--tw-text-opacity:1;color:rgb(175 175 175/var(--tw-text-opacity,1))}.hover\:text-rc-gray-300:hover{--tw-text-opacity:1;color:rgb(118 118 118/var(--tw-text-opacity,1))}.hover\:text-rc-green-100:hover{--tw-text-opacity:1;color:rgb(147 255 109/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:\!border-emerald-500:focus{--tw-border-opacity:1!important;border-color:rgb(16 185 129/var(--tw-border-opacity,1))!important}.focus\:border-gray-500:focus{--tw-border-opacity:1;border-color:rgb(107 114 128/var(--tw-border-opacity,1))}.focus\:border-rc-gray-300:focus{--tw-border-opacity:1;border-color:rgb(118 118 118/var(--tw-border-opacity,1))}.focus\:border-rc-gray-400:focus{--tw-border-opacity:1;border-color:rgb(99 99 99/var(--tw-border-opacity,1))}.focus\:bg-rc-gray-400:focus{--tw-bg-opacity:1;background-color:rgb(99 99 99/var(--tw-bg-opacity,1))}.focus\:bg-rc-gray-700:focus{--tw-bg-opacity:1;background-color:rgb(34 34 34/var(--tw-bg-opacity,1))}.focus\:bg-rc-green-200:focus{--tw-bg-opacity:1;background-color:rgb(0 181 138/var(--tw-bg-opacity,1))}.focus\:bg-double-gradient:focus{background-image:linear-gradient(#00000003,#00000003),linear-gradient(#ffffff0d,#ffffff0d)}.focus\:text-gray-100:focus{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.focus\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-rc-gray-300:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(118 118 118/var(--tw-ring-opacity,1))}.focus-visible\:border-rc-gray-400:focus-visible{--tw-border-opacity:1;border-color:rgb(99 99 99/var(--tw-border-opacity,1))}.focus-visible\:shadow-none:focus-visible{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:-outline-offset-2:focus-visible{outline-offset:-2px}.active\:cursor-grabbing:active{cursor:grabbing}.active\:border-rc-gray-200:active{--tw-border-opacity:1;border-color:rgb(175 175 175/var(--tw-border-opacity,1))}.active\:border-rc-gray-400:active{--tw-border-opacity:1;border-color:rgb(99 99 99/var(--tw-border-opacity,1))}.active\:bg-rc-gray-600:active{--tw-bg-opacity:1;background-color:rgb(55 55 55/var(--tw-bg-opacity,1))}.active\:bg-rc-gray-650:active{--tw-bg-opacity:1;background-color:rgb(38 38 38/var(--tw-bg-opacity,1))}.active\:bg-rc-green-250:active{background-color:#005c3b99}.active\:bg-double-gradient:active{background-image:linear-gradient(#00000003,#00000003),linear-gradient(#ffffff0d,#ffffff0d)}.active\:text-gray-100:active{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:cursor-wait:disabled{cursor:wait}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-70:disabled{opacity:.7}.disabled\:hover\:bg-transparent:hover:disabled{background-color:#0000}.disabled\:hover\:text-rc-gray-400:hover:disabled{--tw-text-opacity:1;color:rgb(99 99 99/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-rc-gray-200{--tw-text-opacity:1;color:rgb(175 175 175/var(--tw-text-opacity,1))}.peer:focus-visible~.peer-focus-visible\:ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.peer:focus-visible~.peer-focus-visible\:ring-rc-green-200{--tw-ring-opacity:1;--tw-ring-color:rgb(0 181 138/var(--tw-ring-opacity,1))}.aria-selected\:text-rc-green-200[aria-selected=true]{--tw-text-opacity:1;color:rgb(0 181 138/var(--tw-text-opacity,1))}.aria-selected\:after\:absolute[aria-selected=true]:after{content:var(--tw-content);position:absolute}.aria-selected\:after\:inset-x-0[aria-selected=true]:after{content:var(--tw-content);left:0;right:0}.aria-selected\:after\:bottom-0[aria-selected=true]:after{content:var(--tw-content);bottom:0}.aria-selected\:after\:h-0\.5[aria-selected=true]:after{content:var(--tw-content);height:.125rem}.aria-selected\:after\:bg-rc-green-200[aria-selected=true]:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(0 181 138/var(--tw-bg-opacity,1))}.aria-selected\:after\:content-\[\'\'\][aria-selected=true]:after{--tw-content:"";content:var(--tw-content)}@media (width>=640px){.sm\:max-w-\[80\%\]{max-width:80%}.sm\:max-w-\[85\%\]{max-width:85%}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.md\:max-w-\[70\%\]{max-width:70%}.md\:max-w-\[75\%\]{max-width:75%}}@media (width>=1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}body{--tw-text-opacity:1;color:rgb(118 118 118/var(--tw-text-opacity,1));margin:0;padding:0;font-family:DarkerGrotesque,ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:.875rem;font-weight:400;line-height:1.2}*{box-sizing:border-box;margin:0;padding:0}
@@ -1,3 +1,3 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CUZn05nQ.js","./hePW80VL.js","./HclGiUj8.js","./C_yvzB4Z.js","../assets/editor.chSTM-fo.css","../assets/editor.BoJhDcRF.css"])))=>i.map(i=>d[i]);
2
- import{B as e,Dt as t,F as n,G as r,I as i,L as a,N as o,Nt as s,Ot as c,Pt as l,S as u,V as d,a as f,at as p,b as m,dt as h,et as g,gt as _,it as v,j as y,l as b,m as x,n as S,ot as C,pt as w,r as T,st as E,tt as D,x as O,z as k}from"./CPCsWwEy.js";import{t as A}from"./HclGiUj8.js";import"./xihTtKlq.js";import{t as j}from"./6OCsQ6r7.js";import{t as M}from"./Cf3l6QEG.js";import{n as N,t as P}from"./BJqZY8o2.js";import{t as ee}from"./BP0Xadq7.js";import{t as te}from"./DWoqp3ac.js";import{c as ne,o as F,s as I,t as L}from"./12bfCwgn.js";import{t as R}from"./B9YnyJ2j.js";import{i as z}from"./By9tvIIw.js";import{t as B}from"./CGV7fMmX.js";import{t as V}from"./CL717zGu.js";var H=a(`<div class="popover svelte-1fd3ybn" role="dialog" aria-modal="true"><div class="popover svelte-1fd3ybn" role="dialog" aria-modal="true"><!></div></div>`);function U(e,a){c(a,!0);let o=f(a,`open`,3,!1),s=f(a,`anchorEl`,3,null),u=f(a,`id`,3,``),d=f(a,`placement`,3,`bottom-start`),_=f(a,`offset`,19,()=>[0,2]),S=f(a,`flip`,3,!0),C=f(a,`preventOverflow`,3,!0),E=f(a,`onClose`,3,()=>{}),D=w(null),O=w(null);function k(){E()()}function A(e){if(o()&&r(D)&&s()){let t=e.target;!r(D).contains(t)&&!s().contains(t)&&k()}}function j(e){e.key===`Escape`&&o()&&k()}T(()=>{document.addEventListener(`click`,A,!0),document.addEventListener(`keydown`,j);let e=()=>{r(O)&&r(O).update()},t=()=>{r(O)&&r(O).update()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,t,!0),()=>{document.removeEventListener(`click`,A,!0),document.removeEventListener(`keydown`,j),window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,t,!0)}});var M=i(),N=p(M),P=e=>{b(B(e,{get referenceEl(){return s()},get placement(){return d()},get offset(){return _()},get flip(){return S()},get preventOverflow(){return C()},children:e=>{var t=H(),i=v(t),o=v(i);a.children(o),l(i),b(i,e=>h(D,e),()=>r(D)),l(t),b(t,e=>h(D,e),()=>r(D)),g(()=>{x(t,`id`,u()),x(i,`id`,u()),m(i,`min-width:${s()?.offsetWidth??0}px`)}),n(e,t)},$$slots:{default:!0}}),e=>h(O,e,!0),()=>r(O))};y(N,e=>{o()&&s()&&e(P)}),n(e,M),t()}function re(e={}){let t=e.thresholdPx??4,n=e.dragCursor??`text`,r=0,i=0,a=!1,o=!1,s=null,c=null;function l(){o=!1,a=!1,s?.style.removeProperty(`cursor`),s=null,c?.abort(),c=null}function u(e){if(typeof window>`u`||e.button!==0)return;c?.abort(),c=null,s?.style.removeProperty(`cursor`),r=e.clientX,i=e.clientY,a=!1,o=!0,s=e.currentTarget instanceof HTMLElement?e.currentTarget:null;let l=new AbortController;c=l;let u=e=>{!o||a||Math.abs(e.clientX-r)+Math.abs(e.clientY-i)<t||(a=!0,s?.style.setProperty(`cursor`,n))},d=()=>{o=!1,s?.style.removeProperty(`cursor`),s=null,l.abort(),c===l&&(c=null)};window.addEventListener(`pointermove`,u,{signal:l.signal}),window.addEventListener(`pointerup`,d,{signal:l.signal}),window.addEventListener(`pointercancel`,d,{signal:l.signal})}function d(e){return e.detail>0&&a}return{onPointerDown:u,shouldSuppressClick:d,cleanup:l}}var W=a(`<span class="text-[13px] leading-none text-rc-gray-400"> </span>`),ie=a(`<div class="rounded-md border border-red-500 bg-red-950/40 p-3 font-mono text-sm text-red-200"> </div>`),ae=a(`<!> <!>`,1),G=a(`<div class="flex flex-col gap-3"><!> <div class="flex flex-wrap items-center justify-between gap-2 text-sm text-rc-gray-200"><div class="flex flex-wrap items-center gap-x-4 gap-y-1"><div><span class="text-rc-gray-400">Timing:</span> </div> <div><span class="text-rc-gray-400">Response time:</span> </div> <div><span class="text-rc-gray-400">URL:</span> </div></div> <!></div> <div><!> <div class="mt-2 h-[55vh]"><!></div></div></div>`),K=a(`<button type="button" class="flex w-full cursor-pointer select-text items-baseline gap-2 truncate rounded-md bg-transparent px-2 py-1 text-left text-sm text-rc-gray-200 hover:bg-rc-gray-800/40"><!> <!> <span> </span></button> <!>`,1);function q(e,i){c(i,!0);let a=w(!1),f=w(`request`),m=re();S(m.cleanup);function b(e){try{if(typeof e==`string`){let t=e.trim();if(!t)return``;let n=JSON.parse(t);return JSON.stringify(n,null,2)}}catch{}try{return JSON.stringify(e??null,null,2)}catch{return String(e)}}function x(e){return new Date(e).toISOString()}function T(e){if(typeof e!=`number`||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}let E=_(()=>T(i.trace.createdAt)),D=_(()=>{if(i.trace.error!=null)return i.trace.error;if(!(i.trace.ok===!1||typeof i.trace.status==`number`&&i.trace.status>=400))return;let e=i.trace.response;return e&&typeof e==`object`&&`error`in e&&e.error!=null?e.error:{status:i.trace.status,ok:i.trace.ok}}),A=_(()=>r(D)!=null),te=_(()=>`API: ${i.trace.operationName}`),ne=_(()=>i.trace.operationName),F=_(()=>typeof i.trace.createdAt==`number`?x(i.trace.createdAt):`—`);async function I(){let e=b(i.trace);try{await navigator.clipboard.writeText(e)}catch(e){console.error(`Failed to copy`,e)}}let L=_(()=>b({method:i.trace.method,path:i.trace.path,baseUrl:i.trace.baseUrl,request:i.trace.request})),R=_(()=>b({status:i.trace.status,ok:i.trace.ok,response:i.trace.response,error:r(D)})),z=_(()=>r(D)==null?``:b(r(D)));var B=K(),H=p(B),U=v(H);{let e=_(()=>r(A)?`close`:`checkmark`),t=_(()=>r(A)?`self-center text-red-400`:`self-center text-rc-green-200`);M(U,{get name(){return r(e)},width:18,height:18,get class(){return r(t)}})}var q=C(U,2),oe=e=>{var t=W(),i=v(t,!0);l(t),g(()=>o(i,r(E))),n(e,t)};y(q,e=>{r(E)&&e(oe)});var J=C(q,2),Y=v(J,!0);l(J),l(H);var X=C(H,2),Z=e=>{ee(e,{get title(){return r(te)},class:`!w-[85vw] !max-w-5xl`,get open(){return r(a)},set open(e){h(a,e,!0)},children:e=>{var t=G(),a=v(t),c=e=>{var t=ie(),i=v(t,!0);l(t),g(()=>o(i,r(z))),n(e,t)};y(a,e=>{r(z)&&e(c)});var u=C(a,2),d=v(u),m=v(d),_=C(v(m));l(m);var b=C(m,2),x=C(v(b));l(b);var S=C(b,2),w=C(v(S));l(S),l(d);var T=C(d,2);j(T,{variant:`secondary`,size:`small`,onclick:I,children:(e,t)=>{s();var r=k(`Copy raw trace`);n(e,r)},$$slots:{default:!0}}),l(u);var E=C(u,2),D=v(E);N(D,{get value(){return r(f)},ariaLabel:`API trace tabs`,onChange:({value:e})=>h(f,e,!0),children:(e,t)=>{var r=ae(),i=p(r);P(i,{value:`request`,class:`px-3`,children:(e,t)=>{s();var r=k(`Request`);n(e,r)},$$slots:{default:!0}});var a=C(i,2);P(a,{value:`response`,class:`px-3`,children:(e,t)=>{s();var r=k(`Response`);n(e,r)},$$slots:{default:!0}}),n(e,r)},$$slots:{default:!0}});var O=C(D,2),A=v(O),M=e=>{V(e,{get value(){return r(L)},language:`json`,class:`h-full`})},ee=e=>{V(e,{get value(){return r(R)},language:`json`,class:`h-full`})};y(A,e=>{r(f)===`request`?e(M):e(ee,-1)}),l(O),l(E),l(t),g(e=>{o(_,` ${r(F)??``}`),o(x,` ${e??``}`),o(w,` ${i.trace.path??``}`)},[()=>typeof i.trace.durationMs==`number`?`${Math.round(i.trace.durationMs)}ms`:`—`]),n(e,t)},$$slots:{default:!0}})};y(X,e=>{r(a)&&e(Z)}),g(()=>{O(J,1,u(r(A)?`text-red-200`:``)),o(Y,r(ne))}),d(`pointerdown`,H,function(...e){m.onPointerDown?.apply(this,e)}),d(`click`,H,e=>{m.shouldSuppressClick(e)||h(a,!0)}),n(e,B),t()}e([`pointerdown`,`click`]);function oe(e){return X(e)&&X(e.context)?Y(e.context):Y(e)}function J(e){if(!(!X(e)||!X(e.mocks)))return Y(e.mocks)}function Y(e){return X(e)?Z(e):{}}function X(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Z(e){try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return e}}}function se(e){return!(`operationName`in e)&&!(`eventName`in e)}function ce(e){return se(e)&&R(e.name)}function Q(e,t,n={}){if(t<0)return null;let r=e=>ce(e)?!n.requireRenderedPrompt||typeof e.renderedPrompt==`string`&&e.renderedPrompt.trim().length>0:!1;return[...e.slice(0,t)].reverse().find(r)??e.slice(t+1).find(r)??null}function le(e,t,n){if(t<0||!n.trim())return null;let r=e=>se(e)&&!R(e.name)&&e.response===n;return[...e.slice(0,t)].reverse().find(r)??e.slice(t+1).find(r)??null}function ue(e,t){return t<=0?null:[...e.slice(0,t)].reverse().map(e=>se(e)?e.stringifiedConversation?.trim():``).find(Boolean)??null}function de({entries:e,trace:t,sourceStep:n,fallbackRuntimeContext:r,requireReceivedContext:i=!1}){let a=e.indexOf(t);if(a===-1)throw Error(`Could not locate the response in its trace history`);let o=n??Q(e,a);if(i&&o?.receivedContext===void 0)throw Error(`The source step trace does not have receivedContext`);let s=typeof o?.stringifiedConversation==`string`&&o.stringifiedConversation.trim()?o.stringifiedConversation:ue(e,a)??``,c=(t.content??``).trim(),l=o&&o.receivedContext!==void 0?Y(o.receivedContext):oe(r),u=J(r),d=o?.name;return{pinned:`TRUE`,step:d&&!R(d)?d:`main`,evaluation_mode:`assertion`,context_mode:`replace`,assertion_type:`llm-rubric`,assertion_value:``,conversation:s,expected_output:c,similarity_threshold:`60`,timeout:`0`,context:l,...u===void 0?{}:{mocks:u}}}function fe(e){return e.content.trim()===`<DICTATION />`}function pe(e,{fallbackConversation:t=``,fallbackRuntimeContext:n}={}){if(e.receivedContext===void 0)throw Error(`The source step trace does not have receivedContext`);let r=(e.response??``).trim();if(!r)throw Error(`The source step trace does not have a response`);let i=e.stringifiedConversation?.trim()?e.stringifiedConversation:t??``,a=$(r)?`json-deep-equal`:`assertion`,o=J(n);return{pinned:`TRUE`,step:R(e.name)?`main`:e.name,evaluation_mode:a,context_mode:`replace`,assertion_type:`llm-rubric`,assertion_value:``,conversation:i,expected_output:r,similarity_threshold:`60`,timeout:`0`,context:Y(e.receivedContext),...o===void 0?{}:{mocks:o}}}function $(e){try{let t=JSON.parse(e);return typeof t==`object`&&!!t}catch{return!1}}var me=a(`<div><div class="h-full w-full"></div></div>`);function he(e,i){c(i,!0);let a=f(i,`language`,3,`plaintext`),o=f(i,`class`,3,``),s=w(null),u=null,d=null,p=null,m=null,_=w(!1);T(()=>{if(!r(s))return;I();let e=!1;return A(()=>import(`./CUZn05nQ.js`).then(e=>e.t).then(t=>{if(e)return;F(t),d=t,u=t.editor.createDiffEditor(r(s),{theme:`bosun-dark`,readOnly:!1,originalEditable:!1,automaticLayout:!0,lineNumbers:`on`,renderSideBySide:!0,renderIndicators:!0,ignoreTrimWhitespace:!1,diffWordWrap:`on`,diffAlgorithm:`advanced`,maxComputationTime:2e4,renderMarginRevertIcon:!1,renderGutterMenu:!1,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:`on`,overviewRulerBorder:!1,hideCursorInOverviewRuler:!0,matchBrackets:`never`,bracketPairColorization:{enabled:!1},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},occurrencesHighlight:`off`,selectionHighlight:!1,renderLineHighlight:`none`});let n=t.editor.createModel(i.original??``,a()),o=t.editor.createModel(i.modified??``,a());p={original:n,modified:o},u.setModel(p),m=o.onDidChangeContent(()=>{let e=o.getValue();e!==i.modified&&i.onChange?.(e)}),h(_,!0)}),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url).catch(e=>{console.error(`EditableMonacoDiff: failed to initialise`,e)}),()=>{if(e=!0,m?.dispose(),m=null,u){try{u.setModel(null)}catch{}u.dispose(),u=null}p?.original.dispose(),p?.modified.dispose(),p=null,d=null}}),D(()=>{if(!p||!r(_))return;let e=i.original??``,t=i.modified??``;p.original.getValue()!==e&&p.original.setValue(e),p.modified.getValue()!==t&&p.modified.setValue(t)}),D(()=>{if(!p||!r(_)||!d)return;let e=a()||`plaintext`;p.original.getLanguageId()!==e&&d.editor.setModelLanguage(p.original,e),p.modified.getLanguageId()!==e&&d.editor.setModelLanguage(p.modified,e)});var y=me(),x=v(y);b(x,e=>h(s,e),()=>r(s)),l(y),g(()=>O(y,1,`overflow-hidden rounded-md border border-rc-gray-700 ${o()}`)),n(e,y),t()}var ge=a(`<div class="flex flex-1 items-center justify-center text-rc-gray-200">Removing personal data...</div>`),_e=a(`<div class="flex flex-1 flex-col items-center justify-center gap-4"><div class="max-w-2xl text-center text-red-300"> </div> <div class="flex flex-wrap justify-center gap-2"><!> <!></div></div>`),ve=a(`<div class="text-xs text-rc-gray-500"> </div>`),ye=a(`<div class="rounded-md border border-amber-600 bg-amber-950/30 px-3 py-2 text-sm text-amber-200"> </div>`),be=a(`<!> <!> <!> <!>`,1),xe=a(`<div class="flex flex-wrap items-center justify-between gap-2 text-sm"><div class="text-rc-gray-200"><!></div> <!></div> <!> <div class="flex min-h-0 flex-1 flex-col"><!> <div class="mt-2 min-h-0 flex-1"><!></div></div>`,1),Se=a(`<div class="flex h-[70vh] min-h-[32rem] flex-col gap-3"><!></div>`),Ce=a(`<!> <!>`,1);function we(e,i){c(i,!0);let a=_(()=>ne().editable),u=f(i,`open`,15,!1),d=w(`idle`),m=w(``),b=w(``),x=w(!1),S=w(`conversation`),T=w(``),O=w(null),A=w(null),M=w(E([])),F=w(``),I=w(``),L=w(``),R=w(`{}`),z=w(`{}`),B=null,V=0,H=_(()=>r(A)?.mocks!==void 0),U=_(()=>r(M).reduce((e,t)=>e+t.paths.length,0)),re=_(()=>r(O)?.conversation??``),W=_(()=>r(O)?.expected_output??``),ie=_(()=>X(r(O)?.context??{})),ae=_(()=>X(r(O)?.mocks??{}));D(()=>{let e=u(),t=i.seed;!e||!t||B===t||(B=t,G(t))}),D(()=>{u()||(V+=1,h(d,`idle`),h(m,``),h(b,``),h(x,!1),B=null,h(T,``),h(O,null),h(A,null),h(M,[],!0),h(F,``),h(S,`conversation`))});async function G(e){let t=++V;h(d,`preparing`),h(m,``),h(b,``),h(x,!1),h(O,e,!0),h(A,null),h(T,``),h(M,[],!0);try{let n=await te.tests.createPIISanitizedTestDraft.mutate({agent:i.agent,seed:e});if(t!==V)return;if(n.status===`sanitizer-error`){h(m,n.message,!0),h(b,n.aiResponse,!0),h(d,`error`);return}q(n.draftId,n.seed,n.findings,n.model),h(d,`ready`)}catch(e){if(t!==V)return;console.error(`Failed to prepare PII-sanitised test draft`,e),h(m,Z(e,`Could not prepare a PII-sanitised test draft.`),!0),h(d,`error`)}}async function K(){if(r(b))try{await navigator.clipboard.writeText(r(b)),h(x,!0)}catch(e){console.error(`Failed to copy PII sanitiser AI response`,e),h(m,`Could not copy the AI response to the clipboard.`)}}function q(e,t,n,i=r(F)){h(T,e,!0),h(A,t,!0),h(M,n,!0),h(F,i,!0),h(I,t.conversation,!0),h(L,t.expected_output,!0),h(R,X(t.context),!0),h(z,X(t.mocks??{}),!0),r(S)===`mocks`&&t.mocks===void 0&&h(S,`conversation`)}async function oe(){if(!r(A)||!r(T)||r(d)!==`ready`)return;let e=window.open(`about:blank`,`_blank`);e&&(e.opener=null),h(d,`creating`),h(m,``);try{let t=J(),n=await te.tests.createTestFromPIISanitizedTestDraft.mutate({agent:i.agent,draftId:r(T),reviewed:t}),a=new URLSearchParams({step:n.test.step||r(A).step||`main`,test:n.test.id}),o=`/edit/${encodeURIComponent(i.agent)}/tests?${a.toString()}`;e?e.location.replace(o):window.open(o,`_blank`,`noopener`),u(!1),i.onCreated?.(n.test)}catch(t){e?.close(),console.error(`Failed to create test from PII-sanitised draft`,t),h(m,Z(t,`Could not create the test.`),!0),h(d,`ready`)}}function J(){let e=Y(r(R),`Context`),t=r(H)?Y(r(z),`Mocks`):void 0;return{conversation:r(I),expected_output:r(L),context:e,...t===void 0?{}:{mocks:t}}}function Y(e,t){let n;try{n=JSON.parse(e)}catch{throw Error(`${t} must be valid JSON.`)}if(!n||typeof n!=`object`||Array.isArray(n))throw Error(`${t} must be a JSON object.`);return n}function X(e){return JSON.stringify(e??{},null,2)}function Z(e,t){return e instanceof Error&&e.message.trim()?e.message:t}ee(e,{title:`Review test before creating`,class:`!w-[94vw] !max-w-[90rem]`,get open(){return u()},set open(e){u(e)},children:e=>{var t=Se(),a=v(t),c=e=>{var t=ge();n(e,t)},u=e=>{var t=_e(),a=v(t),c=v(a,!0);l(a);var u=C(a,2),d=v(u);j(d,{variant:`secondary`,onclick:()=>i.seed&&G(i.seed),children:(e,t)=>{s();var r=k(`Try again`);n(e,r)},$$slots:{default:!0}});var f=C(d,2),p=e=>{j(e,{variant:`secondary`,onclick:K,children:(e,t)=>{s();var i=k();g(()=>o(i,r(x)?`AI response copied`:`Copy AI response`)),n(e,i)},$$slots:{default:!0}})};y(f,e=>{r(b)&&e(p)}),l(u),l(t),g(()=>o(c,r(m))),n(e,t)},f=e=>{var t=xe(),i=p(t),a=v(i),c=v(a),u=e=>{var t=k(`No personal data replacements were proposed.`);n(e,t)},d=e=>{var t=k();g(()=>o(t,`${r(U)??``} personal data ${r(U)===1?`replacement`:`replacements`} proposed.`)),n(e,t)};y(c,e=>{r(U)===0?e(u):e(d,-1)}),l(a);var f=C(a,2),_=e=>{var t=ve(),i=v(t);l(t),g(()=>o(i,`Model: ${r(F)??``}`)),n(e,t)};y(f,e=>{r(F)&&e(_)}),l(i);var b=C(i,2),x=e=>{var t=ye(),i=v(t,!0);l(t),g(()=>o(i,r(m))),n(e,t)};y(b,e=>{r(m)&&e(x)});var w=C(b,2),T=v(w);N(T,{get value(){return r(S)},ariaLabel:`PII-sanitised test draft fields`,onChange:({value:e})=>h(S,e,!0),children:(e,t)=>{var i=be(),a=p(i);P(a,{value:`conversation`,class:`px-3`,children:(e,t)=>{s();var r=k(`Conversation`);n(e,r)},$$slots:{default:!0}});var o=C(a,2);P(o,{value:`expected_output`,class:`px-3`,children:(e,t)=>{s();var r=k(`Expected output`);n(e,r)},$$slots:{default:!0}});var c=C(o,2);P(c,{value:`context`,class:`px-3`,children:(e,t)=>{s();var r=k(`Context`);n(e,r)},$$slots:{default:!0}});var l=C(c,2),u=e=>{P(e,{value:`mocks`,class:`px-3`,children:(e,t)=>{s();var r=k(`Mocks`);n(e,r)},$$slots:{default:!0}})};y(l,e=>{r(H)&&e(u)}),n(e,i)},$$slots:{default:!0}});var E=C(T,2),D=v(E),O=e=>{he(e,{get original(){return r(re)},get modified(){return r(I)},onChange:e=>h(I,e,!0),language:`plaintext`,class:`h-full`})},A=e=>{he(e,{get original(){return r(W)},get modified(){return r(L)},onChange:e=>h(L,e,!0),language:`plaintext`,class:`h-full`})},j=e=>{he(e,{get original(){return r(ie)},get modified(){return r(R)},onChange:e=>h(R,e,!0),language:`json`,class:`h-full`})},M=e=>{he(e,{get original(){return r(ae)},get modified(){return r(z)},onChange:e=>h(z,e,!0),language:`json`,class:`h-full`})};y(D,e=>{r(S)===`conversation`?e(O):r(S)===`expected_output`?e(A,1):r(S)===`context`?e(j,2):e(M,-1)}),l(E),l(w),n(e,t)};y(a,e=>{r(d)===`preparing`?e(c):r(d)===`error`&&!r(A)?e(u,1):r(A)&&r(O)&&e(f,2)}),l(t),n(e,t)},footer:e=>{var t=Ce(),i=p(t);j(i,{variant:`secondary`,onclick:()=>u(!1),children:(e,t)=>{s();var r=k(`Cancel`);n(e,r)},$$slots:{default:!0}});var c=C(i,2);{let e=_(()=>!r(a)||!r(A)||r(d)===`preparing`||r(d)===`creating`);j(c,{get disabled(){return r(e)},onclick:oe,children:(e,t)=>{s();var i=k();g(()=>o(i,r(d)===`creating`?`Creating…`:`Create test`)),n(e,i)},$$slots:{default:!0}})}n(e,t)},$$slots:{default:!0,footer:!0}}),t()}var Te=a(`<span class="text-[13px] leading-none text-rc-gray-400"> </span>`),Ee=a(`<div class="min-w-0 break-words"> </div>`),De=a(`<div class="min-w-0 break-words">Conversation hanged up.</div>`),Oe=a(`<div class="flex w-full justify-center"><div role="button" tabindex="0"><div class="flex flex-wrap items-baseline gap-x-2 gap-y-0"><!> <!></div></div></div>`),ke=a(`<div class="mr-2 mt-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-sm bg-rc-green-700 text-sm uppercase text-rc-gray-100 backdrop-blur-md"> </div>`),Ae=a(`<button type="button" title="Edit this message" class="mr-2 mt-1 shrink-0 self-start rounded p-1 text-rc-gray-500 opacity-80 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none"><!></button>`),je=a(`<div class="mt-1 text-right text-xs text-rc-gray-200/70"> </div>`),Me=a(`<button type="button"><!></button>`),Ne=a(`<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Analyze</button>`),Pe=a(`<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Regenerate</button>`),Fe=a(`<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">See variants</button>`),Ie=a(`<div class="mt-1 flex flex-wrap items-center gap-x-2 gap-y-1"><!> <!> <!> <!></div>`),Le=a(`<!> <!> <div><div role="button" tabindex="0" class="cursor-pointer select-text"><div><div> </div> <!></div></div> <!></div>`,1),Re=a(`<div class="rounded-md border border-red-500 bg-red-950/40 p-3 font-mono text-sm text-red-200"> </div>`),ze=a(`<!> <!>`,1),Be=a(`<div class="whitespace-pre-wrap break-words rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3 text-sm text-rc-gray-100"> </div>`),Ve=a(`<div class="flex flex-col gap-3"><!> <div class="flex items-center justify-between gap-2 text-sm text-rc-gray-200"><div class="text-rc-gray-400"> </div> <!></div> <div><!> <div class="mt-2 h-[55vh] overflow-auto"><!></div></div></div>`),He=a(`<div><!></div> <!> <!>`,1);function Ue(e,i){c(i,!0);let a=_(()=>ne().editable),u=f(i,`promptEditProposalId`,3,null),m=f(i,`allowAddTest`,3,!0),b=f(i,`testSourceStep`,3,void 0),T=f(i,`testEntries`,3,void 0),E=f(i,`requireTestSourceStep`,3,!1),D=f(i,`analyzeDisabled`,3,!1),A=f(i,`showSeeVariants`,3,!1),F=f(i,`variantSelectionState`,3,`none`),I=f(i,`suppressActionRow`,3,!1),L=w(!1),R=w(`idle`),B=w(`content`),H=w(!1),U=w(null),W=re();S(W.cleanup);function ie(e){return e?e.split(`/`).at(-1)??e:``}function ae(e){let t=ie(e).trim().charAt(0);return t?t.toUpperCase():`?`}let G=_(()=>i.trace.eventName===`finished-main-streaming-step`||i.trace.eventName===`sent-message`?`agent`:i.trace.role===`system`||i.trace?.bosunInputMessageSender===`system`?`system`:(i.trace.role,`user`)),K=_(()=>{if(r(G)!==`system`)return b();let e=T()??z;return le(e,e.indexOf(i.trace),i.trace.content)}),q=_(()=>r(G)===`agent`?`max-w-[83%]`:r(G)===`user`?`max-w-[90%] sm:max-w-[80%] md:max-w-[70%]`:r(G)===`system`?`max-w-[90%] sm:max-w-[85%] md:max-w-[75%]`:``),oe=_(()=>(r(G)===`user`||r(G)===`system`)&&!!i.onRevert&&i.trace?.bosunPrevStateId!==void 0),J=_(()=>i.trace.error!=null),Y=_(()=>F()===`source`);function X(){h(L,!0),h(B,`content`)}function Z(e){if(!W.shouldSuppressClick(e)){if(r(Y)){i.onSelectInVariantMode?.(i.trace);return}X()}}function se(e){if(typeof e!=`number`||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}let ce=_(()=>se(i.trace?.createdAt));function Q(e){try{return JSON.stringify(e??null,null,2)}catch{return String(e)}}async function ue(){try{await navigator.clipboard.writeText(Q(i.trace))}catch(e){console.error(`Failed to copy`,e)}}function pe(){return m()&&!fe(i.trace)&&i.trace.eventName!==`transfer-requested`&&(r(G)===`agent`&&(i.trace.eventName===`finished-main-streaming-step`||i.trace.eventName===`sent-message`)||r(G)===`system`&&!!r(K))}function $(){return!pe()||!(i.agentId&&i.agentId.trim())?!1:!E()||!!r(K)&&r(K).receivedContext!==void 0}function me(){return r(G)===`agent`&&i.trace.eventName!==`transfer-requested`&&!!(i.agentId&&i.agentId.trim())&&(i.trace.eventName===`finished-main-streaming-step`||i.trace.eventName===`sent-message`)}function he(){return me()}async function ge(){let e=null;try{h(R,`idle`);let t=(i.agentId||``).trim();if(!t)throw Error(`Agent id is not available; cannot add test`);let n=de({entries:T()??z,trace:i.trace,sourceStep:r(K),fallbackRuntimeContext:i.context});if(i.testCreationMode===`pii-sanitized`){h(U,n,!0),h(H,!0);return}e=window.open(`about:blank`,`_blank`),e&&(e.opener=null);let a=await te.tests.addTest.mutate({agent:t,seed:n}),o=new URLSearchParams({step:n.step||`main`,test:a.id});u()&&o.set(`promptEdit`,u());let s=`/edit/${encodeURIComponent(t)}/tests?${o.toString()}`;e?e.location.replace(s):window.open(s,`_blank`,`noopener`),_e()}catch(t){e?.close(),console.error(`Failed to add test`,t),h(R,`error`),setTimeout(()=>h(R,`idle`),4e3)}}function _e(){h(R,`ok`),setTimeout(()=>h(R,`idle`),3e3)}var ve=He(),ye=p(ve);let be;var xe=v(ye),Se=e=>{var t=Oe(),a=v(t),s=v(a),c=v(s),u=e=>{var t=Te(),i=v(t,!0);l(t),g(()=>o(i,r(ce))),n(e,t)};y(c,e=>{r(ce)&&e(u)});var f=C(c,2),p=e=>{var t=Ee(),r=v(t);l(t),g(()=>o(r,`Transfer requested: ${i.trace.content??``}`)),n(e,t)},m=e=>{var t=De();n(e,t)};y(f,e=>{i.trace.eventName===`transfer-requested`?e(p):e(m,-1)}),l(s),l(a),l(t),g(()=>O(a,1,`cursor-pointer select-text rounded-full border border-rc-gray-650 bg-rc-gray-800/40 px-4 py-2 text-sm text-rc-gray-100 ${r(J)?`border-red-500 bg-red-950/30 text-red-200`:``}`)),d(`pointerdown`,a,function(...e){W.onPointerDown?.apply(this,e)}),d(`click`,a,e=>{W.shouldSuppressClick(e)||X()}),n(e,t)},Ce=e=>{var t=Le(),s=p(t),c=e=>{var t=ke(),r=v(t,!0);l(t),g((e,n)=>{x(t,`title`,e),o(r,n)},[()=>ie(i.agentId),()=>ae(i.agentId)]),n(e,t)};y(s,e=>{r(G)===`agent`&&i.agentId&&e(c)});var u=C(s,2),f=e=>{var t=Ae(),r=v(t);M(r,{name:`undo`,width:16,height:16}),l(t),d(`click`,t,e=>{e.stopPropagation(),i.onRevert?.(i.trace)}),n(e,t)};y(u,e=>{r(oe)&&e(f)});var m=C(u,2),h=v(m),b=v(h),S=v(b),w=v(S,!0);l(S);var T=C(S,2),E=e=>{var t=je(),i=v(t,!0);l(t),g(()=>o(i,r(ce))),n(e,t)};y(T,e=>{r(ce)&&e(E)}),l(b),l(h);var j=C(h,2),N=e=>{var t=Ie(),o=v(t),s=e=>{var t=Me(),i=v(t),o=e=>{var t=k(`Added`);n(e,t)},s=e=>{var t=k(`Failed`);n(e,t)},c=e=>{var t=k(`Select agent to add test`);n(e,t)},u=_(()=>!$()),f=e=>{var t=k(`Add test`);n(e,t)};y(i,e=>{r(R)===`ok`?e(o):r(R)===`error`?e(s,1):r(u)?e(c,2):e(f,-1)}),l(t),g((e,n,r)=>{t.disabled=e,x(t,`title`,n),O(t,1,`inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 transition-colors focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 ${r??``}`)},[()=>!r(a)||!$()||r(R)!==`idle`||r(H),()=>r(a)?$()?void 0:`Select an agent in the sidebar before adding a test`:`Bosun is running in read-only mode`,()=>r(R)!==`idle`||!$()?`cursor-default text-rc-gray-400`:`cursor-pointer text-rc-gray-400 hover:bg-rc-gray-900 hover:text-rc-gray-200`]),d(`click`,t,e=>{e.stopPropagation(),ge()}),n(e,t)},c=_(()=>pe());y(o,e=>{r(c)&&e(s)});var u=C(o,2),f=e=>{var t=Ne();g(()=>t.disabled=D()),d(`click`,t,e=>{e.stopPropagation(),i.onAnalyze(i.trace)}),n(e,t)},p=_(()=>me()&&i.onAnalyze);y(u,e=>{r(p)&&e(f)});var m=C(u,2),h=e=>{var t=Pe();d(`click`,t,e=>{e.stopPropagation(),i.onRegenerate(i.trace)}),n(e,t)},b=_(()=>he()&&i.onRegenerate);y(m,e=>{r(b)&&e(h)});var S=C(m,2),w=e=>{var t=Fe();d(`click`,t,e=>{e.stopPropagation(),i.onSeeVariants(i.trace)}),n(e,t)};y(S,e=>{A()&&i.onSeeVariants&&r(a)&&e(w)}),l(t),n(e,t)},P=_(()=>!I()&&(me()||pe()||he()&&i.onRegenerate||A()));y(j,e=>{r(P)&&e(N)}),l(m),g(()=>{O(m,1,`min-w-0 ${r(q)??``}`),O(b,1,`rounded-lg ${r(G)===`system`?`justify-between whitespace-pre-line break-words border border-emerald-500 text-emerald-500`:r(Y)?`w-full whitespace-pre-line break-words border border-rc-green-450 bg-transparent backdrop-blur-md hover:bg-rc-green-700`:r(G)===`user`?`whitespace-pre-line break-words bg-rc-gray-700`:`w-full whitespace-pre-line break-words bg-rc-green-700 backdrop-blur-md`} ${r(G)===`system`||r(Y)?``:`border-thin border-rc-gray-110`} p-2 pt-1 text-rc-gray-100 ${r(J)?`border-red-500 bg-red-950/30 text-red-200`:``}`),o(w,i.trace.content)}),d(`pointerdown`,h,function(...e){W.onPointerDown?.apply(this,e)}),d(`click`,h,Z),n(e,t)};y(xe,e=>{i.trace.eventName===`transfer-requested`||i.trace.eventName===`hangup-requested`?e(Se):e(Ce,-1)}),l(ye);var Ue=C(ye,2),We=e=>{{let t=e=>{var t=Ve(),a=v(t),c=e=>{var t=Re(),r=v(t,!0);l(t),g(e=>o(r,e),[()=>Q(i.trace.error)]),n(e,t)};y(a,e=>{r(J)&&e(c)});var u=C(a,2),d=v(u),f=v(d);l(d);var m=C(d,2);j(m,{variant:`secondary`,size:`small`,onclick:ue,children:(e,t)=>{s();var r=k(`Copy raw trace`);n(e,r)},$$slots:{default:!0}}),l(u);var b=C(u,2),x=v(b);N(x,{get value(){return r(B)},ariaLabel:`Conversational trace tabs`,onChange:({value:e})=>h(B,e,!0),children:(e,t)=>{var r=ze(),i=p(r);P(i,{value:`content`,class:`px-3`,children:(e,t)=>{s();var r=k(`Content`);n(e,r)},$$slots:{default:!0}});var a=C(i,2);P(a,{value:`raw`,class:`px-3`,children:(e,t)=>{s();var r=k(`Raw`);n(e,r)},$$slots:{default:!0}}),n(e,r)},$$slots:{default:!0}});var S=C(x,2),w=v(S),T=e=>{var t=Be(),r=v(t,!0);l(t),g(()=>o(r,i.trace.content)),n(e,t)},E=e=>{{let t=_(()=>Q(i.trace));V(e,{get value(){return r(t)},language:`json`,class:`h-full`})}};y(w,e=>{r(B)===`content`?e(T):e(E,-1)}),l(S),l(b),l(t),g(()=>o(f,`${i.trace.role??``} • ${i.trace.medium??``}`)),n(e,t)},a=_(()=>`Conversation: ${i.trace.eventName}`);ee(e,{get title(){return r(a)},class:`!w-[80vw] !max-w-4xl`,get open(){return r(L)},set open(e){h(L,e,!0)},children:t,$$slots:{default:!0}})}};y(Ue,e=>{r(L)&&e(We)});var Ge=C(Ue,2),Ke=e=>{{let t=_(()=>(i.agentId||``).trim());we(e,{get agent(){return r(t)},get seed(){return r(U)},onCreated:_e,get open(){return r(H)},set open(e){h(H,e,!0)}})}};y(Ge,e=>{r(U)&&e(Ke)}),g(()=>be=O(ye,1,`group mb-2 flex w-full items-start`,null,be,{"justify-end":r(G)===`user`||r(G)===`system`})),n(e,ve),t()}e([`pointerdown`,`click`]);var We=a(`<span class="text-[13px] leading-none text-rc-gray-400"> </span>`),Ge=a(`<span><span class="cursor-pointer" title="Show prompt-cache calc"> </span></span>`),Ke=a(`<span> </span>`),qe=a(`<div class="mb-2 ml-7 max-w-[83%]"><button type="button" class="block w-full cursor-pointer overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-800 p-3 text-left hover:bg-rc-gray-700"><pre class="truncate whitespace-pre font-mono text-sm text-rc-gray-100"> </pre></button> <div class="mt-1 flex items-center"><button type="button" class="inline-flex items-center rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 disabled:cursor-not-allowed disabled:opacity-50"> </button></div></div>`),Je=a(`<div class="rounded-md border border-red-500 bg-red-950/40 p-3 font-mono text-sm text-red-200"> </div>`),Ye=a(`<!> <!> <!> <!> <!>`,1),Xe=a(`<div class="flex h-full flex-col gap-2"><div class="grid grid-cols-2 gap-2"><div class="flex items-center justify-start"><!></div> <div class="flex items-center justify-end"><!></div></div> <!></div>`),Ze=a(`<div class="flex flex-col gap-3"><!> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-rc-gray-200"><div><span class="text-rc-gray-400">Timing:</span> </div> <div><span class="text-rc-gray-400">Response time:</span> —</div> <div><span class="text-rc-gray-400">Model:</span> </div></div> <div><!> <div class="mt-2 h-[55vh]"><!></div></div></div>`),Qe=a(`<!> <!>`,1),$e=a(`<div class="flex h-[65vh] min-h-0 flex-col gap-2"><!> <div class="min-h-0 flex-1"><!></div></div>`),et=a(`<div class="flex w-full select-text items-baseline gap-2 truncate rounded-md bg-transparent px-2 py-1 text-left text-sm text-rc-gray-200 hover:bg-rc-gray-800/40"><button type="button" class="flex min-w-0 cursor-pointer items-baseline gap-2 truncate bg-transparent p-0 text-left text-sm text-rc-gray-200"><!> <!> <span> </span></button> <!> <!></div> <!> <!> <!> <!>`,1);function tt(e,i){c(i,!0);let a=_(()=>ne().editable),m=f(i,`promptEditProposalId`,3,null),b=f(i,`fallbackConversation`,3,null),T=w(!1),E=w(!1),D=w(`diff`),A=w(`response`),F=w(`idle`),I=w(!1),z=w(null),B=re();S(B.cleanup);function H(e){return e&&typeof e.renderedPrompt==`string`?e.renderedPrompt:null}function U(e,t){if(e===t)return e.length;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++)if(e.charCodeAt(r)!==t.charCodeAt(r))return r;return n}function W(e,t){let n=Math.max(e.length,t.length);if(n===0)return 100;let r=U(e,t);return Math.floor(r/n*100)}function ie(e,t){let n=e.length,r=t.length,i=U(e,t),a=Math.max(n,r);return{currentLength:n,baselineLength:r,commonPrefixLength:i,denom:a,similarityPct:a===0?100:Math.floor(i/a*100)}}function ae(e,t){let n=t?.headChars??600,r=t?.tailChars??600,i=e.slice(0,n),a=e.slice(Math.max(i.length,e.length-r)),o=Math.max(0,e.length-i.length-a.length);return{length:e.length,head:i,tail:a,omittedChars:o}}function G(e){let t=e.llmUsage;return!t||typeof t.promptTokens!=`number`||!Number.isFinite(t.promptTokens)||t.promptTokens<=0||typeof t.cachedPromptTokens!=`number`||!Number.isFinite(t.cachedPromptTokens)||t.cachedPromptTokens<0?null:Math.max(0,Math.min(100,Math.floor(t.cachedPromptTokens/t.promptTokens*100)))}function K(e){let t=new WeakSet;try{return JSON.stringify(e,(e,n)=>{if(typeof n==`bigint`)return n.toString();if(n instanceof Error)return{name:n.name,message:n.message,stack:n.stack};if(typeof n==`object`&&n){if(t.has(n))return`[Circular]`;t.add(n)}return n},2)??``}catch{return String(e)}}function q(e){if(e==null)return``;if(typeof e==`string`){let t=e.trim();if(!t)return``;try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}}return K(e)}function oe(e){let t=q(e),n=t.split(`
3
- `);if(n.length<=1)return t;let r=n[0]?.trim(),i=n.slice(1).find(e=>e.trim())?.trim();if(!r||!i)return t;let a=r===`[`?`]`:`}`;return n.length===3&&n.at(-1)?.trim()===a?`${r} ${i} ${a}`:`${r} ${i} …${i.endsWith(`{`)?` }`:i.endsWith(`[`)?` ]`:``} ${a}`}function J(e){return new Date(e).toISOString()}function Y(e){if(typeof e!=`number`||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}let X=_(()=>Y(i.trace.createdAt)),Z=_(()=>i.trace.error!=null),se=_(()=>`AI: ${i.trace.name}`),ce=_(()=>i.trace.name),Q=_(()=>{if(!R(i.trace.name))return null;let e=H(i.trace),t=H(i.compareTrace);return e==null||t==null?null:W(e,t)}),le=_(()=>R(i.trace.name)?G(i.trace):null),ue=/<break\b[^>]*\/?>/i;function de(e){return typeof e==`string`&&ue.test(e)}let fe=_(()=>R(i.trace.name)?r(le)==null?r(Q)==null?null:r(Q)>=90?{text:`${r(Q)}%`,className:`text-rc-gray-400`}:{text:`${r(Q)}% cached - move dynamic parts of prompt to the bottom`,className:`text-red-200`}:r(le)===0&&r(Q)!=null&&r(Q)>=90?{text:`0% tokens cached. Cache miss`,className:`text-red-200`}:r(le)>=90?{text:`${r(le)}% tokens cached`,className:`text-rc-gray-400`}:{text:`${r(le)}% tokens cached - move dynamic parts of prompt to the bottom`,className:`text-red-200`}:null),$=_(()=>de(i.trace.response)?{text:`LLM output has <break /> tags`,className:`text-red-200`}:null),me=_(()=>{if(!R(i.trace.name))return null;let e=H(i.trace),t=H(i.compareTrace),n=e!=null&&t!=null?ie(e,t):null,a=i.trace.llmUsage??null,o=r(le),s=o===0&&n?.similarityPct!=null&&n.similarityPct>=90;return{version:1,labelSource:o==null?r(Q)==null?`none`:`promptSimilarityFallback`:`llmUsage`,thresholds:{okPct:90,cacheMissSimilarityPct:90},inputs:{llmUsage:a,currentRenderedPrompt:e==null?null:ae(e),baselineRenderedPrompt:t==null?null:ae(t)},computed:{cachedTokensPct:o,promptSimilarityPct:n?.similarityPct??null,promptSimilarity:n,cacheMiss:s},decision:{text:r(fe)?.text??null}}}),he=_(()=>r(me)?K(r(me)):`{}`),ge=_(()=>H(i.compareTrace)??``),_e=_(()=>H(i.trace)??``),ve=_(()=>q(i.trace.response)),ye=_(()=>oe(i.trace.response)),be=_(()=>{if(typeof i.trace.response!=`string`||!i.trace.response.trim())return!1;try{let e=JSON.parse(i.trace.response);return typeof e==`object`&&!!e}catch{return!1}}),xe=_(()=>{let e=i.trace.response;if(typeof e!=`string`)return`json`;try{return JSON.parse(e),`json`}catch{return`text`}}),Se=_(()=>i.trace.stringifiedConversation??``),Ce=_(()=>q(i.trace.renderedPrompt)),Te=_(()=>q(i.trace.receivedPrompt)),Ee=_(()=>q(i.trace.receivedContext)),De=_(()=>q(i.trace.schema)),Oe=_(()=>i.trace.error?K(i.trace.error):``);function ke(e){return e==null?``:typeof e==`string`?e:K(e)}let Ae=_(()=>ke(i.trace.receivedPrompt)),je=_(()=>ke(i.trace.renderedPrompt)),Me=w(null),Ne=w(null);async function Pe(e){try{let t=r(e===`raw`?Ae:je);await navigator.clipboard.writeText(t),h(Me,e,!0),r(Ne)&&clearTimeout(r(Ne)),h(Ne,window.setTimeout(()=>{h(Me,null),h(Ne,null)},2e3),!0)}catch(e){console.error(`Failed to copy prompt`,e)}}function Fe(e,t){let n=new URLSearchParams({step:i.trace.name,test:t});return m()&&n.set(`promptEdit`,m()),`/edit/${encodeURIComponent(e)}/tests?${n.toString()}`}async function Ie(){let e=(i.agentId||``).trim();if(!e||r(F)!==`idle`)return;let t=null;try{let n=pe(i.trace,{fallbackConversation:b(),fallbackRuntimeContext:i.runtimeContext});if(i.testCreationMode===`pii-sanitized`){h(z,n,!0),h(I,!0);return}t=window.open(`about:blank`,`_blank`),t&&(t.opener=null),h(F,`adding`);let r=Fe(e,(await te.tests.addTest.mutate({agent:e,seed:n})).id);t?t.location.replace(r):window.open(r,`_blank`,`noopener`),Le()}catch(e){t?.close(),console.error(`Failed to add step test`,e),h(F,`failed`),window.setTimeout(()=>h(F,`idle`),3e3)}}function Le(){h(F,`added`),window.setTimeout(()=>h(F,`idle`),3e3)}var Re=et(),ze=p(Re),Be=v(ze),Ve=v(Be);{let e=_(()=>r(Z)?`close`:`checkmark`),t=_(()=>r(Z)?`self-center text-red-400`:`self-center text-rc-green-200`);M(Ve,{get name(){return r(e)},width:18,height:18,get class(){return r(t)}})}var He=C(Ve,2),Ue=e=>{var t=We(),i=v(t,!0);l(t),g(()=>o(i,r(X))),n(e,t)};y(He,e=>{r(X)&&e(Ue)});var tt=C(He,2),nt=v(tt);l(tt),l(Be);var rt=C(Be,2),it=e=>{var t=Ge(),i=v(t),a=v(i,!0);l(i),l(t),g(()=>{O(t,1,`shrink-0 text-xs ${r(fe).className}`),o(a,r(fe).text)}),d(`click`,i,e=>{e.stopPropagation(),!B.shouldSuppressClick(e)&&r(me)&&(h(D,`diff`),h(E,!0))}),n(e,t)};y(rt,e=>{r(fe)!=null&&e(it)});var at=C(rt,2),ot=e=>{var t=Ke();x(t,`title`,`<break /> tag disables streaming and increases latency. If pauses are not large enough, use "..." instead.`);var i=v(t,!0);l(t),g(()=>{O(t,1,`shrink-0 text-xs ${r($).className}`),o(i,r($).text)}),n(e,t)};y(at,e=>{r($)!=null&&e(ot)}),l(ze);var st=C(ze,2),ct=e=>{var t=qe(),s=v(t),c=v(s),u=v(c,!0);l(c),l(s);var f=C(s,2),p=v(f),m=v(p,!0);l(p),l(f),l(t),g(e=>{o(u,r(ye)),p.disabled=e,x(p,`title`,r(a)?void 0:`Bosun is running in read-only mode`),o(m,r(F)===`adding`?`Adding…`:r(F)===`added`?`Added`:r(F)===`failed`?`Failed`:`Add test`)},[()=>!r(a)||!i.agentId?.trim()||i.trace.receivedContext===void 0||r(F)!==`idle`||r(I)]),d(`click`,s,()=>{h(A,`response`),h(T,!0)}),d(`click`,p,Ie),n(e,t)};y(st,e=>{r(be)&&e(ct)});var lt=C(st,2),ut=e=>{{let t=_(()=>(i.agentId||``).trim());we(e,{get agent(){return r(t)},get seed(){return r(z)},onCreated:Le,get open(){return r(I)},set open(e){h(I,e,!0)}})}};y(lt,e=>{r(z)&&e(ut)});var dt=C(lt,2),ft=e=>{ee(e,{get title(){return r(se)},class:`!w-[85vw] !max-w-5xl`,get open(){return r(T)},set open(e){h(T,e,!0)},children:e=>{var t=Ze(),a=v(t),c=e=>{var t=Je(),i=v(t,!0);l(t),g(()=>o(i,r(Oe))),n(e,t)};y(a,e=>{r(Oe)&&e(c)});var u=C(a,2),d=v(u),f=C(v(d));l(d);var m=C(d,4),b=C(v(m));l(m),l(u);var x=C(u,2),S=v(x);N(S,{get value(){return r(A)},ariaLabel:`Step trace tabs`,onChange:({value:e})=>h(A,e,!0),children:(e,t)=>{var r=Ye(),i=p(r);P(i,{value:`response`,class:`px-3`,children:(e,t)=>{s();var r=k(`Response`);n(e,r)},$$slots:{default:!0}});var a=C(i,2);P(a,{value:`conversation`,class:`px-3`,children:(e,t)=>{s();var r=k(`Conversation`);n(e,r)},$$slots:{default:!0}});var o=C(a,2);P(o,{value:`prompt`,class:`px-3`,children:(e,t)=>{s();var r=k(`Prompt`);n(e,r)},$$slots:{default:!0}});var c=C(o,2);P(c,{value:`context`,class:`px-3`,children:(e,t)=>{s();var r=k(`Context`);n(e,r)},$$slots:{default:!0}});var l=C(c,2);P(l,{value:`schema`,class:`px-3`,children:(e,t)=>{s();var r=k(`Schema`);n(e,r)},$$slots:{default:!0}}),n(e,r)},$$slots:{default:!0}});var w=C(S,2),T=v(w),E=e=>{V(e,{get value(){return r(ve)},get language(){return r(xe)},class:`h-full`})},D=e=>{V(e,{get value(){return r(Se)},language:`text`,class:`h-full`})},O=e=>{var t=Xe(),i=v(t),a=v(i),c=v(a);{let e=_(()=>!r(Ae).trim());j(c,{variant:`secondary`,size:`small`,get disabled(){return r(e)},onclick:()=>Pe(`raw`),children:(e,t)=>{s();var i=k();g(()=>o(i,r(Me)===`raw`?`Copied raw prompt`:`Copy raw prompt`)),n(e,i)},$$slots:{default:!0}})}l(a);var u=C(a,2),d=v(u);{let e=_(()=>!r(je).trim());j(d,{variant:`secondary`,size:`small`,get disabled(){return r(e)},onclick:()=>Pe(`rendered`),children:(e,t)=>{s();var i=k();g(()=>o(i,r(Me)===`rendered`?`Copied rendered prompt`:`Copy rendered prompt`)),n(e,i)},$$slots:{default:!0}})}l(u),l(i);var f=C(i,2);L(f,{variant:`generic`,get original(){return r(Te)},get modified(){return r(Ce)},language:`markdown`,class:`min-h-0 flex-1`}),l(t),n(e,t)},M=e=>{V(e,{get value(){return r(Ee)},language:`json`,class:`h-full`})},ee=e=>{V(e,{get value(){return r(De)},language:`json`,class:`h-full`})};y(T,e=>{r(A)===`response`?e(E):r(A)===`conversation`?e(D,1):r(A)===`prompt`?e(O,2):r(A)===`context`?e(M,3):e(ee,-1)}),l(w),l(x),l(t),g(e=>{o(f,` ${e??``}`),o(b,` ${i.trace.model??`—`??``}`)},[()=>typeof i.trace.createdAt==`number`?J(i.trace.createdAt):`—`]),n(e,t)},$$slots:{default:!0}})};y(dt,e=>{r(T)&&e(ft)});var pt=C(dt,2),mt=e=>{ee(e,{title:`Prompt cache calc`,class:`!w-[85vw] !max-w-5xl`,get open(){return r(E)},set open(e){h(E,e,!0)},children:e=>{var t=$e(),i=v(t);N(i,{get value(){return r(D)},ariaLabel:`Prompt cache calc tabs`,onChange:({value:e})=>h(D,e,!0),children:(e,t)=>{var r=Qe(),i=p(r);P(i,{value:`diff`,class:`px-3`,children:(e,t)=>{s();var r=k(`Diff`);n(e,r)},$$slots:{default:!0}});var a=C(i,2);P(a,{value:`raw`,class:`px-3`,children:(e,t)=>{s();var r=k(`Raw`);n(e,r)},$$slots:{default:!0}}),n(e,r)},$$slots:{default:!0}});var a=C(i,2),o=v(a),c=e=>{L(e,{variant:`generic`,get original(){return r(ge)},get modified(){return r(_e)},language:`markdown`,class:`h-full`})},u=e=>{V(e,{get value(){return r(he)},language:`json`,class:`h-full`})};y(o,e=>{r(D)===`diff`?e(c):e(u,-1)}),l(a),l(t),n(e,t)},$$slots:{default:!0}})};y(pt,e=>{r(E)&&e(mt)}),g(()=>{O(tt,1,u(r(Z)?`text-red-200`:``)),o(nt,`AI: ${r(ce)??``}`)}),d(`pointerdown`,Be,function(...e){B.onPointerDown?.apply(this,e)}),d(`click`,Be,e=>{B.shouldSuppressClick(e)||h(T,!0)}),n(e,Re),t()}e([`pointerdown`,`click`]);export{Y as a,ue as i,Ue as n,q as o,Q as r,U as s,tt as t};
2
+ import{B as e,Dt as t,F as n,G as r,I as i,L as a,N as o,Nt as s,Ot as c,Pt as l,S as u,V as d,a as f,at as p,b as m,dt as h,et as g,gt as _,it as v,j as y,l as b,m as x,n as S,ot as C,pt as w,r as T,st as E,tt as D,x as O,z as k}from"./CPCsWwEy.js";import{t as A}from"./HclGiUj8.js";import"./xihTtKlq.js";import{t as j}from"./6OCsQ6r7.js";import{t as M}from"./DDg2JRw0.js";import{n as N,t as P}from"./BJqZY8o2.js";import{t as ee}from"./BP0Xadq7.js";import{t as te}from"./DWoqp3ac.js";import{c as ne,o as F,s as I,t as L}from"./DOTdXvTw.js";import{t as R}from"./B9YnyJ2j.js";import{i as z}from"./By9tvIIw.js";import{a as B}from"./C9BPLYOl.js";import{t as V}from"./Uqa7obpm.js";var H=a(`<div class="popover svelte-1fd3ybn" role="dialog" aria-modal="true"><div class="popover svelte-1fd3ybn" role="dialog" aria-modal="true"><!></div></div>`);function U(e,a){c(a,!0);let o=f(a,`open`,3,!1),s=f(a,`anchorEl`,3,null),u=f(a,`id`,3,``),d=f(a,`placement`,3,`bottom-start`),_=f(a,`offset`,19,()=>[0,2]),S=f(a,`flip`,3,!0),C=f(a,`preventOverflow`,3,!0),E=f(a,`onClose`,3,()=>{}),D=w(null),O=w(null);function k(){E()()}function A(e){if(o()&&r(D)&&s()){let t=e.target;!r(D).contains(t)&&!s().contains(t)&&k()}}function j(e){e.key===`Escape`&&o()&&k()}T(()=>{document.addEventListener(`click`,A,!0),document.addEventListener(`keydown`,j);let e=()=>{r(O)&&r(O).update()},t=()=>{r(O)&&r(O).update()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,t,!0),()=>{document.removeEventListener(`click`,A,!0),document.removeEventListener(`keydown`,j),window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,t,!0)}});var M=i(),N=p(M),P=e=>{b(B(e,{get referenceEl(){return s()},get placement(){return d()},get offset(){return _()},get flip(){return S()},get preventOverflow(){return C()},children:e=>{var t=H(),i=v(t),o=v(i);a.children(o),l(i),b(i,e=>h(D,e),()=>r(D)),l(t),b(t,e=>h(D,e),()=>r(D)),g(()=>{x(t,`id`,u()),x(i,`id`,u()),m(i,`min-width:${s()?.offsetWidth??0}px`)}),n(e,t)},$$slots:{default:!0}}),e=>h(O,e,!0),()=>r(O))};y(N,e=>{o()&&s()&&e(P)}),n(e,M),t()}function re(e={}){let t=e.thresholdPx??4,n=e.dragCursor??`text`,r=0,i=0,a=!1,o=!1,s=null,c=null;function l(){o=!1,a=!1,s?.style.removeProperty(`cursor`),s=null,c?.abort(),c=null}function u(e){if(typeof window>`u`||e.button!==0)return;c?.abort(),c=null,s?.style.removeProperty(`cursor`),r=e.clientX,i=e.clientY,a=!1,o=!0,s=e.currentTarget instanceof HTMLElement?e.currentTarget:null;let l=new AbortController;c=l;let u=e=>{!o||a||Math.abs(e.clientX-r)+Math.abs(e.clientY-i)<t||(a=!0,s?.style.setProperty(`cursor`,n))},d=()=>{o=!1,s?.style.removeProperty(`cursor`),s=null,l.abort(),c===l&&(c=null)};window.addEventListener(`pointermove`,u,{signal:l.signal}),window.addEventListener(`pointerup`,d,{signal:l.signal}),window.addEventListener(`pointercancel`,d,{signal:l.signal})}function d(e){return e.detail>0&&a}return{onPointerDown:u,shouldSuppressClick:d,cleanup:l}}var W=a(`<span class="text-[13px] leading-none text-rc-gray-400"> </span>`),ie=a(`<div class="rounded-md border border-red-500 bg-red-950/40 p-3 font-mono text-sm text-red-200"> </div>`),ae=a(`<!> <!>`,1),G=a(`<div class="flex flex-col gap-3"><!> <div class="flex flex-wrap items-center justify-between gap-2 text-sm text-rc-gray-200"><div class="flex flex-wrap items-center gap-x-4 gap-y-1"><div><span class="text-rc-gray-400">Timing:</span> </div> <div><span class="text-rc-gray-400">Response time:</span> </div> <div><span class="text-rc-gray-400">URL:</span> </div></div> <!></div> <div><!> <div class="mt-2 h-[55vh]"><!></div></div></div>`),K=a(`<button type="button" class="flex w-full cursor-pointer select-text items-baseline gap-2 truncate rounded-md bg-transparent px-2 py-1 text-left text-sm text-rc-gray-200 hover:bg-rc-gray-800/40"><!> <!> <span> </span></button> <!>`,1);function q(e,i){c(i,!0);let a=w(!1),f=w(`request`),m=re();S(m.cleanup);function b(e){try{if(typeof e==`string`){let t=e.trim();if(!t)return``;let n=JSON.parse(t);return JSON.stringify(n,null,2)}}catch{}try{return JSON.stringify(e??null,null,2)}catch{return String(e)}}function x(e){return new Date(e).toISOString()}function T(e){if(typeof e!=`number`||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}let E=_(()=>T(i.trace.createdAt)),D=_(()=>{if(i.trace.error!=null)return i.trace.error;if(!(i.trace.ok===!1||typeof i.trace.status==`number`&&i.trace.status>=400))return;let e=i.trace.response;return e&&typeof e==`object`&&`error`in e&&e.error!=null?e.error:{status:i.trace.status,ok:i.trace.ok}}),A=_(()=>r(D)!=null),te=_(()=>`API: ${i.trace.operationName}`),ne=_(()=>i.trace.operationName),F=_(()=>typeof i.trace.createdAt==`number`?x(i.trace.createdAt):`—`);async function I(){let e=b(i.trace);try{await navigator.clipboard.writeText(e)}catch(e){console.error(`Failed to copy`,e)}}let L=_(()=>b({method:i.trace.method,path:i.trace.path,baseUrl:i.trace.baseUrl,request:i.trace.request})),R=_(()=>b({status:i.trace.status,ok:i.trace.ok,response:i.trace.response,error:r(D)})),z=_(()=>r(D)==null?``:b(r(D)));var B=K(),H=p(B),U=v(H);{let e=_(()=>r(A)?`close`:`checkmark`),t=_(()=>r(A)?`self-center text-red-400`:`self-center text-rc-green-200`);M(U,{get name(){return r(e)},width:18,height:18,get class(){return r(t)}})}var q=C(U,2),oe=e=>{var t=W(),i=v(t,!0);l(t),g(()=>o(i,r(E))),n(e,t)};y(q,e=>{r(E)&&e(oe)});var J=C(q,2),Y=v(J,!0);l(J),l(H);var X=C(H,2),Z=e=>{ee(e,{get title(){return r(te)},class:`!w-[85vw] !max-w-5xl`,get open(){return r(a)},set open(e){h(a,e,!0)},children:e=>{var t=G(),a=v(t),c=e=>{var t=ie(),i=v(t,!0);l(t),g(()=>o(i,r(z))),n(e,t)};y(a,e=>{r(z)&&e(c)});var u=C(a,2),d=v(u),m=v(d),_=C(v(m));l(m);var b=C(m,2),x=C(v(b));l(b);var S=C(b,2),w=C(v(S));l(S),l(d);var T=C(d,2);j(T,{variant:`secondary`,size:`small`,onclick:I,children:(e,t)=>{s();var r=k(`Copy raw trace`);n(e,r)},$$slots:{default:!0}}),l(u);var E=C(u,2),D=v(E);N(D,{get value(){return r(f)},ariaLabel:`API trace tabs`,onChange:({value:e})=>h(f,e,!0),children:(e,t)=>{var r=ae(),i=p(r);P(i,{value:`request`,class:`px-3`,children:(e,t)=>{s();var r=k(`Request`);n(e,r)},$$slots:{default:!0}});var a=C(i,2);P(a,{value:`response`,class:`px-3`,children:(e,t)=>{s();var r=k(`Response`);n(e,r)},$$slots:{default:!0}}),n(e,r)},$$slots:{default:!0}});var O=C(D,2),A=v(O),M=e=>{V(e,{get value(){return r(L)},language:`json`,class:`h-full`})},ee=e=>{V(e,{get value(){return r(R)},language:`json`,class:`h-full`})};y(A,e=>{r(f)===`request`?e(M):e(ee,-1)}),l(O),l(E),l(t),g(e=>{o(_,` ${r(F)??``}`),o(x,` ${e??``}`),o(w,` ${i.trace.path??``}`)},[()=>typeof i.trace.durationMs==`number`?`${Math.round(i.trace.durationMs)}ms`:`—`]),n(e,t)},$$slots:{default:!0}})};y(X,e=>{r(a)&&e(Z)}),g(()=>{O(J,1,u(r(A)?`text-red-200`:``)),o(Y,r(ne))}),d(`pointerdown`,H,function(...e){m.onPointerDown?.apply(this,e)}),d(`click`,H,e=>{m.shouldSuppressClick(e)||h(a,!0)}),n(e,B),t()}e([`pointerdown`,`click`]);function oe(e){return X(e)&&X(e.context)?Y(e.context):Y(e)}function J(e){if(!(!X(e)||!X(e.mocks)))return Y(e.mocks)}function Y(e){return X(e)?Z(e):{}}function X(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Z(e){try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return e}}}function se(e){return!(`operationName`in e)&&!(`eventName`in e)}function ce(e){return se(e)&&R(e.name)}function Q(e,t,n={}){if(t<0)return null;let r=e=>ce(e)?!n.requireRenderedPrompt||typeof e.renderedPrompt==`string`&&e.renderedPrompt.trim().length>0:!1;return[...e.slice(0,t)].reverse().find(r)??e.slice(t+1).find(r)??null}function le(e,t,n){if(t<0||!n.trim())return null;let r=e=>se(e)&&!R(e.name)&&e.response===n;return[...e.slice(0,t)].reverse().find(r)??e.slice(t+1).find(r)??null}function ue(e,t){return t<=0?null:[...e.slice(0,t)].reverse().map(e=>se(e)?e.stringifiedConversation?.trim():``).find(Boolean)??null}function de({entries:e,trace:t,sourceStep:n,fallbackRuntimeContext:r,requireReceivedContext:i=!1}){let a=e.indexOf(t);if(a===-1)throw Error(`Could not locate the response in its trace history`);let o=n??Q(e,a);if(i&&o?.receivedContext===void 0)throw Error(`The source step trace does not have receivedContext`);let s=typeof o?.stringifiedConversation==`string`&&o.stringifiedConversation.trim()?o.stringifiedConversation:ue(e,a)??``,c=(t.content??``).trim(),l=o&&o.receivedContext!==void 0?Y(o.receivedContext):oe(r),u=J(r),d=o?.name;return{pinned:`TRUE`,step:d&&!R(d)?d:`main`,evaluation_mode:`assertion`,context_mode:`replace`,assertion_type:`llm-rubric`,assertion_value:``,conversation:s,expected_output:c,similarity_threshold:`60`,timeout:`0`,context:l,...u===void 0?{}:{mocks:u}}}function fe(e){return e.content.trim()===`<DICTATION />`}function pe(e,{fallbackConversation:t=``,fallbackRuntimeContext:n}={}){if(e.receivedContext===void 0)throw Error(`The source step trace does not have receivedContext`);let r=(e.response??``).trim();if(!r)throw Error(`The source step trace does not have a response`);let i=e.stringifiedConversation?.trim()?e.stringifiedConversation:t??``,a=$(r)?`json-deep-equal`:`assertion`,o=J(n);return{pinned:`TRUE`,step:R(e.name)?`main`:e.name,evaluation_mode:a,context_mode:`replace`,assertion_type:`llm-rubric`,assertion_value:``,conversation:i,expected_output:r,similarity_threshold:`60`,timeout:`0`,context:Y(e.receivedContext),...o===void 0?{}:{mocks:o}}}function $(e){try{let t=JSON.parse(e);return typeof t==`object`&&!!t}catch{return!1}}var me=a(`<div><div class="h-full w-full"></div></div>`);function he(e,i){c(i,!0);let a=f(i,`language`,3,`plaintext`),o=f(i,`class`,3,``),s=w(null),u=null,d=null,p=null,m=null,_=w(!1);T(()=>{if(!r(s))return;I();let e=!1;return A(()=>import(`./CUZn05nQ.js`).then(e=>e.t).then(t=>{if(e)return;F(t),d=t,u=t.editor.createDiffEditor(r(s),{theme:`bosun-dark`,readOnly:!1,originalEditable:!1,automaticLayout:!0,lineNumbers:`on`,renderSideBySide:!0,renderIndicators:!0,ignoreTrimWhitespace:!1,diffWordWrap:`on`,diffAlgorithm:`advanced`,maxComputationTime:2e4,renderMarginRevertIcon:!1,renderGutterMenu:!1,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:`on`,overviewRulerBorder:!1,hideCursorInOverviewRuler:!0,matchBrackets:`never`,bracketPairColorization:{enabled:!1},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},occurrencesHighlight:`off`,selectionHighlight:!1,renderLineHighlight:`none`});let n=t.editor.createModel(i.original??``,a()),o=t.editor.createModel(i.modified??``,a());p={original:n,modified:o},u.setModel(p),m=o.onDidChangeContent(()=>{let e=o.getValue();e!==i.modified&&i.onChange?.(e)}),h(_,!0)}),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url).catch(e=>{console.error(`EditableMonacoDiff: failed to initialise`,e)}),()=>{if(e=!0,m?.dispose(),m=null,u){try{u.setModel(null)}catch{}u.dispose(),u=null}p?.original.dispose(),p?.modified.dispose(),p=null,d=null}}),D(()=>{if(!p||!r(_))return;let e=i.original??``,t=i.modified??``;p.original.getValue()!==e&&p.original.setValue(e),p.modified.getValue()!==t&&p.modified.setValue(t)}),D(()=>{if(!p||!r(_)||!d)return;let e=a()||`plaintext`;p.original.getLanguageId()!==e&&d.editor.setModelLanguage(p.original,e),p.modified.getLanguageId()!==e&&d.editor.setModelLanguage(p.modified,e)});var y=me(),x=v(y);b(x,e=>h(s,e),()=>r(s)),l(y),g(()=>O(y,1,`overflow-hidden rounded-md border border-rc-gray-700 ${o()}`)),n(e,y),t()}var ge=a(`<div class="flex flex-1 items-center justify-center text-rc-gray-200">Removing personal data...</div>`),_e=a(`<div class="flex flex-1 flex-col items-center justify-center gap-4"><div class="max-w-2xl text-center text-red-300"> </div> <div class="flex flex-wrap justify-center gap-2"><!> <!></div></div>`),ve=a(`<div class="text-xs text-rc-gray-500"> </div>`),ye=a(`<div class="rounded-md border border-amber-600 bg-amber-950/30 px-3 py-2 text-sm text-amber-200"> </div>`),be=a(`<!> <!> <!> <!>`,1),xe=a(`<div class="flex flex-wrap items-center justify-between gap-2 text-sm"><div class="text-rc-gray-200"><!></div> <!></div> <!> <div class="flex min-h-0 flex-1 flex-col"><!> <div class="mt-2 min-h-0 flex-1"><!></div></div>`,1),Se=a(`<div class="flex h-[70vh] min-h-[32rem] flex-col gap-3"><!></div>`),Ce=a(`<!> <!>`,1);function we(e,i){c(i,!0);let a=_(()=>ne().editable),u=f(i,`open`,15,!1),d=w(`idle`),m=w(``),b=w(``),x=w(!1),S=w(`conversation`),T=w(``),O=w(null),A=w(null),M=w(E([])),F=w(``),I=w(``),L=w(``),R=w(`{}`),z=w(`{}`),B=null,V=0,H=_(()=>r(A)?.mocks!==void 0),U=_(()=>r(M).reduce((e,t)=>e+t.paths.length,0)),re=_(()=>r(O)?.conversation??``),W=_(()=>r(O)?.expected_output??``),ie=_(()=>X(r(O)?.context??{})),ae=_(()=>X(r(O)?.mocks??{}));D(()=>{let e=u(),t=i.seed;!e||!t||B===t||(B=t,G(t))}),D(()=>{u()||(V+=1,h(d,`idle`),h(m,``),h(b,``),h(x,!1),B=null,h(T,``),h(O,null),h(A,null),h(M,[],!0),h(F,``),h(S,`conversation`))});async function G(e){let t=++V;h(d,`preparing`),h(m,``),h(b,``),h(x,!1),h(O,e,!0),h(A,null),h(T,``),h(M,[],!0);try{let n=await te.tests.createPIISanitizedTestDraft.mutate({agent:i.agent,seed:e});if(t!==V)return;if(n.status===`sanitizer-error`){h(m,n.message,!0),h(b,n.aiResponse,!0),h(d,`error`);return}q(n.draftId,n.seed,n.findings,n.model),h(d,`ready`)}catch(e){if(t!==V)return;console.error(`Failed to prepare PII-sanitised test draft`,e),h(m,Z(e,`Could not prepare a PII-sanitised test draft.`),!0),h(d,`error`)}}async function K(){if(r(b))try{await navigator.clipboard.writeText(r(b)),h(x,!0)}catch(e){console.error(`Failed to copy PII sanitiser AI response`,e),h(m,`Could not copy the AI response to the clipboard.`)}}function q(e,t,n,i=r(F)){h(T,e,!0),h(A,t,!0),h(M,n,!0),h(F,i,!0),h(I,t.conversation,!0),h(L,t.expected_output,!0),h(R,X(t.context),!0),h(z,X(t.mocks??{}),!0),r(S)===`mocks`&&t.mocks===void 0&&h(S,`conversation`)}async function oe(){if(!r(A)||!r(T)||r(d)!==`ready`)return;let e=window.open(`about:blank`,`_blank`);e&&(e.opener=null),h(d,`creating`),h(m,``);try{let t=J(),n=await te.tests.createTestFromPIISanitizedTestDraft.mutate({agent:i.agent,draftId:r(T),reviewed:t}),a=new URLSearchParams({step:n.test.step||r(A).step||`main`,test:n.test.id}),o=`/edit/${encodeURIComponent(i.agent)}/tests?${a.toString()}`;e?e.location.replace(o):window.open(o,`_blank`,`noopener`),u(!1),i.onCreated?.(n.test)}catch(t){e?.close(),console.error(`Failed to create test from PII-sanitised draft`,t),h(m,Z(t,`Could not create the test.`),!0),h(d,`ready`)}}function J(){let e=Y(r(R),`Context`),t=r(H)?Y(r(z),`Mocks`):void 0;return{conversation:r(I),expected_output:r(L),context:e,...t===void 0?{}:{mocks:t}}}function Y(e,t){let n;try{n=JSON.parse(e)}catch{throw Error(`${t} must be valid JSON.`)}if(!n||typeof n!=`object`||Array.isArray(n))throw Error(`${t} must be a JSON object.`);return n}function X(e){return JSON.stringify(e??{},null,2)}function Z(e,t){return e instanceof Error&&e.message.trim()?e.message:t}ee(e,{title:`Review test before creating`,class:`!w-[94vw] !max-w-[90rem]`,get open(){return u()},set open(e){u(e)},children:e=>{var t=Se(),a=v(t),c=e=>{var t=ge();n(e,t)},u=e=>{var t=_e(),a=v(t),c=v(a,!0);l(a);var u=C(a,2),d=v(u);j(d,{variant:`secondary`,onclick:()=>i.seed&&G(i.seed),children:(e,t)=>{s();var r=k(`Try again`);n(e,r)},$$slots:{default:!0}});var f=C(d,2),p=e=>{j(e,{variant:`secondary`,onclick:K,children:(e,t)=>{s();var i=k();g(()=>o(i,r(x)?`AI response copied`:`Copy AI response`)),n(e,i)},$$slots:{default:!0}})};y(f,e=>{r(b)&&e(p)}),l(u),l(t),g(()=>o(c,r(m))),n(e,t)},f=e=>{var t=xe(),i=p(t),a=v(i),c=v(a),u=e=>{var t=k(`No personal data replacements were proposed.`);n(e,t)},d=e=>{var t=k();g(()=>o(t,`${r(U)??``} personal data ${r(U)===1?`replacement`:`replacements`} proposed.`)),n(e,t)};y(c,e=>{r(U)===0?e(u):e(d,-1)}),l(a);var f=C(a,2),_=e=>{var t=ve(),i=v(t);l(t),g(()=>o(i,`Model: ${r(F)??``}`)),n(e,t)};y(f,e=>{r(F)&&e(_)}),l(i);var b=C(i,2),x=e=>{var t=ye(),i=v(t,!0);l(t),g(()=>o(i,r(m))),n(e,t)};y(b,e=>{r(m)&&e(x)});var w=C(b,2),T=v(w);N(T,{get value(){return r(S)},ariaLabel:`PII-sanitised test draft fields`,onChange:({value:e})=>h(S,e,!0),children:(e,t)=>{var i=be(),a=p(i);P(a,{value:`conversation`,class:`px-3`,children:(e,t)=>{s();var r=k(`Conversation`);n(e,r)},$$slots:{default:!0}});var o=C(a,2);P(o,{value:`expected_output`,class:`px-3`,children:(e,t)=>{s();var r=k(`Expected output`);n(e,r)},$$slots:{default:!0}});var c=C(o,2);P(c,{value:`context`,class:`px-3`,children:(e,t)=>{s();var r=k(`Context`);n(e,r)},$$slots:{default:!0}});var l=C(c,2),u=e=>{P(e,{value:`mocks`,class:`px-3`,children:(e,t)=>{s();var r=k(`Mocks`);n(e,r)},$$slots:{default:!0}})};y(l,e=>{r(H)&&e(u)}),n(e,i)},$$slots:{default:!0}});var E=C(T,2),D=v(E),O=e=>{he(e,{get original(){return r(re)},get modified(){return r(I)},onChange:e=>h(I,e,!0),language:`plaintext`,class:`h-full`})},A=e=>{he(e,{get original(){return r(W)},get modified(){return r(L)},onChange:e=>h(L,e,!0),language:`plaintext`,class:`h-full`})},j=e=>{he(e,{get original(){return r(ie)},get modified(){return r(R)},onChange:e=>h(R,e,!0),language:`json`,class:`h-full`})},M=e=>{he(e,{get original(){return r(ae)},get modified(){return r(z)},onChange:e=>h(z,e,!0),language:`json`,class:`h-full`})};y(D,e=>{r(S)===`conversation`?e(O):r(S)===`expected_output`?e(A,1):r(S)===`context`?e(j,2):e(M,-1)}),l(E),l(w),n(e,t)};y(a,e=>{r(d)===`preparing`?e(c):r(d)===`error`&&!r(A)?e(u,1):r(A)&&r(O)&&e(f,2)}),l(t),n(e,t)},footer:e=>{var t=Ce(),i=p(t);j(i,{variant:`secondary`,onclick:()=>u(!1),children:(e,t)=>{s();var r=k(`Cancel`);n(e,r)},$$slots:{default:!0}});var c=C(i,2);{let e=_(()=>!r(a)||!r(A)||r(d)===`preparing`||r(d)===`creating`);j(c,{get disabled(){return r(e)},onclick:oe,children:(e,t)=>{s();var i=k();g(()=>o(i,r(d)===`creating`?`Creating…`:`Create test`)),n(e,i)},$$slots:{default:!0}})}n(e,t)},$$slots:{default:!0,footer:!0}}),t()}var Te=a(`<span class="text-[13px] leading-none text-rc-gray-400"> </span>`),Ee=a(`<div class="min-w-0 break-words"> </div>`),De=a(`<div class="min-w-0 break-words">Conversation hanged up.</div>`),Oe=a(`<div class="flex w-full justify-center"><div role="button" tabindex="0"><div class="flex flex-wrap items-baseline gap-x-2 gap-y-0"><!> <!></div></div></div>`),ke=a(`<div class="mr-2 mt-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-sm bg-rc-green-700 text-sm uppercase text-rc-gray-100 backdrop-blur-md"> </div>`),Ae=a(`<button type="button" title="Edit this message" class="mr-2 mt-1 shrink-0 self-start rounded p-1 text-rc-gray-500 opacity-80 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none"><!></button>`),je=a(`<div class="mt-1 text-right text-xs text-rc-gray-200/70"> </div>`),Me=a(`<button type="button"><!></button>`),Ne=a(`<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Analyze</button>`),Pe=a(`<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Regenerate</button>`),Fe=a(`<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">See variants</button>`),Ie=a(`<div class="mt-1 flex flex-wrap items-center gap-x-2 gap-y-1"><!> <!> <!> <!></div>`),Le=a(`<!> <!> <div><div role="button" tabindex="0" class="cursor-pointer select-text"><div><div> </div> <!></div></div> <!></div>`,1),Re=a(`<div class="rounded-md border border-red-500 bg-red-950/40 p-3 font-mono text-sm text-red-200"> </div>`),ze=a(`<!> <!>`,1),Be=a(`<div class="whitespace-pre-wrap break-words rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3 text-sm text-rc-gray-100"> </div>`),Ve=a(`<div class="flex flex-col gap-3"><!> <div class="flex items-center justify-between gap-2 text-sm text-rc-gray-200"><div class="text-rc-gray-400"> </div> <!></div> <div><!> <div class="mt-2 h-[55vh] overflow-auto"><!></div></div></div>`),He=a(`<div><!></div> <!> <!>`,1);function Ue(e,i){c(i,!0);let a=_(()=>ne().editable),u=f(i,`promptEditProposalId`,3,null),m=f(i,`allowAddTest`,3,!0),b=f(i,`testSourceStep`,3,void 0),T=f(i,`testEntries`,3,void 0),E=f(i,`requireTestSourceStep`,3,!1),D=f(i,`analyzeDisabled`,3,!1),A=f(i,`showSeeVariants`,3,!1),F=f(i,`variantSelectionState`,3,`none`),I=f(i,`suppressActionRow`,3,!1),L=w(!1),R=w(`idle`),B=w(`content`),H=w(!1),U=w(null),W=re();S(W.cleanup);function ie(e){return e?e.split(`/`).at(-1)??e:``}function ae(e){let t=ie(e).trim().charAt(0);return t?t.toUpperCase():`?`}let G=_(()=>i.trace.eventName===`finished-main-streaming-step`||i.trace.eventName===`sent-message`?`agent`:i.trace.role===`system`||i.trace?.bosunInputMessageSender===`system`?`system`:(i.trace.role,`user`)),K=_(()=>{if(r(G)!==`system`)return b();let e=T()??z;return le(e,e.indexOf(i.trace),i.trace.content)}),q=_(()=>r(G)===`agent`?`max-w-[83%]`:r(G)===`user`?`max-w-[90%] sm:max-w-[80%] md:max-w-[70%]`:r(G)===`system`?`max-w-[90%] sm:max-w-[85%] md:max-w-[75%]`:``),oe=_(()=>(r(G)===`user`||r(G)===`system`)&&!!i.onRevert&&i.trace?.bosunPrevStateId!==void 0),J=_(()=>i.trace.error!=null),Y=_(()=>F()===`source`);function X(){h(L,!0),h(B,`content`)}function Z(e){if(!W.shouldSuppressClick(e)){if(r(Y)){i.onSelectInVariantMode?.(i.trace);return}X()}}function se(e){if(typeof e!=`number`||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}let ce=_(()=>se(i.trace?.createdAt));function Q(e){try{return JSON.stringify(e??null,null,2)}catch{return String(e)}}async function ue(){try{await navigator.clipboard.writeText(Q(i.trace))}catch(e){console.error(`Failed to copy`,e)}}function pe(){return m()&&!fe(i.trace)&&i.trace.eventName!==`transfer-requested`&&(r(G)===`agent`&&(i.trace.eventName===`finished-main-streaming-step`||i.trace.eventName===`sent-message`)||r(G)===`system`&&!!r(K))}function $(){return!pe()||!(i.agentId&&i.agentId.trim())?!1:!E()||!!r(K)&&r(K).receivedContext!==void 0}function me(){return r(G)===`agent`&&i.trace.eventName!==`transfer-requested`&&!!(i.agentId&&i.agentId.trim())&&(i.trace.eventName===`finished-main-streaming-step`||i.trace.eventName===`sent-message`)}function he(){return me()}async function ge(){let e=null;try{h(R,`idle`);let t=(i.agentId||``).trim();if(!t)throw Error(`Agent id is not available; cannot add test`);let n=de({entries:T()??z,trace:i.trace,sourceStep:r(K),fallbackRuntimeContext:i.context});if(i.testCreationMode===`pii-sanitized`){h(U,n,!0),h(H,!0);return}e=window.open(`about:blank`,`_blank`),e&&(e.opener=null);let a=await te.tests.addTest.mutate({agent:t,seed:n}),o=new URLSearchParams({step:n.step||`main`,test:a.id});u()&&o.set(`promptEdit`,u());let s=`/edit/${encodeURIComponent(t)}/tests?${o.toString()}`;e?e.location.replace(s):window.open(s,`_blank`,`noopener`),_e()}catch(t){e?.close(),console.error(`Failed to add test`,t),h(R,`error`),setTimeout(()=>h(R,`idle`),4e3)}}function _e(){h(R,`ok`),setTimeout(()=>h(R,`idle`),3e3)}var ve=He(),ye=p(ve);let be;var xe=v(ye),Se=e=>{var t=Oe(),a=v(t),s=v(a),c=v(s),u=e=>{var t=Te(),i=v(t,!0);l(t),g(()=>o(i,r(ce))),n(e,t)};y(c,e=>{r(ce)&&e(u)});var f=C(c,2),p=e=>{var t=Ee(),r=v(t);l(t),g(()=>o(r,`Transfer requested: ${i.trace.content??``}`)),n(e,t)},m=e=>{var t=De();n(e,t)};y(f,e=>{i.trace.eventName===`transfer-requested`?e(p):e(m,-1)}),l(s),l(a),l(t),g(()=>O(a,1,`cursor-pointer select-text rounded-full border border-rc-gray-650 bg-rc-gray-800/40 px-4 py-2 text-sm text-rc-gray-100 ${r(J)?`border-red-500 bg-red-950/30 text-red-200`:``}`)),d(`pointerdown`,a,function(...e){W.onPointerDown?.apply(this,e)}),d(`click`,a,e=>{W.shouldSuppressClick(e)||X()}),n(e,t)},Ce=e=>{var t=Le(),s=p(t),c=e=>{var t=ke(),r=v(t,!0);l(t),g((e,n)=>{x(t,`title`,e),o(r,n)},[()=>ie(i.agentId),()=>ae(i.agentId)]),n(e,t)};y(s,e=>{r(G)===`agent`&&i.agentId&&e(c)});var u=C(s,2),f=e=>{var t=Ae(),r=v(t);M(r,{name:`undo`,width:16,height:16}),l(t),d(`click`,t,e=>{e.stopPropagation(),i.onRevert?.(i.trace)}),n(e,t)};y(u,e=>{r(oe)&&e(f)});var m=C(u,2),h=v(m),b=v(h),S=v(b),w=v(S,!0);l(S);var T=C(S,2),E=e=>{var t=je(),i=v(t,!0);l(t),g(()=>o(i,r(ce))),n(e,t)};y(T,e=>{r(ce)&&e(E)}),l(b),l(h);var j=C(h,2),N=e=>{var t=Ie(),o=v(t),s=e=>{var t=Me(),i=v(t),o=e=>{var t=k(`Added`);n(e,t)},s=e=>{var t=k(`Failed`);n(e,t)},c=e=>{var t=k(`Select agent to add test`);n(e,t)},u=_(()=>!$()),f=e=>{var t=k(`Add test`);n(e,t)};y(i,e=>{r(R)===`ok`?e(o):r(R)===`error`?e(s,1):r(u)?e(c,2):e(f,-1)}),l(t),g((e,n,r)=>{t.disabled=e,x(t,`title`,n),O(t,1,`inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 transition-colors focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 ${r??``}`)},[()=>!r(a)||!$()||r(R)!==`idle`||r(H),()=>r(a)?$()?void 0:`Select an agent in the sidebar before adding a test`:`Bosun is running in read-only mode`,()=>r(R)!==`idle`||!$()?`cursor-default text-rc-gray-400`:`cursor-pointer text-rc-gray-400 hover:bg-rc-gray-900 hover:text-rc-gray-200`]),d(`click`,t,e=>{e.stopPropagation(),ge()}),n(e,t)},c=_(()=>pe());y(o,e=>{r(c)&&e(s)});var u=C(o,2),f=e=>{var t=Ne();g(()=>t.disabled=D()),d(`click`,t,e=>{e.stopPropagation(),i.onAnalyze(i.trace)}),n(e,t)},p=_(()=>me()&&i.onAnalyze);y(u,e=>{r(p)&&e(f)});var m=C(u,2),h=e=>{var t=Pe();d(`click`,t,e=>{e.stopPropagation(),i.onRegenerate(i.trace)}),n(e,t)},b=_(()=>he()&&i.onRegenerate);y(m,e=>{r(b)&&e(h)});var S=C(m,2),w=e=>{var t=Fe();d(`click`,t,e=>{e.stopPropagation(),i.onSeeVariants(i.trace)}),n(e,t)};y(S,e=>{A()&&i.onSeeVariants&&r(a)&&e(w)}),l(t),n(e,t)},P=_(()=>!I()&&(me()||pe()||he()&&i.onRegenerate||A()));y(j,e=>{r(P)&&e(N)}),l(m),g(()=>{O(m,1,`min-w-0 ${r(q)??``}`),O(b,1,`rounded-lg ${r(G)===`system`?`justify-between whitespace-pre-line break-words border border-emerald-500 text-emerald-500`:r(Y)?`w-full whitespace-pre-line break-words border border-rc-green-450 bg-transparent backdrop-blur-md hover:bg-rc-green-700`:r(G)===`user`?`whitespace-pre-line break-words bg-rc-gray-700`:`w-full whitespace-pre-line break-words bg-rc-green-700 backdrop-blur-md`} ${r(G)===`system`||r(Y)?``:`border-thin border-rc-gray-110`} p-2 pt-1 text-rc-gray-100 ${r(J)?`border-red-500 bg-red-950/30 text-red-200`:``}`),o(w,i.trace.content)}),d(`pointerdown`,h,function(...e){W.onPointerDown?.apply(this,e)}),d(`click`,h,Z),n(e,t)};y(xe,e=>{i.trace.eventName===`transfer-requested`||i.trace.eventName===`hangup-requested`?e(Se):e(Ce,-1)}),l(ye);var Ue=C(ye,2),We=e=>{{let t=e=>{var t=Ve(),a=v(t),c=e=>{var t=Re(),r=v(t,!0);l(t),g(e=>o(r,e),[()=>Q(i.trace.error)]),n(e,t)};y(a,e=>{r(J)&&e(c)});var u=C(a,2),d=v(u),f=v(d);l(d);var m=C(d,2);j(m,{variant:`secondary`,size:`small`,onclick:ue,children:(e,t)=>{s();var r=k(`Copy raw trace`);n(e,r)},$$slots:{default:!0}}),l(u);var b=C(u,2),x=v(b);N(x,{get value(){return r(B)},ariaLabel:`Conversational trace tabs`,onChange:({value:e})=>h(B,e,!0),children:(e,t)=>{var r=ze(),i=p(r);P(i,{value:`content`,class:`px-3`,children:(e,t)=>{s();var r=k(`Content`);n(e,r)},$$slots:{default:!0}});var a=C(i,2);P(a,{value:`raw`,class:`px-3`,children:(e,t)=>{s();var r=k(`Raw`);n(e,r)},$$slots:{default:!0}}),n(e,r)},$$slots:{default:!0}});var S=C(x,2),w=v(S),T=e=>{var t=Be(),r=v(t,!0);l(t),g(()=>o(r,i.trace.content)),n(e,t)},E=e=>{{let t=_(()=>Q(i.trace));V(e,{get value(){return r(t)},language:`json`,class:`h-full`})}};y(w,e=>{r(B)===`content`?e(T):e(E,-1)}),l(S),l(b),l(t),g(()=>o(f,`${i.trace.role??``} • ${i.trace.medium??``}`)),n(e,t)},a=_(()=>`Conversation: ${i.trace.eventName}`);ee(e,{get title(){return r(a)},class:`!w-[80vw] !max-w-4xl`,get open(){return r(L)},set open(e){h(L,e,!0)},children:t,$$slots:{default:!0}})}};y(Ue,e=>{r(L)&&e(We)});var Ge=C(Ue,2),Ke=e=>{{let t=_(()=>(i.agentId||``).trim());we(e,{get agent(){return r(t)},get seed(){return r(U)},onCreated:_e,get open(){return r(H)},set open(e){h(H,e,!0)}})}};y(Ge,e=>{r(U)&&e(Ke)}),g(()=>be=O(ye,1,`group mb-2 flex w-full items-start`,null,be,{"justify-end":r(G)===`user`||r(G)===`system`})),n(e,ve),t()}e([`pointerdown`,`click`]);var We=a(`<span class="text-[13px] leading-none text-rc-gray-400"> </span>`),Ge=a(`<span><span class="cursor-pointer" title="Show prompt-cache calc"> </span></span>`),Ke=a(`<span> </span>`),qe=a(`<div class="mb-2 ml-7 max-w-[83%]"><button type="button" class="block w-full cursor-pointer overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-800 p-3 text-left hover:bg-rc-gray-700"><pre class="truncate whitespace-pre font-mono text-sm text-rc-gray-100"> </pre></button> <div class="mt-1 flex items-center"><button type="button" class="inline-flex items-center rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 disabled:cursor-not-allowed disabled:opacity-50"> </button></div></div>`),Je=a(`<div class="rounded-md border border-red-500 bg-red-950/40 p-3 font-mono text-sm text-red-200"> </div>`),Ye=a(`<!> <!> <!> <!> <!>`,1),Xe=a(`<div class="flex h-full flex-col gap-2"><div class="grid grid-cols-2 gap-2"><div class="flex items-center justify-start"><!></div> <div class="flex items-center justify-end"><!></div></div> <!></div>`),Ze=a(`<div class="flex flex-col gap-3"><!> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-rc-gray-200"><div><span class="text-rc-gray-400">Timing:</span> </div> <div><span class="text-rc-gray-400">Response time:</span> —</div> <div><span class="text-rc-gray-400">Model:</span> </div> <!></div> <div><!> <div class="mt-2 h-[55vh]"><!></div></div></div>`),Qe=a(`<!> <!>`,1),$e=a(`<div class="flex h-[65vh] min-h-0 flex-col gap-2"><!> <div class="min-h-0 flex-1"><!></div></div>`),et=a(`<div class="flex w-full select-text items-baseline gap-2 truncate rounded-md bg-transparent px-2 py-1 text-left text-sm text-rc-gray-200 hover:bg-rc-gray-800/40"><button type="button" class="flex min-w-0 cursor-pointer items-baseline gap-2 truncate bg-transparent p-0 text-left text-sm text-rc-gray-200"><!> <!> <span> </span></button> <!> <!></div> <!> <!> <!> <!>`,1);function tt(e,i){c(i,!0);let a=_(()=>ne().editable),m=f(i,`promptEditProposalId`,3,null),b=f(i,`fallbackConversation`,3,null),T=w(!1),E=w(!1),D=w(`diff`),A=w(`response`),F=w(`idle`),I=w(!1),z=w(null),B=re();S(B.cleanup);function H(e){return e&&typeof e.renderedPrompt==`string`?e.renderedPrompt:null}function U(e,t){if(e===t)return e.length;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++)if(e.charCodeAt(r)!==t.charCodeAt(r))return r;return n}function W(e,t){let n=Math.max(e.length,t.length);if(n===0)return 100;let r=U(e,t);return Math.floor(r/n*100)}function ie(e,t){let n=e.length,r=t.length,i=U(e,t),a=Math.max(n,r);return{currentLength:n,baselineLength:r,commonPrefixLength:i,denom:a,similarityPct:a===0?100:Math.floor(i/a*100)}}function ae(e,t){let n=t?.headChars??600,r=t?.tailChars??600,i=e.slice(0,n),a=e.slice(Math.max(i.length,e.length-r)),o=Math.max(0,e.length-i.length-a.length);return{length:e.length,head:i,tail:a,omittedChars:o}}function G(e){let t=e.llmUsage;return!t||typeof t.promptTokens!=`number`||!Number.isFinite(t.promptTokens)||t.promptTokens<=0||typeof t.cachedPromptTokens!=`number`||!Number.isFinite(t.cachedPromptTokens)||t.cachedPromptTokens<0?null:Math.max(0,Math.min(100,Math.floor(t.cachedPromptTokens/t.promptTokens*100)))}function K(e){let t=new WeakSet;try{return JSON.stringify(e,(e,n)=>{if(typeof n==`bigint`)return n.toString();if(n instanceof Error)return{name:n.name,message:n.message,stack:n.stack};if(typeof n==`object`&&n){if(t.has(n))return`[Circular]`;t.add(n)}return n},2)??``}catch{return String(e)}}function q(e){if(e==null)return``;if(typeof e==`string`){let t=e.trim();if(!t)return``;try{return JSON.stringify(JSON.parse(t),null,2)}catch{return e}}return K(e)}function oe(e){let t=q(e),n=t.split(`
3
+ `);if(n.length<=1)return t;let r=n[0]?.trim(),i=n.slice(1).find(e=>e.trim())?.trim();if(!r||!i)return t;let a=r===`[`?`]`:`}`;return n.length===3&&n.at(-1)?.trim()===a?`${r} ${i} ${a}`:`${r} ${i} …${i.endsWith(`{`)?` }`:i.endsWith(`[`)?` ]`:``} ${a}`}function J(e){return new Date(e).toISOString()}function Y(e){if(typeof e!=`number`||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}let X=_(()=>Y(i.trace.createdAt)),Z=_(()=>i.trace.error!=null),se=_(()=>`AI: ${i.trace.name}`),ce=_(()=>i.trace.name),Q=_(()=>{if(!R(i.trace.name))return null;let e=H(i.trace),t=H(i.compareTrace);return e==null||t==null?null:W(e,t)}),le=_(()=>R(i.trace.name)?G(i.trace):null),ue=/<break\b[^>]*\/?>/i;function de(e){return typeof e==`string`&&ue.test(e)}let fe=_(()=>R(i.trace.name)?r(le)==null?r(Q)==null?null:r(Q)>=90?{text:`${r(Q)}%`,className:`text-rc-gray-400`}:{text:`${r(Q)}% cached - move dynamic parts of prompt to the bottom`,className:`text-red-200`}:r(le)===0&&r(Q)!=null&&r(Q)>=90?{text:`0% tokens cached. Cache miss`,className:`text-red-200`}:r(le)>=90?{text:`${r(le)}% tokens cached`,className:`text-rc-gray-400`}:{text:`${r(le)}% tokens cached - move dynamic parts of prompt to the bottom`,className:`text-red-200`}:null),$=_(()=>de(i.trace.response)?{text:`LLM output has <break /> tags`,className:`text-red-200`}:null),me=_(()=>{if(!R(i.trace.name))return null;let e=H(i.trace),t=H(i.compareTrace),n=e!=null&&t!=null?ie(e,t):null,a=i.trace.llmUsage??null,o=r(le),s=o===0&&n?.similarityPct!=null&&n.similarityPct>=90;return{version:1,labelSource:o==null?r(Q)==null?`none`:`promptSimilarityFallback`:`llmUsage`,thresholds:{okPct:90,cacheMissSimilarityPct:90},inputs:{llmUsage:a,currentRenderedPrompt:e==null?null:ae(e),baselineRenderedPrompt:t==null?null:ae(t)},computed:{cachedTokensPct:o,promptSimilarityPct:n?.similarityPct??null,promptSimilarity:n,cacheMiss:s},decision:{text:r(fe)?.text??null}}}),he=_(()=>r(me)?K(r(me)):`{}`),ge=_(()=>H(i.compareTrace)??``),_e=_(()=>H(i.trace)??``),ve=_(()=>q(i.trace.response)),ye=_(()=>oe(i.trace.response)),be=_(()=>{if(typeof i.trace.response!=`string`||!i.trace.response.trim())return!1;try{let e=JSON.parse(i.trace.response);return typeof e==`object`&&!!e}catch{return!1}}),xe=_(()=>{let e=i.trace.response;if(typeof e!=`string`)return`json`;try{return JSON.parse(e),`json`}catch{return`text`}}),Se=_(()=>i.trace.stringifiedConversation??``),Ce=_(()=>q(i.trace.renderedPrompt)),Te=_(()=>q(i.trace.receivedPrompt)),Ee=_(()=>q(i.trace.receivedContext)),De=_(()=>q(i.trace.schema)),Oe=_(()=>i.trace.error?K(i.trace.error):``);function ke(e){return e==null?``:typeof e==`string`?e:K(e)}let Ae=_(()=>ke(i.trace.receivedPrompt)),je=_(()=>ke(i.trace.renderedPrompt)),Me=w(null),Ne=w(null);async function Pe(e){try{let t=r(e===`raw`?Ae:je);await navigator.clipboard.writeText(t),h(Me,e,!0),r(Ne)&&clearTimeout(r(Ne)),h(Ne,window.setTimeout(()=>{h(Me,null),h(Ne,null)},2e3),!0)}catch(e){console.error(`Failed to copy prompt`,e)}}function Fe(e,t){let n=new URLSearchParams({step:i.trace.name,test:t});return m()&&n.set(`promptEdit`,m()),`/edit/${encodeURIComponent(e)}/tests?${n.toString()}`}async function Ie(){let e=(i.agentId||``).trim();if(!e||r(F)!==`idle`)return;let t=null;try{let n=pe(i.trace,{fallbackConversation:b(),fallbackRuntimeContext:i.runtimeContext});if(i.testCreationMode===`pii-sanitized`){h(z,n,!0),h(I,!0);return}t=window.open(`about:blank`,`_blank`),t&&(t.opener=null),h(F,`adding`);let r=Fe(e,(await te.tests.addTest.mutate({agent:e,seed:n})).id);t?t.location.replace(r):window.open(r,`_blank`,`noopener`),Le()}catch(e){t?.close(),console.error(`Failed to add step test`,e),h(F,`failed`),window.setTimeout(()=>h(F,`idle`),3e3)}}function Le(){h(F,`added`),window.setTimeout(()=>h(F,`idle`),3e3)}var Re=et(),ze=p(Re),Be=v(ze),Ve=v(Be);{let e=_(()=>r(Z)?`close`:`checkmark`),t=_(()=>r(Z)?`self-center text-red-400`:`self-center text-rc-green-200`);M(Ve,{get name(){return r(e)},width:18,height:18,get class(){return r(t)}})}var He=C(Ve,2),Ue=e=>{var t=We(),i=v(t,!0);l(t),g(()=>o(i,r(X))),n(e,t)};y(He,e=>{r(X)&&e(Ue)});var tt=C(He,2),nt=v(tt);l(tt),l(Be);var rt=C(Be,2),it=e=>{var t=Ge(),i=v(t),a=v(i,!0);l(i),l(t),g(()=>{O(t,1,`shrink-0 text-xs ${r(fe).className}`),o(a,r(fe).text)}),d(`click`,i,e=>{e.stopPropagation(),!B.shouldSuppressClick(e)&&r(me)&&(h(D,`diff`),h(E,!0))}),n(e,t)};y(rt,e=>{r(fe)!=null&&e(it)});var at=C(rt,2),ot=e=>{var t=Ke();x(t,`title`,`<break /> tag disables streaming and increases latency. If pauses are not large enough, use "..." instead.`);var i=v(t,!0);l(t),g(()=>{O(t,1,`shrink-0 text-xs ${r($).className}`),o(i,r($).text)}),n(e,t)};y(at,e=>{r($)!=null&&e(ot)}),l(ze);var st=C(ze,2),ct=e=>{var t=qe(),s=v(t),c=v(s),u=v(c,!0);l(c),l(s);var f=C(s,2),p=v(f),m=v(p,!0);l(p),l(f),l(t),g(e=>{o(u,r(ye)),p.disabled=e,x(p,`title`,r(a)?void 0:`Bosun is running in read-only mode`),o(m,r(F)===`adding`?`Adding…`:r(F)===`added`?`Added`:r(F)===`failed`?`Failed`:`Add test`)},[()=>!r(a)||!i.agentId?.trim()||i.trace.receivedContext===void 0||r(F)!==`idle`||r(I)]),d(`click`,s,()=>{h(A,`response`),h(T,!0)}),d(`click`,p,Ie),n(e,t)};y(st,e=>{r(be)&&e(ct)});var lt=C(st,2),ut=e=>{{let t=_(()=>(i.agentId||``).trim());we(e,{get agent(){return r(t)},get seed(){return r(z)},onCreated:Le,get open(){return r(I)},set open(e){h(I,e,!0)}})}};y(lt,e=>{r(z)&&e(ut)});var dt=C(lt,2),ft=e=>{ee(e,{get title(){return r(se)},class:`!w-[85vw] !max-w-5xl`,get open(){return r(T)},set open(e){h(T,e,!0)},children:e=>{var t=Ze(),a=v(t),c=e=>{var t=Je(),i=v(t,!0);l(t),g(()=>o(i,r(Oe))),n(e,t)};y(a,e=>{r(Oe)&&e(c)});var u=C(a,2),d=v(u),f=C(v(d));l(d);var m=C(d,4),b=C(v(m));l(m);var x=C(m,2),S=e=>{j(e,{variant:`secondary`,size:`small`,onclick:()=>{i.onSelectStep?.(i.trace.name),h(T,!1)},children:(e,t)=>{s();var r=k(`Edit step`);n(e,r)},$$slots:{default:!0}})};y(x,e=>{i.onSelectStep&&e(S)}),l(u);var w=C(u,2),E=v(w);N(E,{get value(){return r(A)},ariaLabel:`Step trace tabs`,onChange:({value:e})=>h(A,e,!0),children:(e,t)=>{var r=Ye(),i=p(r);P(i,{value:`response`,class:`px-3`,children:(e,t)=>{s();var r=k(`Response`);n(e,r)},$$slots:{default:!0}});var a=C(i,2);P(a,{value:`conversation`,class:`px-3`,children:(e,t)=>{s();var r=k(`Conversation`);n(e,r)},$$slots:{default:!0}});var o=C(a,2);P(o,{value:`prompt`,class:`px-3`,children:(e,t)=>{s();var r=k(`Prompt`);n(e,r)},$$slots:{default:!0}});var c=C(o,2);P(c,{value:`context`,class:`px-3`,children:(e,t)=>{s();var r=k(`Context`);n(e,r)},$$slots:{default:!0}});var l=C(c,2);P(l,{value:`schema`,class:`px-3`,children:(e,t)=>{s();var r=k(`Schema`);n(e,r)},$$slots:{default:!0}}),n(e,r)},$$slots:{default:!0}});var D=C(E,2),O=v(D),M=e=>{V(e,{get value(){return r(ve)},get language(){return r(xe)},class:`h-full`})},ee=e=>{V(e,{get value(){return r(Se)},language:`text`,class:`h-full`})},te=e=>{var t=Xe(),i=v(t),a=v(i),c=v(a);{let e=_(()=>!r(Ae).trim());j(c,{variant:`secondary`,size:`small`,get disabled(){return r(e)},onclick:()=>Pe(`raw`),children:(e,t)=>{s();var i=k();g(()=>o(i,r(Me)===`raw`?`Copied raw prompt`:`Copy raw prompt`)),n(e,i)},$$slots:{default:!0}})}l(a);var u=C(a,2),d=v(u);{let e=_(()=>!r(je).trim());j(d,{variant:`secondary`,size:`small`,get disabled(){return r(e)},onclick:()=>Pe(`rendered`),children:(e,t)=>{s();var i=k();g(()=>o(i,r(Me)===`rendered`?`Copied rendered prompt`:`Copy rendered prompt`)),n(e,i)},$$slots:{default:!0}})}l(u),l(i);var f=C(i,2);L(f,{variant:`generic`,get original(){return r(Te)},get modified(){return r(Ce)},language:`markdown`,class:`min-h-0 flex-1`}),l(t),n(e,t)},ne=e=>{V(e,{get value(){return r(Ee)},language:`json`,class:`h-full`})},F=e=>{V(e,{get value(){return r(De)},language:`json`,class:`h-full`})};y(O,e=>{r(A)===`response`?e(M):r(A)===`conversation`?e(ee,1):r(A)===`prompt`?e(te,2):r(A)===`context`?e(ne,3):e(F,-1)}),l(D),l(w),l(t),g(e=>{o(f,` ${e??``}`),o(b,` ${i.trace.model??`—`??``}`)},[()=>typeof i.trace.createdAt==`number`?J(i.trace.createdAt):`—`]),n(e,t)},$$slots:{default:!0}})};y(dt,e=>{r(T)&&e(ft)});var pt=C(dt,2),mt=e=>{ee(e,{title:`Prompt cache calc`,class:`!w-[85vw] !max-w-5xl`,get open(){return r(E)},set open(e){h(E,e,!0)},children:e=>{var t=$e(),i=v(t);N(i,{get value(){return r(D)},ariaLabel:`Prompt cache calc tabs`,onChange:({value:e})=>h(D,e,!0),children:(e,t)=>{var r=Qe(),i=p(r);P(i,{value:`diff`,class:`px-3`,children:(e,t)=>{s();var r=k(`Diff`);n(e,r)},$$slots:{default:!0}});var a=C(i,2);P(a,{value:`raw`,class:`px-3`,children:(e,t)=>{s();var r=k(`Raw`);n(e,r)},$$slots:{default:!0}}),n(e,r)},$$slots:{default:!0}});var a=C(i,2),o=v(a),c=e=>{L(e,{variant:`generic`,get original(){return r(ge)},get modified(){return r(_e)},language:`markdown`,class:`h-full`})},u=e=>{V(e,{get value(){return r(he)},language:`json`,class:`h-full`})};y(o,e=>{r(D)===`diff`?e(c):e(u,-1)}),l(a),l(t),n(e,t)},$$slots:{default:!0}})};y(pt,e=>{r(E)&&e(mt)}),g(()=>{O(tt,1,u(r(Z)?`text-red-200`:``)),o(nt,`AI: ${r(ce)??``}`)}),d(`pointerdown`,Be,function(...e){B.onPointerDown?.apply(this,e)}),d(`click`,Be,e=>{B.shouldSuppressClick(e)||h(T,!0)}),n(e,Re),t()}e([`pointerdown`,`click`]);export{Y as a,ue as i,Ue as n,q as o,Q as r,U as s,tt as t};
@@ -1 +1 @@
1
- import"./CPCsWwEy.js";import{o as e}from"./Xth-LXaZ.js";var t={get data(){return e.data},get error(){return e.error},get form(){return e.form},get params(){return e.params},get route(){return e.route},get state(){return e.state},get status(){return e.status},get url(){return e.url}};export{t};
1
+ import"./CPCsWwEy.js";import{o as e}from"./CQ04EkYa.js";var t={get data(){return e.data},get error(){return e.error},get form(){return e.form},get params(){return e.params},get route(){return e.route},get state(){return e.state},get status(){return e.status},get url(){return e.url}};export{t};
@@ -0,0 +1,3 @@
1
+ import{B as e,Dt as t,F as n,G as r,H as i,I as a,J as o,L as s,N as c,Nt as l,O as u,Ot as d,Pt as f,S as ee,V as te,a as p,at as ne,b as m,dt as h,et as g,gt as _,it as v,j as y,k as re,l as ie,n as ae,ot as b,pt as x,q as oe,st as S,tt as C,x as se,z as w}from"./CPCsWwEy.js";import"./xihTtKlq.js";import{t as ce}from"./BavTq23q.js";import{t as le}from"./6OCsQ6r7.js";import{t as ue}from"./B9YnyJ2j.js";import{n as de,r as fe,s as pe}from"./MIEISUXS.js";import{n as me,t as he}from"./DkJi5BM4.js";import{a as ge,i as _e,n as ve,r as ye,t as be}from"./C9BPLYOl.js";var xe=`bosun.traces.latencyTimelineViewports.v2`,Se=new Map,Ce=!1;function we(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.startMs==`number`&&Number.isFinite(t.startMs)&&typeof t.endMs==`number`&&Number.isFinite(t.endMs)&&t.endMs>t.startMs&&typeof t.originMs==`number`&&Number.isFinite(t.originMs)}function Te(e,t){if(!Number.isFinite(t))return{...e};let n=t-e.originMs;return{startMs:e.startMs+n,endMs:e.endMs+n,originMs:t}}function Ee(){if(!Ce&&(Ce=!0,!(typeof window>`u`)))try{let e=window.sessionStorage.getItem(xe);if(!e)return;let t=JSON.parse(e);if(!t||typeof t!=`object`||Array.isArray(t))return;for(let[e,n]of Object.entries(t))!e||!we(n)||Se.set(e,n)}catch{}}function De(){if(!(typeof window>`u`))try{window.sessionStorage.setItem(xe,JSON.stringify(Object.fromEntries(Se.entries())))}catch{}}function Oe(e){if(!e)return null;Ee();let t=Se.get(e);return t?{...t}:null}function ke(e,t){!e||!we(t)||(Ee(),Se.set(e,{...t}),De())}var T=`bosun.latency`,Ae=1,je=`recordings`,Me=`bosun.traces.latencyAlignmentMs.`;function Ne(e,t){return`${e||`default`}:${t}`}function Pe(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error??Error(`IndexedDB request failed`))})}function Fe(){return typeof indexedDB>`u`?Promise.reject(Error(`This browser has no IndexedDB, so recordings cannot be kept`)):new Promise((e,t)=>{let n=indexedDB.open(T,Ae);n.onupgradeneeded=()=>{n.result.objectStoreNames.contains(je)||n.result.createObjectStore(je)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error??Error(`Failed to open the recordings database`))})}async function Ie(e,t){let n=await Fe();try{return await t(n.transaction(je,e).objectStore(je))}finally{n.close()}}async function Le(e){let t=await Ie(`readonly`,t=>Pe(t.get(e)));return t instanceof Blob?t:null}async function Re(e,t){await Ie(`readwrite`,n=>Pe(n.put(t,e)))}function ze(e){try{let t=window.localStorage.getItem(Me+e),n=t==null?NaN:Number(t);return Number.isFinite(n)?n:0}catch{return 0}}function Be(e,t){try{window.localStorage.setItem(Me+e,String(Math.round(t)))}catch{}}var Ve=s(`<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200"> </span>`,1),He=s(`<div><span class="text-rc-gray-400">Playhead:</span> <span class="font-mono text-rc-gray-100"> </span></div>`),Ue=s(`<div><span class="text-rc-gray-400">Viewport:</span> <span class="font-mono text-rc-gray-100"> </span></div>`),We=s(`<input type="file" accept=".wav,audio/wav,audio/x-wav" class="hidden"/> <!>`,1),Ge=s(`<div class="mt-2 text-sm text-rc-gray-400"> </div>`),Ke=s(`<div class="mt-2 text-sm text-red-300"> </div>`),qe=s(`<div class="text-sm text-rc-gray-300">Loading latency events…</div>`),Je=s(`<div class="text-sm text-rc-gray-300">No latency events were found on this call.</div>`),Ye=s(`<div class="text-sm text-rc-gray-300">Preparing timeline…</div>`),Xe=s(`<div class="flex items-center text-xs text-rc-gray-300"> </div>`),Ze=s(`<div class="flex items-center text-xs text-rc-gray-300">Waveform</div>`),Qe=s(`<div aria-hidden="true" class="absolute overflow-hidden"><div data-dictation-mode-overlay="" class="absolute inset-0"></div> <span data-dictation-mode-label="" class="absolute left-2 top-1 text-sm text-rc-blue">Dictation</span></div>`),$e=s(`<div class="absolute -translate-x-1/2 border-l border-rc-gray-300/40"></div>`),et=s(`<div class="absolute -translate-x-1/2 border-l border-dashed"></div>`),tt=s(`<div class="absolute border-l border-rc-gray-200/80"></div>`),nt=s(`<div class="absolute -translate-x-1/2 border-l-2 border-rc-green-200/90"></div> <div class="absolute h-2 w-2 -translate-x-1/2 rounded-full bg-rc-green-200"></div>`,1),rt=s(`<div class="absolute inset-y-0 w-px bg-rc-gray-700/70"></div> <div> </div>`,1),it=s(`<div class="absolute inset-y-0 w-px bg-rc-gray-700/60"></div>`),at=s(`<span class="block truncate"> </span>`),ot=s(`<div><!></div>`),st=s(`<div class="relative z-0 overflow-hidden border-x border-t border-rc-gray-700/60"><!> <!></div>`),ct=s(`<div class="absolute inset-y-0 w-px bg-rc-gray-700/45"></div>`),lt=s(`<div> </div>`),ut=s(`<div class="absolute inset-0 flex items-center justify-center px-4 text-sm text-rc-gray-300">Decoding waveform…</div>`),dt=s(`<div class="absolute inset-0 flex items-center justify-center px-4 text-sm text-red-300"> </div>`),ft=s(`<canvas class="absolute inset-0 h-full w-full"></canvas>`),pt=s(`<div class="relative z-0 overflow-hidden rounded-b border-x border-b border-t border-rc-gray-700/60"><!> <!></div>`),mt=s(`<div class="grid grid-cols-[140px_minmax(0,1fr)] gap-x-3"><div class="flex flex-col"><div class="h-8"></div> <!> <div class="flex items-center text-xs text-rc-gray-300">Human</div> <!></div> <div class="relative"><div class="pointer-events-none absolute inset-0 z-10 overflow-hidden"><!> <!> <!> <!> <!></div> <div class="relative z-0 h-8 overflow-hidden rounded-t border border-b-0 border-rc-gray-700/60"></div> <!> <div><div class="absolute inset-x-0 top-0 border-b border-rc-gray-700/50"></div> <!> <!></div> <!></div></div>`),ht=s(`<div class="pointer-events-none z-popover max-w-[28rem] rounded-md border border-rc-gray-500/80 bg-rc-gray-900/95 px-3 py-2 text-xs text-rc-gray-100 shadow-2xl backdrop-blur-sm"></div>`),gt=s(`<div><div class="whitespace-pre-wrap break-words"> </div></div>`),_t=s(`<div class="flex h-full min-h-0 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"><div><h2 class="text-lg font-semibold text-rc-gray-100"> <!></h2> <div class="mt-2 flex flex-wrap gap-x-5 gap-y-1 text-xs text-rc-gray-300"><div><span class="text-rc-gray-400">Latency events:</span> <span class="font-mono text-rc-gray-100"> </span></div> <div><span class="text-rc-gray-400">Timeline items:</span> <span class="font-mono text-rc-gray-100"> </span></div> <div><span class="text-rc-gray-400">Recording offset:</span> <span class="font-mono text-rc-gray-100"> </span></div> <!> <!></div></div> <div class="flex flex-wrap items-center gap-2"><!> <!> <!> <!> <!> <!> <!></div></div> <!> <!> <!> <!> <!></div> <div class="rc-scroll min-h-0 flex-1 overflow-auto p-4"><div class="flex flex-col gap-4"><div class="rounded-md border border-rc-gray-650 p-3"><!></div></div></div></div> <!> <!>`,1);function vt(e,s){d(s,!0);let xe=3e4,Se=3e4,Ce=1e3,we=5e3,Ee=new Set([`VAD`,`Playback`]),De=new pe,T={blue:`#569cd6`,green:`#93FF6D`,greenDark:`#00B58A`,orange:`#ce9178`,purple:`#81147D`,red:`#FF6666`,gray:`#767676`},Ae=[{label:`VAD`,eventTypes:[`vad.activated`,`vad.deactivated`]},{label:`STT`,eventTypes:[`stt.started`,`stt.interim`,`stt.final`,`stt.final_transcript`]},{label:`Trigger`,eventTypes:[`speech.created`]},{label:`Reply Pending`,eventTypes:[`reply.pending.started`,`reply.pending.completed`]},{label:`LLM Transport`,eventTypes:[`llm.connect_tcp.started`,`llm.connect_tcp.completed`,`llm.connect_tcp.failed`,`llm.start_tls.started`,`llm.start_tls.completed`,`llm.start_tls.failed`]},{label:`LLM Wait`,eventTypes:[`llm.wait.started`,`llm.requested`,`llm.wait.completed`]},{label:`LLM Stream`,eventTypes:[`llm.stream.started`,`llm.first_token`,`llm.completed`,`llm.stream.completed`]},{label:`TTS Text`,eventTypes:[`tts.text.first_sent`,`tts.text.completed`]},{label:`Provider`,eventTypes:[`tts.provider.started`,`tts.audio.first_received`,`tts.audio.last_received`,`tts.provider.completed`]},{label:`Decode`,eventTypes:[`tts.decode.started`,`tts.decode.completed`]},{label:`Output Queue`,eventTypes:[`audio.output.wait.started`,`audio.output.wait.completed`]},{label:`Playback`,eventTypes:[`audio.playback.started`,`audio.playback.stopped`,`audio.playback.ended`]},{label:`Response Latency`},{label:`Interruptions`,eventTypes:[`interruption.detected`,`audio.playback.interrupted`]},{label:`Other`}],je=new Set(Ae.map(e=>e.label)),Me={call:Z(T.gray,.2),vad:Z(T.purple,.35),stt:Z(T.purple,.2),trigger:T.greenDark,"response.latency.ok":T.green,"response.latency.high":T.red,"reply.pending":Z(T.greenDark,.18),"llm.transport":Z(T.blue,.18),"llm.wait":Z(T.blue,-.25),"llm.stream":T.blue,"tts.text":T.orange,"tts.provider.lifecycle":Z(T.purple,-.18),"tts.provider":Z(T.purple,.12),"tts.decode":Z(T.orange,-.12),"audio.output.wait":T.orange,playback:Z(T.greenDark,-.08),interruption:T.orange,other:T.gray},Pe=new Map([{startEventType:`reply.pending.started`,endEventType:`reply.pending.completed`,row:`Reply Pending`,colorKey:`reply.pending`,label:`Reply pending`,description:`Derived from adjacent reply-pending lifecycle events`},{startEventType:`llm.connect_tcp.started`,endEventType:`llm.connect_tcp.completed`,row:`LLM Transport`,colorKey:`llm.transport`,label:`Connect TCP`,description:`Derived from adjacent TCP connect lifecycle events`},{startEventType:`llm.start_tls.started`,endEventType:`llm.start_tls.completed`,row:`LLM Transport`,colorKey:`llm.transport`,label:`Start TLS`,description:`Derived from adjacent TLS lifecycle events`},{startEventType:`llm.wait.started`,endEventType:`llm.wait.completed`,row:`LLM Wait`,colorKey:`llm.wait`,label:`LLM wait`,description:`Derived from adjacent LLM wait lifecycle events`},{startEventType:`llm.stream.started`,endEventType:`llm.stream.completed`,row:`LLM Stream`,colorKey:`llm.stream`,label:`LLM stream`,description:`Derived from adjacent LLM stream lifecycle events`},{startEventType:`tts.text.first_sent`,endEventType:`tts.text.completed`,row:`TTS Text`,colorKey:`tts.text`,label:`TTS text send`,description:`Derived from adjacent TTS text send and completion events`},{startEventType:`tts.provider.started`,endEventType:`tts.audio.first_received`,row:`Provider`,colorKey:`tts.provider.lifecycle`,label:`Provider wait`,description:`Derived from adjacent provider start and first-audio events`},{startEventType:`tts.audio.first_received`,endEventType:`tts.provider.completed`,row:`Provider`,colorKey:`tts.provider`,label:`Provider audio`,description:`Derived from adjacent provider first-audio and completion events`},{startEventType:`tts.decode.started`,endEventType:`tts.decode.completed`,row:`Decode`,colorKey:`tts.decode`,label:`Decode`,description:`Derived from adjacent local decode lifecycle events`},{startEventType:`audio.output.wait.started`,endEventType:`audio.output.wait.completed`,row:`Output Queue`,colorKey:`audio.output.wait`,label:`Output queue`,description:`Derived from adjacent audio-output wait lifecycle events`},{startEventType:`audio.playback.started`,endEventType:`audio.playback.stopped`,row:`Playback`,colorKey:`playback`,label:`Playback`,description:`Derived from adjacent playback start and playback stop events`}].map(e=>[e.startEventType,e])),Fe=p(s,`mode`,3,`remote`),Ie=p(s,`conversationId`,3,null),vt=p(s,`traces`,19,()=>[]),yt=p(s,`conversationTraces`,19,()=>[]),bt=p(s,`recording`,3,null),xt=p(s,`waveformPeaks`,19,()=>[]),St=p(s,`loading`,3,!1),Ct=p(s,`error`,3,null),wt=p(s,`recordingLoading`,3,!1),Tt=p(s,`recordingError`,3,null),Et=p(s,`title`,3,`Latency`);function Dt(){return{exists:!1,blob:null,audioUrl:null,fileName:null,mimeType:null,size:null,uploadedAt:null,alignmentOffsetMs:0}}let Ot=o(()=>Fe()),kt=Ot===`remote`?fe(ce.url)??de()??``:``,At=Y(o(()=>Ie()))??``,jt=Ot===`remote`?me():{traces:new Map,latency:new Map},Mt=he(At,kt),E=Ot===`remote`?jt.latency.get(Mt):void 0;De.setSourceId(Ot===`remote`&&kt||void 0);let Nt=x(S(kt)),D=x(S(E?.conversation??null)),O=x(S(E?.traces??[])),k=x(S(E?.conversationTraces??[])),A=x(S(E?.dataLoaded??!1)),Pt=x(!1),Ft=x(S(E?.error??null)),j=x(S(E?.recording??Dt())),It=x(S(E?.recordingLoaded??!1)),Lt=x(!1),M=x(S(E?.recordingError??null)),Rt=x(!1),N=x(S(E?.waveform??null)),zt=x(!1),P=x(S(E?.waveformError??null)),F=x(S(E?.playbackPositionMs??0)),I=x(!1),L=x(null),R=x(null),z=x(S(E?.viewDirty??!1)),Bt=x(!1),B=x(null),V=x(null),H=x(null),Vt=x(null),U=x(0),Ht=x(null),Ut=x(null),Wt=x(0),Gt=x(0),Kt=x(null),qt=x(null),Jt=x(null),Yt=x(null),Xt=x(null),Zt=x(null),Qt=x(null),$t=x(S(E?.humanSpeechBubbleReservedLevels??1)),en=x(`idle`),W=x(``),tn=x(null),nn=0,rn=0,an=0,on=null,sn=0,G=E?.playbackAudioBuffer??null,K=null,cn=null,ln=null,un=null,dn=null,fn=``,pn=_(()=>Y(Ie())??``),mn=_(()=>Fe()===`remote`),hn=_(()=>Fe()===`live`),gn=_(()=>s.showRecordingUpload??r(mn));function _n(e,t){return Ne(t,e)}let vn=_(()=>r(pn)?_n(r(pn),r(Nt)):``),q=_(()=>{let e=1/0;for(let t of r(O))typeof t.atMs!=`number`||!Number.isFinite(t.atMs)||(e=Math.min(e,t.atMs));return Number.isFinite(e)?e:typeof r(D)?.createdAt==`number`&&Number.isFinite(r(D).createdAt)?r(D).createdAt:Number.isFinite(e)?e:0}),yn=_(()=>ni(r(O))),bn=_(()=>r(O).length),xn=_(()=>Dr()),Sn=_(()=>jr(r(yn))),Cn=_(()=>[...r(yn).map(e=>{let t=r(Sn).get(e.id);return!t||e.row!==`Playback`||e.durationMs<=0?e:{...e,speechText:t.text,speechFullText:t.fullText,speechTraceLabel:t.traceLabel}}),...Mr(r(xn))]),wn=_(()=>{let e=new Map;for(let t of r(Cn)){let n=e.get(t.row);n?n.push(t):e.set(t.row,[t])}return[...Ae].reverse().map(t=>({label:t.label,segments:e.get(t.label)??[]})).filter(e=>e.segments.length>0)}),Tn=_(()=>Ur()),En=_(()=>Math.max(r($t),zr(r(Tn),`human`))),Dn=_(()=>Vr(r(Tn))),On=_(()=>Br(r(En))),kn=_(()=>r(On)),An=_(()=>r(wn).length*30+Math.max(0,r(wn).length-1)*5),jn=_(()=>r(wn).length>0?5:0),Mn=_(()=>32+r(An)+r(jn)),Nn=_(()=>r(j).exists),Pn=_(()=>r(Nn)?165:0),Fn=_(()=>bi(r(wn))),J=_(()=>r(N)?r(q)+r(j).alignmentOffsetMs:null),In=_(()=>32+r(An)+r(jn)+r(kn)+r(Pn)),Ln=_(()=>r(J)==null?null:r(J)+r(F)),Rn=_(()=>{let e=r(Ln);if(e==null||r(B)==null||r(V)==null)return null;let t=r(V)-r(B);return!Number.isFinite(t)||t<=0||e<r(B)||e>r(V)?null:{leftPercent:X((e-r(B))/t*100,0,100),topPx:32,heightPx:Math.max(1,r(In)-32)}}),zn=_(()=>{if(r(B)==null||r(V)==null)return null;let e=r(V)-r(B);return!Number.isFinite(e)||e<=0||r(q)<r(B)||r(q)>r(V)?null:{leftPercent:(r(q)-r(B))/e*100,topPx:32,heightPx:Math.max(1,r(In)-32)}}),Bn=_(()=>{let e=1/0,t=-1/0;for(let n of r(yn))e=Math.min(e,n.start),t=Math.max(t,n.end);return r(N)&&r(J)!=null&&(e=Math.min(e,r(J)),t=Math.max(t,r(J)+r(N).durationMs)),!Number.isFinite(e)||!Number.isFinite(t)?null:(t<=e&&(t=e+1),{min:e,max:t})}),Vn=_(()=>{let e=null;for(let t of r(O))t.eventType!==`call.ended`||!Number.isFinite(t.atMs)||(e=Math.max(e??-1/0,t.atMs));if(e!=null)return e;let t=r(Bn)?.max??r(q);for(let e of r(k))Number.isFinite(e.createdAt)&&(t=Math.max(t,e.createdAt));return t}),Hn=_(()=>ve(r(k),r(Vn))),Un=_(()=>{let e=1/0,t=-1/0;for(let n of r(yn))je.has(n.row)&&(e=Math.min(e,n.start),t=Math.max(t,n.end));return!Number.isFinite(e)||!Number.isFinite(t)?null:(t<=e&&(t=e+1),{min:e,max:t})}),Wn=_(()=>{if(r(B)==null||r(V)==null)return null;let e=r(V)-r(B);return e>0?e:null}),Gn=_(()=>r(B)==null||r(V)==null?[]:Si(r(B),r(V),r(q))),Kn=_(()=>r(qt)?fi(r(qt)).split(`
2
+ `):[]);C(()=>{let e=r(Yt),t=r(Jt),n=r(qt);r(B),r(V),!(!e||!t||!n)&&e.update()}),C(()=>{let e=r(Qt),t=r(Zt),n=r(Xt);r(B),r(V),!(!e||!t||!n)&&e.update()}),C(()=>{let e=zr(r(Tn),`human`);e>r($t)&&h($t,e,!0)});function qn(e=r(W)){if(!r(mn)||!e)return;let t=jt.latency.get(e),n={conversation:r(D),traces:r(O),conversationTraces:r(k),dataLoaded:r(A),error:r(Ft),recording:r(j),recordingLoaded:r(It),recordingError:r(M),waveform:r(N),waveformError:r(P),playbackAudioBuffer:G,playbackPositionMs:r(F),viewportStartMs:r(B),viewportEndMs:r(V),viewportOriginMs:r(q),viewDirty:r(z),humanSpeechBubbleReservedLevels:r($t),scrollTop:t?.scrollTop??r(H)?.scrollTop??0,scrollLeft:t?.scrollLeft??r(H)?.scrollLeft??0};jt.latency.set(e,n);let i=r(pn),a=fe(ce.url)??de()??``;i&&a&&e===he(i,``)&&jt.latency.set(he(i,a),n)}async function Jn(e){e&&(await oe(),r(H)&&(r(H).scrollTop=e.scrollTop,r(H).scrollLeft=e.scrollLeft))}function Yn(){if(!r(mn)||!r(W)||!r(H))return;let e=jt.latency.get(r(W));if(!e){qn();return}e.scrollTop=r(H).scrollTop,e.scrollLeft=r(H).scrollLeft}ae(()=>{rr(),qn(),on?.(),Jr(),Mi(!1),ki()}),C(()=>{if(!r(mn))return;let e=r(pn),t=fe(ce.url)??de()??``;if(t!==r(Nt)&&h(Nt,t,!0),!e)return;let n=he(e,t);if(n===r(W))return;rr(),qn(),h(W,n,!0);let i=jt.latency.get(n),a=(i?.viewportStartMs!=null&&i.viewportEndMs!=null&&typeof i.viewportOriginMs==`number`&&Number.isFinite(i.viewportOriginMs)?{startMs:i.viewportStartMs,endMs:i.viewportEndMs,originMs:i.viewportOriginMs}:null)??Oe(n);h(tn,a,!0),h(z,a?i?.viewDirty??!0:!1,!0),h(Ft,i?.error??null,!0),h(M,i?.recordingError??null,!0),h(R,null),h(P,i?.waveformError??null,!0),Mi(!1),G=i?.recordingLoaded?i.playbackAudioBuffer:null,h(F,i?.playbackPositionMs??0,!0),h(L,null),h(N,i?.recordingLoaded?i.waveform:null,!0),h(D,i?.dataLoaded?i.conversation:null,!0),h(O,i?.dataLoaded?i.traces:[],!0),h(k,i?.dataLoaded?i.conversationTraces:[],!0),h(A,i?.dataLoaded??!1,!0),h(j,i?.recordingLoaded?i.recording:Dt(),!0),h(It,i?.recordingLoaded??!1,!0),h(B,null),h(V,null),h($t,i?.humanSpeechBubbleReservedLevels??1,!0),De.setSourceId(t||void 0),r(A)?h(Pt,!1):Gi(e),r(It)?h(Lt,!1):qi(_n(e,t)),Jn(i)}),C(()=>{if(!r(hn))return;let e=r(pn)||`live`,t=vt().slice(),n=yt().slice(),i=`live:${e}`;i!==r(W)&&(rr(),h(W,i),h(tn,null),h(z,!1),h(Bt,!0),h(R,null),h(P,null),Mi(!1),G=null,h(F,0),h(L,null),h(N,null),h(B,null),h(V,null),h($t,1),h(Nt,``),De.setSourceId(void 0)),h(A,!0),h(Pt,St()),h(Ft,Ct()),h(Lt,wt()),h(M,Tt()),h(D,{conversationId:e,medium:`phone`,createdAt:t[0]?.atMs??Date.now()},!0),h(O,Bi(t).slice().sort(Qr),!0),h(k,Vi(n).slice().sort(Hi),!0),ai()}),C(()=>{let e=r(tn),t=r(A),n=r(Un)??r(Bn),i=r(q);if(!e||!t||!n)return;h(tn,null),h(z,!0);let a=Te(e,i);Zi(a.startMs,a.endMs)}),C(()=>{if(!r(A))return;let e=r(Un)??r(Bn);if(e){if(r(hn)&&r(Bt)){Yi(e);return}r(z)||Ji(!1)}}),C(()=>{let e=r(W),t=r(B),n=r(V);!e||ir(e)||t==null||n==null||ke(e,{startMs:t,endMs:n,originMs:r(q)})}),C(()=>{let e=r(Vt);if(!e||typeof ResizeObserver>`u`)return;h(U,e.clientWidth,!0);let t=new ResizeObserver(e=>{let t=e[0];t&&h(U,t.contentRect.width,!0)});return t.observe(e),()=>t.disconnect()}),C(()=>{let e=r(Ht);if(!e||typeof ResizeObserver>`u`)return;h(Wt,e.clientWidth,!0),h(Gt,e.clientHeight,!0);let t=new ResizeObserver(e=>{let t=e[0];t&&(h(Wt,t.contentRect.width,!0),h(Gt,t.contentRect.height,!0))});return t.observe(e),()=>t.disconnect()}),C(()=>{if(!r(j).exists||typeof window>`u`)return;let e=e=>{e.code===`Space`&&(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||Li(e.target)||(e.preventDefault(),Ri()))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)}),C(()=>{let e=r(Ut),t=r(N),n=r(J),i=r(B),a=r(V),o=r(Wt),s=r(Gt);!e||!t||n==null||i==null||a==null||Di(e,{peaks:t,recordingStartMs:n,viewportStartMs:i,viewportEndMs:a,width:o,height:s})});function Y(e){return typeof e==`string`&&e.trim()||null}function Xn(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Zn(e){return Math.max(0,Math.min(255,Math.round(e)))}function X(e,t,n){return Math.min(n,Math.max(t,e))}function Z(e,t){let n=(e??``).trim().replace(/^#/,``),r=n.length===3?n.split(``).map(e=>`${e}${e}`).join(``):n;if(r.length!==6||!/^[0-9a-fA-F]+$/.test(r))return e;let i=parseInt(r.slice(0,2),16),a=parseInt(r.slice(2,4),16),o=parseInt(r.slice(4,6),16),s=Math.abs(Math.max(-1,Math.min(1,t))),c=t>=0?255:0;return`#${Zn(i+(c-i)*s).toString(16).padStart(2,`0`)}${Zn(a+(c-a)*s).toString(16).padStart(2,`0`)}${Zn(o+(c-o)*s).toString(16).padStart(2,`0`)}`}function Qn(e){let t=Xn(e);return t==null?`—`:`${Math.round(t)} ms`}function $n(e){if(e==null||!Number.isFinite(e))return`0 ms`;let t=Math.round(e);return t===0?`0 ms`:`${t>0?`+`:``}${t} ms`}function er(e){if(!Number.isFinite(e))return`—`;let t=e<0?`-`:``,n=Math.abs(e);if(n<1e4)return`${t}${(n/1e3).toFixed(1)}s`;if(n<6e4)return`${t}${(n/1e3).toFixed(2)}s`;let r=n/1e3,i=Math.floor(r/60);return`${t}${i}:${(r-i*60).toFixed(1).padStart(4,`0`)}`}function tr(e){try{return JSON.stringify(e??null,null,2)}catch{return String(e)}}async function nr(){try{await navigator.clipboard.writeText(tr(r(O))),h(en,`ok`),window.setTimeout(()=>{h(en,`idle`)},2e3)}catch(e){console.error(`Failed to copy latency stream`,e),h(en,`error`),window.setTimeout(()=>{h(en,`idle`)},3e3)}}function rr(){!r(W)||r(B)==null||r(V)==null||ir(r(W))||ke(r(W),{startMs:r(B),endMs:r(V),originMs:r(q)})}function ir(e){return e.startsWith(`live:`)}function ar(){h(z,!0),r(hn)&&h(Bt,!1)}function Q(e){let t=typeof e.createdAt==`number`&&Number.isFinite(e.createdAt)?new Date(e.createdAt).toLocaleTimeString():`unknown time`;return e.traceType===`LATENCY`?`Latency • #${e.seq??`?`} • ${e.eventType??`unknown`} • ${t}`:e.traceType===`CONVERSATIONAL`?`Conversational • ${e.eventName} • ${t}`:e.traceType===`STEP`?`Step • ${e.name??`unknown`} • ${t}`:`API • ${e.operationName} • ${t}`}function or(e){let t=e.payload;return t&&typeof t==`object`&&!Array.isArray(t)?t:{}}function sr(e){return e===`call.started`||e===`call.ended`?`Call`:e.startsWith(`vad.`)?`VAD`:e.startsWith(`stt.`)?`STT`:e===`speech.created`?`Trigger`:e.startsWith(`reply.pending.`)?`Reply Pending`:e.startsWith(`llm.connect_tcp.`)||e.startsWith(`llm.start_tls.`)?`LLM Transport`:e===`llm.requested`||e.startsWith(`llm.wait.`)?`LLM Wait`:e===`llm.first_token`||e===`llm.completed`||e.startsWith(`llm.stream.`)?`LLM Stream`:e.startsWith(`tts.text.`)?`TTS Text`:e.startsWith(`tts.provider.`)||e===`tts.audio.first_received`||e===`tts.audio.last_received`?`Provider`:e.startsWith(`tts.decode.`)?`Decode`:e.startsWith(`audio.output.wait.`)?`Output Queue`:e===`interruption.detected`||e===`audio.playback.interrupted`?`Interruptions`:e.startsWith(`audio.playback.`)?`Playback`:`Other`}function cr(e){return e===`call.started`||e===`call.ended`?`call`:e.startsWith(`vad.`)?`vad`:e.startsWith(`stt.`)?`stt`:e===`speech.created`?`trigger`:e.startsWith(`reply.pending.`)?`reply.pending`:e.startsWith(`llm.connect_tcp.`)||e.startsWith(`llm.start_tls.`)?`llm.transport`:e===`llm.requested`||e.startsWith(`llm.wait.`)?`llm.wait`:e===`llm.first_token`||e===`llm.completed`||e.startsWith(`llm.stream.`)?`llm.stream`:e.startsWith(`tts.text.`)?`tts.text`:e.startsWith(`tts.provider.`)?`tts.provider.lifecycle`:e===`tts.audio.first_received`||e===`tts.audio.last_received`?`tts.provider`:e.startsWith(`tts.decode.`)?`tts.decode`:e.startsWith(`audio.output.wait.`)?`audio.output.wait`:e===`interruption.detected`||e===`audio.playback.interrupted`?`interruption`:e.startsWith(`audio.playback.`)?`playback`:`other`}function lr(e){switch(e){case`vad.activated`:case`stt.started`:return`start`;case`vad.deactivated`:case`stt.final`:case`stt.final_transcript`:return`end`;default:return null}}function ur(e){switch(e.eventType){case`call.started`:return`Call started`;case`call.ended`:return`Call ended`;case`vad.activated`:return`VAD activated`;case`vad.deactivated`:return`VAD deactivated`;case`stt.started`:return`STT start`;case`stt.interim`:return`STT interim`;case`stt.final`:case`stt.final_transcript`:return`STT final`;case`speech.created`:return`Speech created`;case`reply.pending.started`:return`Reply pending start`;case`reply.pending.completed`:return`Reply pending end`;case`llm.connect_tcp.started`:return`Connect TCP start`;case`llm.connect_tcp.completed`:return`Connect TCP end`;case`llm.connect_tcp.failed`:return`Connect TCP failed`;case`llm.start_tls.started`:return`TLS start`;case`llm.start_tls.completed`:return`TLS end`;case`llm.start_tls.failed`:return`TLS failed`;case`llm.wait.started`:return`LLM wait start`;case`llm.wait.completed`:return`LLM wait end`;case`llm.stream.started`:return`LLM stream start`;case`llm.stream.completed`:return`LLM stream end`;case`llm.requested`:return`LLM request`;case`llm.first_token`:return`LLM first token`;case`llm.completed`:return`LLM end`;case`tts.text.first_sent`:return`TTS first text`;case`tts.text.completed`:return`TTS text end`;case`tts.provider.started`:return`Provider start`;case`tts.provider.completed`:return`Provider end`;case`tts.audio.first_received`:return`Provider audio received`;case`tts.audio.last_received`:return`Provider audio end`;case`tts.decode.started`:return`Decode start`;case`tts.decode.completed`:return`Decode end`;case`audio.output.wait.started`:return`Output queue start`;case`audio.output.wait.completed`:return`Output queue end`;case`interruption.detected`:return`Interruption detected`;case`audio.playback.started`:return`Playback start`;case`audio.playback.stopped`:return`Playback stop`;case`audio.playback.ended`:return`Playback end`;case`audio.playback.interrupted`:return`Playback interrupted`;default:return e.eventType}}function dr(e){let t=or(e);switch(e.eventType){case`call.started`:return`Call-scoped latency stream started`;case`call.ended`:return`Call-scoped latency stream ended`;case`vad.activated`:return`Raw VAD activation event`;case`vad.deactivated`:return`Raw VAD deactivation event`;case`stt.started`:return`Speech-to-text detected speech start`;case`stt.interim`:return Y(t.originalType)===`preflight_transcript`?`Speech-to-text preflight transcript`:`Speech-to-text interim transcript`;case`stt.final`:case`stt.final_transcript`:return`Speech-to-text final transcript`;case`speech.created`:return`LiveKit created a speech handle`;case`reply.pending.started`:return`Reply generation was committed, but downstream generation has not started yet`;case`reply.pending.completed`:return`Reply generation moved from pending into the LLM request phase`;case`llm.connect_tcp.started`:return`httpcore started opening a new TCP connection for the LLM request`;case`llm.connect_tcp.completed`:return`httpcore finished opening a new TCP connection for the LLM request`;case`llm.connect_tcp.failed`:return`httpcore failed while opening a new TCP connection for the LLM request`;case`llm.start_tls.started`:return`httpcore started TLS negotiation for the LLM request`;case`llm.start_tls.completed`:return`httpcore finished TLS negotiation for the LLM request`;case`llm.start_tls.failed`:return`httpcore failed during TLS negotiation for the LLM request`;case`llm.wait.started`:return`LLM request is in flight and waiting for the first token`;case`llm.wait.completed`:return`The LLM wait phase ended when the first token arrived`;case`llm.stream.started`:return`LLM streaming phase started`;case`llm.stream.completed`:return`LLM streaming phase ended`;case`llm.requested`:return`AnyVan received an LLM request`;case`llm.first_token`:return`First LLM token received`;case`llm.completed`:return`LLM streaming completed`;case`tts.text.first_sent`:return`First text chunk sent to the TTS provider`;case`tts.text.completed`:return`Last non-empty text chunk observed for this TTS stream`;case`tts.provider.started`:return`Provider lifecycle started when the first non-empty TTS text chunk was sent`;case`tts.provider.completed`:return`Provider lifecycle ended when the provider stream reported completion`;case`tts.audio.first_received`:return`First audio chunk received from the TTS provider`;case`tts.audio.last_received`:return`Last audio chunk received from the TTS provider`;case`tts.decode.started`:return`First provider audio bytes were handed into the local decode path`;case`tts.decode.completed`:return`The first decoded audio frame left the local decode path`;case`audio.output.wait.started`:return`The first local audio frame was handed to the LiveKit audio output`;case`audio.output.wait.completed`:return`The audio-output wait phase ended when low-level playback actually started`;case`interruption.detected`:return`User speech overlapped active playback; this does not guarantee playback stopped`;case`audio.playback.started`:return`First played audio frame`;case`audio.playback.stopped`:return`Playback lifecycle ended on the Playback row`;case`audio.playback.ended`:return`Audio playback finished normally`;case`audio.playback.interrupted`:return`Audio playback ended because the output buffer was interrupted`;default:return null}}function fr(e){return Y(or(e).text)}function pr(e){return e.eventType===`stt.final`||e.eventType===`stt.final_transcript`}function $(e){let t=Y(e);return t&&t.replace(/\s+/g,` `).trim()||null}function mr(e){let t=or(e),n=$(t.text)??$(t.transcript)??$(t.finalTranscript)??$(t.final_transcript)??$(t.message);if(n)return n;let r=t.alternatives;if(Array.isArray(r))for(let e of r){if(!e||typeof e!=`object`)continue;let t=$(e.text);if(t)return t}return null}function hr(e){return e.traceType===`CONVERSATIONAL`}function gr(e){return hr(e)&&e.role.toLowerCase()===`user`&&(e.eventName===`received-message`||e.eventName===`llm-handler-stream-requested`)}function _r(e){return hr(e)&&(e.eventName===`finished-main-streaming-step`||e.eventName===`sent-message`)}function vr(e){return Y(e.traceId)??`${e.createdAt}:${e.eventName}:${e.content}`}function yr(){for(let e of r(O).slice().sort(Qr))if(e.eventType===`call.started`&&Number.isFinite(e.atMs))return e.atMs;return r(q)}function br(e,t){let n=t.filter(t=>t.start<=e).sort((e,t)=>t.start-e.start||t.end-e.end)[0];return n?n.end<=e?Math.min(n.end,e):Math.min(n.start,e):Math.min(yr(),e)}function xr(e){return/<WAIT\b[^>]*\/?\s*>/i.test(e)}function Sr(e){return e.traceType===`STEP`&&ue(e.name)&&Y(e.response)!=null}function Cr(e){return e.replace(/<[^>]+>/g,` `).replace(/\s+/g,` `).trim()}function wr(e,t){if(e===t)return!0;let n=Cr(e),r=Cr(t);return n!==``&&n===r}function Tr(e){let t=e-xe,n=e+xe;for(let i of r(k))if(gr(i)){if(i.createdAt<=e)t=i.createdAt;else{n=i.createdAt;break}}return{start:t,end:n}}function Er(e,t,n){let r=Tr(e.createdAt);return t.filter(e=>!n.has(Or(e))&&e.createdAt>=r.start&&e.createdAt<r.end).sort((t,n)=>Math.abs(t.createdAt-e.createdAt)-Math.abs(n.createdAt-e.createdAt))[0]??null}function Dr(){let e=[],t=new Set,n=r(k).filter(Sr).sort(Hi),i=r(k).filter(_r).sort(Hi);for(let r of i){let i=Er(r,n,t),a=(i?Y(i.response):null)??Y(r.content),o=$(a);if(!o||!a)continue;let s=e.find(e=>e.agentTraceIds.size>0&&Math.abs(e.createdAt-r.createdAt)<=1e3&&wr(e.fullText,a));if(s){s.agentTraceIds.add(vr(r)),i&&t.add(Or(i));continue}i&&t.add(Or(i)),e.push({id:i?`response:step:${Or(i)}`:`response:agent:${vr(r)}`,text:o,fullText:a,createdAt:r.createdAt,agentTraceIds:new Set([vr(r)]),traceLabel:Q(i??r)})}for(let r of n){let n=Or(r);if(t.has(n))continue;let i=Y(r.response),a=$(i);!a||!i||e.push({id:`response:step:${n}`,text:a,fullText:i,createdAt:r.createdAt,agentTraceIds:new Set,traceLabel:Q(r)})}return e.sort((e,t)=>e.createdAt-t.createdAt||e.id.localeCompare(t.id))}function Or(e){return Y(e.traceId)??`${e.seq??`?`}:${e.createdAt??`?`}`}function kr(){return r(O).slice().sort(Qr).flatMap(e=>{if(e.eventType!==`tts.text.first_sent`&&e.eventType!==`tts.text.completed`)return[];let t=$(fr(e));return t?[{trace:e,text:t}]:[]})}function Ar(e,t,n,r){let i=r-250,a=e.start+2e3;return t.filter(({trace:e})=>!n.has(Or(e))&&e.atMs>=i&&e.atMs<=a).sort((t,n)=>Math.abs(t.trace.atMs-e.start)-Math.abs(n.trace.atMs-e.start))[0]??null}function jr(e){let t=new Map,n=e.filter(e=>e.row===`Playback`&&e.durationMs>0).sort((e,t)=>e.start-t.start||e.end-t.end),r=new Set,i=kr(),a=yr();for(let e of n){let n=Ar(e,i,r,a);a=Math.max(a,e.end),n&&(r.add(Or(n.trace)),t.set(e.id,{text:n.text,fullText:n.text,traceLabel:Q(n.trace)}))}return t}function Mr(e){return e.flatMap(e=>{if(!xr(e.fullText))return[];let t=Nr(e.createdAt);return[{...Zr({id:`playback:wait:${e.id}`,row:`Playback`,start:e.createdAt,end:t,colorKey:`playback`,label:`WAIT response`,traceLabel:e.traceLabel}),speechText:e.text,speechFullText:e.fullText,speechTraceLabel:e.traceLabel}]})}function Nr(e){let t=r(O).filter(t=>t.atMs>e&&(t.eventType===`audio.playback.started`||t.eventType===`stt.started`||t.eventType===`vad.activated`||t.eventType===`call.ended`)).sort((e,t)=>e.atMs-t.atMs||e.seq-t.seq)[0];return t?t.atMs:e+1}function Pr(){let e=[],t=r(yn).filter(e=>e.row===`Playback`&&e.durationMs>0).sort((e,t)=>e.start-t.start||e.end-t.end);return r(O).slice().sort(Qr).forEach(n=>{if(!pr(n))return;let r=mr(n);r&&e.push({id:`bubble:human:${n.traceId??n.seq}`,role:`human`,text:r,fullText:r,anchorTime:n.atMs,minStartTime:br(n.atMs,t),anchorRow:`STT`,traceLabel:Q(n)})}),e.sort((e,t)=>e.anchorTime-t.anchorTime||e.role.localeCompare(t.role)||e.id.localeCompare(t.id))}function Fr(e){let t=r(wn).findIndex(t=>t.label===e);return t===-1?32:32+t*35+15}function Ir(e){let t=0;for(let n of e)n===` `?t+=4:`ilI.,:;!|`.includes(n)?t+=4.2:`mwMW@#%&`.includes(n)?t+=9.5:/[A-Z0-9]/.test(n)?t+=7.5:t+=6.8;return Math.ceil(t+24)}function Lr(e,t){return X(Ir(e),60,Math.max(60,t))}function Rr(e,t){let n=new Set,r=[],i=Math.max(60,t);for(let t of[e,200,132,60]){let a=X(t,60,i);a>e||n.has(a)||(n.add(a),r.push(a))}return r}function zr(e,t){let n=-1;for(let r of e)r.role===t&&(n=Math.max(n,r.level));return n+1}function Br(e){return Math.max(0,e)*35}function Vr(e){let t=r(Mn);return e.map(e=>{let n=e.level*35,r=t+n,i=Fr(e.anchorRow);return{...e,topPx:n,lineTopPx:i,lineHeightPx:Math.max(1,r-i)}})}function Hr(e,t){if(r(B)==null||r(V)==null||r(U)<=0)return[];let n=r(B),i=r(V)-n;if(!Number.isFinite(i)||i<=0)return[];let a=t.filter(t=>t.role===e).map(e=>{let t=(e.anchorTime-n)/i*100,a=(e.minStartTime-n)/i*r(U),o=t/100*r(U);return{...e,anchorPercent:t,anchorPx:o,maxWidthPx:Math.max(60,o-a)}}).sort((e,t)=>e.anchorPx-t.anchorPx||e.anchorTime-t.anchorTime),o=Array.from({length:3},()=>-1/0),s=[];for(let e of a){let t=Rr(Lr(e.text,e.maxWidthPx),e.maxWidthPx),n=null;for(let r of t){let t=e.anchorPx,i=t-r;for(let a=0;a<3;a+=1)if(!(i<o[a]+8)){n={...e,leftPx:i,topPx:0,widthPx:r,level:a,lineTopPx:30,lineHeightPx:1},o[a]=t;break}if(n)break}n&&s.push(n)}return s}function Ur(){return Hr(`human`,Pr())}function Wr(e){return`left:${Math.round(e.leftPx)}px;top:${Math.round(e.topPx)}px;width:${Math.round(e.widthPx)}px;height:30px;`}function Gr(e){return`left:${e.anchorPercent}%;top:${Math.round(e.lineTopPx)}px;height:${Math.round(e.lineHeightPx)}px;`}function Kr(e){let t=`absolute z-20 overflow-hidden truncate rounded-lg border-thin border-rc-gray-110 px-3 text-sm leading-[30px] text-rc-gray-100 backdrop-blur-md`;return e.role===`agent`?`${t} bg-rc-green-700`:`${t} bg-rc-gray-700`}function qr(e){let t=`pointer-events-none max-h-56 max-w-[34rem] overflow-auto rounded-lg border-thin border-rc-gray-110 p-2 pt-1 text-sm text-rc-gray-100 shadow-2xl backdrop-blur-md`;return e.role===`agent`?`${t} bg-rc-green-700`:`${t} bg-rc-gray-700`}function Jr(){dn!=null&&(window.clearTimeout(dn),dn=null)}function Yr(e,t){let n=t.currentTarget;n instanceof HTMLElement&&(Jr(),dn=window.setTimeout(()=>{h(Xt,e,!0),h(Zt,n,!0),dn=null},50))}function Xr(){Jr(),h(Xt,null),h(Zt,null)}function Zr(e){return{id:e.id,row:e.row,start:e.start,end:e.end,durationMs:Math.max(0,e.end-e.start),colorKey:e.colorKey,label:e.label,description:e.description??null,explain:e.explain??null,text:e.text??null,speechText:null,speechFullText:null,speechTraceLabel:null,traceLabel:e.traceLabel,eventMarker:e.eventMarker??null}}function Qr(e,t){return e.seq-t.seq||e.atMs-t.atMs||(e.createdAt??0)-(t.createdAt??0)||String(e.traceId??``).localeCompare(String(t.traceId??``))}function $r(e,t,n,r){for(let i=t+1;i<e.length;i+=1){let t=e[i];if(r(t))return null;if(n(t))return t}return null}function ei(e){return ye(e).filter(e=>_e(r(k),e)!=null).map(e=>Zr({id:`derived:${e.id}`,row:`Response Latency`,start:e.start,end:e.end,colorKey:e.isHigh?`response.latency.high`:`response.latency.ok`,label:`Final STT -> speech start`,description:e.speechCreatedTrace?`Final STT transcript -> first audio for the next uncancelled LiveKit speech`:`Final STT transcript -> next audio playback start`,explain:e.isHigh?`High latency (>${be}ms)`:`OK`,text:e.text,traceLabel:e.speechCreatedTrace?`${Q(e.startTrace)} -> ${Q(e.speechCreatedTrace)} -> ${Q(e.endTrace)}`:`${Q(e.startTrace)} -> ${Q(e.endTrace)}`}))}function ti(e){let t=ei(e);return e.forEach((n,r)=>{let i=Pe.get(n.eventType);if(!i)return;let a=$r(e,r,e=>e.eventType===i.endEventType,e=>e.eventType===i.startEventType);!a||a.atMs<n.atMs||t.push(Zr({id:`derived:${i.row.toLowerCase().replaceAll(` `,`_`)}:${n.seq}:${a.seq}`,row:i.row,start:n.atMs,end:a.atMs,colorKey:i.colorKey,label:i.label,description:i.description,traceLabel:Q(n)}))}),t}function ni(e){let t=e.slice().filter(e=>typeof e.atMs==`number`&&Number.isFinite(e.atMs)&&typeof e.seq==`number`&&Number.isFinite(e.seq)).sort(Qr),n=t.map((e,t)=>Zr({id:`point:${e.traceId??e.seq}:${t}`,row:sr(e.eventType),start:e.atMs,end:e.atMs,colorKey:cr(e.eventType),label:ur(e),description:dr(e),text:fr(e),traceLabel:Q(e),eventMarker:lr(e.eventType)}));return[...ti(t),...n].sort((e,t)=>e.start-t.start||+(e.durationMs===0)-(t.durationMs===0)||e.end-t.end||e.row.localeCompare(t.row))}function ri(e){let t=typeof e?.audioUrl==`string`&&e.audioUrl.trim()?e.audioUrl:null,n=xt().length>0;return{exists:e?.exists===!0||t!=null||n,blob:null,audioUrl:t,fileName:typeof e?.fileName==`string`?e.fileName:`trumpet-recording.wav`,mimeType:typeof e?.mimeType==`string`?e.mimeType:t?`audio/wav`:null,size:typeof e?.size==`number`&&Number.isFinite(e.size)?e.size:null,uploadedAt:typeof e?.uploadedAt==`string`?e.uploadedAt:null,alignmentOffsetMs:typeof e?.alignmentOffsetMs==`number`&&Number.isFinite(e.alignmentOffsetMs)?e.alignmentOffsetMs:0}}function ii(){let e=xt().at(-1);return[bt()?.exists===!0?`1`:`0`,bt()?.audioUrl??``,bt()?.alignmentOffsetMs??0,bt()?.durationMs??0,xt().length,e?.endMs??0,e?.min??0,e?.max??0].join(`:`)}async function ai(){let e=ii();if(e===fn)return;fn=e;let t=ri(bt());if(t.audioUrl){await Ki(t);return}Mi(!1),h(j,t,!0),h(R,null),h(L,null),h(F,0),G=null,h(N,Ti(xt(),bt()?.durationMs),!0),h(zt,!1),h(P,null)}function oi(e){return e.row===`Playback`&&!e.eventMarker&&e.durationMs>0}function si(e){return!oi(e)||!e.speechFullText?null:{role:`agent`,fullText:e.speechFullText}}function ci(e){return oi(e)?e.speechText:null}function li(e){if(r(B)==null||r(V)==null)return null;let t=r(V)-r(B);if(!Number.isFinite(t)||t<=0)return null;let n=Me[e.colorKey]??T.gray,i=Z(n,-.25);if(e.end===e.start){if(e.start<r(B)||e.start>r(V))return null;let a=X((e.start-r(B))/t*100,0,100);return e.eventMarker===`start`?`left:${a}%;width:7px;background:${n};border-color:${i};clip-path:polygon(0 0,100% 50%,0 100%);`:e.eventMarker===`end`?`left:calc(${a}% - 7px);width:7px;background:${n};border-color:${i};clip-path:polygon(100% 0,0 50%,100% 100%);`:`left:calc(${a}% - 2px);width:4px;background:${n};border-color:${i};`}let a=Math.max(e.start,r(B)),o=Math.min(e.end,r(V));if(o<a)return null;let s=(a-r(B))/t*100,c=(o-a)/t*100;return oi(e)?`left:${s}%;width:max(${c}%,2px);`:`left:${s}%;width:max(${c}%,2px);background:${n};border-color:${i};`}function ui(e){if(r(B)==null||r(V)==null)return null;let t=r(V)-r(B);if(!Number.isFinite(t)||t<=0)return null;let n=Math.max(e.start,r(B)),i=Math.min(e.end,r(V));return i<=n?null:`left:${(n-r(B))/t*100}%;width:${(i-n)/t*100}%;top:32px;bottom:0;`}function di(e){return e.eventMarker?`absolute inset-y-0 shadow-[0_0_0_1px_rgba(0,0,0,0.28)]`:oi(e)?`absolute inset-y-0 overflow-hidden truncate rounded-lg border-thin border-rc-gray-110 bg-rc-green-700 px-3 text-sm leading-[30px] text-rc-gray-100 shadow-[0_0_0_1px_rgba(0,0,0,0.12)] backdrop-blur-md`:`absolute inset-y-0 rounded border shadow-[0_0_0_1px_rgba(0,0,0,0.12)]`}function fi(e){return[e.label,e.row===e.label?``:e.row,`${er(e.start-r(q))} → ${er(e.end-r(q))} (${Qn(e.durationMs)})`,e.description??``,e.text?`Text: ${e.text}`:``,e.explain??``,e.traceLabel].filter(e=>e.trim()!==``).join(`
3
+ `)}function pi(e,t){let n=t.currentTarget;n instanceof HTMLElement&&(h(qt,e,!0),h(Jt,n,!0))}function mi(){h(qt,null),h(Jt,null)}function hi(e,t){let n=si(e);if(n){mi(),Yr(n,t);return}Xr(),pi(e,t)}function gi(){mi(),Xr()}function _i(e){return`left:${e.leftPercent}%;top:${e.topPx}px;height:${e.heightPx}px;border-color:${e.color};opacity:${e.opacity};`}function vi(e){return`left:${e.leftPercent}%;top:${e.topPx}px;height:${e.heightPx}px;`}function yi(e){let t=`absolute top-1 whitespace-nowrap text-[11px] text-rc-gray-400`;return e.leftPercent<=.1?t:e.leftPercent>=99.9?`${t} -translate-x-full`:`${t} -translate-x-1/2`}function bi(e){if(!r(j).exists||r(B)==null||r(V)==null)return[];let t=r(B),n=r(V),i=n-t;if(!Number.isFinite(i)||i<=0)return[];let a=r(In),o=new Set,s=[];return e.forEach((e,r)=>{if(!Ee.has(e.label))return;let c=32+r*35+15;e.segments.forEach(r=>{if(r.id.startsWith(`playback:wait:`))return;let l=Z(Me[r.colorKey]??T.gray,.15),u=r.end===r.start?r.start>=t&&r.start<=n?[r.start]:[]:(()=>{let e=Math.max(r.start,t),i=Math.min(r.end,n);return i<e?[]:[e,i]})();for(let n of u){let u=Math.round(n),d=`${e.label}:${u}`;if(o.has(d))continue;o.add(d);let f=X((n-t)/i*100,0,100);s.push({id:`${r.id}:${u}`,leftPercent:f,topPx:c,heightPx:Math.max(1,a-c),color:l,opacity:e.label===`VAD`?.62:.48})}})}),s}function xi(e){let t=e/7,n=10**Math.floor(Math.log10(Math.max(1,t))),r=t/n;return r<=1?1*n:r<=2?2*n:r<=5?5*n:10*n}function Si(e,t,n){let r=t-e;if(!Number.isFinite(r)||r<=0)return[];let i=xi(r),a=Math.ceil((e-n)/i)*i+n,o=[];for(let s=a;s<=t;s+=i){let t=(s-e)/r*100;o.push({time:s,leftPercent:t,label:er(s-n)})}return o}function Ci(){let e=window.AudioContext??window.webkitAudioContext;if(!e)throw Error(`Web Audio is not available in this browser`);return new e}function wi(e){if(e.length===0||e.duration===0)return{durationMs:0,binDurationMs:0,minPeaks:new Float32Array,maxPeaks:new Float32Array,channelCount:e.numberOfChannels,sampleRate:e.sampleRate};let t=X(Math.round(e.duration*200),8e3,6e4),n=Math.max(1,Math.min(t,e.length)),r=Math.max(1,Math.floor(e.length/n)),i=new Float32Array(n),a=new Float32Array(n);for(let t=0;t<n;t+=1){let o=t*r,s=t===n-1?e.length:Math.min(e.length,o+r),c=1,l=-1;for(let t=0;t<e.numberOfChannels;t+=1){let n=e.getChannelData(t);for(let e=o;e<s;e+=1){let t=n[e]??0;t<c&&(c=t),t>l&&(l=t)}}l===-1&&c===1&&(c=0,l=0),i[t]=c,a[t]=l}return{durationMs:e.duration*1e3,binDurationMs:e.duration*1e3/n,minPeaks:i,maxPeaks:a,channelCount:e.numberOfChannels,sampleRate:e.sampleRate}}function Ti(e,t){if(!e.length)return null;let n=new Float32Array(e.length),r=new Float32Array(e.length);for(let t=0;t<e.length;t+=1){let i=e[t];n[t]=X(i?.min??0,-1,1),r[t]=X(i?.max??0,-1,1)}let i=e.at(-1)?.endMs??e.length*50,a=typeof t==`number`&&Number.isFinite(t)&&t>0?t:i;return{durationMs:a,binDurationMs:a/e.length,minPeaks:n,maxPeaks:r,channelCount:1,sampleRate:20}}async function Ei(e){let t=typeof e==`string`?await fetch(e,{cache:`no-store`}).then(e=>{if(!e.ok)throw Error(`Failed to load recording (${e.status})`);return e.arrayBuffer()}):await e.arrayBuffer(),n=Ci();try{let e=await n.decodeAudioData(t.slice(0));return{peaks:wi(e),audioBuffer:e}}finally{await n.close().catch(()=>{})}}function Di(e,t){let n=Math.max(1,Math.floor(t.width)),r=Math.max(1,Math.floor(t.height)),i=window.devicePixelRatio||1;e.width=Math.max(1,Math.round(n*i)),e.height=Math.max(1,Math.round(r*i)),e.style.width=`${n}px`,e.style.height=`${r}px`;let a=e.getContext(`2d`);if(!a)return;a.setTransform(i,0,0,i,0,0),a.clearRect(0,0,n,r),a.fillStyle=`rgba(10, 10, 10, 0.2)`,a.fillRect(0,0,n,r);let o=t.viewportEndMs-t.viewportStartMs;if(o<=0||t.peaks.minPeaks.length===0||t.peaks.binDurationMs<=0)return;let s=t.recordingStartMs+t.peaks.durationMs,c=Math.max(t.viewportStartMs,t.recordingStartMs),l=Math.min(t.viewportEndMs,s),u=r/2,d=r*.42;if(a.strokeStyle=`rgba(147, 255, 109, 0.95)`,a.lineWidth=1,a.beginPath(),l>c){let e=Math.max(0,Math.floor((c-t.recordingStartMs)/t.peaks.binDurationMs)),r=Math.min(t.peaks.minPeaks.length-1,Math.ceil((l-t.recordingStartMs)/t.peaks.binDurationMs));for(let i=e;i<=r;i+=1){let e=(t.recordingStartMs+i*t.peaks.binDurationMs-t.viewportStartMs)/o*n,r=t.peaks.minPeaks[i]??0,s=u-(t.peaks.maxPeaks[i]??0)*d,c=u-r*d;a.moveTo(e,s),a.lineTo(e,c)}}a.stroke(),a.strokeStyle=`rgba(255, 255, 255, 0.18)`,a.lineWidth=1,a.beginPath(),a.moveTo(0,u),a.lineTo(n,u),a.stroke()}function Oi(){sn&&=(window.cancelAnimationFrame(sn),0)}async function ki(){let e=K;K=null,e&&await e.close().catch(()=>{})}async function Ai(){return(!K||K.state===`closed`)&&(K=Ci()),K.state===`suspended`&&await K.resume(),K}function ji(){let e=Pi();if(r(I)&&K&&ln!=null&&un!=null){let t=(K.currentTime-un)*1e3,n=ln+Math.max(0,t);return e>0?X(n,0,e):Math.max(0,n)}return e>0?X(r(F),0,e):Math.max(0,r(F))}function Mi(e=!0){e&&h(F,ji(),!0);let t=cn;if(cn=null,ln=null,un=null,h(I,!1),Oi(),t){t.onended=null;try{t.stop()}catch{}t.disconnect()}}function Ni(){Oi();let e=()=>{if(!r(I)){sn=0;return}h(F,ji(),!0),sn=window.requestAnimationFrame(e)};sn=window.requestAnimationFrame(e)}function Pi(){return r(N)&&Number.isFinite(r(N).durationMs)?Math.max(0,r(N).durationMs):G&&Number.isFinite(G.duration)?Math.max(0,G.duration*1e3):0}function Fi(e){let t=Pi(),n=t>0?X(e,0,t):Math.max(0,e);h(F,n,!0),r(I)&&zi(n)}function Ii(e,t){if(r(B)==null||r(V)==null||r(J)==null)return;let n=t.getBoundingClientRect(),i=X((e-n.left)/Math.max(1,n.width),0,1),a=r(B)+i*(r(V)-r(B));h(L,null),Fi(a-r(J))}function Li(e){let t=e instanceof HTMLElement?e:null;if(!t)return!1;let n=t.tagName;return t.isContentEditable||n===`INPUT`||n===`TEXTAREA`||n===`SELECT`||n===`BUTTON`||n===`A`}async function Ri(){if(!(!r(j).exists||!r(j).blob&&!r(j).audioUrl)){if(h(L,null),r(I)){Mi(!0);return}await zi(r(F))}}async function zi(e){let t=G;if(!t){h(L,r(zt)?`Recording is still decoding`:`Failed to decode recording for playback`,!0);return}let n=Math.max(0,t.duration*1e3),i=n>0?e>=n?0:X(e,0,n):Math.max(0,e);Mi(!1),h(F,i,!0);try{let e=await Ai(),r=e.createBufferSource();r.buffer=t,r.connect(e.destination),r.onended=()=>{cn===r&&(cn=null,ln=null,un=null,h(I,!1),h(F,n,!0),Oi())},cn=r,ln=i,un=e.currentTime,h(I,!0),h(L,null),Ni(),r.start(0,i/1e3)}catch(e){Mi(!1),h(I,!1),h(L,e instanceof Error?e.message:`Failed to play recording`,!0)}}function Bi(e){let t=new Set;return e.filter(e=>{let n=Y(e?.traceId);return!n||!t.has(n)&&(t.add(n),!0)})}function Vi(e){let t=new Set;return e.filter(e=>{let n=Y(e?.traceId);return!n||!t.has(n)&&(t.add(n),!0)})}function Hi(e,t){return e.createdAt-t.createdAt||String(e.traceId??``).localeCompare(String(t.traceId??``))}async function Ui(e){let t=[],n;for(;;){let r=await De.getLatencyTraces(e,500,n);if(t.push(...r.items??[]),n=r.lastTraceId,!n)break}return Bi(t).slice().sort(Qr)}async function Wi(e){let t=[],n;for(;;){let r=await De.getTraces(e,100,n);if(t.push(...r.items??[]),n=r.lastTraceId,!n)break}return Vi(t).slice().sort(Hi)}async function Gi(e){let t=++nn;h(A,!1),h(Pt,!0),h(Ft,null);try{let[n,r,i]=await Promise.all([De.getConversation(e).catch(e=>(console.error(`Failed to load conversation details:`,e),null)),Ui(e),Wi(e).catch(e=>(console.error(`Failed to load conversation traces for latency matching:`,e),[]))]);if(t!==nn)return;h(D,n,!0),h(O,r,!0),h(k,i,!0),h(A,!0)}catch(e){if(t!==nn)return;h(Ft,e instanceof Error?e.message:String(e),!0),h(D,null),h(O,[],!0),h(k,[],!0)}finally{if(t!==nn)return;h(Pt,!1),qn()}}async function Ki(e){Mi(!1),h(j,e,!0),h(R,null),h(L,null),h(F,0);let t=e.blob??e.audioUrl;if(!e.exists||!t){G=null,h(N,null),h(zt,!1),h(P,null);return}let n=++an;h(zt,!0),h(P,null);try{let e=await Ei(t);if(n!==an)return;h(N,e.peaks,!0),G=e.audioBuffer}catch(e){if(n!==an)return;G=null,h(N,null),h(P,e instanceof Error?e.message:String(e),!0)}finally{if(n!==an)return;h(zt,!1)}}async function qi(e=r(vn)){if(!e)return;let t=++rn;h(It,!1),h(Lt,!0),h(M,null);try{let n=await Le(e);if(t!==rn||(await Ki({exists:n!=null,blob:n,audioUrl:null,fileName:null,mimeType:n?.type||null,size:n?.size??null,uploadedAt:null,alignmentOffsetMs:n?ze(e):0}),t!==rn))return;h(It,!0)}catch(e){if(t!==rn)return;h(M,e instanceof Error?e.message:String(e),!0),h(j,Dt(),!0),h(N,null),h(zt,!1)}finally{if(t!==rn)return;h(Lt,!1),qn()}}function Ji(e=!0){let t=r(Un)??r(Bn);if(!t)return;let n=r(q);h(B,n,!0),h(V,Math.max(n+1e3,t.max),!0),h(z,e,!0),e&&r(hn)&&h(Bt,!1)}function Yi(e){let t=Number.isFinite(r(q))?r(q):e.min,n=Math.max(t,e.max),i=Math.max(0,n-t),a=X(Math.max(Se,i+Ce+we),Se,6e4),o=Math.min(we,a*.25),s=t-Ce+a,c=Math.max(s,n+o),l=Math.max(t-Ce,c-a);h(B,l,!0),h(V,l+a),h(z,!1)}function Xi(e,t){let n=r(Bn);if(!n)return{startMs:e,endMs:t};let i=t-e;if(i<=0)return{startMs:e,endMs:t};let a=Math.max(1e3,i*.25),o=n.min-a,s=n.max+a;return i>=s-o?{startMs:o,endMs:s}:(e<o&&(t+=o-e,e=o),t>s&&(e-=t-s,t=s),{startMs:e,endMs:t})}function Zi(e,t){if(!Number.isFinite(e)||!Number.isFinite(t)||t<=e)return;let n=Xi(e,t);h(B,n.startMs,!0),h(V,n.endMs,!0)}function Qi(e,t=.5){if(r(B)==null||r(V)==null)return;let n=r(V)-r(B);if(!Number.isFinite(n)||n<=0)return;let i=r(Bn),a=i?i.max-i.min:n,o=Math.min(100,n),s=Math.max(a+Math.max(2e3,a*.1),5e3),c=X(n*e,o,s),l=X(t,0,1),u=r(B)+n*l-c*l;ar(),Zi(u,u+c)}function $i(e){let t=e.deltaY;return e.deltaMode===WheelEvent.DOM_DELTA_LINE?t*=16:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=window.innerHeight),X(t,-137,137)}function ea(e){return Math.exp($i(e)*.00145)}function ta(e){if(r(U)<=0)return;e.preventDefault();let t=e.currentTarget.getBoundingClientRect(),n=X((e.clientX-t.left)/Math.max(1,t.width),0,1);Qi(ea(e),n)}function na(e){if(r(Wt)<=0)return;e.preventDefault();let t=e.currentTarget.getBoundingClientRect(),n=X((e.clientX-t.left)/Math.max(1,t.width),0,1);Qi(ea(e),n)}function ra(e){on?.();let t=Math.max(0,e.activationDistancePx??0),n=t===0;n&&e.onStart?.();let r=r=>{if(n)return!0;let i=r.clientX-e.startEvent.clientX,a=r.clientY-e.startEvent.clientY;return Math.hypot(i,a)<t?!1:(n=!0,e.onStart?.(),!0)},i=t=>{r(t)&&e.onMove(t)},a=t=>{window.removeEventListener(`pointermove`,i),window.removeEventListener(`pointerup`,o),window.removeEventListener(`pointercancel`,s),on=null,!n&&t&&e.onClick?.(t),e.onEnd?.({wasDrag:n,event:t})},o=e=>a(e),s=()=>a();window.addEventListener(`pointermove`,i),window.addEventListener(`pointerup`,o),window.addEventListener(`pointercancel`,s),on=()=>a()}function ia(e){if(e.button!==0||r(B)==null||r(V)==null||r(U)<=0)return;e.preventDefault(),ar();let t=e.clientX,n=r(B),i=r(V)-r(B);ra({startEvent:e,onMove:e=>{let a=(e.clientX-t)/r(U)*i;Zi(n-a,n-a+i)}})}function aa(e){h(j,{...r(j),alignmentOffsetMs:Math.round(e)},!0)}function oa(){!r(mn)||!r(j).exists||!r(vn)||Be(r(vn),r(j).alignmentOffsetMs)}function sa(e){if(e.button!==0||!r(j).exists||r(N)==null||r(B)==null||r(V)==null||r(Wt)<=0)return;e.preventDefault(),h(R,null);let t=e.currentTarget,n=e.clientX,i=r(j).alignmentOffsetMs,a=r(V)-r(B);ra({startEvent:e,activationDistancePx:6,onStart:()=>{ar()},onMove:e=>{let t=(e.clientX-n)/r(Wt)*a;aa(i+t)},onClick:e=>{Ii(e.clientX,t)},onEnd:({wasDrag:e})=>{e&&oa()}})}function ca(){r(j).exists&&(ar(),aa(0),oa())}async function la(e){let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!(!n||!r(vn))){h(Rt,!0),h(M,null),h(R,null);try{let e=r(vn);await Re(e,n),Be(e,0),h(z,!1),await Ki({exists:!0,blob:n,audioUrl:null,fileName:n.name,mimeType:n.type||null,size:n.size,uploadedAt:null,alignmentOffsetMs:0}),Ji(!1),h(It,!0),qn()}catch(e){h(M,e instanceof Error?e.message:String(e),!0)}finally{h(Rt,!1)}}}var ua=_t(),da=ne(ua),fa=v(da),pa=v(fa),ma=v(pa),ha=v(ma),ga=v(ha),_a=b(ga),va=e=>{var t=Ve(),i=b(ne(t),2),a=v(i,!0);f(i),g(()=>c(a,r(pn))),n(e,t)};y(_a,e=>{r(pn)&&e(va)}),f(ha);var ya=b(ha,2),ba=v(ya),xa=b(v(ba),2),Sa=v(xa,!0);f(xa),f(ba);var Ca=b(ba,2),wa=b(v(Ca),2),Ta=v(wa,!0);f(wa),f(Ca);var Ea=b(Ca,2),Da=b(v(Ea),2),Oa=v(Da,!0);f(Da),f(Ea);var ka=b(Ea,2),Aa=e=>{var t=He(),i=b(v(t),2),a=v(i,!0);f(i),f(t),g(e=>c(a,e),[()=>er(r(Ln)-r(q))]),n(e,t)};y(ka,e=>{r(j).exists&&r(Ln)!=null&&e(Aa)});var ja=b(ka,2),Ma=e=>{var t=Ue(),i=b(v(t),2),a=v(i);f(i),f(t),g((e,t)=>c(a,`${e??``} → ${t??``}`),[()=>er(r(B)-r(q)),()=>er(r(V)-r(q))]),n(e,t)};y(ja,e=>{r(B)!=null&&r(V)!=null&&e(Ma)}),f(ya),f(ma);var Na=b(ma,2),Pa=v(Na),Fa=e=>{var t=We(),i=ne(t);ie(i,e=>h(Kt,e),()=>r(Kt));var a=b(i,2);le(a,{variant:`secondary`,size:`small`,get disabled(){return r(Rt)},onclick:()=>r(Kt)?.click(),children:(e,t)=>{l();var i=w();g(()=>c(i,r(Rt)?`Loading…`:r(j).exists?`Replace WAV`:`Load WAV`)),n(e,i)},$$slots:{default:!0}}),te(`change`,i,la),n(e,t)};y(Pa,e=>{r(gn)&&e(Fa)});var Ia=b(Pa,2);{let e=_(()=>!r(j).exists||!r(j).blob&&!r(j).audioUrl);le(Ia,{variant:`secondary`,size:`small`,get disabled(){return r(e)},onclick:()=>void Ri(),children:(e,t)=>{l();var i=w();g(()=>c(i,r(I)?`Pause`:`Play`)),n(e,i)},$$slots:{default:!0}})}var La=b(Ia,2);{let e=_(()=>r(Wn)==null);le(La,{variant:`secondary`,size:`small`,get disabled(){return r(e)},onclick:()=>Qi(.8),children:(e,t)=>{l();var r=w(`Zoom in`);n(e,r)},$$slots:{default:!0}})}var Ra=b(La,2);{let e=_(()=>r(Wn)==null);le(Ra,{variant:`secondary`,size:`small`,get disabled(){return r(e)},onclick:()=>Qi(1.25),children:(e,t)=>{l();var r=w(`Zoom out`);n(e,r)},$$slots:{default:!0}})}var za=b(Ra,2);{let e=_(()=>!(r(Un)??r(Bn)));le(za,{variant:`secondary`,size:`small`,get disabled(){return r(e)},onclick:()=>Ji(!0),children:(e,t)=>{l();var r=w(`Fit call`);n(e,r)},$$slots:{default:!0}})}var Ba=b(za,2);{let e=_(()=>!r(j).exists);le(Ba,{variant:`secondary`,size:`small`,get disabled(){return r(e)},onclick:ca,children:(e,t)=>{l();var r=w(`Reset alignment`);n(e,r)},$$slots:{default:!0}})}var Va=b(Ba,2);{let e=_(()=>!r(O).length);le(Va,{variant:`secondary`,size:`small`,get disabled(){return r(e)},onclick:nr,children:(e,t)=>{l();var i=w();g(()=>c(i,r(en)===`ok`?`Copied`:r(en)===`error`?`Copy failed`:`Copy latency stream`)),n(e,i)},$$slots:{default:!0}})}f(Na),f(pa);var Ha=b(pa,2),Ua=e=>{var t=Ge(),i=v(t,!0);f(t),g(()=>c(i,r(Pt)?`Loading call latency…`:`Loading recording…`)),n(e,t)};y(Ha,e=>{(r(Pt)||r(Lt))&&e(Ua)});var Wa=b(Ha,2),Ga=e=>{var t=Ke(),i=v(t);f(t),g(()=>c(i,`Failed to load latency traces: ${r(Ft)??``}`)),n(e,t)};y(Wa,e=>{r(Ft)&&e(Ga)});var Ka=b(Wa,2),qa=e=>{var t=Ke(),i=v(t);f(t),g(()=>c(i,`Recording error: ${r(M)??``}`)),n(e,t)};y(Ka,e=>{r(M)&&e(qa)});var Ja=b(Ka,2),Ya=e=>{var t=Ke(),i=v(t);f(t),g(()=>c(i,`Alignment error: ${r(R)??``}`)),n(e,t)};y(Ja,e=>{r(R)&&e(Ya)});var Xa=b(Ja,2),Za=e=>{var t=Ke(),i=v(t);f(t),g(()=>c(i,`Playback error: ${r(L)??``}`)),n(e,t)};y(Xa,e=>{r(L)&&e(Za)}),f(fa);var Qa=b(fa,2),$a=v(Qa),eo=v($a),to=v(eo),no=e=>{var t=qe();n(e,t)},ro=e=>{var t=Je();n(e,t)},io=e=>{var t=Ye();n(e,t)},ao=e=>{var t=mt(),o=v(t),s=b(v(o),2);u(s,19,()=>r(wn),e=>e.label,(e,t,i)=>{var a=Xe(),o=v(a,!0);f(a),g(()=>{m(a,`height:30px;margin-top:${r(i)===0?0:5}px;`),c(o,r(t).label)}),n(e,a)});var d=b(s,2),p=b(d,2),re=e=>{var t=Ze();m(t,`height:160px;margin-top:5px;`),n(e,t)};y(p,e=>{r(Nn)&&e(re)}),f(o);var ae=b(o,2),x=v(ae),oe=v(x);u(oe,17,()=>r(Hn),e=>e.id,(e,t)=>{let i=_(()=>ui(r(t)));var o=a(),s=ne(o),c=e=>{var t=Qe(),a=v(t);l(2),f(t),g(()=>{m(t,r(i)),m(a,`background:${T.blue};opacity:0.08;`)}),n(e,t)};y(s,e=>{r(i)&&e(c)}),n(e,o)});var S=b(oe,2);u(S,17,()=>r(Dn),e=>e.id,(e,t)=>{var i=$e();g(e=>m(i,e),[()=>Gr(r(t))]),n(e,i)});var C=b(S,2);u(C,17,()=>r(Fn),e=>e.id,(e,t)=>{var i=et();g(e=>m(i,e),[()=>_i(r(t))]),n(e,i)});var w=b(C,2),ce=e=>{var t=tt();g(e=>m(t,e),[()=>vi(r(zn))]),n(e,t)};y(w,e=>{r(zn)&&e(ce)});var le=b(w,2),ue=e=>{var t=nt(),i=ne(t),a=b(i,2);g(()=>{m(i,`left:${r(Rn).leftPercent}%;top:${r(Rn).topPx}px;height:${r(Rn).heightPx}px;`),m(a,`left:${r(Rn).leftPercent}%;top:${r(Rn).topPx-4}px;`)}),n(e,t)};y(le,e=>{r(Rn)&&e(ue)}),f(x);var de=b(x,2);u(de,21,()=>r(Gn),e=>e.time,(e,t,i,a)=>{var o=rt(),s=ne(o),l=b(s,2),u=v(l,!0);f(l),g(e=>{m(s,`left:${r(t).leftPercent}%;`),se(l,1,e),m(l,`left:${r(t).leftPercent}%;`),c(u,r(t).label)},[()=>ee(yi(r(t)))]),n(e,o)}),f(de),ie(de,e=>h(Vt,e),()=>r(Vt));var fe=b(de,2);u(fe,19,()=>r(wn),e=>e.label,(e,t,o)=>{var s=st(),l=v(s);u(l,17,()=>r(Gn),e=>e.time,(e,t,i,a)=>{var o=it();g(()=>m(o,`left:${r(t).leftPercent}%;`)),n(e,o)});var d=b(l,2);u(d,17,()=>r(t).segments,e=>e.id,(e,t)=>{let o=_(()=>li(r(t))),s=_(()=>ci(r(t)));var l=a(),u=ne(l),d=e=>{var a=ot(),l=v(a),u=e=>{var t=at(),i=v(t,!0);f(t),g(()=>c(i,r(s))),n(e,t)};y(l,e=>{r(s)&&e(u)}),f(a),g(e=>{se(a,1,e),m(a,r(o))},[()=>ee(di(r(t)))]),i(`pointerenter`,a,e=>hi(r(t),e)),i(`pointerleave`,a,gi),te(`pointerdown`,a,gi),n(e,a)};y(u,e=>{r(o)&&e(d)}),n(e,l)}),f(s),g(()=>m(s,`height:30px;margin-top:${r(o)===0?0:5}px;`)),te(`pointerdown`,s,ia),i(`wheel`,s,ta),n(e,s)});var pe=b(fe,2);let me;var he=v(pe),ge=b(he,2);u(ge,17,()=>r(Gn),e=>e.time,(e,t,i,a)=>{var o=ct();g(()=>m(o,`left:${r(t).leftPercent}%;`)),n(e,o)});var _e=b(ge,2);u(_e,17,()=>r(Dn),e=>e.id,(e,t)=>{var a=lt(),o=v(a,!0);f(a),g((e,n)=>{se(a,1,e),m(a,n),c(o,r(t).text)},[()=>ee(Kr(r(t))),()=>Wr(r(t))]),i(`pointerenter`,a,e=>Yr(r(t),e)),i(`pointerleave`,a,Xr),te(`pointerdown`,a,Xr),n(e,a)}),f(pe);var ve=b(pe,2),ye=e=>{var t=pt();m(t,`height:160px;margin-top:5px;`);var a=v(t),o=e=>{var t=ut();n(e,t)},s=e=>{var t=dt(),i=v(t);f(t),g(()=>c(i,`Failed to decode waveform: ${r(P)??``}`)),n(e,t)},l=e=>{var t=ft();ie(t,e=>h(Ut,e),()=>r(Ut)),n(e,t)};y(a,e=>{r(zt)?e(o):r(P)?e(s,1):e(l,-1)});var d=b(a,2);u(d,17,()=>r(Gn),e=>e.time,(e,t,i,a)=>{var o=it();g(()=>m(o,`left:${r(t).leftPercent}%;`)),n(e,o)}),f(t),ie(t,e=>h(Ht,e),()=>r(Ht)),te(`pointerdown`,t,sa),i(`wheel`,t,na),n(e,t)};y(ve,e=>{r(Nn)&&e(ye)}),f(ae),f(t),g(()=>{m(d,`height:${r(On)}px;margin-top:${r(jn)}px;`),me=se(pe,1,`relative z-0 overflow-hidden border-x border-t border-rc-gray-700/60`,null,me,{"rounded-b":!r(Nn),"border-b":!r(Nn)}),m(pe,`height:${r(kn)}px;margin-top:${r(jn)}px;`),m(he,`height:${r(On)}px;`)}),i(`wheel`,de,ta),te(`pointerdown`,pe,ia),i(`wheel`,pe,ta),n(e,t)};y(to,e=>{r(Pt)?e(no):r(yn).length?r(B)==null||r(V)==null?e(io,2):e(ao,-1):e(ro,1)}),f(eo),f($a),f(Qa),ie(Qa,e=>h(H,e),()=>r(H)),f(da);var oo=b(da,2),so=e=>{ie(ge(e,{get referenceEl(){return r(Jt)},placement:`top-start`,offset:[0,10],children:e=>{var t=ht();u(t,21,()=>r(Kn),re,(e,t,i)=>{var a=lt();se(a,1,ee(i===0?`font-semibold text-rc-gray-050`:`mt-1 whitespace-pre-wrap break-words text-rc-gray-300`));var o=v(a,!0);f(a),g(()=>c(o,r(t))),n(e,a)}),f(t),n(e,t)},$$slots:{default:!0}}),e=>h(Yt,e,!0),()=>r(Yt))};y(oo,e=>{r(qt)&&r(Jt)&&e(so)});var co=b(oo,2),lo=e=>{let t=_(()=>r(Xt));ie(ge(e,{get referenceEl(){return r(Zt)},placement:`top-start`,offset:[0,-4],flip:!1,children:e=>{var i=gt(),a=v(i),o=v(a,!0);f(a),f(i),g(e=>{se(i,1,e),c(o,r(t).fullText)},[()=>ee(qr(r(t)))]),n(e,i)},$$slots:{default:!0}}),e=>h(Qt,e,!0),()=>r(Qt))};y(co,e=>{r(Xt)&&r(Zt)&&e(lo)}),g(e=>{c(ga,`${Et()??``} `),c(Sa,r(bn)),c(Ta,r(yn).length),c(Oa,e)},[()=>$n(r(j).alignmentOffsetMs)]),te(`click`,da,e=>e.stopPropagation()),i(`scroll`,Qa,Yn),n(e,ua),t()}e([`click`,`change`,`pointerdown`]);export{vt as t};