@recombine-ai/bosun 0.14.0 → 0.15.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 (213) hide show
  1. package/bin/bosun.js +7 -0
  2. package/build/client/_app/immutable/assets/0.b0jhAoSC.css +1 -0
  3. package/build/client/_app/immutable/assets/0.b0jhAoSC.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.b0jhAoSC.css.gz +0 -0
  5. package/build/client/_app/immutable/chunks/B-H1Q9z8.js +1 -0
  6. package/build/client/_app/immutable/chunks/B-H1Q9z8.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/B-H1Q9z8.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/Bw1sLzD8.js +1 -0
  9. package/build/client/_app/immutable/chunks/Bw1sLzD8.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/Bw1sLzD8.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/DgGeUDDh.js +1 -0
  12. package/build/client/_app/immutable/chunks/DgGeUDDh.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/DgGeUDDh.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{DpK9GbNl.js → _ObX_iui.js} +1 -1
  15. package/build/client/_app/immutable/chunks/_ObX_iui.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/_ObX_iui.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/dDaNSDKx.js +3 -0
  18. package/build/client/_app/immutable/chunks/dDaNSDKx.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/dDaNSDKx.js.gz +0 -0
  20. package/build/client/_app/immutable/entry/{app.Dsozg03K.js → app.CXNYbjNZ.js} +2 -2
  21. package/build/client/_app/immutable/entry/app.CXNYbjNZ.js.br +0 -0
  22. package/build/client/_app/immutable/entry/app.CXNYbjNZ.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/start.DX2aLUu2.js +1 -0
  24. package/build/client/_app/immutable/entry/start.DX2aLUu2.js.br +2 -0
  25. package/build/client/_app/immutable/entry/start.DX2aLUu2.js.gz +0 -0
  26. package/build/client/_app/immutable/nodes/{0.PqjhF1QL.js → 0.ChOpkDvt.js} +1 -1
  27. package/build/client/_app/immutable/nodes/0.ChOpkDvt.js.br +0 -0
  28. package/build/client/_app/immutable/nodes/0.ChOpkDvt.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/{1.CeaYEPDC.js → 1.CZ241V6d.js} +1 -1
  30. package/build/client/_app/immutable/nodes/1.CZ241V6d.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/1.CZ241V6d.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/10.CtQ2waH5.js +12 -0
  33. package/build/client/_app/immutable/nodes/10.CtQ2waH5.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/10.CtQ2waH5.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/{17.DSVuCWoY.js → 17.DZEkrZrG.js} +3 -3
  36. package/build/client/_app/immutable/nodes/17.DZEkrZrG.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/17.DZEkrZrG.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/18.DFwvZ477.js +11 -0
  39. package/build/client/_app/immutable/nodes/18.DFwvZ477.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/18.DFwvZ477.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/2.Cq5sV4TO.js +35 -0
  42. package/build/client/_app/immutable/nodes/2.Cq5sV4TO.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/2.Cq5sV4TO.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{3.LaYKamuf.js → 3.BcVRP3Tc.js} +1 -1
  45. package/build/client/_app/immutable/nodes/3.BcVRP3Tc.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/3.BcVRP3Tc.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{4.DvSSPHp6.js → 4.B7ESRQGE.js} +1 -1
  48. package/build/client/_app/immutable/nodes/4.B7ESRQGE.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/4.B7ESRQGE.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{5.D0AE4cAT.js → 5.mMF_AkLq.js} +1 -1
  51. package/build/client/_app/immutable/nodes/5.mMF_AkLq.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/5.mMF_AkLq.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/{6.l_w8FITo.js → 6.iMXSLxOR.js} +1 -1
  54. package/build/client/_app/immutable/nodes/6.iMXSLxOR.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/6.iMXSLxOR.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/{8.D51f7wuE.js → 8.Dxp87VJa.js} +1 -1
  57. package/build/client/_app/immutable/nodes/8.Dxp87VJa.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/8.Dxp87VJa.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/9.BZ6i5Mi4.js +2 -0
  60. package/build/client/_app/immutable/nodes/9.BZ6i5Mi4.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/9.BZ6i5Mi4.js.gz +0 -0
  62. package/build/client/_app/version.json +1 -1
  63. package/build/client/_app/version.json.br +0 -0
  64. package/build/client/_app/version.json.gz +0 -0
  65. package/build/server/chunks/{0-C8GM7KhM.js → 0-CXzs0QaI.js} +3 -3
  66. package/build/server/chunks/{0-C8GM7KhM.js.map → 0-CXzs0QaI.js.map} +1 -1
  67. package/build/server/chunks/{1-D6beYunF.js → 1-CvQaa_7h.js} +2 -2
  68. package/build/server/chunks/{1-D6beYunF.js.map → 1-CvQaa_7h.js.map} +1 -1
  69. package/build/server/chunks/{10-DUm1sxLB.js → 10-BM1a-jan.js} +3 -3
  70. package/build/server/chunks/10-BM1a-jan.js.map +1 -0
  71. package/build/server/chunks/{17-DmTinIOr.js → 17-Ci7jncMK.js} +3 -3
  72. package/build/server/chunks/17-Ci7jncMK.js.map +1 -0
  73. package/build/server/chunks/{18-WwHhv16m.js → 18-C-Um7isg.js} +3 -3
  74. package/build/server/chunks/18-C-Um7isg.js.map +1 -0
  75. package/build/server/chunks/{2-OnF-oKQM.js → 2-WobZuiTS.js} +3 -3
  76. package/build/server/chunks/2-WobZuiTS.js.map +1 -0
  77. package/build/server/chunks/{3-Dd-gL5uB.js → 3-XJlvSAsh.js} +2 -2
  78. package/build/server/chunks/{3-Dd-gL5uB.js.map → 3-XJlvSAsh.js.map} +1 -1
  79. package/build/server/chunks/{4-C3x6cmyv.js → 4-BLYLUT-J.js} +2 -2
  80. package/build/server/chunks/{4-C3x6cmyv.js.map → 4-BLYLUT-J.js.map} +1 -1
  81. package/build/server/chunks/{5-CiuoFl6L.js → 5-DRbQjLXq.js} +2 -2
  82. package/build/server/chunks/{5-CiuoFl6L.js.map → 5-DRbQjLXq.js.map} +1 -1
  83. package/build/server/chunks/{6-D_KHM930.js → 6-Bu7P_o9d.js} +2 -2
  84. package/build/server/chunks/{6-D_KHM930.js.map → 6-Bu7P_o9d.js.map} +1 -1
  85. package/build/server/chunks/{8-WnGdxpYD.js → 8-DWB0W7U9.js} +2 -2
  86. package/build/server/chunks/{8-WnGdxpYD.js.map → 8-DWB0W7U9.js.map} +1 -1
  87. package/build/server/chunks/{9-CwinUUou.js → 9-BVZA7RKA.js} +3 -3
  88. package/build/server/chunks/9-BVZA7RKA.js.map +1 -0
  89. package/build/server/chunks/{ChatStepTrace-DirlvCw9.js → ChatStepTrace-CX2Zolmp.js} +6 -5
  90. package/build/server/chunks/ChatStepTrace-CX2Zolmp.js.map +1 -0
  91. package/build/server/chunks/{_layout.svelte-DK7yl8vI.js → _layout.svelte-PtdpfgwJ.js} +66 -4
  92. package/build/server/chunks/_layout.svelte-PtdpfgwJ.js.map +1 -0
  93. package/build/server/chunks/{_page.svelte-BkmclXmx.js → _page.svelte-C3gizoSD.js} +5 -4
  94. package/build/server/chunks/_page.svelte-C3gizoSD.js.map +1 -0
  95. package/build/server/chunks/{_page.svelte-B81e653N.js → _page.svelte-CoCBnE2l.js} +5 -4
  96. package/build/server/chunks/_page.svelte-CoCBnE2l.js.map +1 -0
  97. package/build/server/chunks/{_page.svelte-BTKQMuSz.js → _page.svelte-DA8qrgZc.js} +3 -2
  98. package/build/server/chunks/_page.svelte-DA8qrgZc.js.map +1 -0
  99. package/build/server/chunks/{_page.svelte-ej3vdYeF.js → _page.svelte-DZvcjON6.js} +3 -2
  100. package/build/server/chunks/_page.svelte-DZvcjON6.js.map +1 -0
  101. package/build/server/chunks/steps-DzZCg39h.js +8 -0
  102. package/build/server/chunks/steps-DzZCg39h.js.map +1 -0
  103. package/build/server/index.js +1 -1
  104. package/build/server/index.js.map +1 -1
  105. package/build/server/manifest.js +13 -13
  106. package/build/server/manifest.js.map +1 -1
  107. package/package.json +4 -4
  108. package/src/backend/lib/backend-restart.ts +15 -0
  109. package/src/backend/roleplay/router.ts +42 -5
  110. package/src/backend/roleplay/schema-file.spec.ts +38 -0
  111. package/src/backend/roleplay/schema-file.ts +33 -0
  112. package/src/backend/tests/academy.ts +21 -15
  113. package/src/backend/tests/analyze.ts +2 -1
  114. package/src/lib/agent-catalog.ts +4 -0
  115. package/src/lib/agents-context.ts +8 -0
  116. package/src/lib/api-telescope/client.ts +174 -0
  117. package/src/lib/api-telescope/index.ts +4 -0
  118. package/src/lib/api-telescope/latency-timeline-view-state.spec.ts +25 -0
  119. package/src/lib/api-telescope/latency-timeline-view-state.ts +86 -0
  120. package/src/lib/api-telescope/latency.ts +252 -0
  121. package/src/lib/api-telescope/source-selection.ts +20 -0
  122. package/src/lib/api-telescope/sources.server.ts +94 -0
  123. package/src/lib/api-telescope/types.ts +143 -0
  124. package/src/lib/components/Button.svelte +62 -0
  125. package/src/lib/components/CollapseExpand.svelte +425 -0
  126. package/src/lib/components/CopyTracesDropdown.svelte +118 -0
  127. package/src/lib/components/Dialog.svelte +69 -0
  128. package/src/lib/components/Dropdown.svelte +111 -0
  129. package/src/lib/components/History.svelte +174 -0
  130. package/src/lib/components/Icon.svelte +94 -0
  131. package/src/lib/components/Input.svelte +43 -0
  132. package/src/lib/components/Link.svelte +45 -0
  133. package/src/lib/components/Modal.svelte +45 -0
  134. package/src/lib/components/Panel.svelte +12 -0
  135. package/src/lib/components/PopoverModal.svelte +34 -0
  136. package/src/lib/components/Popper.svelte +109 -0
  137. package/src/lib/components/Tab.svelte +91 -0
  138. package/src/lib/components/Tabs.svelte +140 -0
  139. package/src/lib/components/agent-colors.ts +70 -0
  140. package/src/lib/dom/text-selection.ts +97 -0
  141. package/src/lib/edit/edit-vm.spec.ts +115 -0
  142. package/src/lib/edit/edit-vm.ts +169 -0
  143. package/src/lib/edit/edit-workspace-context.ts +56 -0
  144. package/src/lib/edit/highlight-styles.spec.ts +14 -0
  145. package/src/lib/edit/prompt-highlighter.spec.ts +80 -0
  146. package/src/lib/edit/prompt-highlighter.ts +155 -0
  147. package/src/lib/edit/quote-matching.ts +97 -0
  148. package/src/lib/monaco/bosun-theme.ts +125 -0
  149. package/src/lib/monaco/font.ts +2 -0
  150. package/src/lib/monaco-workers.ts +28 -0
  151. package/src/lib/steps.ts +19 -0
  152. package/src/lib/tests/pii-sanitized-test-draft.ts +50 -0
  153. package/src/lib/trpc-client.ts +16 -0
  154. package/src/lib/ws-client.ts +144 -0
  155. package/src/lib/ws-message.ts +150 -0
  156. package/build/client/_app/immutable/assets/0.C52H_1gD.css +0 -1
  157. package/build/client/_app/immutable/assets/0.C52H_1gD.css.br +0 -0
  158. package/build/client/_app/immutable/assets/0.C52H_1gD.css.gz +0 -0
  159. package/build/client/_app/immutable/chunks/DT-Nc4X8.js +0 -1
  160. package/build/client/_app/immutable/chunks/DT-Nc4X8.js.br +0 -0
  161. package/build/client/_app/immutable/chunks/DT-Nc4X8.js.gz +0 -0
  162. package/build/client/_app/immutable/chunks/DpK9GbNl.js.br +0 -0
  163. package/build/client/_app/immutable/chunks/DpK9GbNl.js.gz +0 -0
  164. package/build/client/_app/immutable/chunks/DpnRcXcI.js +0 -1
  165. package/build/client/_app/immutable/chunks/DpnRcXcI.js.br +0 -0
  166. package/build/client/_app/immutable/chunks/DpnRcXcI.js.gz +0 -0
  167. package/build/client/_app/immutable/chunks/WU4sY4ua.js +0 -3
  168. package/build/client/_app/immutable/chunks/WU4sY4ua.js.br +0 -0
  169. package/build/client/_app/immutable/chunks/WU4sY4ua.js.gz +0 -0
  170. package/build/client/_app/immutable/entry/app.Dsozg03K.js.br +0 -0
  171. package/build/client/_app/immutable/entry/app.Dsozg03K.js.gz +0 -0
  172. package/build/client/_app/immutable/entry/start.u3sAF1g1.js +0 -1
  173. package/build/client/_app/immutable/entry/start.u3sAF1g1.js.br +0 -2
  174. package/build/client/_app/immutable/entry/start.u3sAF1g1.js.gz +0 -0
  175. package/build/client/_app/immutable/nodes/0.PqjhF1QL.js.br +0 -0
  176. package/build/client/_app/immutable/nodes/0.PqjhF1QL.js.gz +0 -0
  177. package/build/client/_app/immutable/nodes/1.CeaYEPDC.js.br +0 -0
  178. package/build/client/_app/immutable/nodes/1.CeaYEPDC.js.gz +0 -0
  179. package/build/client/_app/immutable/nodes/10.DDmx2fJe.js +0 -12
  180. package/build/client/_app/immutable/nodes/10.DDmx2fJe.js.br +0 -0
  181. package/build/client/_app/immutable/nodes/10.DDmx2fJe.js.gz +0 -0
  182. package/build/client/_app/immutable/nodes/17.DSVuCWoY.js.br +0 -0
  183. package/build/client/_app/immutable/nodes/17.DSVuCWoY.js.gz +0 -0
  184. package/build/client/_app/immutable/nodes/18.D5HhWZR8.js +0 -11
  185. package/build/client/_app/immutable/nodes/18.D5HhWZR8.js.br +0 -0
  186. package/build/client/_app/immutable/nodes/18.D5HhWZR8.js.gz +0 -0
  187. package/build/client/_app/immutable/nodes/2.D6Bd4az6.js +0 -35
  188. package/build/client/_app/immutable/nodes/2.D6Bd4az6.js.br +0 -0
  189. package/build/client/_app/immutable/nodes/2.D6Bd4az6.js.gz +0 -0
  190. package/build/client/_app/immutable/nodes/3.LaYKamuf.js.br +0 -0
  191. package/build/client/_app/immutable/nodes/3.LaYKamuf.js.gz +0 -0
  192. package/build/client/_app/immutable/nodes/4.DvSSPHp6.js.br +0 -0
  193. package/build/client/_app/immutable/nodes/4.DvSSPHp6.js.gz +0 -0
  194. package/build/client/_app/immutable/nodes/5.D0AE4cAT.js.br +0 -0
  195. package/build/client/_app/immutable/nodes/5.D0AE4cAT.js.gz +0 -0
  196. package/build/client/_app/immutable/nodes/6.l_w8FITo.js.br +0 -0
  197. package/build/client/_app/immutable/nodes/6.l_w8FITo.js.gz +0 -0
  198. package/build/client/_app/immutable/nodes/8.D51f7wuE.js.br +0 -0
  199. package/build/client/_app/immutable/nodes/8.D51f7wuE.js.gz +0 -0
  200. package/build/client/_app/immutable/nodes/9.6UjiO-jB.js +0 -2
  201. package/build/client/_app/immutable/nodes/9.6UjiO-jB.js.br +0 -0
  202. package/build/client/_app/immutable/nodes/9.6UjiO-jB.js.gz +0 -0
  203. package/build/server/chunks/10-DUm1sxLB.js.map +0 -1
  204. package/build/server/chunks/17-DmTinIOr.js.map +0 -1
  205. package/build/server/chunks/18-WwHhv16m.js.map +0 -1
  206. package/build/server/chunks/2-OnF-oKQM.js.map +0 -1
  207. package/build/server/chunks/9-CwinUUou.js.map +0 -1
  208. package/build/server/chunks/ChatStepTrace-DirlvCw9.js.map +0 -1
  209. package/build/server/chunks/_layout.svelte-DK7yl8vI.js.map +0 -1
  210. package/build/server/chunks/_page.svelte-B81e653N.js.map +0 -1
  211. package/build/server/chunks/_page.svelte-BTKQMuSz.js.map +0 -1
  212. package/build/server/chunks/_page.svelte-BkmclXmx.js.map +0 -1
  213. package/build/server/chunks/_page.svelte-ej3vdYeF.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-C3gizoSD.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/edit/_agent_/roleplay/_page.svelte.js"],"sourcesContent":["import { b as attr_class, e as escape_html, a as ensure_array_like, f as derived, d as attr, g as clsx, s as stringify, c as attr_style } from \"../../../../../chunks/index.js\";\nimport { B as Button } from \"../../../../../chunks/Button.js\";\nimport { D as Dropdown } from \"../../../../../chunks/Dropdown.js\";\nimport { I as Icon } from \"../../../../../chunks/Icon.js\";\nimport { t as trpc } from \"../../../../../chunks/trpc-client.js\";\nimport { P as Panel, g as getEditWorkspaceContext } from \"../../../../../chunks/edit-workspace-context.js\";\nimport { C as ChatApiCallTrace, a as ChatConversationalTrace, f as findMainStepTraceNear, b as ChatStepTrace, c as findStringifiedConversationBefore } from \"../../../../../chunks/ChatStepTrace.js\";\nimport { i as isMainStepName } from \"../../../../../chunks/steps.js\";\nimport { i as isApiCallTrace, b as isConversationalTrace, d as isStepTrace, e as chatContent, l as logContent, c as clearChatContent, a as clearLogs } from \"../../../../../chunks/log-content.svelte.js\";\nimport \"clsx\";\nimport { I as Input } from \"../../../../../chunks/Input.js\";\nfunction History($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n agentStates,\n currentState,\n onSelectState,\n class: className = \"\"\n } = $$props;\n let isOpen = false;\n let anchorEl = null;\n const MONTHS_SHORT = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ];\n function toggleDropdown() {\n isOpen = !isOpen;\n }\n function handleSelectState(stateId) {\n onSelectState(stateId);\n isOpen = false;\n }\n function getUserMessage(state) {\n const raw = state.userMessage;\n if (raw == null) return \"No message\";\n const msg = (typeof raw === \"string\" ? raw : String(raw)).trim();\n if (!msg) return \"No message\";\n return state.userMessageSender === \"system\" ? `System: ${msg}` : msg;\n }\n function truncateMessage(message, maxLength = 50, ellipsis = \"…\") {\n if (!message) return \"\";\n if (message.length <= maxLength) return message;\n const slice = message.slice(0, maxLength + 1);\n const lastSpace = Math.max(slice.lastIndexOf(\" \"), slice.lastIndexOf(\" \"), slice.lastIndexOf(\"\t\"), slice.lastIndexOf(\"\\n\"), slice.lastIndexOf(\"\\r\"));\n const cut = lastSpace > 0 ? slice.slice(0, lastSpace) : message.slice(0, maxLength);\n return cut.trimEnd() + ellipsis;\n }\n function handleKeyDown(event) {\n if (event.key === \"ArrowDown\" && !isOpen) {\n isOpen = true;\n event.preventDefault();\n } else if (event.key === \"ArrowUp\" && isOpen) {\n isOpen = false;\n event.preventDefault();\n }\n }\n function formatStateTime(d) {\n const day = d.getDate();\n const month = MONTHS_SHORT[d.getMonth()];\n let hour = d.getHours();\n const ampm = hour >= 12 ? \"PM\" : \"AM\";\n hour = hour % 12;\n if (hour === 0) hour = 12;\n const minute = String(d.getMinutes()).padStart(2, \"0\");\n const now = /* @__PURE__ */ new Date();\n const year = d.getFullYear();\n const yearPart = year !== now.getFullYear() ? ` ${year}` : \"\";\n return `${day} ${month}${yearPart}, ${hour}:${minute} ${ampm}`;\n }\n function formatStateLabel(state) {\n const fromId = new Date(state.id);\n if (!Number.isNaN(fromId.getTime())) return formatStateTime(fromId);\n const fromName = new Date(state.name);\n if (!Number.isNaN(fromName.getTime())) return formatStateTime(fromName);\n return state.name || \"History\";\n }\n let selectedState = derived(() => agentStates.find((s) => s.id === currentState) ?? null);\n let triggerTitle = derived(() => selectedState() ? formatStateLabel(selectedState()) : \"History\");\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div${attr_class(`relative ${className}`)}>`);\n Button($$renderer3, {\n variant: \"ghost\",\n \"aria-expanded\": isOpen,\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": \"history-dropdown\",\n onclick: toggleDropdown,\n onkeydown: handleKeyDown,\n class: \"inline-flex w-40 items-center rounded-lg border border-transparent !bg-rc-gray-700 !px-3 !pb-1 !pt-[5px] text-rc-gray-200 hover:border hover:border-rc-gray-500 focus:outline-none focus:ring-0\",\n get el() {\n return anchorEl;\n },\n set el($$value) {\n anchorEl = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n $$renderer4.push(`<span class=\"min-w-0 flex-1 truncate text-left\">${escape_html(triggerTitle())}</span> `);\n Icon($$renderer4, {\n name: \"chevron-down\",\n class: \"size-7 shrink-0 text-rc-gray-500 transition-transform duration-200 \" + (isOpen ? \"rotate-180\" : \"\")\n });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n {\n let children = function($$renderer4) {\n $$renderer4.push(`<div class=\"mt-1 max-h-96 w-max min-w-full max-w-[min(26rem,90vw)] overflow-y-auto overflow-x-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 backdrop-blur-2xl\" role=\"listbox\"><!--[-->`);\n const each_array = ensure_array_like(agentStates.slice().reverse());\n for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n let state = each_array[$$index];\n Button($$renderer4, {\n variant: \"ghost\",\n size: \"small\",\n role: \"option\",\n \"aria-selected\": state.id === currentState,\n onclick: () => handleSelectState(state.id),\n class: \"group w-full rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl last:border-b-0 hover:bg-rc-gray-700 focus:bg-rc-gray-400\",\n children: ($$renderer5) => {\n $$renderer5.push(`<div class=\"flex items-start gap-2\"><div class=\"min-w-0\"><div class=\"truncate p-1 text-sm text-rc-gray-300 group-hover:text-rc-gray-200\">${escape_html(formatStateLabel(state))}</div> `);\n if (state.id === currentState) {\n $$renderer5.push(\"<!--[0-->\");\n $$renderer5.push(`<div class=\"truncate p-1 text-base font-semibold text-rc-green-200\">${escape_html(truncateMessage(getUserMessage(state)))}</div>`);\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n $$renderer5.push(`<div class=\"truncate p-1 text-base font-semibold text-rc-gray-100\">${escape_html(truncateMessage(getUserMessage(state)))}</div>`);\n }\n $$renderer5.push(`<!--]--></div></div>`);\n },\n $$slots: { default: true }\n });\n }\n $$renderer4.push(`<!--]--></div>`);\n };\n Dropdown($$renderer3, {\n id: \"history-dropdown\",\n open: isOpen,\n onClose: () => isOpen = false,\n anchorEl,\n placement: \"bottom-start\",\n offset: [0, 1],\n children\n });\n }\n $$renderer3.push(`<!----></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction agentContextFromRuntime(value) {\n if (isRecord(value) && isRecord(value.context)) return cloneRecord(value.context);\n return cloneRecord(value);\n}\nfunction mocksFromRuntime(value) {\n if (!isRecord(value) || !isRecord(value.mocks)) return void 0;\n return cloneRecord(value.mocks);\n}\nfunction cloneRecord(value) {\n if (!isRecord(value)) return {};\n return cloneValue(value);\n}\nfunction isRecord(value) {\n return !!value && typeof value === \"object\" && !Array.isArray(value);\n}\nfunction cloneValue(value) {\n try {\n return structuredClone(value);\n } catch {\n try {\n return JSON.parse(JSON.stringify(value));\n } catch {\n return value;\n }\n }\n}\nfunction Dialog($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let dialog;\n let {\n showCloseButton = false,\n children\n } = $$props;\n $$renderer2.push(`<dialog class=\"dialog m-auto bg-transparent p-0 text-rc-gray-100 shadow-md svelte-jby388\">`);\n children($$renderer2);\n $$renderer2.push(`<!----> `);\n if (showCloseButton) {\n $$renderer2.push(\"<!--[0-->\");\n Button($$renderer2, {\n variant: \"ghost\",\n onclick: () => dialog.close(),\n class: \"absolute right-2 top-2\",\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->✕`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></dialog>`);\n });\n}\nfunction computeSuggestions(rawQuery, history, limit = 5) {\n if (!history.length) return [];\n const trimmedRaw = rawQuery.trim();\n const trimmedRawLower = trimmedRaw.toLowerCase();\n const normalizedQuery = normalizeMatchText(rawQuery, false).text;\n const consumeTrailingSeparators = /\\s$/u.test(rawQuery);\n if (!normalizeMatchText(rawQuery, true).text) return [];\n const matches = [];\n for (const item of history) {\n const normalizedCandidate = normalizeMatchText(item.text);\n if (!normalizedCandidate.text) continue;\n if (item.text.trim().toLowerCase() === trimmedRawLower) continue;\n const match = findMatch(\n normalizedCandidate,\n item.text,\n normalizedQuery,\n consumeTrailingSeparators\n );\n if (!match) continue;\n matches.push({ item, match });\n }\n matches.sort((a, b) => {\n if (a.match.kindRank !== b.match.kindRank) return a.match.kindRank - b.match.kindRank;\n if (a.match.span !== b.match.span) return a.match.span - b.match.span;\n if (a.match.start !== b.match.start) return a.match.start - b.match.start;\n if (a.item.lastSeen !== b.item.lastSeen) return b.item.lastSeen - a.item.lastSeen;\n if (a.item.uses !== b.item.uses) return b.item.uses - a.item.uses;\n return a.item.text.length - b.item.text.length;\n });\n return matches.slice(0, limit).map((m) => ({\n text: m.item.text,\n prefixEndIndex: m.match.prefixEndIndex,\n segments: buildSegments(m.item.text, m.match.ranges)\n }));\n}\nfunction normalizeMatchText(value, trimEnd = true) {\n const chars = [];\n const ranges = [];\n for (let i = 0; i < value.length; i++) {\n const token = normalizeChar(value[i]);\n if (token === \" \") {\n if (!chars.length) continue;\n const last = chars.length - 1;\n if (chars[last] === \" \") {\n ranges[last][1] = i + 1;\n continue;\n }\n }\n chars.push(token);\n ranges.push([i, i + 1]);\n }\n if (trimEnd && chars[chars.length - 1] === \" \") {\n chars.pop();\n ranges.pop();\n }\n return { text: chars.join(\"\"), ranges };\n}\nfunction normalizeChar(ch) {\n if (/\\s/u.test(ch)) return \" \";\n try {\n return /[\\p{P}\\p{S}]/u.test(ch) ? \" \" : ch.toLowerCase();\n } catch {\n return /[^a-z0-9\\s]/i.test(ch) ? \" \" : ch.toLowerCase();\n }\n}\nfunction findMatch(normalizedCandidate, rawCandidate, normalizedQuery, consumeTrailingSeparators) {\n if (!normalizedCandidate.text) return null;\n if (normalizedCandidate.text.startsWith(normalizedQuery)) {\n const end = prefixEndIndexIgnoringPunctuation(rawCandidate, normalizedQuery, consumeTrailingSeparators) ?? rawCandidate.length;\n const clampedEnd = Math.max(0, Math.min(rawCandidate.length, end));\n return {\n kindRank: 0,\n start: 0,\n span: normalizedQuery.length,\n ranges: [[0, clampedEnd]],\n prefixEndIndex: clampedEnd\n };\n }\n const substringIndex = normalizedCandidate.text.indexOf(normalizedQuery);\n if (substringIndex !== -1) {\n return {\n kindRank: getSubstringKindRank(\n normalizedCandidate.text,\n substringIndex,\n normalizedQuery.length\n ),\n start: substringIndex,\n span: normalizedQuery.length,\n ranges: normalizedSliceToRawRanges(\n normalizedCandidate,\n substringIndex,\n substringIndex + normalizedQuery.length\n ),\n prefixEndIndex: rawCandidate.length\n };\n }\n return null;\n}\nfunction isWordBoundary(value, index) {\n if (index <= 0) return true;\n return value[index - 1] === \" \";\n}\nfunction isWordEndBoundary(value, index) {\n if (index >= value.length) return true;\n return value[index] === \" \";\n}\nfunction getSubstringKindRank(value, start, length) {\n const startsAtBoundary = isWordBoundary(value, start);\n const endsAtBoundary = isWordEndBoundary(value, start + length);\n if (startsAtBoundary && endsAtBoundary) return 1;\n if (startsAtBoundary) return 2;\n return 3;\n}\nfunction normalizedSliceToRawRanges(normalized, start, end) {\n const clampedStart = Math.max(0, Math.min(normalized.ranges.length, start));\n const clampedEnd = Math.max(clampedStart, Math.min(normalized.ranges.length, end));\n return mergeRanges(normalized.ranges.slice(clampedStart, clampedEnd));\n}\nfunction prefixEndIndexIgnoringPunctuation(candidate, normalizedQuery, consumeTrailingSeparators) {\n if (!normalizedQuery) return null;\n let normalized = \"\";\n let lastWasSpace = true;\n for (let i = 0; i < candidate.length; i++) {\n const ch = candidate[i];\n let token;\n if (/\\s/u.test(ch)) {\n token = \" \";\n } else {\n try {\n token = /[\\p{P}\\p{S}]/u.test(ch) ? \" \" : ch.toLowerCase();\n } catch {\n token = /[^a-z0-9\\s]/i.test(ch) ? \" \" : ch.toLowerCase();\n }\n }\n if (token === \" \") {\n if (lastWasSpace) continue;\n normalized += \" \";\n lastWasSpace = true;\n } else {\n normalized += token;\n lastWasSpace = false;\n }\n if (normalized.length === normalizedQuery.length) {\n if (normalized !== normalizedQuery) return null;\n let end = i + 1;\n if (consumeTrailingSeparators && normalizedQuery.endsWith(\" \")) {\n let j = end;\n while (j < candidate.length) {\n const c = candidate[j];\n if (/\\s/u.test(c)) {\n j += 1;\n continue;\n }\n try {\n if (/[\\p{P}\\p{S}]/u.test(c)) {\n j += 1;\n continue;\n }\n } catch {\n if (/[^a-z0-9\\s]/i.test(c)) {\n j += 1;\n continue;\n }\n }\n break;\n }\n end = j;\n }\n return end;\n }\n if (normalized.length > normalizedQuery.length) {\n return null;\n }\n }\n return null;\n}\nfunction buildSegments(text, ranges) {\n const merged = mergeRanges(ranges);\n if (!merged.length) return [{ text, matched: false }];\n const segments = [];\n let cursor = 0;\n for (const [start, end] of merged) {\n if (start > cursor) {\n segments.push({ text: text.slice(cursor, start), matched: false });\n }\n segments.push({ text: text.slice(start, end), matched: true });\n cursor = end;\n }\n if (cursor < text.length) {\n segments.push({ text: text.slice(cursor), matched: false });\n }\n return segments.filter((s) => s.text.length > 0);\n}\nfunction mergeRanges(ranges) {\n if (!ranges.length) return [];\n const sorted = ranges.map(([start, end]) => [Math.max(0, start), Math.max(0, end)]).filter(([start, end]) => end > start).sort((a, b) => a[0] - b[0] || a[1] - b[1]);\n if (!sorted.length) return [];\n const merged = [[sorted[0][0], sorted[0][1]]];\n for (let i = 1; i < sorted.length; i++) {\n const [start, end] = sorted[i];\n const current = merged[merged.length - 1];\n if (start <= current[1]) {\n current[1] = Math.max(current[1], end);\n continue;\n }\n merged.push([start, end]);\n }\n return merged;\n}\nfunction PlaygroundChat($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n class: className,\n onmessage,\n context,\n agentId,\n region,\n agentType,\n analyzeDisabled = false,\n onAnalyzeTrace,\n onRegenerateTrace,\n onRevertToState,\n onSeeVariants,\n onHangup,\n variantSourceTrace = null,\n variantChoices = [],\n variantLoading = false,\n variantApplyingId = null,\n variantError = null,\n onCancelVariants,\n onRegenerateVariants,\n onChooseOriginalVariant,\n onChooseVariant\n } = $$props;\n let text = \"\";\n let imageUrlInputValue = \"\";\n let inputEl = null;\n let ghostTextStyle = \"\";\n let aiGenerating = false;\n let sendRole = \"user\";\n let actionError = null;\n let userHistory = [];\n let inputFocused = false;\n let autocompleteDismissed = false;\n let selectedSuggestionIndex = null;\n const suggestions = derived(() => computeSuggestions(text, userHistory));\n const selectedSuggestion = derived(() => {\n if (selectedSuggestionIndex == null) return null;\n return suggestions()[selectedSuggestionIndex] ?? null;\n });\n const ghostSuffix = derived(() => {\n if (!selectedSuggestion()) return \"\";\n return selectedSuggestion().text.slice(selectedSuggestion().prefixEndIndex);\n });\n const showGenerateAction = derived(() => !variantSourceTrace && true && text.trim().length === 0);\n const dropdownOpen = derived(() => {\n if (variantSourceTrace) return false;\n if (!inputFocused) return false;\n if (autocompleteDismissed) return false;\n return suggestions().length > 0;\n });\n function applySuggestion(s) {\n text = s.text;\n selectedSuggestionIndex = null;\n autocompleteDismissed = true;\n }\n function handleInputFocus() {\n inputFocused = true;\n autocompleteDismissed = false;\n }\n function handleInputBlur() {\n inputFocused = false;\n selectedSuggestionIndex = null;\n autocompleteDismissed = false;\n }\n function handleInput() {\n selectedSuggestionIndex = null;\n autocompleteDismissed = false;\n }\n function handleInputKeydown(event) {\n if (event.key === \"Escape\") {\n if (dropdownOpen()) {\n event.preventDefault();\n }\n autocompleteDismissed = true;\n selectedSuggestionIndex = null;\n return;\n }\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n if (!suggestions().length) return;\n if (autocompleteDismissed) autocompleteDismissed = false;\n event.preventDefault();\n const max = suggestions().length - 1;\n if (selectedSuggestionIndex === null) {\n selectedSuggestionIndex = event.key === \"ArrowUp\" ? max : 0;\n } else {\n const delta = event.key === \"ArrowUp\" ? -1 : 1;\n selectedSuggestionIndex = Math.max(0, Math.min(max, selectedSuggestionIndex + delta));\n }\n return;\n }\n if (event.key === \"Enter\" || event.key === \"Tab\" && !event.shiftKey) {\n if (selectedSuggestionIndex === null) return;\n const s = suggestions()[selectedSuggestionIndex];\n if (!s) return;\n event.preventDefault();\n applySuggestion(s);\n return;\n }\n }\n function getPromptForDiff(trace) {\n if (!trace) return null;\n if (typeof trace.renderedPrompt === \"string\") return trace.renderedPrompt;\n return null;\n }\n function findMainComparisonTrace(entries, index) {\n for (let i = index - 1; i >= 0; i--) {\n const entry = entries[i];\n if (isStepTrace(entry) && isMainStepName(entry.name) && getPromptForDiff(entry)) return entry;\n }\n for (let i = index - 1; i >= 0; i--) {\n const entry = entries[i];\n if (isStepTrace(entry) && entry.name === \"prewarm\" && getPromptForDiff(entry)) return entry;\n }\n return null;\n }\n function isRenderableConversationalMessage(trace) {\n if ((trace.eventName === \"received-message\" || trace.eventName === \"llm-handler-stream-requested\") && !String(trace.content ?? \"\").trim()) {\n return false;\n }\n return trace.eventName === \"received-message\" || trace.eventName === \"llm-handler-stream-requested\" || trace.eventName === \"finished-main-streaming-step\" || trace.eventName === \"sent-message\" || trace.eventName === \"transfer-requested\" || trace.eventName === \"hangup-requested\";\n }\n function isVariantEligibleTrace(trace) {\n return !!(agentId && agentId.trim()) && trace.eventName !== \"transfer-requested\" && (trace.eventName === \"finished-main-streaming-step\" || trace.eventName === \"sent-message\");\n }\n function isUserConversationalTrace(trace) {\n return trace.role === \"user\" || trace.eventName === \"received-message\" || trace.eventName === \"llm-handler-stream-requested\";\n }\n function extractUserText(raw) {\n const value = String(raw ?? \"\").trim();\n if (!value) return \"\";\n if (/^\\[image\\]\\s+/.test(value)) return \"\";\n return value;\n }\n function inputSenderForTrace(trace) {\n const rawSender = trace?.bosunInputMessageSender;\n if (rawSender === \"system\") return \"system\";\n if (rawSender === \"user\") return \"user\";\n return trace.role === \"system\" ? \"system\" : \"user\";\n }\n function handleRevertTrace(trace) {\n if (!onRevertToState) return;\n const rawPrev = trace?.bosunPrevStateId;\n const prevStateId = typeof rawPrev === \"string\" && rawPrev.trim().length > 0 ? rawPrev : null;\n onRevertToState(prevStateId);\n const rawUserMessage = typeof trace?.bosunUserMessage === \"string\" ? trace.bosunUserMessage : trace.content;\n text = extractUserText(rawUserMessage);\n sendRole = inputSenderForTrace(trace);\n autocompleteDismissed = false;\n selectedSuggestionIndex = null;\n requestAnimationFrame(() => {\n try {\n inputEl?.focus();\n inputEl?.select();\n } catch {\n }\n });\n }\n function handleSecondaryChatButton() {\n if (agentType === \"text\") ;\n else if (agentType === \"voice\") {\n onHangup?.();\n }\n }\n const MONTHS_SHORT = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ];\n function dateKey(ms) {\n if (typeof ms !== \"number\" || !Number.isFinite(ms)) return null;\n const d = new Date(ms);\n if (Number.isNaN(d.getTime())) return null;\n const yyyy = d.getFullYear();\n const mm = String(d.getMonth() + 1).padStart(2, \"0\");\n const dd = String(d.getDate()).padStart(2, \"0\");\n return `${yyyy}-${mm}-${dd}`;\n }\n function formatDateLabel(ms) {\n if (typeof ms !== \"number\" || !Number.isFinite(ms)) return null;\n const d = new Date(ms);\n if (Number.isNaN(d.getTime())) return null;\n const day = d.getDate();\n const month = MONTHS_SHORT[d.getMonth()];\n const year = d.getFullYear();\n return `${day} ${month} ${year}`;\n }\n const renderableEntries = derived(() => {\n return chatContent.filter((entry) => {\n if (isApiCallTrace(entry) || isStepTrace(entry)) return true;\n if (isConversationalTrace(entry)) return isRenderableConversationalMessage(entry);\n return false;\n });\n });\n const controlsDisabled = derived(() => {\n return chatContent.findLast((e) => isConversationalTrace(e))?.eventName === \"hangup-requested\";\n });\n const lastVariantEligibleTrace = derived(() => {\n const match = renderableEntries().map((entry, index) => ({ entry, index })).reverse().find(({ entry, index }) => {\n if (!isConversationalTrace(entry) || !isVariantEligibleTrace(entry)) return false;\n return renderableEntries().slice(0, index).some((candidate) => isConversationalTrace(candidate) && isUserConversationalTrace(candidate));\n });\n return match && isConversationalTrace(match.entry) ? match.entry : null;\n });\n const aiResponseContext = derived(() => {\n const trace = lastVariantEligibleTrace();\n if (!trace) return null;\n try {\n const input = buildAnalyzeTraceInput(trace);\n return {\n model: input.model,\n stringifiedConversation: input.stringifiedConversation,\n response: input.response\n };\n } catch {\n return null;\n }\n });\n function buildAnalyzeTraceInput(trace) {\n const agent = (agentId ?? \"\").trim();\n if (!agent) throw new Error(\"Agent id is not available; cannot analyze\");\n const idx = chatContent.indexOf(trace);\n if (idx === -1) throw new Error(\"Could not locate trace in chat history\");\n const stepTrace = findMainStepTraceNear(chatContent, idx, { requireRenderedPrompt: true });\n if (!stepTrace) {\n throw new Error(\"Could not find main step trace for this message\");\n }\n const renderedPrompt = typeof stepTrace.renderedPrompt === \"string\" ? stepTrace.renderedPrompt : \"\";\n if (!renderedPrompt.trim()) throw new Error(\"Main step rendered prompt is missing\");\n const stringifiedConversation = typeof stepTrace.stringifiedConversation === \"string\" && stepTrace.stringifiedConversation.trim() ? stepTrace.stringifiedConversation : findStringifiedConversationBefore(chatContent, idx) ?? \"\";\n const response = String(trace?.content ?? \"\");\n if (!response.trim()) throw new Error(\"Message content is missing\");\n const model = typeof stepTrace?.model === \"string\" ? String(stepTrace.model) : void 0;\n const createdAtRaw = trace?.createdAt;\n const createdAt = typeof createdAtRaw === \"number\" && Number.isFinite(createdAtRaw) ? createdAtRaw : void 0;\n return {\n trace,\n stepTrace,\n renderedPrompt,\n stringifiedConversation,\n response,\n model,\n createdAt\n };\n }\n function handleAnalyzeTrace(trace) {\n if (!onAnalyzeTrace) return;\n try {\n actionError = null;\n onAnalyzeTrace(buildAnalyzeTraceInput(trace));\n } catch (e) {\n console.error(e);\n actionError = e instanceof Error ? e.message : String(e);\n }\n }\n function handleRegenerateTrace(trace) {\n if (!onRegenerateTrace) return;\n try {\n actionError = null;\n onRegenerateTrace(trace);\n } catch (e) {\n console.error(e);\n actionError = e instanceof Error ? e.message : String(e);\n }\n }\n async function handleGenerateUserResponse() {\n if (aiGenerating) return;\n const request = aiResponseContext();\n if (!request) return;\n autocompleteDismissed = true;\n selectedSuggestionIndex = null;\n aiGenerating = true;\n try {\n const result = await trpc.agents.generateUserResponse.mutate(request);\n text = result.text;\n autocompleteDismissed = true;\n selectedSuggestionIndex = null;\n requestAnimationFrame(() => {\n try {\n inputEl?.focus();\n inputEl?.setSelectionRange(result.text.length, result.text.length);\n } catch {\n }\n });\n } catch (e) {\n console.error(\"Failed to generate suggested user response\", e);\n } finally {\n aiGenerating = false;\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n Dialog($$renderer3, {\n showCloseButton: true,\n children: ($$renderer4) => {\n Panel($$renderer4, {\n class: \"p-4\",\n children: ($$renderer5) => {\n $$renderer5.push(`<form><h2 class=\"text-l mb-4 text-gray-300\">Image URL</h2> `);\n Input($$renderer5, {\n class: \"mb-2 w-80\",\n get value() {\n return imageUrlInputValue;\n },\n set value($$value) {\n imageUrlInputValue = $$value;\n $$settled = false;\n }\n });\n $$renderer5.push(`<!----> `);\n Button($$renderer5, {\n variant: \"secondary\",\n type: \"submit\",\n class: \"ml-2 p-2\",\n children: ($$renderer6) => {\n $$renderer6.push(`<!---->Attach`);\n },\n $$slots: { default: true }\n });\n $$renderer5.push(`<!----></form>`);\n }\n });\n }\n });\n $$renderer3.push(`<!----> `);\n Panel($$renderer3, {\n class: `relative flex min-h-0 flex-col p-2 pb-16 ${stringify(className)}`,\n children: ($$renderer4) => {\n $$renderer4.push(`<div class=\"rc-scroll min-h-0 flex-1 overflow-y-auto pr-1\"><!--[-->`);\n const each_array = ensure_array_like(renderableEntries());\n for (let idx = 0, $$length = each_array.length; idx < $$length; idx++) {\n let entry = each_array[idx];\n const current = dateKey(entry.createdAt);\n const previous = idx > 0 ? dateKey(renderableEntries()[idx - 1].createdAt) : null;\n const label = formatDateLabel(entry.createdAt);\n if (current && label && current !== previous) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"my-2 flex w-full justify-center\"><div class=\"rounded-full border border-rc-gray-650 bg-rc-gray-800/40 px-3 py-1 text-xs text-rc-gray-200\">${escape_html(label)}</div></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> <div class=\"log-element\"><div>`);\n if (isApiCallTrace(entry)) {\n $$renderer4.push(\"<!--[0-->\");\n ChatApiCallTrace($$renderer4, { trace: entry });\n } else if (isConversationalTrace(entry)) {\n $$renderer4.push(\"<!--[1-->\");\n ChatConversationalTrace($$renderer4, {\n testCreationMode: \"direct\",\n trace: entry,\n context,\n agentId,\n region,\n testSourceStep: findMainStepTraceNear(renderableEntries(), idx),\n testEntries: renderableEntries(),\n analyzeDisabled,\n onAnalyze: onAnalyzeTrace ? handleAnalyzeTrace : void 0,\n onRegenerate: onRegenerateTrace ? handleRegenerateTrace : void 0,\n onRevert: onRevertToState ? handleRevertTrace : void 0,\n showSeeVariants: !!onSeeVariants && !variantSourceTrace && entry === lastVariantEligibleTrace(),\n onSeeVariants,\n variantSelectionState: variantSourceTrace && entry === variantSourceTrace ? \"source\" : \"none\",\n onSelectInVariantMode: variantApplyingId === null && variantSourceTrace && entry === variantSourceTrace ? onChooseOriginalVariant : void 0,\n suppressActionRow: !!variantSourceTrace && entry === variantSourceTrace\n });\n } else if (isStepTrace(entry)) {\n $$renderer4.push(\"<!--[2-->\");\n ChatStepTrace($$renderer4, {\n testCreationMode: \"direct\",\n trace: entry,\n agentId,\n region,\n fallbackConversation: findStringifiedConversationBefore(renderableEntries(), idx),\n runtimeContext: context,\n compareTrace: isMainStepName(entry.name) ? findMainComparisonTrace(renderableEntries(), idx) : null\n });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div> `);\n if (variantSourceTrace && entry === variantSourceTrace) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"ml-7 mt-2 flex flex-col gap-2\">`);\n if (variantLoading) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"rounded-lg border border-rc-green-450 bg-transparent px-3 py-2 text-sm text-rc-gray-300\">Generating 9 more variants…</div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n if (variantError) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"rounded-lg border border-red-500/70 bg-red-950/20 px-3 py-2 text-sm text-red-200\">${escape_html(variantError)}</div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> <!--[-->`);\n const each_array_1 = ensure_array_like(variantChoices);\n for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) {\n let variant = each_array_1[$$index];\n $$renderer4.push(`<button type=\"button\"${attr(\"disabled\", variantApplyingId !== null, true)}${attr_class(`w-full max-w-[83%] cursor-pointer rounded-lg border border-rc-green-450 bg-transparent p-2 pt-1 text-left text-rc-gray-100 backdrop-blur-md transition-colors hover:bg-rc-green-700 focus:outline-none focus-visible:outline-none disabled:cursor-wait disabled:opacity-70 ${variantApplyingId === variant.id ? \"bg-rc-green-700\" : \"\"}`)}><div class=\"whitespace-pre-line break-words\">${escape_html(variant.text)}</div></button>`);\n }\n $$renderer4.push(`<!--]--></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div>`);\n }\n $$renderer4.push(`<!--]--></div> `);\n if (variantSourceTrace) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"absolute bottom-2 left-2 right-2 z-10 flex items-center gap-3 rounded-lg border border-rc-green-450 bg-rc-gray-930/90 px-3 py-3 font-semibold text-rc-gray-100 shadow-inner-white-soft backdrop-blur-3xl\"><span>Choose a variant above to continue</span> <button type=\"button\"${attr(\"disabled\", !onRegenerateVariants || variantLoading || variantApplyingId !== null, true)} class=\"rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-300 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-100 focus:outline-none focus-visible:outline-none disabled:cursor-wait disabled:opacity-50\">Regenerate</button> <button type=\"button\" class=\"rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-300 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-100 focus:outline-none focus-visible:outline-none\">Cancel</button></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n if (actionError) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"absolute bottom-16 left-2 right-2 z-20 rounded-lg border border-red-500/60 bg-red-950/90 px-3 py-2 text-sm text-red-100 shadow-lg\" role=\"alert\">${escape_html(actionError)}</div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> <form><fieldset${attr(\"disabled\", controlsDisabled(), true)} class=\"absolute bottom-2 left-2 right-2 z-10 flex gap-2 disabled:opacity-35\"><div class=\"relative flex-1\">`);\n if (dropdownOpen()) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"absolute bottom-full left-0 right-0 mb-1 max-h-60 overflow-y-auto rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl\" role=\"listbox\"><!--[-->`);\n const each_array_2 = ensure_array_like(suggestions());\n for (let idx = 0, $$length = each_array_2.length; idx < $$length; idx++) {\n let s = each_array_2[idx];\n $$renderer4.push(`<button type=\"button\" role=\"option\"${attr(\"aria-selected\", selectedSuggestionIndex === idx)} tabindex=\"-1\"${attr_class(`w-full select-none border-b border-rc-gray-110 px-3 py-2 text-left font-semibold text-rc-gray-100 last:border-b-0 hover:bg-rc-gray-700/70 ${selectedSuggestionIndex === idx ? \"bg-rc-gray-700/70\" : \"\"}`)}><!--[-->`);\n const each_array_3 = ensure_array_like(s.segments);\n for (let $$index_2 = 0, $$length2 = each_array_3.length; $$index_2 < $$length2; $$index_2++) {\n let seg = each_array_3[$$index_2];\n $$renderer4.push(`<span${attr_class(clsx(seg.matched ? \"text-rc-green-200\" : \"\"))}>${escape_html(seg.text)}</span>`);\n }\n $$renderer4.push(`<!--]--></button>`);\n }\n $$renderer4.push(`<!--]--></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--> `);\n Input($$renderer4, {\n variant: \"chat\",\n class: `!text-base !leading-6 !duration-75 ${sendRole === \"system\" ? \"!border-emerald-500 !pl-[5.5rem] hover:!border-emerald-500 focus:!border-emerald-500\" : \"!pl-[4.25rem]\"}`,\n placeholder: aiGenerating ? \"Generating\" : \"Enter message...\",\n autocomplete: \"off\",\n readonly: aiGenerating,\n onfocus: handleInputFocus,\n onblur: handleInputBlur,\n oninput: handleInput,\n onkeydown: handleInputKeydown,\n get value() {\n return text;\n },\n set value($$value) {\n text = $$value;\n $$settled = false;\n },\n get el() {\n return inputEl;\n },\n set el($$value) {\n inputEl = $$value;\n $$settled = false;\n }\n });\n $$renderer4.push(`<!----> <button type=\"button\"${attr(\"title\", sendRole === \"system\" ? \"Switch to user\" : \"Switch to system\")}${attr(\"aria-label\", sendRole === \"system\" ? \"Switch to user\" : \"Switch to system\")}${attr(\"disabled\", aiGenerating, true)} class=\"absolute bottom-0 left-3 top-0 z-20 inline-flex items-center border-r border-rc-gray-500/70 bg-transparent pr-2 text-base font-semibold leading-6 text-rc-gray-300 transition-colors duration-75 hover:text-rc-gray-300 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50\">${escape_html(sendRole === \"system\" ? \"System\" : \"User\")}</button> `);\n if (selectedSuggestionIndex !== null && ghostSuffix()) {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`<div class=\"pointer-events-none absolute inset-0 z-10 overflow-hidden rounded-lg\" aria-hidden=\"true\"><div class=\"whitespace-pre text-rc-gray-400/70\"${attr_style(ghostTextStyle)}><span class=\"invisible\">${escape_html(text)}</span><span>${escape_html(ghostSuffix())}</span></div></div>`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div> `);\n Button($$renderer4, {\n size: \"small\",\n variant: \"secondary\",\n disabled: aiGenerating || !agentType,\n onclick: handleSecondaryChatButton,\n children: ($$renderer5) => {\n if (agentType === \"text\") {\n $$renderer5.push(\"<!--[0-->\");\n Icon($$renderer5, { name: \"paperclip\" });\n } else if (agentType === \"voice\") {\n $$renderer5.push(\"<!--[1-->\");\n Icon($$renderer5, { name: \"hangup\" });\n } else {\n $$renderer5.push(\"<!--[-1-->\");\n }\n $$renderer5.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n if (showGenerateAction()) {\n $$renderer4.push(\"<!--[0-->\");\n Button($$renderer4, {\n size: \"small\",\n type: \"button\",\n title: \"Generate response\",\n \"aria-label\": \"Generate response\",\n disabled: aiGenerating || !aiResponseContext(),\n class: \"inline-flex !w-[59px] items-center justify-center !px-0\",\n onclick: (event) => {\n event.preventDefault();\n void handleGenerateUserResponse();\n },\n children: ($$renderer5) => {\n Icon($$renderer5, { name: \"sparkles\" });\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n Button($$renderer4, {\n size: \"small\",\n type: \"submit\",\n title: sendRole === \"system\" ? \"Send as system\" : \"Send as user\",\n \"aria-label\": sendRole === \"system\" ? \"Send as system\" : \"Send as user\",\n disabled: aiGenerating,\n class: \"inline-flex !w-[59px] items-center justify-center !px-0\",\n children: ($$renderer5) => {\n Icon($$renderer5, { name: \"send\" });\n },\n $$slots: { default: true }\n });\n }\n $$renderer4.push(`<!--]--></fieldset></form>`);\n }\n $$renderer4.push(`<!--]-->`);\n }\n });\n $$renderer3.push(`<!---->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const { state: workspace, actions } = getEditWorkspaceContext();\n let analyzeRunning = false;\n let variantMode = null;\n let copied = null;\n let copyTimer = null;\n let copyMenuOpen = false;\n let copyMenuAnchorEl = null;\n const canGenerateVariants = derived(() => {\n const latestStateId = workspace.agentStates.at(-1)?.id ?? null;\n return !!latestStateId && workspace.currentState === latestStateId;\n });\n function agentLabel(agentId) {\n const label = (agentId || \"\").trim();\n if (!label) return \"Agent\";\n return label.split(\"/\").at(-1) ?? label;\n }\n function formatHHmmss(ms) {\n if (typeof ms !== \"number\" || !Number.isFinite(ms)) return null;\n const d = new Date(ms);\n if (Number.isNaN(d.getTime())) return null;\n const hh = String(d.getHours()).padStart(2, \"0\");\n const mm = String(d.getMinutes()).padStart(2, \"0\");\n const ss = String(d.getSeconds()).padStart(2, \"0\");\n return `${hh}:${mm}:${ss}`;\n }\n async function handleAnalyzeTrace(input) {\n if (analyzeRunning) return;\n analyzeRunning = true;\n const requestId = actions.openPopover(\"analyze\");\n const time = formatHHmmss(input.createdAt);\n const titleSuffix = time ? ` • ${time}` : \"\";\n const title = `Analysis — ${agentLabel(workspace.agentId)}${titleSuffix}`;\n try {\n const res = await trpc.agents.analyzeTrace.mutate({\n agentId: workspace.agentId,\n traceId: input.trace?.traceId,\n eventName: input.trace.eventName,\n createdAt: input.createdAt,\n model: input.model,\n renderedPrompt: input.renderedPrompt,\n stringifiedConversation: input.stringifiedConversation,\n response: input.response,\n stepTrace: input.stepTrace\n });\n if (workspace.edit.popover?.requestId !== requestId) return;\n actions.setHighlightQuotes(res.quotes);\n let raw = null;\n try {\n raw = JSON.stringify(res.raw, null, 2);\n } catch {\n raw = null;\n }\n actions.setPopoverReady(requestId, {\n title,\n quotes: res.quotes,\n rationales: res.rationales,\n parallelCalls: res.parallelCalls,\n raw\n });\n } catch (e) {\n console.error(e);\n const message = typeof e?.message === \"string\" ? e.message : (() => {\n try {\n return JSON.stringify(e);\n } catch {\n return String(e);\n }\n })();\n actions.setPopoverError(requestId, message || \"Failed to analyze this response\", { raw: message });\n } finally {\n analyzeRunning = false;\n }\n }\n function tracesForCopy(includePrompts) {\n if (includePrompts) return chatContent;\n return chatContent.map((entry) => {\n if (!isStepTrace(entry)) return entry;\n const {\n receivedPrompt: _receivedPrompt,\n renderedPrompt: _renderedPrompt,\n ...rest\n } = entry;\n return rest;\n });\n }\n function setCopied(mode) {\n copied = mode;\n if (copyTimer) clearTimeout(copyTimer);\n copyTimer = window.setTimeout(\n () => {\n copied = null;\n copyTimer = null;\n },\n 2e3\n );\n }\n async function copyLogs() {\n try {\n await navigator.clipboard.writeText(JSON.stringify(logContent, null, 2));\n setCopied(\"logs\");\n } catch (e) {\n console.error(\"Failed to copy logs\", e);\n }\n }\n async function copyTraces(includePrompts) {\n try {\n await navigator.clipboard.writeText(JSON.stringify(tracesForCopy(includePrompts), null, 2));\n setCopied(includePrompts ? \"with-prompts\" : \"without-prompts\");\n } catch (e) {\n console.error(\"Failed to copy traces\", e);\n }\n }\n function handleNewChat() {\n clearVariantMode();\n actions.closePopover();\n actions.closeContextPopover();\n actions.selectState(null);\n }\n function parseStoredInputMessage(raw, sender = \"user\") {\n const trimmed = String(raw ?? \"\").trim();\n if (!trimmed) return null;\n const m = /^\\[image\\]\\s+(.+)$/.exec(trimmed);\n if (m) {\n const url = (m[1] ?? \"\").trim();\n if (!url) return null;\n return { sender, text: \"\", imageUrl: url };\n }\n return { sender, text: trimmed };\n }\n function normalizeInputSender(raw) {\n return raw === \"system\" ? \"system\" : \"user\";\n }\n function handleRegenerateTrace(trace) {\n clearVariantMode();\n const rawPrevStateId = trace?.bosunPrevStateId;\n const prevStateId = typeof rawPrevStateId === \"string\" && rawPrevStateId.trim() ? rawPrevStateId : null;\n const rawUserMessage = typeof trace?.bosunUserMessage === \"string\" && trace.bosunUserMessage || null;\n const traceSender = normalizeInputSender(trace?.bosunInputMessageSender);\n let message = rawUserMessage ? parseStoredInputMessage(rawUserMessage, traceSender) : null;\n if (!message) {\n const traceStateId = trace?.bosunStateId;\n if (typeof traceStateId === \"string\" && traceStateId.trim()) {\n const state = workspace.agentStates.find((s) => s.id === traceStateId);\n message = parseStoredInputMessage(state?.userMessage ?? \"\", normalizeInputSender(state?.userMessageSender));\n }\n }\n if (!message) {\n if (rawPrevStateId === void 0) {\n throw new Error(\"Cannot regenerate: this response has no saved state metadata\");\n }\n actions.selectState(prevStateId);\n return;\n }\n actions.selectState(prevStateId);\n actions.sendChatMessage({\n sender: message.sender,\n text: message.text,\n imageUrl: message.imageUrl\n });\n }\n function clearVariantMode() {\n variantMode = null;\n }\n function currentVariantPromptUpdate() {\n const stepName = workspace.currentStep?.name?.trim();\n if (!stepName) return null;\n const prompt = workspace.promptDrafts[stepName];\n if (typeof prompt !== \"string\") return null;\n return { step: stepName, prompt };\n }\n function agentContextForVariant(trace) {\n const idx = chatContent.indexOf(trace);\n const stepTrace = idx === -1 ? null : findMainStepTraceNear(chatContent, idx);\n if (stepTrace && typeof stepTrace.receivedContext !== \"undefined\") {\n return cloneRecord(stepTrace.receivedContext);\n }\n return agentContextFromRuntime(workspace.context);\n }\n function bosunRuntimeContextForVariant(trace) {\n const context = agentContextForVariant(trace);\n const mocks = mocksFromRuntime(workspace.context);\n return mocks ? { context, mocks } : context;\n }\n async function requestVariants(trace) {\n if (!workspace.agentId) return;\n const promptUpdate = currentVariantPromptUpdate();\n await actions.flushPromptSave();\n variantMode = {\n sourceTrace: trace,\n choices: [],\n loading: true,\n applyingId: null,\n error: null\n };\n try {\n const choices = await trpc.agents.generateVariants.mutate({\n agentId: workspace.agentId,\n region: workspace.region,\n context: bosunRuntimeContextForVariant(trace),\n promptUpdate,\n count: 9\n });\n if (!variantMode || variantMode.sourceTrace !== trace) return;\n variantMode = { ...variantMode, choices, loading: false, error: null };\n } catch (error) {\n console.error(\"Failed to generate variants\", error);\n if (!variantMode || variantMode.sourceTrace !== trace) return;\n variantMode = {\n ...variantMode,\n choices: [],\n loading: false,\n error: typeof error?.message === \"string\" ? error.message : \"Failed to generate variants\"\n };\n }\n }\n function handleSeeVariants(trace) {\n void requestVariants(trace);\n }\n function handleHangup() {\n actions.hangup();\n }\n function handleRegenerateVariants() {\n const sourceTrace = variantMode?.sourceTrace;\n if (!sourceTrace) return;\n void requestVariants(sourceTrace);\n }\n async function handleChooseVariant(id) {\n if (!variantMode || !workspace.agentId) return;\n const choice = variantMode.choices.find((variant) => variant.id === id);\n if (!choice) return;\n variantMode = { ...variantMode, applyingId: id, error: null };\n try {\n await trpc.agents.commitVariant.mutate({\n agentId: workspace.agentId,\n region: workspace.region,\n state: choice.state\n });\n clearVariantMode();\n clearChatContent();\n clearLogs();\n actions.sendAppEvent({ type: \"reload-project\" });\n } catch (error) {\n console.error(\"Failed to apply variant\", error);\n if (!variantMode) return;\n variantMode = {\n ...variantMode,\n applyingId: null,\n error: typeof error?.message === \"string\" ? error.message : \"Failed to apply variant\"\n };\n }\n }\n function handleChooseOriginalVariant() {\n clearVariantMode();\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div class=\"relative flex h-full min-h-0 flex-col\"><div class=\"flex flex-none flex-nowrap items-center gap-2 p-2\">`);\n if (workspace.agentStates.length > 1) {\n $$renderer3.push(\"<!--[0-->\");\n History($$renderer3, {\n agentStates: workspace.agentStates,\n currentState: workspace.currentState,\n class: \"ml-9\",\n onSelectState: (id) => actions.selectState(id)\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> <div class=\"ml-auto flex flex-none flex-nowrap items-center gap-2\">`);\n Button($$renderer3, {\n variant: \"secondary\",\n size: \"small\",\n disabled: !workspace.agentId,\n \"aria-expanded\": workspace.contextPopoverOpen,\n \"aria-haspopup\": \"dialog\",\n onclick: actions.toggleContextPopover,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Edit context`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n variant: \"secondary\",\n size: \"small\",\n disabled: !chatContent.length && !logContent.length,\n \"aria-expanded\": copyMenuOpen,\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": \"roleplay-copy-dropdown\",\n onclick: (e) => {\n e.stopPropagation();\n copyMenuOpen = !copyMenuOpen;\n },\n get el() {\n return copyMenuAnchorEl;\n },\n set el($$value) {\n copyMenuAnchorEl = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n if (copied === \"logs\") {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`Copied logs`);\n } else if (copied === \"with-prompts\") {\n $$renderer4.push(\"<!--[1-->\");\n $$renderer4.push(`Copied traces (with prompts)`);\n } else if (copied === \"without-prompts\") {\n $$renderer4.push(\"<!--[2-->\");\n $$renderer4.push(`Copied traces (without prompts)`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`Copy...`);\n }\n $$renderer4.push(`<!--]-->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n {\n let children = function($$renderer4) {\n $$renderer4.push(`<div class=\"mt-1 w-max overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl\" role=\"listbox\">`);\n Button($$renderer4, {\n variant: \"ghost\",\n size: \"small\",\n role: \"option\",\n disabled: !logContent.length,\n onclick: (e) => {\n e.stopPropagation();\n copyMenuOpen = false;\n copyLogs();\n },\n class: \"block rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Copy logs`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n Button($$renderer4, {\n variant: \"ghost\",\n size: \"small\",\n role: \"option\",\n disabled: !chatContent.length,\n onclick: (e) => {\n e.stopPropagation();\n copyMenuOpen = false;\n copyTraces(true);\n },\n class: \"block rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Copy traces with prompts`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n Button($$renderer4, {\n variant: \"ghost\",\n size: \"small\",\n role: \"option\",\n disabled: !chatContent.length,\n onclick: (e) => {\n e.stopPropagation();\n copyMenuOpen = false;\n copyTraces(false);\n },\n class: \"block rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Copy traces without prompts`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----></div>`);\n };\n Dropdown($$renderer3, {\n id: \"roleplay-copy-dropdown\",\n open: copyMenuOpen,\n onClose: () => copyMenuOpen = false,\n anchorEl: copyMenuAnchorEl,\n placement: \"bottom-end\",\n offset: [0, 1],\n children\n });\n }\n $$renderer3.push(`<!----> `);\n Button($$renderer3, {\n size: \"small\",\n onclick: handleNewChat,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->New chat`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----></div></div> <div class=\"min-h-0 flex-1\">`);\n if (!workspace.wsLoaded || !workspace.chatReady) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex h-full items-center justify-center text-sm text-rc-gray-300\">Connecting…</div>`);\n } else if (!workspace.agentId) {\n $$renderer3.push(\"<!--[1-->\");\n $$renderer3.push(`<div class=\"flex h-full items-center justify-center text-sm text-rc-gray-300\">Select an agent to start chatting</div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div class=\"h-full min-h-0 p-2\">`);\n PlaygroundChat($$renderer3, {\n class: \"h-full min-w-0\",\n context: workspace.context,\n agentId: workspace.agentId,\n region: workspace.region,\n agentType: workspace.agentType,\n onmessage: (message) => actions.sendChatMessage(message),\n analyzeDisabled: analyzeRunning,\n onAnalyzeTrace: handleAnalyzeTrace,\n onRegenerateTrace: handleRegenerateTrace,\n onRevertToState: (stateId) => actions.selectState(stateId),\n onSeeVariants: canGenerateVariants() ? handleSeeVariants : void 0,\n onHangup: handleHangup,\n variantSourceTrace: variantMode?.sourceTrace ?? null,\n variantChoices: variantMode?.choices ?? [],\n variantLoading: variantMode?.loading ?? false,\n variantApplyingId: variantMode?.applyingId ?? null,\n variantError: variantMode?.error ?? null,\n onCancelVariants: clearVariantMode,\n onRegenerateVariants: handleRegenerateVariants,\n onChooseOriginalVariant: handleChooseOriginalVariant,\n onChooseVariant: handleChooseVariant\n });\n $$renderer3.push(`<!----></div>`);\n }\n $$renderer3.push(`<!--]--></div></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -3,12 +3,13 @@ import { o as onDestroy } from './index-server-BMxlf3ZC.js';
3
3
  import './root-UeqiktJA.js';
4
4
  import './state.svelte-CLOYXiU6.js';
5
5
  import { g as getPersistedTelescopeSourceId, T as TelescopeClient } from './source-selection-CcN1cgXc.js';
6
+ import { i as isMainStepName } from './steps-DzZCg39h.js';
6
7
  import { b as buildResponseLatencySpans, f as findResponseLatencyUserTurn } from './latency--f3JYIRg.js';
7
8
  import { B as Button } from './Button-oIUr2LUP.js';
8
9
  import { D as Dropdown } from './Dropdown-DfCyYHqi.js';
9
10
  import { I as Icon, h as html } from './Icon-DadJPtVP.js';
10
11
  import { M as Modal } from './Modal-CAzVFw5x.js';
11
- import { C as ChatApiCallTrace, b as ChatStepTrace, c as findStringifiedConversationBefore, a as ChatConversationalTrace, f as findMainStepTraceNear } from './ChatStepTrace-DirlvCw9.js';
12
+ import { C as ChatApiCallTrace, b as ChatStepTrace, c as findStringifiedConversationBefore, a as ChatConversationalTrace, f as findMainStepTraceNear } from './ChatStepTrace-CX2Zolmp.js';
12
13
  import { g as getConversationViewMemory, c as conversationViewMemoryKey } from './conversation-view-memory-B0PllWRL.js';
13
14
  import 'zod';
14
15
  import './trpc-client-D8L6vWf4.js';
@@ -584,7 +585,7 @@ function _page($$renderer, $$props) {
584
585
  const trace = items[i];
585
586
  if (trace.traceType !== "STEP") continue;
586
587
  const step = trace;
587
- if (step.name === "main" && getPromptForDiff(step)) return step;
588
+ if (isMainStepName(step.name) && getPromptForDiff(step)) return step;
588
589
  }
589
590
  for (let i = index - 1; i >= 0; i--) {
590
591
  const trace = items[i];
@@ -802,7 +803,7 @@ ${text}` : text;
802
803
  agentId: testAgentId,
803
804
  region: testRegion,
804
805
  fallbackConversation: findStringifiedConversationBefore(renderableTraces, idx),
805
- compareTrace: trace.name === "main" ? findMainComparisonTrace(renderableTraces, idx) : null,
806
+ compareTrace: isMainStepName(trace.name) ? findMainComparisonTrace(renderableTraces, idx) : null,
806
807
  testCreationMode: "pii-sanitized"
807
808
  });
808
809
  } else {
@@ -940,4 +941,4 @@ ${text}` : text;
940
941
  }
941
942
 
942
943
  export { _page as default };
943
- //# sourceMappingURL=_page.svelte-B81e653N.js.map
944
+ //# sourceMappingURL=_page.svelte-CoCBnE2l.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-CoCBnE2l.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/traces/conversations/_conversationId_/traces/_page.svelte.js"],"sourcesContent":["import { m as getContext, r as fallback, a as ensure_array_like, b as attr_class, e as escape_html, k as bind_props, n as store_get, u as unsubscribe_stores, h as head, d as attr } from \"../../../../../../chunks/index.js\";\nimport { o as onDestroy } from \"../../../../../../chunks/index-server.js\";\nimport \"clsx\";\nimport \"@sveltejs/kit/internal\";\nimport \"../../../../../../chunks/exports.js\";\nimport \"../../../../../../chunks/utils2.js\";\nimport \"@sveltejs/kit/internal/server\";\nimport \"../../../../../../chunks/root.js\";\nimport \"../../../../../../chunks/state.svelte.js\";\nimport { g as getPersistedTelescopeSourceId, T as TelescopeClient } from \"../../../../../../chunks/source-selection.js\";\nimport { i as isMainStepName } from \"../../../../../../chunks/steps.js\";\nimport { b as buildResponseLatencySpans, f as findResponseLatencyUserTurn } from \"../../../../../../chunks/latency.js\";\nimport { B as Button } from \"../../../../../../chunks/Button.js\";\nimport { D as Dropdown } from \"../../../../../../chunks/Dropdown.js\";\nimport { I as Icon, h as html } from \"../../../../../../chunks/Icon.js\";\nimport { M as Modal } from \"../../../../../../chunks/Modal.js\";\nimport { C as ChatApiCallTrace, b as ChatStepTrace, c as findStringifiedConversationBefore, a as ChatConversationalTrace, f as findMainStepTraceNear } from \"../../../../../../chunks/ChatStepTrace.js\";\nimport { g as getConversationViewMemory, c as conversationViewMemoryKey } from \"../../../../../../chunks/conversation-view-memory.js\";\nconst getStores = () => {\n const stores$1 = getContext(\"__svelte__\");\n return {\n /** @type {typeof page} */\n page: {\n subscribe: stores$1.page.subscribe\n },\n /** @type {typeof navigating} */\n navigating: {\n subscribe: stores$1.navigating.subscribe\n },\n /** @type {typeof updated} */\n updated: stores$1.updated\n };\n};\nconst page = {\n subscribe(fn) {\n const store = getStores().page;\n return store.subscribe(fn);\n }\n};\nfunction CopyTracesDropdown($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let {\n disabled = false,\n getWithPromptsText,\n getWithoutPromptsText,\n dropdownId = \"copy-traces-dropdown\"\n } = $$props;\n let open = false;\n let anchorEl = null;\n let copied = null;\n let timer = null;\n async function copy(mode) {\n try {\n const text = mode === \"with-prompts\" ? getWithPromptsText() : getWithoutPromptsText();\n await navigator.clipboard.writeText(text);\n copied = mode;\n if (timer) clearTimeout(timer);\n timer = window.setTimeout(\n () => {\n copied = null;\n timer = null;\n },\n 2e3\n );\n } catch (e) {\n console.error(\"Failed to copy traces\", e);\n }\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n $$renderer3.push(`<div>`);\n Button($$renderer3, {\n variant: \"secondary\",\n size: \"small\",\n disabled,\n \"aria-expanded\": open,\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": dropdownId,\n onclick: (e) => {\n e.stopPropagation();\n open = !open;\n },\n class: \"flex items-center gap-1\",\n get el() {\n return anchorEl;\n },\n set el($$value) {\n anchorEl = $$value;\n $$settled = false;\n },\n children: ($$renderer4) => {\n if (copied === \"without-prompts\") {\n $$renderer4.push(\"<!--[0-->\");\n $$renderer4.push(`Copied traces (without prompts)`);\n } else if (copied === \"with-prompts\") {\n $$renderer4.push(\"<!--[1-->\");\n $$renderer4.push(`Copied traces (with prompts)`);\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n $$renderer4.push(`Copy traces`);\n }\n $$renderer4.push(`<!--]--> `);\n Icon($$renderer4, {\n name: \"chevron-down\",\n class: \"size-5 text-rc-gray-400 transition-transform duration-200 \" + (open ? \"rotate-180\" : \"\")\n });\n $$renderer4.push(`<!---->`);\n },\n $$slots: { default: true }\n });\n $$renderer3.push(`<!----> `);\n {\n let children = function($$renderer4) {\n $$renderer4.push(`<div class=\"mt-1 overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl\" role=\"listbox\">`);\n Button($$renderer4, {\n variant: \"ghost\",\n size: \"small\",\n role: \"option\",\n onclick: (e) => {\n e.stopPropagation();\n open = false;\n copy(\"without-prompts\");\n },\n class: \"w-full rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Without prompts`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n Button($$renderer4, {\n variant: \"ghost\",\n size: \"small\",\n role: \"option\",\n onclick: (e) => {\n e.stopPropagation();\n open = false;\n copy(\"with-prompts\");\n },\n class: \"w-full rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400\",\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->With prompts`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----></div>`);\n };\n Dropdown($$renderer3, {\n id: dropdownId,\n open,\n onClose: () => open = false,\n anchorEl,\n placement: \"bottom-end\",\n offset: [0, 1],\n children\n });\n }\n $$renderer3.push(`<!----></div>`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n });\n}\nfunction CollapseExpand($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n let value = fallback($$props[\"value\"], \"\");\n let limit = fallback($$props[\"limit\"], 200);\n let maxLines = fallback($$props[\"maxLines\"], null);\n let className = fallback($$props[\"className\"], \"\");\n let collapsedLabel = fallback($$props[\"collapsedLabel\"], \"...more\");\n let initiallyExpanded = fallback($$props[\"initiallyExpanded\"], false);\n let stopPropagation = fallback($$props[\"stopPropagation\"], true);\n let expanded = fallback($$props[\"expanded\"], initiallyExpanded);\n let treatPlainText = fallback($$props[\"treatPlainText\"], false);\n let highlightPrompt = fallback($$props[\"highlightPrompt\"], false);\n function escapeHtml(text) {\n return text.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\");\n }\n function highlightPromptText(raw) {\n const s = normalizeNewlines(raw);\n let html2 = escapeHtml(s);\n const curlyBlocks = [];\n html2 = html2.replace(/(\\{+[\\s\\S]*?\\}+)/g, (match) => {\n const id = curlyBlocks.length;\n curlyBlocks.push(match);\n return `__CURLY${id}__`;\n });\n html2 = html2.replace(/^(\\s*#.*)$/gm, '<span class=\"prompt-heading\">$1</span>');\n html2 = html2.replace(/(&lt;[^&]*?&gt;)/g, '<span class=\"mtk8\">$1</span>');\n html2 = html2.replace(/^(\\s*)(\\d+)([.)])(\\s+)/gm, (_match, p1, p2, p3, p4) => `${p1}<span class=\"mtk8\">${p2}${p3}</span>${p4}`);\n curlyBlocks.forEach((block, idx) => {\n const highlighted = `<span class=\"mtk5\">${block}</span>`;\n html2 = html2.replace(`__CURLY${idx}__`, highlighted);\n });\n html2 = html2.replace(/\\n/g, \"<br/>\");\n return html2;\n }\n function normalizeNewlines(s) {\n let result = s.replace(/\\r\\n/g, \"\\n\");\n result = result.replace(/\\\\n/g, \"\\n\");\n return result;\n }\n function getPlain(v) {\n try {\n if (Array.isArray(v)) {\n const s = v.map((s2) => s2?.text ?? s2?.content ?? JSON.stringify(s2)).join(\" \");\n return normalizeNewlines(s);\n }\n if (typeof v === \"string\") {\n try {\n const parsed = JSON.parse(v);\n if (Array.isArray(parsed)) {\n const s = parsed.map((s2) => s2?.text ?? s2?.content ?? JSON.stringify(s2)).join(\" \");\n return normalizeNewlines(s);\n }\n return normalizeNewlines(v);\n } catch {\n return normalizeNewlines(v);\n }\n }\n return normalizeNewlines(JSON.stringify(v));\n } catch {\n return normalizeNewlines(String(v ?? \"\"));\n }\n }\n function getFull(v) {\n try {\n if (Array.isArray(v)) {\n const s = v.map((s2) => s2?.text ?? s2?.content ?? JSON.stringify(s2)).join(\"\\n\");\n return normalizeNewlines(s);\n }\n if (typeof v === \"string\") {\n try {\n const parsed = JSON.parse(v);\n if (Array.isArray(parsed)) {\n const s = parsed.map((s2) => s2?.text ?? s2?.content ?? JSON.stringify(s2)).join(\"\\n\");\n return normalizeNewlines(s);\n }\n return normalizeNewlines(v);\n } catch {\n return normalizeNewlines(v);\n }\n }\n return normalizeNewlines(JSON.stringify(v, null, 2));\n } catch {\n return normalizeNewlines(String(v ?? \"\"));\n }\n }\n function parseLine(raw) {\n const s = normalizeNewlines(raw);\n const lines = s.split(/\\n+/).map((l) => l.trim()).filter((l) => l.length > 0);\n const segments2 = [];\n let currentRole = void 0;\n let currentText = \"\";\n for (const line of lines) {\n const m = line.match(/^(user|assistant|system|customer|caller|tool|model|agent)\\s*[:\\-]\\s*(.*)$/i);\n if (m) {\n if (currentText) {\n segments2.push({ text: currentText, role: currentRole });\n }\n currentRole = m[1].toLowerCase();\n currentText = m[2] ?? \"\";\n } else {\n if (currentText) {\n currentText += \"\\n\" + line;\n } else {\n currentText = line;\n }\n }\n }\n if (currentText) {\n segments2.push({ text: currentText, role: currentRole });\n }\n return segments2;\n }\n function asSegments(v) {\n try {\n let raw = v;\n if (typeof v === \"string\") {\n try {\n raw = JSON.parse(v);\n } catch {\n if (!treatPlainText) return [];\n return parseLine(v);\n }\n }\n if (!Array.isArray(raw)) {\n if (Array.isArray(raw?.messages)) {\n raw = raw.messages;\n } else {\n return [];\n }\n }\n return raw.map((s) => {\n let text;\n if (s?.text != null) {\n text = String(s.text);\n } else if (s?.content != null) {\n if (Array.isArray(s.content)) {\n text = s.content.map((part) => {\n if (typeof part === \"string\") return part;\n if (typeof part?.text === \"string\") return part.text;\n if (typeof part?.text?.value === \"string\") return part.text.value;\n return JSON.stringify(part);\n }).join(\" \");\n } else if (typeof s.content === \"string\") {\n text = s.content;\n } else {\n text = JSON.stringify(s.content);\n }\n } else if (typeof s === \"string\") {\n text = s;\n } else {\n text = JSON.stringify(s);\n }\n return {\n text: normalizeNewlines(text),\n role: s?.role,\n time: s?.time,\n duration: s?.duration\n };\n }).filter((s) => s.text && String(s.text).trim().length > 0);\n } catch {\n return [];\n }\n }\n const plain = () => getPlain(value);\n const full = () => getFull(value);\n const plainLines = () => plain().split(\"\\n\");\n const segments = () => asSegments(value);\n const hasStructuredTranscript = () => segments().length > 0;\n const isLong = () => {\n if (maxLines != null) {\n return plainLines().length > maxLines;\n }\n return plain().length > limit;\n };\n const collapsedText = () => {\n const p = plain();\n if (!isLong()) return p;\n if (maxLines != null) {\n return plainLines().slice(0, maxLines).join(\"\\n\");\n }\n return p.slice(0, limit);\n };\n function formatTime(raw) {\n if (!raw) return null;\n try {\n const d = new Date(raw);\n if (Number.isNaN(d.getTime())) return raw;\n return d.toLocaleTimeString(void 0, { hour: \"2-digit\", minute: \"2-digit\", second: \"2-digit\" });\n } catch {\n return raw;\n }\n }\n function formatDuration(raw) {\n if (raw == null || !Number.isFinite(raw)) return null;\n const total = Number(raw);\n const totalSec = Math.floor(total);\n const m = Math.floor(totalSec / 60);\n const s = totalSec % 60;\n const mm = String(m).padStart(2, \"0\");\n const ss = String(s).padStart(2, \"0\");\n return `${mm}:${ss}`;\n }\n function normalizeRole(role) {\n if (!role) return \"Assistant\";\n const r = role.trim();\n if (!r) return \"Assistant\";\n return r.charAt(0).toUpperCase() + r.slice(1);\n }\n function isUserRole(role) {\n const r = role?.toLowerCase() ?? \"\";\n return r === \"user\" || r === \"customer\" || r === \"caller\";\n }\n function splitSystem(text) {\n const system = [];\n const main = text.replace(/<([^>]+)>/g, (_m, inner) => {\n const cleaned = String(inner).trim();\n if (cleaned) system.push(cleaned);\n return \"\";\n }).trim();\n return { main, system };\n }\n if (expanded) {\n $$renderer2.push(\"<!--[0-->\");\n if (hasStructuredTranscript()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"space-y-3\"><!--[-->`);\n const each_array = ensure_array_like(segments());\n for (let $$index_1 = 0, $$length = each_array.length; $$index_1 < $$length; $$index_1++) {\n let seg = each_array[$$index_1];\n const userSide = isUserRole(seg.role);\n const isSystem = (seg.role ?? \"\").toLowerCase() === \"system\";\n const parts = splitSystem(seg.text);\n const t = formatTime(seg.time);\n const d = formatDuration(seg.duration);\n $$renderer2.push(`<div${attr_class(`flex ${userSide ? \"justify-end\" : \"justify-start\"}`)}><div${attr_class(`max-w-[70%] break-words rounded-md px-3 py-2 text-sm shadow-sm ${userSide ? \"bg-rc-gray-600 text-rc-gray-100\" : \"bg-rc-gray-700 text-rc-gray-100\"}`)}><div${attr_class(`my-1 text-xs font-semibold uppercase ${isSystem ? \"text-rc-blue \" + (userSide ? \"text-right\" : \"text-left\") : \"text-rc-green-200 \" + (userSide ? \"text-right\" : \"text-left\")}`)}>${escape_html(normalizeRole(seg.role))}</div> <div${attr_class(`whitespace-pre-wrap break-words py-1 text-sm ${userSide ? \"text-justify\" : \"text-left\"} ${isSystem ? \"italic text-rc-gray-200\" : \"\"}`)}>`);\n if (parts.main) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div>${escape_html(parts.main)}</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_1 = ensure_array_like(parts.system);\n for (let $$index = 0, $$length2 = each_array_1.length; $$index < $$length2; $$index++) {\n let sys = each_array_1[$$index];\n $$renderer2.push(`<div class=\"mt-1 whitespace-pre-wrap break-words text-xs italic text-rc-gray-200\">&lt;${escape_html(sys)}></div>`);\n }\n $$renderer2.push(`<!--]--></div> `);\n if (t || d) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div${attr_class(`mt-1 text-xs text-rc-gray-300 ${userSide ? \"text-right\" : \"text-left\"}`)}>`);\n if (t) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`${escape_html(t)}`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (t && d) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`·`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (d) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`${escape_html(d)}`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"whitespace-pre-wrap break-words\">`);\n if (highlightPrompt) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`${html(highlightPromptText(full()))}`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`${escape_html(full())}`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div${attr_class(`mt-1 cursor-text select-text rounded bg-rc-gray-900 p-2 text-sm text-rc-gray-200 ${className}`)}><span class=\"whitespace-pre-wrap break-words\">`);\n if (highlightPrompt) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`${html(highlightPromptText(collapsedText()))}`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`${escape_html(collapsedText())}`);\n }\n $$renderer2.push(`<!--]--></span> `);\n if (isLong()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<button class=\"inline-flex text-sm text-rc-green-200 hover:text-rc-green-100\">${escape_html(collapsedLabel)}</button>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]-->`);\n bind_props($$props, {\n value,\n limit,\n maxLines,\n className,\n collapsedLabel,\n initiallyExpanded,\n stopPropagation,\n expanded,\n treatPlainText,\n highlightPrompt\n });\n });\n}\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n var $$store_subs;\n let useMock = fallback($$props[\"useMock\"], false);\n const viewMemory = getConversationViewMemory();\n const sourceId = getPersistedTelescopeSourceId() ?? \"\";\n const initialConversationId = store_get($$store_subs ??= {}, \"$page\", page).params.conversationId ?? \"\";\n const initialMemoryKey = conversationViewMemoryKey(initialConversationId, useMock ? \"__mock__\" : sourceId);\n const initialMemory = viewMemory.traces.get(initialMemoryKey);\n const initialTraceTimelineComplete = !!initialMemory?.tracesLoaded && !initialMemory?.hasMoreTraces;\n const client = new TelescopeClient(fetch);\n client.setSourceId(sourceId || void 0);\n let traces = initialMemory?.traces ?? [];\n let latencyTraces = initialMemory?.latencyTraces ?? [];\n let renderableTraces = [];\n let chatLatencyWarningsAfterTraceKey = /* @__PURE__ */ new Map();\n let tracesLoading = false;\n let tracesLoaded = initialTraceTimelineComplete;\n let tracesError = initialMemory?.tracesError ?? null;\n let lastLoadedConversationId = initialTraceTimelineComplete ? initialConversationId : null;\n let lastTraceId = initialMemory?.lastTraceId ?? null;\n let hasMoreTraces = initialMemory?.hasMoreTraces ?? false;\n let conversation = initialMemory?.conversation ?? null;\n let conversationLoaded = initialMemory?.conversationLoaded ?? false;\n let conversationError = initialMemory?.conversationError ?? null;\n let testAgentId = \"\";\n let testRegion = null;\n let scrollViewportEl = null;\n let recordingOpen = false;\n let transcriptOpen = false;\n const syntheticTraceKeys = /* @__PURE__ */ new WeakMap();\n let syntheticTraceKeyCounter = 0;\n function memoryKey(conversationId) {\n const currentSourceId = getPersistedTelescopeSourceId() ?? sourceId;\n return conversationViewMemoryKey(conversationId, useMock ? \"__mock__\" : currentSourceId);\n }\n function saveViewMemory(conversationId = lastLoadedConversationId) {\n if (!conversationId) return;\n const key = memoryKey(conversationId);\n const previous = viewMemory.traces.get(key);\n viewMemory.traces.set(key, {\n traces,\n latencyTraces,\n tracesLoaded,\n tracesError,\n lastTraceId,\n hasMoreTraces,\n conversation,\n conversationLoaded,\n conversationError,\n scrollTop: previous?.scrollTop ?? scrollViewportEl?.scrollTop ?? 0,\n scrollLeft: previous?.scrollLeft ?? scrollViewportEl?.scrollLeft ?? 0\n });\n }\n function normalizeNonEmptyString(value) {\n if (typeof value !== \"string\") return null;\n const trimmed = value.trim();\n return trimmed ? trimmed : null;\n }\n function fmtMs(value) {\n return `${Math.round(value)} ms`;\n }\n function traceKey(trace) {\n const id = normalizeNonEmptyString(trace?.traceId);\n if (id) return id;\n const cached = syntheticTraceKeys.get(trace);\n if (cached) return cached;\n syntheticTraceKeyCounter += 1;\n const key = `synthetic-${trace.traceType}-${trace.createdAt}-${syntheticTraceKeyCounter}`;\n syntheticTraceKeys.set(trace, key);\n return key;\n }\n function tracesForCopy(includePrompts) {\n if (includePrompts) return traces;\n return traces.map((trace) => {\n if (trace.traceType !== \"STEP\") return trace;\n const {\n receivedPrompt: _receivedPrompt,\n renderedPrompt: _renderedPrompt,\n ...rest\n } = trace;\n return rest;\n });\n }\n function getPromptForDiff(trace) {\n if (!trace) return null;\n if (typeof trace.renderedPrompt === \"string\") return trace.renderedPrompt;\n return null;\n }\n function findMainComparisonTrace(items, index) {\n for (let i = index - 1; i >= 0; i--) {\n const trace = items[i];\n if (trace.traceType !== \"STEP\") continue;\n const step = trace;\n if (isMainStepName(step.name) && getPromptForDiff(step)) return step;\n }\n for (let i = index - 1; i >= 0; i--) {\n const trace = items[i];\n if (trace.traceType !== \"STEP\") continue;\n const step = trace;\n if (step.name === \"prewarm\" && getPromptForDiff(step)) return step;\n }\n return null;\n }\n function hasRecording(conv) {\n return !!(conv?.audioUrl && String(conv.audioUrl).trim());\n }\n function hasTranscript(conv) {\n const transcript = conv?.transcript;\n if (typeof transcript === \"string\") return transcript.trim() !== \"\";\n if (Array.isArray(transcript)) return transcript.length > 0;\n return false;\n }\n function transcriptToText(conv) {\n const transcript = conv?.transcript;\n if (!transcript) return \"\";\n if (typeof transcript === \"string\") return transcript;\n if (Array.isArray(transcript)) {\n return transcript.map((seg) => {\n const time = typeof seg?.time === \"string\" ? seg.time : \"\";\n const role = typeof seg?.role === \"string\" ? seg.role : \"\";\n const text = typeof seg?.text === \"string\" ? seg.text : \"\";\n const header = [time, role].filter(Boolean).join(\" • \");\n return header ? `${header}\n${text}` : text;\n }).join(\"\\n\\n\");\n }\n return \"\";\n }\n async function copyTranscript() {\n try {\n await navigator.clipboard.writeText(transcriptToText(conversation));\n } catch (e) {\n console.error(\"Failed to copy transcript\", e);\n }\n }\n async function copyRecordingUrl() {\n try {\n const url = conversation?.audioUrl;\n if (!url) return;\n await navigator.clipboard.writeText(url);\n } catch (e) {\n console.error(\"Failed to copy recording URL\", e);\n }\n }\n function isRenderableConversationalMessage(trace) {\n if (trace.traceType !== \"CONVERSATIONAL\") return false;\n return trace.eventName === \"received-message\" || trace.eventName === \"llm-handler-stream-requested\" || trace.eventName === \"finished-main-streaming-step\" || trace.eventName === \"sent-message\" || trace.eventName === \"transfer-requested\" || trace.eventName === \"hangup-requested\";\n }\n function buildChatLatencyWarningsAfterTraceKey(items, latencyEvents) {\n const byKey = /* @__PURE__ */ new Map();\n for (const span of buildResponseLatencySpans(latencyEvents)) {\n if (!span.isHigh) continue;\n const target = findResponseLatencyUserTurn(items, span);\n if (!target) continue;\n const key = traceKey(target);\n const existing = byKey.get(key);\n if (!existing || span.durationMs > existing.durationMs) {\n byKey.set(key, { id: span.id, durationMs: span.durationMs });\n }\n }\n return byKey;\n }\n function chatLatencyWarningAfterTrace(trace) {\n return chatLatencyWarningsAfterTraceKey.get(traceKey(trace)) ?? null;\n }\n const MONTHS_SHORT = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n ];\n function dateKey(ms) {\n if (typeof ms !== \"number\" || !Number.isFinite(ms)) return null;\n const d = new Date(ms);\n if (Number.isNaN(d.getTime())) return null;\n const yyyy = d.getFullYear();\n const mm = String(d.getMonth() + 1).padStart(2, \"0\");\n const dd = String(d.getDate()).padStart(2, \"0\");\n return `${yyyy}-${mm}-${dd}`;\n }\n function formatDateLabel(ms) {\n if (typeof ms !== \"number\" || !Number.isFinite(ms)) return null;\n const d = new Date(ms);\n if (Number.isNaN(d.getTime())) return null;\n const day = d.getDate();\n const month = MONTHS_SHORT[d.getMonth()];\n const year = d.getFullYear();\n return `${day} ${month} ${year}`;\n }\n onDestroy(() => {\n saveViewMemory();\n });\n renderableTraces = traces.filter((trace) => {\n return trace.traceType === \"API_CALL\" || trace.traceType === \"STEP\" || isRenderableConversationalMessage(trace);\n });\n chatLatencyWarningsAfterTraceKey = buildChatLatencyWarningsAfterTraceKey(renderableTraces, latencyTraces);\n testAgentId = normalizeNonEmptyString(store_get($$store_subs ??= {}, \"$page\", page).url.searchParams.get(\"agent\")) ?? normalizeNonEmptyString(conversation?.agentId) ?? \"\";\n testRegion = normalizeNonEmptyString(store_get($$store_subs ??= {}, \"$page\", page).url.searchParams.get(\"region\"));\n {\n store_get($$store_subs ??= {}, \"$page\", page).params.conversationId;\n }\n let $$settled = true;\n let $$inner_renderer;\n function $$render_inner($$renderer3) {\n head(\"1uatba4\", $$renderer3, ($$renderer4) => {\n $$renderer4.title(($$renderer5) => {\n $$renderer5.push(`<title>Bosun: Telescope</title>`);\n });\n });\n $$renderer3.push(`<div class=\"flex h-full w-full flex-col bg-rc-gray-700\"><div class=\"flex-none border-b border-rc-gray-300/40 p-4\"><div class=\"flex flex-wrap items-start justify-between gap-3\"><h2 class=\"text-lg font-semibold text-rc-gray-100\">Traces `);\n if (store_get($$store_subs ??= {}, \"$page\", page).params.conversationId) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<span class=\"text-rc-gray-100\">for conversation Id:</span> <span class=\"text-rc-green-200\">${escape_html(store_get($$store_subs ??= {}, \"$page\", page).params.conversationId)}</span>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></h2> `);\n if (store_get($$store_subs ??= {}, \"$page\", page).params.conversationId) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"flex flex-wrap items-center gap-2\">`);\n if (hasRecording(conversation)) {\n $$renderer3.push(\"<!--[0-->\");\n Button($$renderer3, {\n variant: \"secondary\",\n size: \"small\",\n onclick: () => recordingOpen = true,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Recording`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (hasTranscript(conversation)) {\n $$renderer3.push(\"<!--[0-->\");\n Button($$renderer3, {\n variant: \"secondary\",\n size: \"small\",\n onclick: () => transcriptOpen = true,\n children: ($$renderer4) => {\n $$renderer4.push(`<!---->Transcript`);\n },\n $$slots: { default: true }\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n CopyTracesDropdown($$renderer3, {\n disabled: !traces.length || tracesLoading,\n getWithPromptsText: () => JSON.stringify(tracesForCopy(true), null, 2),\n getWithoutPromptsText: () => JSON.stringify(tracesForCopy(false), null, 2)\n });\n $$renderer3.push(`<!----></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> `);\n if (conversationError) {\n $$renderer3.push(\"<!--[1-->\");\n $$renderer3.push(`<div class=\"mt-2 text-sm text-rc-gray-300\">Call details unavailable: ${escape_html(conversationError)}</div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--></div> <div class=\"rc-scroll min-h-0 flex-1 overflow-scroll p-4\">`);\n if (!store_get($$store_subs ??= {}, \"$page\", page).params.conversationId) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"py-8 text-center text-rc-gray-300\">No conversation selected</div>`);\n } else if (tracesError) {\n $$renderer3.push(\"<!--[2-->\");\n $$renderer3.push(`<div class=\"z-50 py-8 text-center text-red-400\">Error: ${escape_html(tracesError)}</div>`);\n } else if (!renderableTraces.length) {\n $$renderer3.push(\"<!--[3-->\");\n $$renderer3.push(`<div class=\"py-8 text-center text-rc-gray-300\">No traces found</div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n $$renderer3.push(`<div><!--[-->`);\n const each_array = ensure_array_like(renderableTraces);\n for (let idx = 0, $$length = each_array.length; idx < $$length; idx++) {\n let trace = each_array[idx];\n const current = dateKey(trace.createdAt);\n const previous = idx > 0 ? dateKey(renderableTraces[idx - 1].createdAt) : null;\n const label = formatDateLabel(trace.createdAt);\n const latencyWarning = chatLatencyWarningAfterTrace(trace);\n if (current && label && current !== previous) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"my-3 flex w-full justify-center\"><div class=\"rounded-full border border-rc-gray-650 bg-rc-gray-900/40 px-3 py-1 text-xs text-rc-gray-200\">${escape_html(label)}</div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (trace.traceType === \"API_CALL\") {\n $$renderer3.push(\"<!--[0-->\");\n ChatApiCallTrace($$renderer3, { trace });\n } else if (trace.traceType === \"STEP\") {\n $$renderer3.push(\"<!--[1-->\");\n ChatStepTrace($$renderer3, {\n trace,\n agentId: testAgentId,\n region: testRegion,\n fallbackConversation: findStringifiedConversationBefore(renderableTraces, idx),\n compareTrace: isMainStepName(trace.name) ? findMainComparisonTrace(renderableTraces, idx) : null,\n testCreationMode: \"pii-sanitized\"\n });\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n ChatConversationalTrace($$renderer3, {\n trace,\n context: null,\n agentId: testAgentId,\n region: testRegion,\n testSourceStep: findMainStepTraceNear(renderableTraces, idx),\n testEntries: renderableTraces,\n requireTestSourceStep: true,\n testCreationMode: \"pii-sanitized\"\n });\n }\n $$renderer3.push(`<!--]--> `);\n if (latencyWarning) {\n $$renderer3.push(\"<!--[0-->\");\n $$renderer3.push(`<div class=\"my-3 flex w-full justify-center\"><div class=\"rounded-full border border-red-500 bg-red-950/30 px-3 py-1 text-xs font-semibold text-red-200\">High response latency: ${escape_html(fmtMs(latencyWarning.durationMs))}</div></div>`);\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n $$renderer3.push(`<!--]--></div>`);\n }\n $$renderer3.push(`<!--]--></div></div> `);\n if (recordingOpen && hasRecording(conversation)) {\n $$renderer3.push(\"<!--[0-->\");\n {\n let children = function($$renderer4) {\n $$renderer4.push(`<audio class=\"w-full\" controls=\"\"${attr(\"src\", conversation?.audioUrl)}></audio> <div class=\"mt-3 break-all text-sm text-rc-gray-300\">${escape_html(conversation?.audioUrl)}</div>`);\n }, footer = function($$renderer4) {\n Button($$renderer4, {\n variant: \"secondary\",\n size: \"small\",\n onclick: copyRecordingUrl,\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Copy URL`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n Button($$renderer4, {\n variant: \"secondary\",\n size: \"small\",\n onclick: () => recordingOpen = false,\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Close`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!---->`);\n };\n Modal($$renderer3, {\n title: \"Recording\",\n class: \"!max-w-3xl\",\n get open() {\n return recordingOpen;\n },\n set open($$value) {\n recordingOpen = $$value;\n $$settled = false;\n },\n children,\n footer,\n $$slots: { default: true, footer: true }\n });\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]--> `);\n if (transcriptOpen && hasTranscript(conversation)) {\n $$renderer3.push(\"<!--[0-->\");\n {\n let children = function($$renderer4) {\n $$renderer4.push(`<div class=\"rc-scroll flex max-h-[60vh] flex-col gap-4 overflow-scroll p-2\">`);\n if (typeof conversation?.transcript === \"string\") {\n $$renderer4.push(\"<!--[0-->\");\n CollapseExpand($$renderer4, { value: conversation.transcript, limit: 500, expanded: true });\n } else {\n $$renderer4.push(\"<!--[-1-->\");\n }\n $$renderer4.push(`<!--]--></div>`);\n }, footer = function($$renderer4) {\n $$renderer4.push(`<div class=\"flex w-full items-center justify-end gap-5\">`);\n Button($$renderer4, {\n onclick: copyTranscript,\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Copy transcript`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----> `);\n Button($$renderer4, {\n variant: \"secondary\",\n onclick: () => transcriptOpen = false,\n children: ($$renderer5) => {\n $$renderer5.push(`<!---->Close`);\n },\n $$slots: { default: true }\n });\n $$renderer4.push(`<!----></div>`);\n };\n Modal($$renderer3, {\n title: \"Transcript\",\n class: \"!max-w-4xl\",\n get open() {\n return transcriptOpen;\n },\n set open($$value) {\n transcriptOpen = $$value;\n $$settled = false;\n },\n children,\n footer,\n $$slots: { default: true, footer: true }\n });\n }\n } else {\n $$renderer3.push(\"<!--[-1-->\");\n }\n $$renderer3.push(`<!--]-->`);\n }\n do {\n $$settled = true;\n $$inner_renderer = $$renderer2.copy();\n $$render_inner($$inner_renderer);\n } while (!$$settled);\n $$renderer2.subsume($$inner_renderer);\n if ($$store_subs) unsubscribe_stores($$store_subs);\n bind_props($$props, { useMock });\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import './client-WFEvX_be.js';
8
8
  import { C as ContextEditor } from './ContextEditor-ngRBOJVc.js';
9
9
  import { t as trpc } from './trpc-client-D8L6vWf4.js';
10
10
  import { g as getEditWorkspaceContext } from './edit-workspace-context-BEioXKWB.js';
11
+ import { i as isMainStepName } from './steps-DzZCg39h.js';
11
12
  import './root-UeqiktJA.js';
12
13
  import './state.svelte-CLOYXiU6.js';
13
14
  import './index3-DC4GTqD1.js';
@@ -1761,7 +1762,7 @@ function _page($$renderer, $$props) {
1761
1762
  }
1762
1763
  const roleMatch = (line) => line.match(/^\s*(agent|assistant|user|system|step)\s*:\s*(.*)$/i);
1763
1764
  function expectedBlockRole(step) {
1764
- return step === "main" ? "agent" : "step";
1765
+ return isMainStepName(step) ? "agent" : "step";
1765
1766
  }
1766
1767
  function formatJsonForDisplay(value) {
1767
1768
  try {
@@ -2198,4 +2199,4 @@ ${editorExpected}
2198
2199
  }
2199
2200
 
2200
2201
  export { _page as default };
2201
- //# sourceMappingURL=_page.svelte-BTKQMuSz.js.map
2202
+ //# sourceMappingURL=_page.svelte-DA8qrgZc.js.map