@recombine-ai/platform 0.6.0 → 0.7.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 (161) hide show
  1. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DzLW1Mkz.js → BIw8uAaF.js} +1 -1
  2. package/build/bosun-app/frontend/client/_app/immutable/chunks/BIw8uAaF.js.br +1 -0
  3. package/build/bosun-app/frontend/client/_app/immutable/chunks/BIw8uAaF.js.gz +0 -0
  4. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DLoeuYMu.js → BQ3yDyvG.js} +1 -1
  5. package/build/bosun-app/frontend/client/_app/immutable/chunks/BQ3yDyvG.js.br +0 -0
  6. package/build/bosun-app/frontend/client/_app/immutable/chunks/BQ3yDyvG.js.gz +0 -0
  7. package/build/bosun-app/frontend/client/_app/immutable/chunks/{WoyQSrjz.js → Cne85Fwj.js} +1 -1
  8. package/build/bosun-app/frontend/client/_app/immutable/chunks/Cne85Fwj.js.br +0 -0
  9. package/build/bosun-app/frontend/client/_app/immutable/chunks/Cne85Fwj.js.gz +0 -0
  10. package/build/bosun-app/frontend/client/_app/immutable/chunks/{D_AUB_Y_.js → D8eqW0v8.js} +1 -1
  11. package/build/bosun-app/frontend/client/_app/immutable/chunks/D8eqW0v8.js.br +0 -0
  12. package/build/bosun-app/frontend/client/_app/immutable/chunks/D8eqW0v8.js.gz +0 -0
  13. package/build/bosun-app/frontend/client/_app/immutable/chunks/{OERrxy3_.js → DjDpMqch.js} +1 -1
  14. package/build/bosun-app/frontend/client/_app/immutable/chunks/DjDpMqch.js.br +0 -0
  15. package/build/bosun-app/frontend/client/_app/immutable/chunks/DjDpMqch.js.gz +0 -0
  16. package/build/bosun-app/frontend/client/_app/immutable/chunks/{Dz3Q78XL.js → w5wDAux2.js} +1 -1
  17. package/build/bosun-app/frontend/client/_app/immutable/chunks/w5wDAux2.js.br +0 -0
  18. package/build/bosun-app/frontend/client/_app/immutable/chunks/w5wDAux2.js.gz +0 -0
  19. package/build/bosun-app/frontend/client/_app/immutable/entry/{app.tlZ6ECO2.js → app.B4Iq75JM.js} +2 -2
  20. package/build/bosun-app/frontend/client/_app/immutable/entry/app.B4Iq75JM.js.br +0 -0
  21. package/build/bosun-app/frontend/client/_app/immutable/entry/app.B4Iq75JM.js.gz +0 -0
  22. package/build/bosun-app/frontend/client/_app/immutable/entry/start.BtbKGMrb.js +1 -0
  23. package/build/bosun-app/frontend/client/_app/immutable/entry/start.BtbKGMrb.js.br +0 -0
  24. package/build/bosun-app/frontend/client/_app/immutable/entry/start.BtbKGMrb.js.gz +0 -0
  25. package/build/bosun-app/frontend/client/_app/immutable/nodes/{0.My9Ge0mp.js → 0.CAVlu721.js} +1 -1
  26. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.CAVlu721.js.br +0 -0
  27. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.CAVlu721.js.gz +0 -0
  28. package/build/bosun-app/frontend/client/_app/immutable/nodes/{1.8soRNXH1.js → 1.Cxqvn2wE.js} +1 -1
  29. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.Cxqvn2wE.js.br +0 -0
  30. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.Cxqvn2wE.js.gz +0 -0
  31. package/build/bosun-app/frontend/client/_app/immutable/nodes/{10.Dvsr2_-z.js → 10.Dn02cin5.js} +1 -1
  32. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.Dn02cin5.js.br +0 -0
  33. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.Dn02cin5.js.gz +0 -0
  34. package/build/bosun-app/frontend/client/_app/immutable/nodes/{17.COoRz9YL.js → 17.C548yNfC.js} +1 -1
  35. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.C548yNfC.js.br +0 -0
  36. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.C548yNfC.js.gz +0 -0
  37. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CPsiVqMF.js +11 -0
  38. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CPsiVqMF.js.br +0 -0
  39. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CPsiVqMF.js.gz +0 -0
  40. package/build/bosun-app/frontend/client/_app/immutable/nodes/{2.BaCFGeUG.js → 2.BY8p5jEf.js} +1 -1
  41. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.BY8p5jEf.js.br +0 -0
  42. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.BY8p5jEf.js.gz +0 -0
  43. package/build/bosun-app/frontend/client/_app/immutable/nodes/{3.B2QuAahv.js → 3.B3lu37hD.js} +1 -1
  44. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B3lu37hD.js.br +0 -0
  45. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B3lu37hD.js.gz +0 -0
  46. package/build/bosun-app/frontend/client/_app/immutable/nodes/{4.XVLuiibs.js → 4.iAjuEgOs.js} +1 -1
  47. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.iAjuEgOs.js.br +0 -0
  48. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.iAjuEgOs.js.gz +0 -0
  49. package/build/bosun-app/frontend/client/_app/immutable/nodes/{5.BV6hbTfJ.js → 5.CUPROXEY.js} +1 -1
  50. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.CUPROXEY.js.br +0 -0
  51. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.CUPROXEY.js.gz +0 -0
  52. package/build/bosun-app/frontend/client/_app/immutable/nodes/{6.cTvJXuC_.js → 6.BzcnL7E9.js} +1 -1
  53. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.BzcnL7E9.js.br +0 -0
  54. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.BzcnL7E9.js.gz +0 -0
  55. package/build/bosun-app/frontend/client/_app/immutable/nodes/{8.4WVQLKHf.js → 8.DUdaFoV4.js} +1 -1
  56. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.DUdaFoV4.js.br +0 -0
  57. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.DUdaFoV4.js.gz +0 -0
  58. package/build/bosun-app/frontend/client/_app/immutable/nodes/{9.DDtd23BC.js → 9.RxYkUz3_.js} +1 -1
  59. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.RxYkUz3_.js.br +0 -0
  60. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.RxYkUz3_.js.gz +0 -0
  61. package/build/bosun-app/frontend/client/_app/version.json +1 -1
  62. package/build/bosun-app/frontend/client/_app/version.json.br +0 -0
  63. package/build/bosun-app/frontend/client/_app/version.json.gz +0 -0
  64. package/build/bosun-app/frontend/handler.js +4 -4
  65. package/build/bosun-app/frontend/index.js +4 -4
  66. package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-Bbhicye1.js → internal.js-CQw0SwRG.js} +2 -2
  67. package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-Bbhicye1.js.map → internal.js-CQw0SwRG.js.map} +1 -1
  68. package/build/bosun-app/frontend/server/chunks/chunks/{source-selection.js-Cc6RX6-m.js → source-selection.js-D5B8gfq2.js} +3 -2
  69. package/build/bosun-app/frontend/server/chunks/chunks/source-selection.js-D5B8gfq2.js.map +1 -0
  70. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/latency/{_page.svelte.js-tdUdTo4m.js → _page.svelte.js-SjAtxtA0.js} +2 -2
  71. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/latency/{_page.svelte.js-tdUdTo4m.js.map → _page.svelte.js-SjAtxtA0.js.map} +1 -1
  72. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/{_page.svelte.js-Ca79DBzJ.js → _page.svelte.js-DiZKDT2v.js} +12 -3
  73. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/_page.svelte.js-DiZKDT2v.js.map +1 -0
  74. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/{_layout.svelte.js-Dvn3tfM7.js → _layout.svelte.js-CfkCQ2Th.js} +2 -2
  75. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/{_layout.svelte.js-Dvn3tfM7.js.map → _layout.svelte.js-CfkCQ2Th.js.map} +1 -1
  76. package/build/bosun-app/frontend/server/chunks/{handler-B9pVHSE7.js → handler-XNGfQK-6.js} +3 -3
  77. package/build/bosun-app/frontend/server/chunks/{handler-B9pVHSE7.js.map → handler-XNGfQK-6.js.map} +1 -1
  78. package/build/bosun-app/frontend/server/chunks/{index.js-yM54Kd2A.js → index.js-2wpHFJWj.js} +2 -2
  79. package/build/bosun-app/frontend/server/chunks/{index.js-yM54Kd2A.js.map → index.js-2wpHFJWj.js.map} +1 -1
  80. package/build/bosun-app/frontend/server/chunks/{manifest.js-DolFIESH.js → manifest.js-CalXtYRD.js} +14 -14
  81. package/build/bosun-app/frontend/server/chunks/{manifest.js-DolFIESH.js.map → manifest.js-CalXtYRD.js.map} +1 -1
  82. package/build/bosun-app/frontend/server/chunks/nodes/{0.js-Dq2ecpF9.js → 0.js-DPY50161.js} +2 -2
  83. package/build/bosun-app/frontend/server/chunks/nodes/{0.js-Dq2ecpF9.js.map → 0.js-DPY50161.js.map} +1 -1
  84. package/build/bosun-app/frontend/server/chunks/nodes/{1.js-DL4KxCNs.js → 1.js-ByOhSAZI.js} +2 -2
  85. package/build/bosun-app/frontend/server/chunks/nodes/{1.js-DL4KxCNs.js.map → 1.js-ByOhSAZI.js.map} +1 -1
  86. package/build/bosun-app/frontend/server/chunks/nodes/{10.js-LOiFsxCJ.js → 10.js-vAjor0xB.js} +2 -2
  87. package/build/bosun-app/frontend/server/chunks/nodes/{10.js-LOiFsxCJ.js.map → 10.js-vAjor0xB.js.map} +1 -1
  88. package/build/bosun-app/frontend/server/chunks/nodes/{17.js-DMA8sOmE.js → 17.js-AKT9QY40.js} +3 -3
  89. package/build/bosun-app/frontend/server/chunks/nodes/{17.js-DMA8sOmE.js.map → 17.js-AKT9QY40.js.map} +1 -1
  90. package/build/bosun-app/frontend/server/chunks/nodes/{18.js-uFmm-sPa.js → 18.js-U4bY9U5p.js} +3 -3
  91. package/build/bosun-app/frontend/server/chunks/nodes/{18.js-uFmm-sPa.js.map → 18.js-U4bY9U5p.js.map} +1 -1
  92. package/build/bosun-app/frontend/server/chunks/nodes/{2.js-TSnVvl3L.js → 2.js-Cr-8wg2Y.js} +2 -2
  93. package/build/bosun-app/frontend/server/chunks/nodes/{2.js-TSnVvl3L.js.map → 2.js-Cr-8wg2Y.js.map} +1 -1
  94. package/build/bosun-app/frontend/server/chunks/nodes/{3.js-C-mekp3u.js → 3.js-BY2GASM1.js} +3 -3
  95. package/build/bosun-app/frontend/server/chunks/nodes/{3.js-C-mekp3u.js.map → 3.js-BY2GASM1.js.map} +1 -1
  96. package/build/bosun-app/frontend/server/chunks/nodes/{4.js-CKl_EX8L.js → 4.js-DQTQ16D0.js} +2 -2
  97. package/build/bosun-app/frontend/server/chunks/nodes/{4.js-CKl_EX8L.js.map → 4.js-DQTQ16D0.js.map} +1 -1
  98. package/build/bosun-app/frontend/server/chunks/nodes/{5.js-BWmqvxt2.js → 5.js-CsVIy1Nv.js} +2 -2
  99. package/build/bosun-app/frontend/server/chunks/nodes/{5.js-BWmqvxt2.js.map → 5.js-CsVIy1Nv.js.map} +1 -1
  100. package/build/bosun-app/frontend/server/chunks/nodes/{6.js-CjKPGJGt.js → 6.js-CGvSdPmi.js} +2 -2
  101. package/build/bosun-app/frontend/server/chunks/nodes/{6.js-CjKPGJGt.js.map → 6.js-CGvSdPmi.js.map} +1 -1
  102. package/build/bosun-app/frontend/server/chunks/nodes/{8.js-CpjYLyJe.js → 8.js-DQbgZYYv.js} +2 -2
  103. package/build/bosun-app/frontend/server/chunks/nodes/{8.js-CpjYLyJe.js.map → 8.js-DQbgZYYv.js.map} +1 -1
  104. package/build/bosun-app/frontend/server/chunks/nodes/{9.js-BLYfNmUw.js → 9.js-C9bATG9N.js} +2 -2
  105. package/build/bosun-app/frontend/server/chunks/nodes/{9.js-BLYfNmUw.js.map → 9.js-C9bATG9N.js.map} +1 -1
  106. package/build/engine/llm-adapters/openai-stream.d.ts +1 -1
  107. package/build/engine/llm-adapters/openai-stream.d.ts.map +1 -1
  108. package/build/engine/llm-adapters/openai-stream.js +10 -3
  109. package/build/engine/llm-adapters/openai.d.ts +1 -1
  110. package/build/engine/llm-adapters/openai.d.ts.map +1 -1
  111. package/build/engine/llm-adapters/openai.js +10 -3
  112. package/build/engine/llm-adapters/timeout.d.ts +7 -0
  113. package/build/engine/llm-adapters/timeout.d.ts.map +1 -0
  114. package/build/engine/llm-adapters/timeout.js +8 -0
  115. package/build/engine/stream/get-client.d.ts.map +1 -1
  116. package/build/engine/stream/get-client.js +0 -1
  117. package/package.json +1 -1
  118. package/build/bosun-app/frontend/client/_app/immutable/chunks/DLoeuYMu.js.br +0 -0
  119. package/build/bosun-app/frontend/client/_app/immutable/chunks/DLoeuYMu.js.gz +0 -0
  120. package/build/bosun-app/frontend/client/_app/immutable/chunks/D_AUB_Y_.js.br +0 -0
  121. package/build/bosun-app/frontend/client/_app/immutable/chunks/D_AUB_Y_.js.gz +0 -0
  122. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dz3Q78XL.js.br +0 -0
  123. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dz3Q78XL.js.gz +0 -0
  124. package/build/bosun-app/frontend/client/_app/immutable/chunks/DzLW1Mkz.js.br +0 -0
  125. package/build/bosun-app/frontend/client/_app/immutable/chunks/DzLW1Mkz.js.gz +0 -0
  126. package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js.br +0 -0
  127. package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js.gz +0 -0
  128. package/build/bosun-app/frontend/client/_app/immutable/chunks/WoyQSrjz.js.br +0 -0
  129. package/build/bosun-app/frontend/client/_app/immutable/chunks/WoyQSrjz.js.gz +0 -0
  130. package/build/bosun-app/frontend/client/_app/immutable/entry/app.tlZ6ECO2.js.br +0 -0
  131. package/build/bosun-app/frontend/client/_app/immutable/entry/app.tlZ6ECO2.js.gz +0 -0
  132. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CFPAx99R.js +0 -1
  133. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CFPAx99R.js.br +0 -0
  134. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CFPAx99R.js.gz +0 -0
  135. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.My9Ge0mp.js.br +0 -0
  136. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.My9Ge0mp.js.gz +0 -0
  137. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.8soRNXH1.js.br +0 -0
  138. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.8soRNXH1.js.gz +0 -0
  139. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.Dvsr2_-z.js.br +0 -0
  140. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.Dvsr2_-z.js.gz +0 -0
  141. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.COoRz9YL.js.br +0 -0
  142. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.COoRz9YL.js.gz +0 -0
  143. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.BU9ol_TM.js +0 -11
  144. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.BU9ol_TM.js.br +0 -0
  145. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.BU9ol_TM.js.gz +0 -0
  146. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.BaCFGeUG.js.br +0 -0
  147. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.BaCFGeUG.js.gz +0 -0
  148. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B2QuAahv.js.br +0 -0
  149. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B2QuAahv.js.gz +0 -0
  150. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.XVLuiibs.js.br +0 -0
  151. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.XVLuiibs.js.gz +0 -0
  152. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.BV6hbTfJ.js.br +0 -0
  153. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.BV6hbTfJ.js.gz +0 -0
  154. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.cTvJXuC_.js.br +0 -0
  155. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.cTvJXuC_.js.gz +0 -0
  156. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.4WVQLKHf.js.br +0 -0
  157. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.4WVQLKHf.js.gz +0 -0
  158. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.DDtd23BC.js.br +0 -0
  159. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.DDtd23BC.js.gz +0 -0
  160. package/build/bosun-app/frontend/server/chunks/chunks/source-selection.js-Cc6RX6-m.js.map +0 -1
  161. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/_page.svelte.js-Ca79DBzJ.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"9.js-BLYfNmUw.js","sources":["../../../../.svelte-kit/output/server/nodes/9.js"],"sourcesContent":["\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/edit/_agent_/roleplay/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/9.DDtd23BC.js\",\"_app/immutable/chunks/CCYriF4C.js\",\"_app/immutable/chunks/CR-uVjxM.js\",\"_app/immutable/chunks/BQIf5msi.js\",\"_app/immutable/chunks/BoX_BZZY.js\",\"_app/immutable/chunks/joiJcRPz.js\",\"_app/immutable/chunks/9mOMnnWN.js\",\"_app/immutable/chunks/CR5IRTqC.js\",\"_app/immutable/chunks/xC2C8d09.js\",\"_app/immutable/chunks/C9yBjdYI.js\",\"_app/immutable/chunks/ClLUwVGq.js\",\"_app/immutable/chunks/BcbX6huO.js\",\"_app/immutable/chunks/DNvczHUR.js\",\"_app/immutable/chunks/ouMvMh56.js\",\"_app/immutable/chunks/DnMQeiTY.js\",\"_app/immutable/chunks/DEz15oJb.js\",\"_app/immutable/chunks/B0nqNj93.js\",\"_app/immutable/chunks/DuQdgMax.js\",\"_app/immutable/chunks/BBk8_Xpk.js\",\"_app/immutable/chunks/WoyQSrjz.js\",\"_app/immutable/chunks/CHCMKZAC.js\",\"_app/immutable/chunks/D_AUB_Y_.js\",\"_app/immutable/chunks/C3cROXCy.js\",\"_app/immutable/chunks/qiSVE_6c.js\",\"_app/immutable/chunks/C1FmrZbK.js\",\"_app/immutable/chunks/BU7aeYn4.js\",\"_app/immutable/chunks/BEdAvgYp.js\",\"_app/immutable/chunks/sKHuRf4Z.js\",\"_app/immutable/chunks/DgGeUDDh.js\",\"_app/immutable/chunks/DJnDF3d9.js\",\"_app/immutable/chunks/B9pMb6OP.js\",\"_app/immutable/chunks/B1dhmiqQ.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Popper.CLTyHc88.css\",\"_app/immutable/assets/chat-content.Cabnnfyv.css\",\"_app/immutable/assets/ReadOnlyMonacoDiff.iiWNRlR-.css\",\"_app/immutable/assets/Tab.DlCfjMY1.css\",\"_app/immutable/assets/Input.CJ8KyccG.css\",\"_app/immutable/assets/9.DlSPCZj0.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,oEAAwD,CAAC,EAAE;AACtH,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5oC,MAAC,WAAW,GAAG,CAAC,2CAA2C,CAAC,iDAAiD,CAAC,uDAAuD,CAAC,wCAAwC,CAAC,0CAA0C,CAAC,sCAAsC;AAChS,MAAC,KAAK,GAAG;;;;"}
1
+ {"version":3,"file":"9.js-C9bATG9N.js","sources":["../../../../.svelte-kit/output/server/nodes/9.js"],"sourcesContent":["\n\nexport const index = 9;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/edit/_agent_/roleplay/_page.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/9.RxYkUz3_.js\",\"_app/immutable/chunks/CCYriF4C.js\",\"_app/immutable/chunks/CR-uVjxM.js\",\"_app/immutable/chunks/BQIf5msi.js\",\"_app/immutable/chunks/BoX_BZZY.js\",\"_app/immutable/chunks/joiJcRPz.js\",\"_app/immutable/chunks/9mOMnnWN.js\",\"_app/immutable/chunks/CR5IRTqC.js\",\"_app/immutable/chunks/xC2C8d09.js\",\"_app/immutable/chunks/C9yBjdYI.js\",\"_app/immutable/chunks/ClLUwVGq.js\",\"_app/immutable/chunks/BcbX6huO.js\",\"_app/immutable/chunks/DNvczHUR.js\",\"_app/immutable/chunks/ouMvMh56.js\",\"_app/immutable/chunks/DnMQeiTY.js\",\"_app/immutable/chunks/DEz15oJb.js\",\"_app/immutable/chunks/B0nqNj93.js\",\"_app/immutable/chunks/DuQdgMax.js\",\"_app/immutable/chunks/BBk8_Xpk.js\",\"_app/immutable/chunks/Cne85Fwj.js\",\"_app/immutable/chunks/CHCMKZAC.js\",\"_app/immutable/chunks/D8eqW0v8.js\",\"_app/immutable/chunks/C3cROXCy.js\",\"_app/immutable/chunks/qiSVE_6c.js\",\"_app/immutable/chunks/C1FmrZbK.js\",\"_app/immutable/chunks/BU7aeYn4.js\",\"_app/immutable/chunks/BEdAvgYp.js\",\"_app/immutable/chunks/sKHuRf4Z.js\",\"_app/immutable/chunks/DgGeUDDh.js\",\"_app/immutable/chunks/DJnDF3d9.js\",\"_app/immutable/chunks/B9pMb6OP.js\",\"_app/immutable/chunks/B1dhmiqQ.js\"];\nexport const stylesheets = [\"_app/immutable/assets/Popper.CLTyHc88.css\",\"_app/immutable/assets/chat-content.Cabnnfyv.css\",\"_app/immutable/assets/ReadOnlyMonacoDiff.iiWNRlR-.css\",\"_app/immutable/assets/Tab.DlCfjMY1.css\",\"_app/immutable/assets/Input.CJ8KyccG.css\",\"_app/immutable/assets/9.DlSPCZj0.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,oEAAwD,CAAC,EAAE;AACtH,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5oC,MAAC,WAAW,GAAG,CAAC,2CAA2C,CAAC,iDAAiD,CAAC,uDAAuD,CAAC,wCAAwC,CAAC,0CAA0C,CAAC,sCAAsC;AAChS,MAAC,KAAK,GAAG;;;;"}
@@ -2,5 +2,5 @@ import { OpenAI } from 'openai';
2
2
  import { ChatCompletionCreateParamsBase } from 'openai/resources/chat/completions';
3
3
  import { LlmStreamAdapter } from '../interfaces/stream';
4
4
  export type OpenAIChatOptions = Omit<ChatCompletionCreateParamsBase, 'messages' | 'response_format' | 'stream'>;
5
- export declare function createOpenAIStreamAdapter(options: OpenAIChatOptions, client?: OpenAI): LlmStreamAdapter;
5
+ export declare function createOpenAIStreamAdapter(options: OpenAIChatOptions, client?: OpenAI, timeoutMs?: number): LlmStreamAdapter;
6
6
  //# sourceMappingURL=openai-stream.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-stream.d.ts","sourceRoot":"","sources":["../../../src/engine/llm-adapters/openai-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAGvD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAChC,8BAA8B,EAC9B,UAAU,GAAG,iBAAiB,GAAG,QAAQ,CAC5C,CAAA;AAED,wBAAgB,yBAAyB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,SAAe,GACtB,gBAAgB,CA6BlB"}
1
+ {"version":3,"file":"openai-stream.d.ts","sourceRoot":"","sources":["../../../src/engine/llm-adapters/openai-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAIvD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAChC,8BAA8B,EAC9B,UAAU,GAAG,iBAAiB,GAAG,QAAQ,CAC5C,CAAA;AAED,wBAAgB,yBAAyB,CACrC,OAAO,EAAE,iBAAiB,EAC1B,MAAM,SAAe,EACrB,SAAS,SAAS,GACnB,gBAAgB,CAwClB"}
@@ -1,11 +1,14 @@
1
1
  import { OpenAI } from 'openai';
2
2
  import { detectProvider } from './provider';
3
- export function createOpenAIStreamAdapter(options, client = new OpenAI()) {
3
+ import { requestTimeout } from './timeout';
4
+ export function createOpenAIStreamAdapter(options, client = new OpenAI(), timeoutMs = 60_000) {
4
5
  return {
5
6
  getOptions: () => options,
6
7
  getProviderInfo: () => ({ provider: detectProvider(client), model: options.model }),
7
8
  async generateStream(systemPrompt, messages) {
8
- const stream = await client.chat.completions.create({
9
+ const timeout = requestTimeout(timeoutMs);
10
+ const stream = await client.chat.completions
11
+ .create({
9
12
  messages: [
10
13
  { role: 'system', content: systemPrompt },
11
14
  { role: 'user', content: messages },
@@ -13,7 +16,11 @@ export function createOpenAIStreamAdapter(options, client = new OpenAI()) {
13
16
  ...options,
14
17
  stream: true,
15
18
  response_format: { type: 'text' },
16
- });
19
+ }, { signal: timeout.signal })
20
+ .catch((err) => {
21
+ throw timeout.wrap(err);
22
+ })
23
+ .finally(timeout.clear);
17
24
  return new ReadableStream({
18
25
  async start(controller) {
19
26
  for await (const chunk of stream) {
@@ -3,6 +3,6 @@ import { ChatCompletionCreateParamsBase } from 'openai/resources/chat/completion
3
3
  import { LlmAdapter } from '../interfaces';
4
4
  type OpenaiOptionsToSend = Omit<ChatCompletionCreateParamsBase, 'messages' | 'stream'>;
5
5
  export type OpenAIChatOptions = Omit<OpenaiOptionsToSend, 'response_format'>;
6
- export declare function createOpenAIAdapter(options: OpenAIChatOptions, client?: OpenAI): LlmAdapter;
6
+ export declare function createOpenAIAdapter(options: OpenAIChatOptions, client?: OpenAI, timeoutMs?: number): LlmAdapter;
7
7
  export {};
8
8
  //# sourceMappingURL=openai.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/engine/llm-adapters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAGlF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,KAAK,mBAAmB,GAAG,IAAI,CAAC,8BAA8B,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAA;AACtF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAA;AAE5E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAe,GAAG,UAAU,CAoCjG"}
1
+ {"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/engine/llm-adapters/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,mCAAmC,CAAA;AAGlF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAI1C,KAAK,mBAAmB,GAAG,IAAI,CAAC,8BAA8B,EAAE,UAAU,GAAG,QAAQ,CAAC,CAAA;AACtF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAA;AAE5E,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,iBAAiB,EAC1B,MAAM,SAAe,EACrB,SAAS,SAAS,GACnB,UAAU,CA6CZ"}
@@ -1,7 +1,8 @@
1
1
  import { OpenAI } from 'openai';
2
2
  import { toJSONSchema } from 'zod';
3
3
  import { detectProvider } from './provider';
4
- export function createOpenAIAdapter(options, client = new OpenAI()) {
4
+ import { requestTimeout } from './timeout';
5
+ export function createOpenAIAdapter(options, client = new OpenAI(), timeoutMs = 60_000) {
5
6
  return {
6
7
  getOptions: () => options,
7
8
  getProviderInfo: () => ({ provider: detectProvider(client), model: options.model }),
@@ -17,13 +18,19 @@ export function createOpenAIAdapter(options, client = new OpenAI()) {
17
18
  },
18
19
  };
19
20
  }
20
- const response = await client.chat.completions.create({
21
+ const timeout = requestTimeout(timeoutMs);
22
+ const response = await client.chat.completions
23
+ .create({
21
24
  messages: [
22
25
  { role: 'system', content: systemPrompt },
23
26
  { role: 'user', content: messages },
24
27
  ],
25
28
  ...finalOptions,
26
- });
29
+ }, { signal: timeout.signal })
30
+ .catch((err) => {
31
+ throw timeout.wrap(err);
32
+ })
33
+ .finally(timeout.clear);
27
34
  const content = response.choices[0]?.message?.content;
28
35
  if (!content) {
29
36
  throw new Error('No response from OpenAI');
@@ -0,0 +1,7 @@
1
+ export interface RequestTimeout {
2
+ signal: AbortSignal;
3
+ wrap: (err: unknown) => unknown;
4
+ clear: () => void;
5
+ }
6
+ export declare function requestTimeout(timeoutMs: number): RequestTimeout;
7
+ //# sourceMappingURL=timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../src/engine/llm-adapters/timeout.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,WAAW,CAAA;IACnB,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAA;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAQhE"}
@@ -0,0 +1,8 @@
1
+ export function requestTimeout(timeoutMs) {
2
+ const controller = new AbortController();
3
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
4
+ const wrap = (err) => controller.signal.aborted
5
+ ? new Error(`LLM request timed out after ${timeoutMs} ms`, { cause: err })
6
+ : err;
7
+ return { signal: controller.signal, wrap, clear: () => clearTimeout(timer) };
8
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"get-client.d.ts","sourceRoot":"","sources":["../../../src/engine/stream/get-client.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,YAAY;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAeD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,eASjE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,UAMnE"}
1
+ {"version":3,"file":"get-client.d.ts","sourceRoot":"","sources":["../../../src/engine/stream/get-client.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,YAAY;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAiBD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,eASjE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,UAMnE"}
@@ -2,7 +2,6 @@ import OpenAI, { AzureOpenAI } from 'openai';
2
2
  import { Agent } from 'undici';
3
3
  const dispatcher = new Agent({
4
4
  keepAliveTimeout: 120_000,
5
- headersTimeout: 30_000,
6
5
  bodyTimeout: 60_000,
7
6
  });
8
7
  export function getAzureClient(logger, config) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@recombine-ai/platform",
3
3
  "type": "module",
4
- "version": "0.6.0",
4
+ "version": "0.7.1",
5
5
  "description": "The Recombine platform: engine, telescope, dockyard, call control, the voice agent API, and the Bosun bindings in one package",
6
6
  "license": "EULA",
7
7
  "author": "recombine.ai",
@@ -1 +0,0 @@
1
- import{a as r}from"../chunks/Dz3Q78XL.js";import{y as t}from"../chunks/DLoeuYMu.js";export{t as load_css,r as start};
@@ -1,11 +0,0 @@
1
- import{a as c,t as W,f as x,d as xe,c as Gt,b as ie,e as De}from"../chunks/CCYriF4C.js";import"../chunks/DXsF11_5.js";import{o as Ue,a as We}from"../chunks/DnMQeiTY.js";import{p as ce,d as Ke,j as t,y as f,c as _,f as dt,s as C,n as Nt,r as m,a as ue,w as Qt,o as xt,t as U,k as ot,h as d,_ as Z,a4 as B,bf as Ut,bg as qe,e as Be,$ as He,T as Ve,bh as fe}from"../chunks/CR-uVjxM.js";import{s as G}from"../chunks/B0nqNj93.js";import{p as X,a as Ye,s as Ge}from"../chunks/BcbX6huO.js";import{i as L}from"../chunks/BQIf5msi.js";import{e as le,i as pe}from"../chunks/DuQdgMax.js";import{h as Qe}from"../chunks/DjujL8K1.js";import{c as Xe}from"../chunks/CR5IRTqC.js";import{b as Ze}from"../chunks/ClLUwVGq.js";import{i as be}from"../chunks/Bp8N7Z1t.js";import{s as tr}from"../chunks/Dz3Q78XL.js";import{g as ve,T as er}from"../chunks/OERrxy3_.js";import{i as se}from"../chunks/DgGeUDDh.js";import{b as rr,f as ar}from"../chunks/T0seCQS_.js";import{B as gt}from"../chunks/joiJcRPz.js";import{D as nr}from"../chunks/ouMvMh56.js";import{I as or,h as me}from"../chunks/BBk8_Xpk.js";import{M as ge}from"../chunks/C3cROXCy.js";import{m as sr}from"../chunks/ddC1NP9R.js";import{C as ir,a as lr,b as cr,f as ye,c as _e}from"../chunks/D_AUB_Y_.js";import{s as jt}from"../chunks/C9yBjdYI.js";import{g as ur,c as he}from"../chunks/BJ9KKLWf.js";const dr=()=>{const rt=tr;return{page:{subscribe:rt.page.subscribe},navigating:{subscribe:rt.navigating.subscribe},updated:rt.updated}},fr={subscribe(rt){return dr().page.subscribe(rt)}};var pr=x("<!> <!>",1),vr=x('<div class="mt-1 overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox"><!> <!></div>'),mr=x("<div><!> <!></div>");function gr(rt,k){ce(k,!0);let S=X(k,"disabled",3,!1),bt=X(k,"dropdownId",3,"copy-traces-dropdown"),j=Qt(!1),st=Qt(null),at=Qt(null),it=Qt(null);Ke(()=>{S()&&t(j)&&f(j,!1)});async function yt(D){try{const E=D==="with-prompts"?k.getWithPromptsText():k.getWithoutPromptsText();await navigator.clipboard.writeText(E),f(at,D,!0),t(it)&&clearTimeout(t(it)),f(it,window.setTimeout(()=>{f(at,null),f(it,null)},2e3),!0)}catch(E){console.error("Failed to copy traces",E)}}var ft=mr(),p=_(ft);gt(p,{variant:"secondary",size:"small",get disabled(){return S()},get"aria-expanded"(){return t(j)},"aria-haspopup":"listbox",get"aria-controls"(){return bt()},onclick:D=>{D.stopPropagation(),f(j,!t(j))},class:"flex items-center gap-1",get el(){return t(st)},set el(D){f(st,D,!0)},children:(D,E)=>{var h=pr(),$=dt(h);{var _t=P=>{var tt=W("Copied traces (without prompts)");c(P,tt)},z=P=>{var tt=W("Copied traces (with prompts)");c(P,tt)},lt=P=>{var tt=W("Copy traces");c(P,tt)};L($,P=>{t(at)==="without-prompts"?P(_t):t(at)==="with-prompts"?P(z,1):P(lt,-1)})}var K=C($,2);{let P=Nt(()=>"size-5 text-rc-gray-400 transition-transform duration-200 "+(t(j)?"rotate-180":""));or(K,{name:"chevron-down",get class(){return t(P)}})}c(D,h)},$$slots:{default:!0}});var Tt=C(p,2);nr(Tt,{get id(){return bt()},get open(){return t(j)},onClose:()=>f(j,!1),get anchorEl(){return t(st)},placement:"bottom-end",offset:[0,1],children:E=>{var h=vr(),$=_(h);gt($,{variant:"ghost",size:"small",role:"option",onclick:z=>{z.stopPropagation(),f(j,!1),yt("without-prompts")},class:"w-full rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(z,lt)=>{xt();var K=W("Without prompts");c(z,K)},$$slots:{default:!0}});var _t=C($,2);gt(_t,{variant:"ghost",size:"small",role:"option",onclick:z=>{z.stopPropagation(),f(j,!1),yt("with-prompts")},class:"w-full rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(z,lt)=>{xt();var K=W("With prompts");c(z,K)},$$slots:{default:!0}}),m(h),c(E,h)},$$slots:{default:!0}}),m(ft),c(rt,ft),ue()}var yr=x("<div> </div>"),_r=x('<div class="mt-1 whitespace-pre-wrap break-words text-xs italic text-rc-gray-200"> </div>'),hr=x("<div><!> <!> <!></div>"),xr=x("<div><div><div> </div> <div><!> <!></div> <!></div></div>"),br=x('<div class="space-y-3"></div>'),Tr=x('<div class="whitespace-pre-wrap break-words"><!></div>'),wr=x('<button class="inline-flex text-sm text-rc-green-200 hover:text-rc-green-100"> </button>'),Sr=x('<div><span class="whitespace-pre-wrap break-words"><!></span> <!></div>');function $r(rt,k){ce(k,!1);let S=X(k,"value",8,""),bt=X(k,"limit",8,200),j=X(k,"maxLines",8,null),st=X(k,"className",8,""),at=X(k,"collapsedLabel",8,"...more"),it=X(k,"initiallyExpanded",8,!1),yt=X(k,"stopPropagation",8,!0),ft=X(k,"expanded",28,it),p=X(k,"treatPlainText",8,!1),Tt=X(k,"highlightPrompt",8,!1);function D(s){return s.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function E(s){const l=h(s);let n=D(l);const u=[];return n=n.replace(/(\{+[\s\S]*?\}+)/g,g=>{const y=u.length;return u.push(g),`__CURLY${y}__`}),n=n.replace(/^(\s*#.*)$/gm,'<span class="prompt-heading">$1</span>'),n=n.replace(/(&lt;[^&]*?&gt;)/g,'<span class="mtk8">$1</span>'),n=n.replace(/^(\s*)(\d+)([.)])(\s+)/gm,(g,y,w,O,ct)=>`${y}<span class="mtk8">${w}${O}</span>${ct}`),u.forEach((g,y)=>{const w=`<span class="mtk5">${g}</span>`;n=n.replace(`__CURLY${y}__`,w)}),n=n.replace(/\n/g,"<br/>"),n}function h(s){let l=s.replace(/\r\n/g,`
2
- `);return l=l.replace(/\\n/g,`
3
- `),l}function $(s){try{if(Array.isArray(s)){const l=s.map(n=>(n==null?void 0:n.text)??(n==null?void 0:n.content)??JSON.stringify(n)).join(" ");return h(l)}if(typeof s=="string")try{const l=JSON.parse(s);if(Array.isArray(l)){const n=l.map(u=>(u==null?void 0:u.text)??(u==null?void 0:u.content)??JSON.stringify(u)).join(" ");return h(n)}return h(s)}catch{return h(s)}return h(JSON.stringify(s))}catch{return h(String(s??""))}}function _t(s){try{if(Array.isArray(s)){const l=s.map(n=>(n==null?void 0:n.text)??(n==null?void 0:n.content)??JSON.stringify(n)).join(`
4
- `);return h(l)}if(typeof s=="string")try{const l=JSON.parse(s);if(Array.isArray(l)){const n=l.map(u=>(u==null?void 0:u.text)??(u==null?void 0:u.content)??JSON.stringify(u)).join(`
5
- `);return h(n)}return h(s)}catch{return h(s)}return h(JSON.stringify(s,null,2))}catch{return h(String(s??""))}}function z(s){const n=h(s).split(/\n+/).map(w=>w.trim()).filter(w=>w.length>0),u=[];let g,y="";for(const w of n){const O=w.match(/^(user|assistant|system|customer|caller|tool|model|agent)\s*[:\-]\s*(.*)$/i);O?(y&&u.push({text:y,role:g}),g=O[1].toLowerCase(),y=O[2]??""):y?y+=`
6
- `+w:y=w}return y&&u.push({text:y,role:g}),u}function lt(s){try{let l=s;if(typeof s=="string")try{l=JSON.parse(s)}catch{return p()?z(s):[]}if(!Array.isArray(l))if(Array.isArray(l==null?void 0:l.messages))l=l.messages;else return[];return l.map(n=>{let u;return(n==null?void 0:n.text)!=null?u=String(n.text):(n==null?void 0:n.content)!=null?Array.isArray(n.content)?u=n.content.map(g=>{var y;return typeof g=="string"?g:typeof(g==null?void 0:g.text)=="string"?g.text:typeof((y=g==null?void 0:g.text)==null?void 0:y.value)=="string"?g.text.value:JSON.stringify(g)}).join(" "):typeof n.content=="string"?u=n.content:u=JSON.stringify(n.content):typeof n=="string"?u=n:u=JSON.stringify(n),{text:h(u),role:n==null?void 0:n.role,time:n==null?void 0:n.time,duration:n==null?void 0:n.duration}}).filter(n=>n.text&&String(n.text).trim().length>0)}catch{return[]}}const K=()=>$(S()),P=()=>_t(S()),tt=()=>K().split(`
7
- `),kt=()=>lt(S()),T=()=>kt().length>0,At=()=>j()!=null?tt().length>j():K().length>bt(),wt=()=>{const s=K();return At()?j()!=null?tt().slice(0,j()).join(`
8
- `):s.slice(0,bt()):s};function St(s){if(!s)return null;try{const l=new Date(s);return Number.isNaN(l.getTime())?s:l.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return s}}function zt(s){if(s==null||!Number.isFinite(s))return null;const l=Number(s),n=Math.floor(l),u=Math.floor(n/60),g=n%60,y=String(u).padStart(2,"0"),w=String(g).padStart(2,"0");return`${y}:${w}`}function Ft(s){if(!s)return"Assistant";const l=s.trim();return l?l.charAt(0).toUpperCase()+l.slice(1):"Assistant"}function H(s){const l=(s==null?void 0:s.toLowerCase())??"";return l==="user"||l==="customer"||l==="caller"}function pt(s){const l=[];return{main:s.replace(/<([^>]+)>/g,(u,g)=>{const y=String(g).trim();return y&&l.push(y),""}).trim(),system:l}}function vt(s){yt()&&s.stopPropagation(),ft(!ft())}function $t(s){yt()&&s.stopPropagation()}be();var ht=Gt(),Wt=dt(ht);{var Kt=s=>{var l=Gt(),n=dt(l);{var u=w=>{var O=br();le(O,5,()=>d(kt),pe,(ct,b)=>{const N=Z(()=>(t(b),d(()=>H(t(b).role)))),R=Z(()=>(t(b),d(()=>(t(b).role??"").toLowerCase()==="system"))),V=Z(()=>(t(b),d(()=>pt(t(b).text)))),ut=Z(()=>(t(b),d(()=>St(t(b).time)))),It=Z(()=>(t(b),d(()=>zt(t(b).duration))));var Et=xr(),Dt=_(Et),Ot=_(Dt),Xt=_(Ot,!0);m(Ot);var Ct=C(Ot,2),Bt=_(Ct);{var Ht=Y=>{var q=yr(),et=_(q,!0);m(q),U(()=>G(et,(ot(t(V)),d(()=>t(V).main)))),c(Y,q)};L(Bt,Y=>{ot(t(V)),d(()=>t(V).main)&&Y(Ht)})}var Zt=C(Bt,2);le(Zt,1,()=>(ot(t(V)),d(()=>t(V).system)),pe,(Y,q)=>{var et=_r(),Lt=_(et);m(et),U(()=>G(Lt,`<${t(q)??""}>`)),c(Y,et)}),m(Ct);var te=C(Ct,2);{var Vt=Y=>{var q=hr(),et=_(q);{var Lt=Q=>{var mt=W();U(()=>G(mt,t(ut))),c(Q,mt)};L(et,Q=>{t(ut)&&Q(Lt)})}var Rt=C(et,2);{var ee=Q=>{var mt=W("·");c(Q,mt)};L(Rt,Q=>{t(ut)&&t(It)&&Q(ee)})}var re=C(Rt,2);{var ae=Q=>{var mt=W();U(()=>G(mt,t(It))),c(Q,mt)};L(re,Q=>{t(It)&&Q(ae)})}m(q),U(()=>jt(q,1,`mt-1 text-xs text-rc-gray-300 ${t(N)?"text-right":"text-left"}`)),c(Y,q)};L(te,Y=>{(t(ut)||t(It))&&Y(Vt)})}m(Dt),m(Et),U(Y=>{jt(Et,1,`flex ${t(N)?"justify-end":"justify-start"}`),jt(Dt,1,`max-w-[70%] break-words rounded-md px-3 py-2 text-sm shadow-sm ${t(N)?"bg-rc-gray-600 text-rc-gray-100":"bg-rc-gray-700 text-rc-gray-100"}`),jt(Ot,1,`my-1 text-xs font-semibold uppercase ${t(R)?"text-rc-blue "+(t(N)?"text-right":"text-left"):"text-rc-green-200 "+(t(N)?"text-right":"text-left")}`),G(Xt,Y),jt(Ct,1,`whitespace-pre-wrap break-words py-1 text-sm ${t(N)?"text-justify":"text-left"} ${t(R)?"italic text-rc-gray-200":""}`)},[()=>(t(b),d(()=>Ft(t(b).role)))]),c(ct,Et)}),m(O),c(w,O)},g=Nt(()=>d(T)),y=w=>{var O=Tr(),ct=_(O);{var b=R=>{var V=Gt(),ut=dt(V);me(ut,()=>d(()=>E(P()))),c(R,V)},N=R=>{var V=W();U(ut=>G(V,ut),[()=>d(P)]),c(R,V)};L(ct,R=>{Tt()?R(b):R(N,-1)})}m(O),c(w,O)};L(n,w=>{t(g)?w(u):w(y,-1)})}c(s,l)},qt=s=>{var l=Sr(),n=_(l),u=_(n);{var g=b=>{var N=Gt(),R=dt(N);me(R,()=>d(()=>E(wt()))),c(b,N)},y=b=>{var N=W();U(R=>G(N,R),[()=>d(wt)]),c(b,N)};L(u,b=>{Tt()?b(g):b(y,-1)})}m(n);var w=C(n,2);{var O=b=>{var N=wr(),R=_(N,!0);m(N),U(()=>G(R,at())),ie("click",N,vt),c(b,N)},ct=Nt(()=>d(At));L(w,b=>{t(ct)&&b(O)})}m(l),U(()=>jt(l,1,`mt-1 cursor-text select-text rounded bg-rc-gray-900 p-2 text-sm text-rc-gray-200 ${st()}`)),ie("click",l,$t),c(s,l)};L(Wt,s=>{ft()?s(Kt):s(qt,-1)})}c(rt,ht),ue()}xe(["click"]);var Cr=x('<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200"> </span>',1),Lr=x('<div class="flex flex-wrap items-center gap-2"><!> <!> <!></div>'),Pr=x('<div class="mt-2 text-sm text-rc-gray-400">Loading call details…</div>'),Nr=x('<div class="mt-2 text-sm text-rc-gray-300"> </div>'),kr=x('<div class="py-8 text-center text-rc-gray-300">No conversation selected</div>'),Ar=x('<div class="py-8 text-center text-rc-gray-200">Loading traces...</div>'),Ir=x('<div class="z-50 py-8 text-center text-red-400"> </div>'),Er=x('<div class="py-8 text-center text-rc-gray-300">No traces found</div>'),Or=x('<div class="my-3 flex w-full justify-center"><div class="rounded-full border border-rc-gray-650 bg-rc-gray-900/40 px-3 py-1 text-xs text-rc-gray-200"> </div></div>'),Rr=x('<div class="my-3 flex w-full justify-center"><div class="rounded-full border border-red-500 bg-red-950/30 px-3 py-1 text-xs font-semibold text-red-200"> </div></div>'),Jr=x("<!> <!> <!>",1),Mr=x("<div></div>"),jr=x('<audio class="w-full" controls=""></audio> <div class="mt-3 break-all text-sm text-rc-gray-300"> </div>',1),zr=x("<!> <!>",1),Fr=x('<div class="rc-scroll flex max-h-[60vh] flex-col gap-4 overflow-scroll p-2"><!></div>'),Dr=x('<div class="flex w-full items-center justify-end gap-5"><!> <!></div>'),Ur=x('<div class="flex h-full w-full flex-col bg-rc-gray-700"><div class="flex-none border-b border-rc-gray-300/40 p-4"><div class="flex flex-wrap items-start justify-between gap-3"><h2 class="text-lg font-semibold text-rc-gray-100">Traces <!></h2> <!></div> <!></div> <div class="rc-scroll min-h-0 flex-1 overflow-scroll p-4"><!></div></div> <!> <!>',1);function pa(rt,k){ce(k,!1);const S=()=>Ye(fr,"$page",bt),[bt,j]=Ge();let st=X(k,"useMock",8,!1);const at=ur(),it=ve()??"",yt=S().params.conversationId??"",ft=he(yt,st()?"__mock__":it),p=at.traces.get(ft),Tt=!!(p!=null&&p.tracesLoaded)&&!(p!=null&&p.hasMoreTraces),D=new er(fetch);D.setSourceId(it||void 0);let E=B((p==null?void 0:p.traces)??[]),h=B((p==null?void 0:p.latencyTraces)??[]),$=B([]),_t=B(new Map),z=B(!1),lt=Tt,K=B((p==null?void 0:p.tracesError)??null),P=B(Tt?yt:null),tt=(p==null?void 0:p.lastTraceId)??null,kt=(p==null?void 0:p.hasMoreTraces)??!1,T=B((p==null?void 0:p.conversation)??null),At=B(!1),wt=(p==null?void 0:p.conversationLoaded)??!1,St=B((p==null?void 0:p.conversationError)??null),zt=B(""),Ft=B(null),H=B(null),pt=B(!1),vt=B(!1),$t=0,ht=0;const Wt=new WeakMap;let Kt=0;function qt(e){const r=ve()??it;return he(e,st()?"__mock__":r)}function s(e=t(P)){var o,i;if(!e)return;const r=qt(e),a=at.traces.get(r);at.traces.set(r,{traces:t(E),latencyTraces:t(h),tracesLoaded:lt,tracesError:t(K),lastTraceId:tt,hasMoreTraces:kt,conversation:t(T),conversationLoaded:wt,conversationError:t(St),scrollTop:(a==null?void 0:a.scrollTop)??((o=t(H))==null?void 0:o.scrollTop)??0,scrollLeft:(a==null?void 0:a.scrollLeft)??((i=t(H))==null?void 0:i.scrollLeft)??0})}async function l(e){e&&(await Ve(),t(H)&&(fe(H,t(H).scrollTop=e.scrollTop),fe(H,t(H).scrollLeft=e.scrollLeft)))}function n(){if(!t(P)||!t(H))return;const e=at.traces.get(qt(t(P)));if(!e){s();return}e.scrollTop=t(H).scrollTop,e.scrollLeft=t(H).scrollLeft}function u(e){if(typeof e!="string")return null;const r=e.trim();return r||null}function g(e){return`${Math.round(e)} ms`}function y(e){const r=u(e==null?void 0:e.traceId);if(r)return r;const a=Wt.get(e);if(a)return a;Kt+=1;const o=`synthetic-${e.traceType}-${e.createdAt}-${Kt}`;return Wt.set(e,o),o}function w(e){const r=new Set;return e.filter(a=>{const o=u(a==null?void 0:a.traceId);return o?r.has(o)?!1:(r.add(o),!0):!0})}function O(e){return e?t(E):t(E).map(r=>{if(r.traceType!=="STEP")return r;const{receivedPrompt:a,renderedPrompt:o,...i}=r;return i})}function ct(e){return e&&typeof e.renderedPrompt=="string"?e.renderedPrompt:null}function b(e,r){for(let a=r-1;a>=0;a--){const o=e[a];if(o.traceType!=="STEP")continue;const i=o;if(se(i.name)&&ct(i))return i}for(let a=r-1;a>=0;a--){const o=e[a];if(o.traceType!=="STEP")continue;const i=o;if(i.name==="prewarm"&&ct(i))return i}return null}function N(e){return!!(e!=null&&e.audioUrl&&String(e.audioUrl).trim())}function R(e){const r=e==null?void 0:e.transcript;return typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:!1}function V(e){const r=e==null?void 0:e.transcript;return r?typeof r=="string"?r:Array.isArray(r)?r.map(a=>{const o=typeof(a==null?void 0:a.time)=="string"?a.time:"",i=typeof(a==null?void 0:a.role)=="string"?a.role:"",v=typeof(a==null?void 0:a.text)=="string"?a.text:"",A=[o,i].filter(Boolean).join(" • ");return A?`${A}
9
- ${v}`:v}).join(`
10
-
11
- `):"":""}async function ut(){try{await navigator.clipboard.writeText(V(t(T)))}catch(e){console.error("Failed to copy transcript",e)}}async function It(){var e;try{const r=(e=t(T))==null?void 0:e.audioUrl;if(!r)return;await navigator.clipboard.writeText(r)}catch(r){console.error("Failed to copy recording URL",r)}}function Et(e){return e.traceType!=="CONVERSATIONAL"?!1:e.eventName==="received-message"||e.eventName==="llm-handler-stream-requested"||e.eventName==="finished-main-streaming-step"||e.eventName==="sent-message"||e.eventName==="transfer-requested"||e.eventName==="hangup-requested"}function Dt(e,r){const a=new Map;for(const o of rr(r)){if(!o.isHigh)continue;const i=ar(e,o);if(!i)continue;const v=y(i),A=a.get(v);(!A||o.durationMs>A.durationMs)&&a.set(v,{id:o.id,durationMs:o.durationMs})}return a}function Ot(e){return t(_t).get(y(e))??null}const Xt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Ct(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const a=r.getFullYear(),o=String(r.getMonth()+1).padStart(2,"0"),i=String(r.getDate()).padStart(2,"0");return`${a}-${o}-${i}`}function Bt(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const a=r.getDate(),o=Xt[r.getMonth()],i=r.getFullYear();return`${a} ${o} ${i}`}async function Ht(e){const r=++ht;f(At,!0),wt=!1,f(St,null),f(T,null);try{if(st())return;const a=await D.getConversation(e);if(r!==ht)return;f(T,a),wt=!0}catch(a){if(r!==ht)return;f(St,a.message),f(T,null)}finally{if(r!==ht)return;f(At,!1),s(e)}}async function Zt(e){const r=[];let a;const o=new Set;for(;;){const i=await D.getLatencyTraces(e,500,a);if(r.push(...i.items??[]),a=i.lastTraceId,!a)break;if(o.has(a))throw new Error("Telescope latency pagination repeated a cursor");o.add(a)}return r}async function te(e){const r=[];let a;const o=new Set;for(;;){const i=await D.getTraces(e,100,a);r.push(...i.items??[]);const v=i.lastTraceId;if(!v)break;if(o.has(v))throw new Error("Telescope trace pagination repeated a cursor");o.add(v),a=v}return r}async function Vt(e){if(!e||e===t(P))return;const r=++$t;f(P,e),f(z,!0),lt=!1,f(K,null),tt=null,kt=!1,f(h,[]),f(pt,!1),f(vt,!1),Ht(e);try{let a=[],o=[];if(st())a=(await sr.fetchTraces(e)).items??[];else{const[i,v]=await Promise.all([te(e),Zt(e).catch(A=>(console.error("Failed to load latency traces for chat warnings:",A),[]))]);a=i,o=v}if(r!==$t)return;tt=null,kt=!1,f(h,o),f(E,w(a).slice().sort((i,v)=>i.createdAt-v.createdAt)),lt=!0}catch(a){if(r!==$t)return;f(K,a.message),f(E,[]),console.error("Failed to load traces:",a)}finally{if(r!==$t)return;f(z,!1),s(e)}}Ue(()=>{const e=S().params.conversationId;e&&(lt?wt||Ht(e):Vt(e),l(p))}),We(()=>{s(),$t+=1,ht+=1}),Ut(()=>t(E),()=>{f($,t(E).filter(e=>e.traceType==="API_CALL"||e.traceType==="STEP"||Et(e)))}),Ut(()=>(t($),t(h)),()=>{f(_t,Dt(t($),t(h)))}),Ut(()=>(S(),t(T)),()=>{var e;f(zt,u(S().url.searchParams.get("agent"))??u((e=t(T))==null?void 0:e.agentId)??"")}),Ut(()=>S(),()=>{f(Ft,u(S().url.searchParams.get("region")))}),Ut(()=>(S(),t(P)),()=>{const e=S().params.conversationId;e&&e!==t(P)&&Vt(e)}),qe(),be();var Y=Ur();Qe("1uatba4",e=>{Be(()=>{He.title="Bosun: Telescope"})});var q=dt(Y),et=_(q),Lt=_(et),Rt=_(Lt),ee=C(_(Rt));{var re=e=>{var r=Cr(),a=C(dt(r),2),o=_(a,!0);m(a),U(()=>G(o,(S(),d(()=>S().params.conversationId)))),c(e,r)};L(ee,e=>{S(),d(()=>S().params.conversationId)&&e(re)})}m(Rt);var ae=C(Rt,2);{var Q=e=>{var r=Lr(),a=_(r);{var o=I=>{gt(I,{variant:"secondary",size:"small",onclick:()=>f(pt,!0),children:(Jt,ne)=>{xt();var Mt=W("Recording");c(Jt,Mt)},$$slots:{default:!0}})},i=Nt(()=>(t(T),d(()=>N(t(T)))));L(a,I=>{t(i)&&I(o)})}var v=C(a,2);{var A=I=>{gt(I,{variant:"secondary",size:"small",onclick:()=>f(vt,!0),children:(Jt,ne)=>{xt();var Mt=W("Transcript");c(Jt,Mt)},$$slots:{default:!0}})},J=Nt(()=>(t(T),d(()=>R(t(T)))));L(v,I=>{t(J)&&I(A)})}var M=C(v,2);{let I=Z(()=>(t(E),t(z),d(()=>!t(E).length||t(z))));gr(M,{get disabled(){return t(I)},getWithPromptsText:()=>JSON.stringify(O(!0),null,2),getWithoutPromptsText:()=>JSON.stringify(O(!1),null,2)})}m(r),c(e,r)};L(ae,e=>{S(),d(()=>S().params.conversationId)&&e(Q)})}m(Lt);var mt=C(Lt,2);{var Te=e=>{var r=Pr();c(e,r)},we=e=>{var r=Nr(),a=_(r);m(r),U(()=>G(a,`Call details unavailable: ${t(St)??""}`)),c(e,r)};L(mt,e=>{t(At)?e(Te):t(St)&&e(we,1)})}m(et);var Yt=C(et,2),Se=_(Yt);{var $e=e=>{var r=kr();c(e,r)},Ce=e=>{var r=Ar();c(e,r)},Le=e=>{var r=Ir(),a=_(r);m(r),U(()=>G(a,`Error: ${t(K)??""}`)),c(e,r)},Pe=e=>{var r=Er();c(e,r)},Ne=e=>{var r=Mr();le(r,7,()=>t($),a=>y(a),(a,o,i)=>{const v=Z(()=>(t(o),d(()=>Ct(t(o).createdAt)))),A=Z(()=>(ot(t(i)),t($),d(()=>t(i)>0?Ct(t($)[t(i)-1].createdAt):null))),J=Z(()=>(t(o),d(()=>Bt(t(o).createdAt)))),M=Z(()=>(t(o),d(()=>Ot(t(o)))));var I=Jr(),Jt=dt(I);{var ne=F=>{var nt=Or(),Pt=_(nt),oe=_(Pt,!0);m(Pt),m(nt),U(()=>G(oe,t(J))),c(F,nt)};L(Jt,F=>{t(v)&&t(J)&&t(v)!==t(A)&&F(ne)})}var Mt=C(Jt,2);{var Re=F=>{ir(F,{get trace(){return t(o)}})},Je=F=>{{let nt=Z(()=>(ot(ye),t($),ot(t(i)),d(()=>ye(t($),t(i))))),Pt=Z(()=>(ot(se),t(o),t($),ot(t(i)),d(()=>se(t(o).name)?b(t($),t(i)):null)));lr(F,{get trace(){return t(o)},get agentId(){return t(zt)},get region(){return t(Ft)},get fallbackConversation(){return t(nt)},get compareTrace(){return t(Pt)},testCreationMode:"pii-sanitized"})}},Me=F=>{{let nt=Z(()=>(ot(_e),t($),ot(t(i)),d(()=>_e(t($),t(i)))));cr(F,{get trace(){return t(o)},context:null,get agentId(){return t(zt)},get region(){return t(Ft)},get testSourceStep(){return t(nt)},get testEntries(){return t($)},requireTestSourceStep:!0,testCreationMode:"pii-sanitized"})}};L(Mt,F=>{t(o),d(()=>t(o).traceType==="API_CALL")?F(Re):(t(o),d(()=>t(o).traceType==="STEP")?F(Je,1):F(Me,-1))})}var je=C(Mt,2);{var ze=F=>{var nt=Rr(),Pt=_(nt),oe=_(Pt);m(Pt),m(nt),U(Fe=>G(oe,`High response latency: ${Fe??""}`),[()=>(ot(t(M)),d(()=>g(t(M).durationMs)))]),c(F,nt)};L(je,F=>{t(M)&&F(ze)})}c(a,I)}),m(r),c(e,r)};L(Se,e=>{S(),d(()=>!S().params.conversationId)?e($e):t(z)?e(Ce,1):t(K)?e(Le,2):(t($),d(()=>!t($).length)?e(Pe,3):e(Ne,-1))})}m(Yt),Ze(Yt,e=>f(H,e),()=>t(H)),m(q);var de=C(q,2);{var ke=e=>{ge(e,{title:"Recording",class:"!max-w-3xl",get open(){return t(pt)},set open(o){f(pt,o)},children:o=>{var i=jr(),v=dt(i),A=C(v,2),J=_(A,!0);m(A),U(()=>{Xe(v,"src",(t(T),d(()=>{var M;return(M=t(T))==null?void 0:M.audioUrl}))),G(J,(t(T),d(()=>{var M;return(M=t(T))==null?void 0:M.audioUrl})))}),c(o,i)},footer:o=>{var i=zr(),v=dt(i);gt(v,{variant:"secondary",size:"small",onclick:It,children:(J,M)=>{xt();var I=W("Copy URL");c(J,I)},$$slots:{default:!0}});var A=C(v,2);gt(A,{variant:"secondary",size:"small",onclick:()=>f(pt,!1),children:(J,M)=>{xt();var I=W("Close");c(J,I)},$$slots:{default:!0}}),c(o,i)},$$slots:{default:!0,footer:!0},$$legacy:!0})},Ae=Nt(()=>(t(pt),t(T),d(()=>t(pt)&&N(t(T)))));L(de,e=>{t(Ae)&&e(ke)})}var Ie=C(de,2);{var Ee=e=>{ge(e,{title:"Transcript",class:"!max-w-4xl",get open(){return t(vt)},set open(o){f(vt,o)},children:o=>{var i=Fr(),v=_(i);{var A=J=>{$r(J,{get value(){return t(T),d(()=>t(T).transcript)},limit:500,expanded:!0})};L(v,J=>{t(T),d(()=>{var M;return typeof((M=t(T))==null?void 0:M.transcript)=="string"})&&J(A)})}m(i),c(o,i)},footer:o=>{var i=Dr(),v=_(i);gt(v,{onclick:ut,children:(J,M)=>{xt();var I=W("Copy transcript");c(J,I)},$$slots:{default:!0}});var A=C(v,2);gt(A,{variant:"secondary",onclick:()=>f(vt,!1),children:(J,M)=>{xt();var I=W("Close");c(J,I)},$$slots:{default:!0}}),m(i),c(o,i)},$$slots:{default:!0,footer:!0},$$legacy:!0})},Oe=Nt(()=>(t(vt),t(T),d(()=>t(vt)&&R(t(T)))));L(Ie,e=>{t(Oe)&&e(Ee)})}ie("click",q,e=>e.stopPropagation()),De("scroll",Yt,n),c(rt,Y),ue(),j()}xe(["click"]);export{pa as component};
@@ -1 +0,0 @@
1
- {"version":3,"file":"source-selection.js-Cc6RX6-m.js","sources":["../../../../.svelte-kit/output/server/chunks/source-selection.js"],"sourcesContent":["import { o as object, n as number, s as string, u as union, a as array, b as any, l as literal, c as boolean, d as discriminatedUnion } from \"./schemas.js\";\nconst TranscriptSegmentSchema = object({\n text: string(),\n role: string(),\n // 'Agent' or 'User'\n time: string(),\n // ISO timestamp\n duration: number()\n});\nconst ConversationSchema = object({\n conversationId: string(),\n medium: string(),\n // 'phone' | 'whatsapp' | ...\n agentId: string().optional(),\n phoneNumber: string().optional(),\n duration: number().optional(),\n audioUrl: string().url().optional(),\n transcript: union([string(), array(TranscriptSegmentSchema)]).optional(),\n createdAt: number()\n}).passthrough();\nconst PaginatedConversationsResponseSchema = object({\n limit: number(),\n items: array(ConversationSchema),\n lastConversationId: string().optional()\n});\nconst LlmUsageSchema = object({\n promptTokens: number().optional(),\n completionTokens: number().optional(),\n totalTokens: number().optional(),\n cachedPromptTokens: number().optional()\n}).passthrough();\nconst StepTraceSchema = object({\n traceType: literal(\"STEP\"),\n traceId: string().optional(),\n conversationId: string().optional(),\n scopeId: string().optional(),\n workflowId: string().optional(),\n workflowRunId: string().optional(),\n name: string().optional(),\n renderedPrompt: string().optional(),\n receivedContext: any().optional(),\n receivedPrompt: any().optional(),\n stringifiedConversation: string().optional(),\n response: string().optional(),\n model: string().optional(),\n llmUsage: LlmUsageSchema.optional(),\n createdAt: number(),\n error: any().optional()\n}).passthrough();\nconst ApiCallTraceSchema = object({\n traceType: literal(\"API_CALL\"),\n traceId: string().optional(),\n conversationId: string().optional(),\n scopeId: string().optional(),\n operationName: string(),\n method: string(),\n path: string(),\n baseUrl: string().optional(),\n request: any().optional(),\n response: any().optional(),\n status: number().optional(),\n ok: boolean().optional(),\n durationMs: number().optional(),\n createdAt: number(),\n error: any().optional()\n}).passthrough();\nconst ConversationalTraceSchema = object({\n traceType: literal(\"CONVERSATIONAL\"),\n traceId: string().optional(),\n conversationId: string().optional(),\n scopeId: string().optional(),\n eventName: string(),\n role: string(),\n medium: string(),\n content: string(),\n createdAt: number(),\n error: any().optional()\n}).passthrough();\nconst LatencyTraceSchema = object({\n traceType: literal(\"LATENCY\"),\n traceId: string().optional(),\n conversationId: string().optional(),\n seq: number(),\n atMs: number(),\n eventType: string(),\n payload: any().optional(),\n createdAt: number()\n}).passthrough();\nconst TraceSchema = discriminatedUnion(\"traceType\", [\n StepTraceSchema,\n ApiCallTraceSchema,\n ConversationalTraceSchema\n]);\nconst PaginatedTracesResponseSchema = object({\n items: array(TraceSchema),\n limit: number(),\n lastTraceId: string().optional()\n});\nconst PaginatedLatencyTracesResponseSchema = object({\n items: array(LatencyTraceSchema),\n limit: number(),\n lastTraceId: string().optional()\n});\nconst SOURCE_HEADER = \"x-bosun-telescope-source\";\nclass TelescopeClient {\n /**\n * @param fetchFn Custom fetch function (e.g., from SvelteKit's load context). Defaults to global fetch if not provided.\n */\n constructor(fetchFn = globalThis.fetch, sourceId) {\n this.fetchFn = fetchFn;\n this.sourceId = sourceId;\n }\n setSourceId(sourceId) {\n this.sourceId = sourceId;\n }\n /**\n * Get the actual URL to use (always uses proxy)\n */\n getUrl(path) {\n const cleanPath = path.startsWith(\"/\") ? path.slice(1) : path;\n const pathWithoutDev = cleanPath.replace(/^dev\\//, \"\");\n return `/traces/api/proxy/${pathWithoutDev}`;\n }\n async fetch(method = \"GET\", path, schema) {\n const url = this.getUrl(path);\n const headers = {};\n if (this.sourceId && this.sourceId.trim()) {\n headers[SOURCE_HEADER] = this.sourceId;\n }\n const response = await this.fetchFn(url, { method, headers });\n if (!response) {\n throw new Error(\"No response from server\");\n }\n if (!response.ok) {\n throw new Error(`Error fetching data: ${response.statusText}`);\n }\n if (schema) {\n return schema.parse(await response.json());\n }\n return response;\n }\n /**\n * Get a list of conversations\n * @param phoneNumber full or partial phone number\n * @param limit number of conversations to fetch\n * @param lastConversationId id of the last conversation from the previous page, for pagination\n * @returns a list of conversations\n */\n async getConversations(params = {}) {\n const searchParams = new URLSearchParams({ limit: params.limit?.toString() ?? \"10\" });\n if (params.lastConversationId)\n searchParams.append(\"lastConversationId\", params.lastConversationId);\n if (params.phoneNumber) searchParams.append(\"phoneNumber\", params.phoneNumber);\n if (params.agentId) searchParams.append(\"agentId\", params.agentId);\n const res = await this.fetch(\"GET\", `/conversations?${searchParams.toString()}`);\n if (!res.ok) {\n throw new Error(`Error fetching conversations: ${res.status} ${res.statusText}`);\n }\n const json = await res.json();\n if (Array.isArray(json?.items)) {\n json.items = json.items.map((it) => ({\n ...it,\n phoneNumber: typeof it?.phoneNumber === \"string\" ? it.phoneNumber : \"\"\n }));\n } else {\n json.items = [];\n }\n return PaginatedConversationsResponseSchema.parse(json);\n }\n /**\n * Get a single conversation by ID\n * @param conversationId the conversation ID\n * @returns a single conversation\n */\n async getConversation(conversationId) {\n return await this.fetch(\n \"GET\",\n `/conversations/${conversationId}`,\n ConversationSchema\n );\n }\n /**\n * Get mixed traces for a conversation (chronological timeline)\n * @param conversationId the conversation ID\n * @param limit number of traces to fetch\n * @param lastTraceId id of the last trace from the previous page, for pagination\n * @returns paginated traces\n */\n async getTraces(conversationId, limit, lastTraceId) {\n const params = new URLSearchParams();\n if (limit) params.set(\"limit\", String(limit));\n if (lastTraceId) params.set(\"lastTraceId\", lastTraceId);\n const path = `/conversations/${conversationId}/traces${params.toString() ? `?${params.toString()}` : \"\"}`;\n const res = await this.fetch(\"GET\", path);\n if (!res.ok) {\n throw new Error(`Failed to fetch traces: ${res.status} ${res.statusText}`);\n }\n return PaginatedTracesResponseSchema.parse(await res.json());\n }\n async getLatencyTraces(conversationId, limit, lastTraceId) {\n const params = new URLSearchParams();\n params.set(\"traceType\", \"LATENCY\");\n if (limit) params.set(\"limit\", String(limit));\n if (lastTraceId) params.set(\"lastTraceId\", lastTraceId);\n const path = `/conversations/${conversationId}/traces${params.toString() ? `?${params.toString()}` : \"\"}`;\n const res = await this.fetch(\"GET\", path);\n if (!res.ok) {\n throw new Error(`Failed to fetch latency traces: ${res.status} ${res.statusText}`);\n }\n return PaginatedLatencyTracesResponseSchema.parse(await res.json());\n }\n // Backwards-compatible aliases (older UI paths)\n getCalls(params = {}) {\n return this.getConversations(params);\n }\n getCall(conversationId) {\n return this.getConversation(conversationId);\n }\n getStepTraces(conversationId, limit) {\n return this.getTraces(conversationId, limit);\n }\n}\nconst TELESCOPE_SOURCE_STORAGE_KEY = \"bosun.traces.telescopeSourceId\";\nfunction getPersistedTelescopeSourceId() {\n if (typeof window === \"undefined\") return null;\n try {\n return window.localStorage.getItem(TELESCOPE_SOURCE_STORAGE_KEY);\n } catch {\n return null;\n }\n}\nfunction persistTelescopeSourceId(sourceId) {\n if (typeof window === \"undefined\") return;\n if (!sourceId || !sourceId.trim()) return;\n try {\n window.localStorage.setItem(TELESCOPE_SOURCE_STORAGE_KEY, sourceId);\n } catch {\n }\n}\nexport {\n TelescopeClient as T,\n getPersistedTelescopeSourceId as g,\n persistTelescopeSourceId as p\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_page.svelte.js-Ca79DBzJ.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/pages/traces/conversations/_conversationId_/traces/_page.svelte.js"],"sourcesContent":["import { m as getContext, o as fallback, a as ensure_array_like, b as attr_class, e as escape_html, j 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 \"../../../../../../chunks/exports.js\";\nimport \"../../../../../../chunks/utils.js\";\nimport \"../../../../../../chunks/event.js\";\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 = getContext(\"__svelte__\");\n return {\n /** @type {typeof page} */\n page: {\n subscribe: stores.page.subscribe\n },\n /** @type {typeof navigating} */\n navigating: {\n subscribe: stores.navigating.subscribe\n },\n /** @type {typeof updated} */\n updated: stores.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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"}