@recombine-ai/platform 0.3.0 → 0.5.0-test.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (457) hide show
  1. package/README.md +2 -1
  2. package/build/agent/agent-analytics.d.ts +14 -0
  3. package/build/agent/agent-analytics.d.ts.map +1 -0
  4. package/build/agent/agent-analytics.js +29 -0
  5. package/build/agent/index.d.ts +1 -0
  6. package/build/agent/index.d.ts.map +1 -1
  7. package/build/agent/text-agent.d.ts +4 -3
  8. package/build/agent/text-agent.d.ts.map +1 -1
  9. package/build/agent/text-agent.js +8 -1
  10. package/build/agent/voice-agent.d.ts +4 -3
  11. package/build/agent/voice-agent.d.ts.map +1 -1
  12. package/build/agent/voice-agent.js +8 -1
  13. package/build/analytics/analytics.d.ts +49 -0
  14. package/build/analytics/analytics.d.ts.map +1 -0
  15. package/build/analytics/analytics.js +223 -0
  16. package/build/analytics/index.d.ts +7 -0
  17. package/build/analytics/index.d.ts.map +1 -0
  18. package/build/analytics/index.js +3 -0
  19. package/build/analytics/postgres-analytics-query.d.ts +117 -0
  20. package/build/analytics/postgres-analytics-query.d.ts.map +1 -0
  21. package/build/analytics/postgres-analytics-query.js +504 -0
  22. package/build/analytics/postgres-analytics.d.ts +33 -0
  23. package/build/analytics/postgres-analytics.d.ts.map +1 -0
  24. package/build/analytics/postgres-analytics.js +310 -0
  25. package/build/bosun/std-mocks/platform.d.ts.map +1 -1
  26. package/build/bosun/std-mocks/platform.js +2 -0
  27. package/build/bosun/test-agent.d.ts.map +1 -1
  28. package/build/bosun/test-agent.js +2 -1
  29. package/build/bosun-app/frontend/client/_app/immutable/assets/0.BhaOIA8N.css +1 -0
  30. package/build/bosun-app/frontend/client/_app/immutable/assets/0.BhaOIA8N.css.br +0 -0
  31. package/build/bosun-app/frontend/client/_app/immutable/assets/0.BhaOIA8N.css.gz +0 -0
  32. package/build/bosun-app/frontend/client/_app/immutable/chunks/-ZTJLlC3.js +2 -0
  33. package/build/bosun-app/frontend/client/_app/immutable/chunks/-ZTJLlC3.js.br +0 -0
  34. package/build/bosun-app/frontend/client/_app/immutable/chunks/-ZTJLlC3.js.gz +0 -0
  35. package/build/bosun-app/frontend/client/_app/immutable/chunks/0Q6TVg1G.js +1 -0
  36. package/build/bosun-app/frontend/client/_app/immutable/chunks/0Q6TVg1G.js.br +0 -0
  37. package/build/bosun-app/frontend/client/_app/immutable/chunks/0Q6TVg1G.js.gz +0 -0
  38. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DEz15oJb.js → 4OgEIyh1.js} +1 -1
  39. package/build/bosun-app/frontend/client/_app/immutable/chunks/4OgEIyh1.js.br +0 -0
  40. package/build/bosun-app/frontend/client/_app/immutable/chunks/4OgEIyh1.js.gz +0 -0
  41. package/build/bosun-app/frontend/client/_app/immutable/chunks/8bHWYDyT.js +1 -0
  42. package/build/bosun-app/frontend/client/_app/immutable/chunks/8bHWYDyT.js.br +0 -0
  43. package/build/bosun-app/frontend/client/_app/immutable/chunks/8bHWYDyT.js.gz +0 -0
  44. package/build/bosun-app/frontend/client/_app/immutable/chunks/{C0rPkxmP.js → 9pOOTteE.js} +1 -1
  45. package/build/bosun-app/frontend/client/_app/immutable/chunks/9pOOTteE.js.br +0 -0
  46. package/build/bosun-app/frontend/client/_app/immutable/chunks/9pOOTteE.js.gz +0 -0
  47. package/build/bosun-app/frontend/client/_app/immutable/chunks/AlWqjAqK.js +1 -0
  48. package/build/bosun-app/frontend/client/_app/immutable/chunks/AlWqjAqK.js.br +0 -0
  49. package/build/bosun-app/frontend/client/_app/immutable/chunks/AlWqjAqK.js.gz +0 -0
  50. package/build/bosun-app/frontend/client/_app/immutable/chunks/{B9pMb6OP.js → B9e8MCJ2.js} +1 -1
  51. package/build/bosun-app/frontend/client/_app/immutable/chunks/B9e8MCJ2.js.br +0 -0
  52. package/build/bosun-app/frontend/client/_app/immutable/chunks/B9e8MCJ2.js.gz +0 -0
  53. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BEdAvgYp.js → BDIIq0ko.js} +1 -1
  54. package/build/bosun-app/frontend/client/_app/immutable/chunks/BDIIq0ko.js.br +0 -0
  55. package/build/bosun-app/frontend/client/_app/immutable/chunks/BDIIq0ko.js.gz +0 -0
  56. package/build/bosun-app/frontend/client/_app/immutable/chunks/BFiP5U7M.js +3 -0
  57. package/build/bosun-app/frontend/client/_app/immutable/chunks/BFiP5U7M.js.br +0 -0
  58. package/build/bosun-app/frontend/client/_app/immutable/chunks/BFiP5U7M.js.gz +0 -0
  59. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DnMQeiTY.js → BHU9AXbn.js} +1 -1
  60. package/build/bosun-app/frontend/client/_app/immutable/chunks/BHU9AXbn.js.br +0 -0
  61. package/build/bosun-app/frontend/client/_app/immutable/chunks/BHU9AXbn.js.gz +0 -0
  62. package/build/bosun-app/frontend/client/_app/immutable/chunks/{Bp8N7Z1t.js → BHwgmBN2.js} +1 -1
  63. package/build/bosun-app/frontend/client/_app/immutable/chunks/BHwgmBN2.js.br +0 -0
  64. package/build/bosun-app/frontend/client/_app/immutable/chunks/BHwgmBN2.js.gz +0 -0
  65. package/build/bosun-app/frontend/client/_app/immutable/chunks/BOlSQbHE.js +2 -0
  66. package/build/bosun-app/frontend/client/_app/immutable/chunks/BOlSQbHE.js.br +0 -0
  67. package/build/bosun-app/frontend/client/_app/immutable/chunks/BOlSQbHE.js.gz +0 -0
  68. package/build/bosun-app/frontend/client/_app/immutable/chunks/BXO2WwQx.js +1 -0
  69. package/build/bosun-app/frontend/client/_app/immutable/chunks/BXO2WwQx.js.br +0 -0
  70. package/build/bosun-app/frontend/client/_app/immutable/chunks/BXO2WwQx.js.gz +0 -0
  71. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BQIf5msi.js → BZeEhZ9x.js} +1 -1
  72. package/build/bosun-app/frontend/client/_app/immutable/chunks/BZeEhZ9x.js.br +0 -0
  73. package/build/bosun-app/frontend/client/_app/immutable/chunks/BZeEhZ9x.js.gz +0 -0
  74. package/build/bosun-app/frontend/client/_app/immutable/chunks/BbB1C_YH.js +1 -0
  75. package/build/bosun-app/frontend/client/_app/immutable/chunks/BbB1C_YH.js.br +0 -0
  76. package/build/bosun-app/frontend/client/_app/immutable/chunks/BbB1C_YH.js.gz +0 -0
  77. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DJnDF3d9.js → BtJ1grIE.js} +1 -1
  78. package/build/bosun-app/frontend/client/_app/immutable/chunks/BtJ1grIE.js.br +0 -0
  79. package/build/bosun-app/frontend/client/_app/immutable/chunks/BtJ1grIE.js.gz +0 -0
  80. package/build/bosun-app/frontend/client/_app/immutable/chunks/C5z36vOP.js +8 -0
  81. package/build/bosun-app/frontend/client/_app/immutable/chunks/C5z36vOP.js.br +0 -0
  82. package/build/bosun-app/frontend/client/_app/immutable/chunks/C5z36vOP.js.gz +0 -0
  83. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHNsNZYZ.js +1 -0
  84. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHNsNZYZ.js.br +0 -0
  85. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHNsNZYZ.js.gz +0 -0
  86. package/build/bosun-app/frontend/client/_app/immutable/chunks/{B8q_gCwD.js → CINamuM5.js} +1 -1
  87. package/build/bosun-app/frontend/client/_app/immutable/chunks/CINamuM5.js.br +1 -0
  88. package/build/bosun-app/frontend/client/_app/immutable/chunks/CINamuM5.js.gz +0 -0
  89. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR6hF_YT.js +1 -0
  90. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR6hF_YT.js.br +0 -0
  91. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR6hF_YT.js.gz +0 -0
  92. package/build/bosun-app/frontend/client/_app/immutable/chunks/CbXT0Qet.js +1 -0
  93. package/build/bosun-app/frontend/client/_app/immutable/chunks/CbXT0Qet.js.br +0 -0
  94. package/build/bosun-app/frontend/client/_app/immutable/chunks/CbXT0Qet.js.gz +0 -0
  95. package/build/bosun-app/frontend/client/_app/immutable/chunks/{sKHuRf4Z.js → CkCJ1-zx.js} +1 -1
  96. package/build/bosun-app/frontend/client/_app/immutable/chunks/CkCJ1-zx.js.br +0 -0
  97. package/build/bosun-app/frontend/client/_app/immutable/chunks/CkCJ1-zx.js.gz +0 -0
  98. package/build/bosun-app/frontend/client/_app/immutable/chunks/Cm25Ihk6.js +1 -0
  99. package/build/bosun-app/frontend/client/_app/immutable/chunks/Cm25Ihk6.js.br +0 -0
  100. package/build/bosun-app/frontend/client/_app/immutable/chunks/Cm25Ihk6.js.gz +0 -0
  101. package/build/bosun-app/frontend/client/_app/immutable/chunks/CmJrlnQL.js +64 -0
  102. package/build/bosun-app/frontend/client/_app/immutable/chunks/CmJrlnQL.js.br +0 -0
  103. package/build/bosun-app/frontend/client/_app/immutable/chunks/CmJrlnQL.js.gz +0 -0
  104. package/build/bosun-app/frontend/client/_app/immutable/chunks/CofRL0YY.js +2 -0
  105. package/build/bosun-app/frontend/client/_app/immutable/chunks/CofRL0YY.js.br +0 -0
  106. package/build/bosun-app/frontend/client/_app/immutable/chunks/CofRL0YY.js.gz +0 -0
  107. package/build/bosun-app/frontend/client/_app/immutable/chunks/{joiJcRPz.js → Csai_DUZ.js} +1 -1
  108. package/build/bosun-app/frontend/client/_app/immutable/chunks/Csai_DUZ.js.br +6 -0
  109. package/build/bosun-app/frontend/client/_app/immutable/chunks/Csai_DUZ.js.gz +0 -0
  110. package/build/bosun-app/frontend/client/_app/immutable/chunks/{CCYriF4C.js → D24F_tet.js} +1 -1
  111. package/build/bosun-app/frontend/client/_app/immutable/chunks/D24F_tet.js.br +0 -0
  112. package/build/bosun-app/frontend/client/_app/immutable/chunks/D24F_tet.js.gz +0 -0
  113. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DNvczHUR.js → D35JKLYq.js} +1 -1
  114. package/build/bosun-app/frontend/client/_app/immutable/chunks/D35JKLYq.js.br +0 -0
  115. package/build/bosun-app/frontend/client/_app/immutable/chunks/D35JKLYq.js.gz +0 -0
  116. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BcbX6huO.js → D6r2pB3T.js} +1 -1
  117. package/build/bosun-app/frontend/client/_app/immutable/chunks/D6r2pB3T.js.br +0 -0
  118. package/build/bosun-app/frontend/client/_app/immutable/chunks/D6r2pB3T.js.gz +0 -0
  119. package/build/bosun-app/frontend/client/_app/immutable/chunks/{ClLUwVGq.js → DJFKRYxi.js} +1 -1
  120. package/build/bosun-app/frontend/client/_app/immutable/chunks/DJFKRYxi.js.br +0 -0
  121. package/build/bosun-app/frontend/client/_app/immutable/chunks/DJFKRYxi.js.gz +0 -0
  122. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BW6P0Ecp.js → DOVgTfHj.js} +1 -1
  123. package/build/bosun-app/frontend/client/_app/immutable/chunks/DOVgTfHj.js.br +0 -0
  124. package/build/bosun-app/frontend/client/_app/immutable/chunks/DOVgTfHj.js.gz +0 -0
  125. package/build/bosun-app/frontend/client/_app/immutable/chunks/DPfKTQVx.js +1 -0
  126. package/build/bosun-app/frontend/client/_app/immutable/chunks/DPfKTQVx.js.br +0 -0
  127. package/build/bosun-app/frontend/client/_app/immutable/chunks/DPfKTQVx.js.gz +0 -0
  128. package/build/bosun-app/frontend/client/_app/immutable/chunks/{ouMvMh56.js → DSFEfk-V.js} +1 -1
  129. package/build/bosun-app/frontend/client/_app/immutable/chunks/DSFEfk-V.js.br +0 -0
  130. package/build/bosun-app/frontend/client/_app/immutable/chunks/DSFEfk-V.js.gz +0 -0
  131. package/build/bosun-app/frontend/client/_app/immutable/chunks/DbY589nb.js +1 -0
  132. package/build/bosun-app/frontend/client/_app/immutable/chunks/DbY589nb.js.br +2 -0
  133. package/build/bosun-app/frontend/client/_app/immutable/chunks/DbY589nb.js.gz +0 -0
  134. package/build/bosun-app/frontend/client/_app/immutable/chunks/DfEgi1lN.js +1 -0
  135. package/build/bosun-app/frontend/client/_app/immutable/chunks/DfEgi1lN.js.br +0 -0
  136. package/build/bosun-app/frontend/client/_app/immutable/chunks/DfEgi1lN.js.gz +0 -0
  137. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BJ9KKLWf.js → DsRUoWL6.js} +1 -1
  138. package/build/bosun-app/frontend/client/_app/immutable/chunks/DsRUoWL6.js.br +0 -0
  139. package/build/bosun-app/frontend/client/_app/immutable/chunks/DsRUoWL6.js.gz +0 -0
  140. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DjujL8K1.js → FLx39vZ1.js} +1 -1
  141. package/build/bosun-app/frontend/client/_app/immutable/chunks/FLx39vZ1.js.br +0 -0
  142. package/build/bosun-app/frontend/client/_app/immutable/chunks/FLx39vZ1.js.gz +0 -0
  143. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BBk8_Xpk.js → NwoUwoIi.js} +2 -2
  144. package/build/bosun-app/frontend/client/_app/immutable/chunks/NwoUwoIi.js.br +0 -0
  145. package/build/bosun-app/frontend/client/_app/immutable/chunks/NwoUwoIi.js.gz +0 -0
  146. package/build/bosun-app/frontend/client/_app/immutable/chunks/{C9yBjdYI.js → VLxbY_3V.js} +1 -1
  147. package/build/bosun-app/frontend/client/_app/immutable/chunks/VLxbY_3V.js.br +0 -0
  148. package/build/bosun-app/frontend/client/_app/immutable/chunks/VLxbY_3V.js.gz +0 -0
  149. package/build/bosun-app/frontend/client/_app/immutable/chunks/uEzaTD9T.js +1 -0
  150. package/build/bosun-app/frontend/client/_app/immutable/chunks/uEzaTD9T.js.br +2 -0
  151. package/build/bosun-app/frontend/client/_app/immutable/chunks/uEzaTD9T.js.gz +0 -0
  152. package/build/bosun-app/frontend/client/_app/immutable/entry/app.fITODAfp.js +2 -0
  153. package/build/bosun-app/frontend/client/_app/immutable/entry/app.fITODAfp.js.br +0 -0
  154. package/build/bosun-app/frontend/client/_app/immutable/entry/app.fITODAfp.js.gz +0 -0
  155. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CuqUO5EQ.js +1 -0
  156. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CuqUO5EQ.js.br +0 -0
  157. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CuqUO5EQ.js.gz +0 -0
  158. package/build/bosun-app/frontend/client/_app/immutable/nodes/{0.CyFCeOko.js → 0.sWxZKx1V.js} +1 -1
  159. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.sWxZKx1V.js.br +0 -0
  160. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.sWxZKx1V.js.gz +0 -0
  161. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.PQXY4edq.js +1 -0
  162. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.PQXY4edq.js.br +0 -0
  163. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.PQXY4edq.js.gz +0 -0
  164. package/build/bosun-app/frontend/client/_app/immutable/nodes/{10.CQP8ZYdc.js → 10.BP2gctlm.js} +7 -7
  165. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.BP2gctlm.js.br +0 -0
  166. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.BP2gctlm.js.gz +0 -0
  167. package/build/bosun-app/frontend/client/_app/immutable/nodes/{15.drIyAxl2.js → 15.D4h0JT65.js} +1 -1
  168. package/build/bosun-app/frontend/client/_app/immutable/nodes/15.D4h0JT65.js.br +0 -0
  169. package/build/bosun-app/frontend/client/_app/immutable/nodes/15.D4h0JT65.js.gz +0 -0
  170. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.D5wsHo5R.js +3 -0
  171. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.D5wsHo5R.js.br +0 -0
  172. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.D5wsHo5R.js.gz +0 -0
  173. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CZp-IBH8.js +11 -0
  174. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CZp-IBH8.js.br +0 -0
  175. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CZp-IBH8.js.gz +0 -0
  176. package/build/bosun-app/frontend/client/_app/immutable/nodes/{2.lZxPEqtw.js → 2.DaZm8LbH.js} +3 -3
  177. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.DaZm8LbH.js.br +0 -0
  178. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.DaZm8LbH.js.gz +0 -0
  179. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.Bk3buFqf.js +1 -0
  180. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.Bk3buFqf.js.br +0 -0
  181. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.Bk3buFqf.js.gz +0 -0
  182. package/build/bosun-app/frontend/client/_app/immutable/nodes/{4.B_swg0wq.js → 4.BWY-PEkr.js} +1 -1
  183. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.BWY-PEkr.js.br +0 -0
  184. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.BWY-PEkr.js.gz +0 -0
  185. package/build/bosun-app/frontend/client/_app/immutable/nodes/{5.CJfS926N.js → 5.Cl70jzrZ.js} +1 -1
  186. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.Cl70jzrZ.js.br +0 -0
  187. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.Cl70jzrZ.js.gz +0 -0
  188. package/build/bosun-app/frontend/client/_app/immutable/nodes/{6.4aRjHu4u.js → 6.Cfkc99si.js} +1 -1
  189. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.Cfkc99si.js.br +0 -0
  190. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.Cfkc99si.js.gz +0 -0
  191. package/build/bosun-app/frontend/client/_app/immutable/nodes/{8.BZFIHe4g.js → 8.CmB3ZvKy.js} +1 -1
  192. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.CmB3ZvKy.js.br +0 -0
  193. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.CmB3ZvKy.js.gz +0 -0
  194. package/build/bosun-app/frontend/client/_app/immutable/nodes/{9.BYJRzNt4.js → 9.8UAsXj0n.js} +1 -1
  195. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.8UAsXj0n.js.br +0 -0
  196. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.8UAsXj0n.js.gz +0 -0
  197. package/build/bosun-app/frontend/client/_app/version.json +1 -1
  198. package/build/bosun-app/frontend/client/_app/version.json.br +0 -0
  199. package/build/bosun-app/frontend/client/_app/version.json.gz +0 -0
  200. package/build/bosun-app/frontend/handler.js +4 -4
  201. package/build/bosun-app/frontend/index.js +4 -4
  202. package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-V8Wfo1-F.js → internal.js-BYUssiWE.js} +2 -2
  203. package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-V8Wfo1-F.js.map → internal.js-BYUssiWE.js.map} +1 -1
  204. package/build/bosun-app/frontend/server/chunks/chunks/{schemas.js-W-DP3mDr.js → schemas.js-b9Mui_5N.js} +187 -2
  205. package/build/bosun-app/frontend/server/chunks/chunks/schemas.js-b9Mui_5N.js.map +1 -0
  206. package/build/bosun-app/frontend/server/chunks/chunks/{source-selection.js-Cc6RX6-m.js → source-selection.js-BpCr9ar-.js} +47 -4
  207. package/build/bosun-app/frontend/server/chunks/chunks/source-selection.js-BpCr9ar-.js.map +1 -0
  208. package/build/bosun-app/frontend/server/chunks/chunks/{sources.server.js-B6fpC51P.js → sources.server.js-DIj2VjCx.js} +2 -2
  209. package/build/bosun-app/frontend/server/chunks/chunks/{sources.server.js-B6fpC51P.js.map → sources.server.js-DIj2VjCx.js.map} +1 -1
  210. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/latency/_conversationId_/{_server.ts.js-hHR2eFvt.js → _server.ts.js-mL82mAit.js} +2 -2
  211. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/latency/_conversationId_/{_server.ts.js-hHR2eFvt.js.map → _server.ts.js-mL82mAit.js.map} +1 -1
  212. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/proxy/_...path_/{_server.ts.js-CHrOiduq.js → _server.ts.js-DDDiZFhL.js} +17 -10
  213. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/proxy/_...path_/_server.ts.js-DDDiZFhL.js.map +1 -0
  214. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/sources/{_server.ts.js-C2FIU8Kr.js → _server.ts.js-D_UoR_Ph.js} +3 -3
  215. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/sources/{_server.ts.js-C2FIU8Kr.js.map → _server.ts.js-D_UoR_Ph.js.map} +1 -1
  216. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/latency/{_page.svelte.js-tdUdTo4m.js → _page.svelte.js-DXMXSrkC.js} +5 -5
  217. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/latency/_page.svelte.js-DXMXSrkC.js.map +1 -0
  218. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/{_page.svelte.js-Ca79DBzJ.js → _page.svelte.js-CZkbHRGl.js} +28 -9
  219. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/_page.svelte.js-CZkbHRGl.js.map +1 -0
  220. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/{_layout.svelte.js-Dvn3tfM7.js → _layout.svelte.js-B4Yws-GS.js} +328 -35
  221. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_layout.svelte.js-B4Yws-GS.js.map +1 -0
  222. package/build/bosun-app/frontend/server/chunks/{handler-I7zF-fv9.js → handler-B-UxYyko.js} +3 -3
  223. package/build/bosun-app/frontend/server/chunks/{handler-I7zF-fv9.js.map → handler-B-UxYyko.js.map} +1 -1
  224. package/build/bosun-app/frontend/server/chunks/{index.js-Ca0Ef2Tt.js → index.js-CleJzVFo.js} +2 -2
  225. package/build/bosun-app/frontend/server/chunks/{index.js-Ca0Ef2Tt.js.map → index.js-CleJzVFo.js.map} +1 -1
  226. package/build/bosun-app/frontend/server/chunks/{manifest.js-D22OChaf.js → manifest.js-C8NquSUu.js} +18 -18
  227. package/build/bosun-app/frontend/server/chunks/{manifest.js-D22OChaf.js.map → manifest.js-C8NquSUu.js.map} +1 -1
  228. package/build/bosun-app/frontend/server/chunks/nodes/0.js-BUVJh5Uv.js +9 -0
  229. package/build/bosun-app/frontend/server/chunks/nodes/0.js-BUVJh5Uv.js.map +1 -0
  230. package/build/bosun-app/frontend/server/chunks/nodes/1.js-BKMg62KW.js +9 -0
  231. package/build/bosun-app/frontend/server/chunks/nodes/{1.js-BesNpd2w.js.map → 1.js-BKMg62KW.js.map} +1 -1
  232. package/build/bosun-app/frontend/server/chunks/nodes/10.js-Bz0enUzA.js +9 -0
  233. package/build/bosun-app/frontend/server/chunks/nodes/10.js-Bz0enUzA.js.map +1 -0
  234. package/build/bosun-app/frontend/server/chunks/nodes/{15.js-cNd06B9T.js → 15.js-nE6nl5S8.js} +2 -2
  235. package/build/bosun-app/frontend/server/chunks/nodes/{15.js-cNd06B9T.js.map → 15.js-nE6nl5S8.js.map} +1 -1
  236. package/build/bosun-app/frontend/server/chunks/nodes/17.js-CplX6Ruz.js +9 -0
  237. package/build/bosun-app/frontend/server/chunks/nodes/17.js-CplX6Ruz.js.map +1 -0
  238. package/build/bosun-app/frontend/server/chunks/nodes/18.js-cGVVSoEn.js +9 -0
  239. package/build/bosun-app/frontend/server/chunks/nodes/18.js-cGVVSoEn.js.map +1 -0
  240. package/build/bosun-app/frontend/server/chunks/nodes/2.js-CliMdUrH.js +9 -0
  241. package/build/bosun-app/frontend/server/chunks/nodes/2.js-CliMdUrH.js.map +1 -0
  242. package/build/bosun-app/frontend/server/chunks/nodes/3.js-BQpmmrUv.js +9 -0
  243. package/build/bosun-app/frontend/server/chunks/nodes/3.js-BQpmmrUv.js.map +1 -0
  244. package/build/bosun-app/frontend/server/chunks/nodes/4.js-BgSyMW3D.js +9 -0
  245. package/build/bosun-app/frontend/server/chunks/nodes/4.js-BgSyMW3D.js.map +1 -0
  246. package/build/bosun-app/frontend/server/chunks/nodes/5.js-CqRWSoO5.js +9 -0
  247. package/build/bosun-app/frontend/server/chunks/nodes/{5.js-DNbqpjRZ.js.map → 5.js-CqRWSoO5.js.map} +1 -1
  248. package/build/bosun-app/frontend/server/chunks/nodes/6.js-CrEQ411L.js +9 -0
  249. package/build/bosun-app/frontend/server/chunks/nodes/6.js-CrEQ411L.js.map +1 -0
  250. package/build/bosun-app/frontend/server/chunks/nodes/8.js-CiOj2-c5.js +9 -0
  251. package/build/bosun-app/frontend/server/chunks/nodes/8.js-CiOj2-c5.js.map +1 -0
  252. package/build/bosun-app/frontend/server/chunks/nodes/9.js-BMwqRSfy.js +9 -0
  253. package/build/bosun-app/frontend/server/chunks/nodes/9.js-BMwqRSfy.js.map +1 -0
  254. package/build/build/build.d.ts +3 -0
  255. package/build/build/build.d.ts.map +1 -0
  256. package/build/build/build.js +73 -0
  257. package/build/build/cli.d.ts +2 -11
  258. package/build/build/cli.d.ts.map +1 -1
  259. package/build/build/cli.js +19 -81
  260. package/build/build/common.d.ts +6 -9
  261. package/build/build/common.d.ts.map +1 -1
  262. package/build/build/common.js +131 -40
  263. package/build/build/config.d.ts +9 -0
  264. package/build/build/config.d.ts.map +1 -0
  265. package/build/build/config.js +24 -0
  266. package/build/build/index.d.ts +4 -6
  267. package/build/build/index.d.ts.map +1 -1
  268. package/build/build/index.js +3 -3
  269. package/build/call-control/types.d.ts +1 -1
  270. package/build/call-control/types.d.ts.map +1 -1
  271. package/build/core/make-text-platform.d.ts +3 -1
  272. package/build/core/make-text-platform.d.ts.map +1 -1
  273. package/build/core/make-text-platform.js +3 -1
  274. package/build/core/make-voice-platform.d.ts +3 -1
  275. package/build/core/make-voice-platform.d.ts.map +1 -1
  276. package/build/core/make-voice-platform.js +3 -1
  277. package/build/core/platform.d.ts +2 -0
  278. package/build/core/platform.d.ts.map +1 -1
  279. package/build/voice-agent-api/call-end.d.ts +19 -0
  280. package/build/voice-agent-api/call-end.d.ts.map +1 -0
  281. package/build/voice-agent-api/call-end.js +58 -0
  282. package/build/voice-agent-api/voice-http.d.ts +3 -1
  283. package/build/voice-agent-api/voice-http.d.ts.map +1 -1
  284. package/build/voice-agent-api/voice-http.js +27 -7
  285. package/package.json +5 -1
  286. package/build/bosun-app/frontend/client/_app/immutable/assets/0.B5fEz2jr.css +0 -1
  287. package/build/bosun-app/frontend/client/_app/immutable/assets/0.B5fEz2jr.css.br +0 -0
  288. package/build/bosun-app/frontend/client/_app/immutable/assets/0.B5fEz2jr.css.gz +0 -0
  289. package/build/bosun-app/frontend/client/_app/immutable/chunks/9mOMnnWN.js +0 -1
  290. package/build/bosun-app/frontend/client/_app/immutable/chunks/9mOMnnWN.js.br +0 -0
  291. package/build/bosun-app/frontend/client/_app/immutable/chunks/9mOMnnWN.js.gz +0 -0
  292. package/build/bosun-app/frontend/client/_app/immutable/chunks/B0nqNj93.js +0 -2
  293. package/build/bosun-app/frontend/client/_app/immutable/chunks/B0nqNj93.js.br +0 -0
  294. package/build/bosun-app/frontend/client/_app/immutable/chunks/B0nqNj93.js.gz +0 -0
  295. package/build/bosun-app/frontend/client/_app/immutable/chunks/B1dhmiqQ.js +0 -1
  296. package/build/bosun-app/frontend/client/_app/immutable/chunks/B1dhmiqQ.js.br +0 -0
  297. package/build/bosun-app/frontend/client/_app/immutable/chunks/B1dhmiqQ.js.gz +0 -0
  298. package/build/bosun-app/frontend/client/_app/immutable/chunks/B8q_gCwD.js.br +0 -2
  299. package/build/bosun-app/frontend/client/_app/immutable/chunks/B8q_gCwD.js.gz +0 -0
  300. package/build/bosun-app/frontend/client/_app/immutable/chunks/B9pMb6OP.js.br +0 -0
  301. package/build/bosun-app/frontend/client/_app/immutable/chunks/B9pMb6OP.js.gz +0 -0
  302. package/build/bosun-app/frontend/client/_app/immutable/chunks/BBk8_Xpk.js.br +0 -0
  303. package/build/bosun-app/frontend/client/_app/immutable/chunks/BBk8_Xpk.js.gz +0 -0
  304. package/build/bosun-app/frontend/client/_app/immutable/chunks/BEdAvgYp.js.br +0 -0
  305. package/build/bosun-app/frontend/client/_app/immutable/chunks/BEdAvgYp.js.gz +0 -0
  306. package/build/bosun-app/frontend/client/_app/immutable/chunks/BJ9KKLWf.js.br +0 -0
  307. package/build/bosun-app/frontend/client/_app/immutable/chunks/BJ9KKLWf.js.gz +0 -0
  308. package/build/bosun-app/frontend/client/_app/immutable/chunks/BKW04JRY.js +0 -1
  309. package/build/bosun-app/frontend/client/_app/immutable/chunks/BKW04JRY.js.br +0 -0
  310. package/build/bosun-app/frontend/client/_app/immutable/chunks/BKW04JRY.js.gz +0 -0
  311. package/build/bosun-app/frontend/client/_app/immutable/chunks/BOiOqwrA.js +0 -3
  312. package/build/bosun-app/frontend/client/_app/immutable/chunks/BOiOqwrA.js.br +0 -0
  313. package/build/bosun-app/frontend/client/_app/immutable/chunks/BOiOqwrA.js.gz +0 -0
  314. package/build/bosun-app/frontend/client/_app/immutable/chunks/BQIf5msi.js.br +0 -1
  315. package/build/bosun-app/frontend/client/_app/immutable/chunks/BQIf5msi.js.gz +0 -0
  316. package/build/bosun-app/frontend/client/_app/immutable/chunks/BUkXSKT3.js +0 -1
  317. package/build/bosun-app/frontend/client/_app/immutable/chunks/BUkXSKT3.js.br +0 -0
  318. package/build/bosun-app/frontend/client/_app/immutable/chunks/BUkXSKT3.js.gz +0 -0
  319. package/build/bosun-app/frontend/client/_app/immutable/chunks/BW6P0Ecp.js.br +0 -0
  320. package/build/bosun-app/frontend/client/_app/immutable/chunks/BW6P0Ecp.js.gz +0 -0
  321. package/build/bosun-app/frontend/client/_app/immutable/chunks/BcbX6huO.js.br +0 -0
  322. package/build/bosun-app/frontend/client/_app/immutable/chunks/BcbX6huO.js.gz +0 -0
  323. package/build/bosun-app/frontend/client/_app/immutable/chunks/BoX_BZZY.js +0 -1
  324. package/build/bosun-app/frontend/client/_app/immutable/chunks/BoX_BZZY.js.br +0 -0
  325. package/build/bosun-app/frontend/client/_app/immutable/chunks/BoX_BZZY.js.gz +0 -0
  326. package/build/bosun-app/frontend/client/_app/immutable/chunks/Bp8N7Z1t.js.br +0 -0
  327. package/build/bosun-app/frontend/client/_app/immutable/chunks/Bp8N7Z1t.js.gz +0 -0
  328. package/build/bosun-app/frontend/client/_app/immutable/chunks/C0rPkxmP.js.br +0 -0
  329. package/build/bosun-app/frontend/client/_app/immutable/chunks/C0rPkxmP.js.gz +0 -0
  330. package/build/bosun-app/frontend/client/_app/immutable/chunks/C3cROXCy.js +0 -9
  331. package/build/bosun-app/frontend/client/_app/immutable/chunks/C3cROXCy.js.br +0 -0
  332. package/build/bosun-app/frontend/client/_app/immutable/chunks/C3cROXCy.js.gz +0 -0
  333. package/build/bosun-app/frontend/client/_app/immutable/chunks/C9yBjdYI.js.br +0 -0
  334. package/build/bosun-app/frontend/client/_app/immutable/chunks/C9yBjdYI.js.gz +0 -0
  335. package/build/bosun-app/frontend/client/_app/immutable/chunks/CCYriF4C.js.br +0 -0
  336. package/build/bosun-app/frontend/client/_app/immutable/chunks/CCYriF4C.js.gz +0 -0
  337. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHCMKZAC.js +0 -1
  338. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHCMKZAC.js.br +0 -0
  339. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHCMKZAC.js.gz +0 -0
  340. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR-uVjxM.js +0 -1
  341. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR-uVjxM.js.br +0 -0
  342. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR-uVjxM.js.gz +0 -0
  343. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR5IRTqC.js +0 -1
  344. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR5IRTqC.js.br +0 -0
  345. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR5IRTqC.js.gz +0 -0
  346. package/build/bosun-app/frontend/client/_app/immutable/chunks/ClLUwVGq.js.br +0 -0
  347. package/build/bosun-app/frontend/client/_app/immutable/chunks/ClLUwVGq.js.gz +0 -0
  348. package/build/bosun-app/frontend/client/_app/immutable/chunks/DEz15oJb.js.br +0 -0
  349. package/build/bosun-app/frontend/client/_app/immutable/chunks/DEz15oJb.js.gz +0 -0
  350. package/build/bosun-app/frontend/client/_app/immutable/chunks/DGc0An5V.js +0 -1
  351. package/build/bosun-app/frontend/client/_app/immutable/chunks/DGc0An5V.js.br +0 -0
  352. package/build/bosun-app/frontend/client/_app/immutable/chunks/DGc0An5V.js.gz +0 -0
  353. package/build/bosun-app/frontend/client/_app/immutable/chunks/DJnDF3d9.js.br +0 -0
  354. package/build/bosun-app/frontend/client/_app/immutable/chunks/DJnDF3d9.js.gz +0 -0
  355. package/build/bosun-app/frontend/client/_app/immutable/chunks/DNvczHUR.js.br +0 -0
  356. package/build/bosun-app/frontend/client/_app/immutable/chunks/DNvczHUR.js.gz +0 -0
  357. package/build/bosun-app/frontend/client/_app/immutable/chunks/DXsF11_5.js +0 -1
  358. package/build/bosun-app/frontend/client/_app/immutable/chunks/DXsF11_5.js.br +0 -2
  359. package/build/bosun-app/frontend/client/_app/immutable/chunks/DXsF11_5.js.gz +0 -0
  360. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dba0_Upf.js +0 -1
  361. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dba0_Upf.js.br +0 -2
  362. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dba0_Upf.js.gz +0 -0
  363. package/build/bosun-app/frontend/client/_app/immutable/chunks/DjujL8K1.js.br +0 -0
  364. package/build/bosun-app/frontend/client/_app/immutable/chunks/DjujL8K1.js.gz +0 -0
  365. package/build/bosun-app/frontend/client/_app/immutable/chunks/DnMQeiTY.js.br +0 -0
  366. package/build/bosun-app/frontend/client/_app/immutable/chunks/DnMQeiTY.js.gz +0 -0
  367. package/build/bosun-app/frontend/client/_app/immutable/chunks/DuQdgMax.js +0 -1
  368. package/build/bosun-app/frontend/client/_app/immutable/chunks/DuQdgMax.js.br +0 -0
  369. package/build/bosun-app/frontend/client/_app/immutable/chunks/DuQdgMax.js.gz +0 -0
  370. package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js +0 -64
  371. package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js.br +0 -0
  372. package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js.gz +0 -0
  373. package/build/bosun-app/frontend/client/_app/immutable/chunks/ddC1NP9R.js +0 -2
  374. package/build/bosun-app/frontend/client/_app/immutable/chunks/ddC1NP9R.js.br +0 -0
  375. package/build/bosun-app/frontend/client/_app/immutable/chunks/ddC1NP9R.js.gz +0 -0
  376. package/build/bosun-app/frontend/client/_app/immutable/chunks/joiJcRPz.js.br +0 -0
  377. package/build/bosun-app/frontend/client/_app/immutable/chunks/joiJcRPz.js.gz +0 -0
  378. package/build/bosun-app/frontend/client/_app/immutable/chunks/ouMvMh56.js.br +0 -0
  379. package/build/bosun-app/frontend/client/_app/immutable/chunks/ouMvMh56.js.gz +0 -0
  380. package/build/bosun-app/frontend/client/_app/immutable/chunks/qiSVE_6c.js +0 -1
  381. package/build/bosun-app/frontend/client/_app/immutable/chunks/qiSVE_6c.js.br +0 -0
  382. package/build/bosun-app/frontend/client/_app/immutable/chunks/qiSVE_6c.js.gz +0 -0
  383. package/build/bosun-app/frontend/client/_app/immutable/chunks/sKHuRf4Z.js.br +0 -0
  384. package/build/bosun-app/frontend/client/_app/immutable/chunks/sKHuRf4Z.js.gz +0 -0
  385. package/build/bosun-app/frontend/client/_app/immutable/entry/app.Bni-2yHM.js +0 -2
  386. package/build/bosun-app/frontend/client/_app/immutable/entry/app.Bni-2yHM.js.br +0 -0
  387. package/build/bosun-app/frontend/client/_app/immutable/entry/app.Bni-2yHM.js.gz +0 -0
  388. package/build/bosun-app/frontend/client/_app/immutable/entry/start.Bwh8stkk.js +0 -1
  389. package/build/bosun-app/frontend/client/_app/immutable/entry/start.Bwh8stkk.js.br +0 -0
  390. package/build/bosun-app/frontend/client/_app/immutable/entry/start.Bwh8stkk.js.gz +0 -0
  391. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.CyFCeOko.js.br +0 -0
  392. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.CyFCeOko.js.gz +0 -0
  393. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.D9Za90TC.js +0 -1
  394. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.D9Za90TC.js.br +0 -0
  395. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.D9Za90TC.js.gz +0 -0
  396. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.CQP8ZYdc.js.br +0 -0
  397. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.CQP8ZYdc.js.gz +0 -0
  398. package/build/bosun-app/frontend/client/_app/immutable/nodes/15.drIyAxl2.js.br +0 -1
  399. package/build/bosun-app/frontend/client/_app/immutable/nodes/15.drIyAxl2.js.gz +0 -0
  400. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.C-6g-4TG.js +0 -3
  401. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.C-6g-4TG.js.br +0 -0
  402. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.C-6g-4TG.js.gz +0 -0
  403. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CKu_cfLu.js +0 -11
  404. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CKu_cfLu.js.br +0 -0
  405. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CKu_cfLu.js.gz +0 -0
  406. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.lZxPEqtw.js.br +0 -0
  407. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.lZxPEqtw.js.gz +0 -0
  408. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.BjH4Ma-k.js +0 -1
  409. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.BjH4Ma-k.js.br +0 -0
  410. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.BjH4Ma-k.js.gz +0 -0
  411. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.B_swg0wq.js.br +0 -0
  412. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.B_swg0wq.js.gz +0 -0
  413. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.CJfS926N.js.br +0 -0
  414. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.CJfS926N.js.gz +0 -0
  415. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.4aRjHu4u.js.br +0 -0
  416. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.4aRjHu4u.js.gz +0 -0
  417. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.BZFIHe4g.js.br +0 -0
  418. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.BZFIHe4g.js.gz +0 -0
  419. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.BYJRzNt4.js.br +0 -0
  420. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.BYJRzNt4.js.gz +0 -0
  421. package/build/bosun-app/frontend/server/chunks/chunks/schemas.js-W-DP3mDr.js.map +0 -1
  422. package/build/bosun-app/frontend/server/chunks/chunks/source-selection.js-Cc6RX6-m.js.map +0 -1
  423. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/proxy/_...path_/_server.ts.js-CHrOiduq.js.map +0 -1
  424. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/latency/_page.svelte.js-tdUdTo4m.js.map +0 -1
  425. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/_page.svelte.js-Ca79DBzJ.js.map +0 -1
  426. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_layout.svelte.js-Dvn3tfM7.js.map +0 -1
  427. package/build/bosun-app/frontend/server/chunks/nodes/0.js-CoDyOiLt.js +0 -9
  428. package/build/bosun-app/frontend/server/chunks/nodes/0.js-CoDyOiLt.js.map +0 -1
  429. package/build/bosun-app/frontend/server/chunks/nodes/1.js-BesNpd2w.js +0 -9
  430. package/build/bosun-app/frontend/server/chunks/nodes/10.js-DN5elTKV.js +0 -9
  431. package/build/bosun-app/frontend/server/chunks/nodes/10.js-DN5elTKV.js.map +0 -1
  432. package/build/bosun-app/frontend/server/chunks/nodes/17.js-DExEAB_e.js +0 -9
  433. package/build/bosun-app/frontend/server/chunks/nodes/17.js-DExEAB_e.js.map +0 -1
  434. package/build/bosun-app/frontend/server/chunks/nodes/18.js-OLWFvVu0.js +0 -9
  435. package/build/bosun-app/frontend/server/chunks/nodes/18.js-OLWFvVu0.js.map +0 -1
  436. package/build/bosun-app/frontend/server/chunks/nodes/2.js-DdMhYSQT.js +0 -9
  437. package/build/bosun-app/frontend/server/chunks/nodes/2.js-DdMhYSQT.js.map +0 -1
  438. package/build/bosun-app/frontend/server/chunks/nodes/3.js-DRo_79wF.js +0 -9
  439. package/build/bosun-app/frontend/server/chunks/nodes/3.js-DRo_79wF.js.map +0 -1
  440. package/build/bosun-app/frontend/server/chunks/nodes/4.js-Bb8ZnG8K.js +0 -9
  441. package/build/bosun-app/frontend/server/chunks/nodes/4.js-Bb8ZnG8K.js.map +0 -1
  442. package/build/bosun-app/frontend/server/chunks/nodes/5.js-DNbqpjRZ.js +0 -9
  443. package/build/bosun-app/frontend/server/chunks/nodes/6.js-MMZWg86o.js +0 -9
  444. package/build/bosun-app/frontend/server/chunks/nodes/6.js-MMZWg86o.js.map +0 -1
  445. package/build/bosun-app/frontend/server/chunks/nodes/8.js-Cs981zJ4.js +0 -9
  446. package/build/bosun-app/frontend/server/chunks/nodes/8.js-Cs981zJ4.js.map +0 -1
  447. package/build/bosun-app/frontend/server/chunks/nodes/9.js-h4jeZZT-.js +0 -9
  448. package/build/bosun-app/frontend/server/chunks/nodes/9.js-h4jeZZT-.js.map +0 -1
  449. package/build/build/agent-service.d.ts +0 -8
  450. package/build/build/agent-service.d.ts.map +0 -1
  451. package/build/build/agent-service.js +0 -32
  452. package/build/build/text-function.d.ts +0 -6
  453. package/build/build/text-function.d.ts.map +0 -1
  454. package/build/build/text-function.js +0 -55
  455. /package/build/bosun-app/frontend/client/_app/immutable/assets/{ReadOnlyMonacoDiff.iiWNRlR-.css → Modal.iiWNRlR-.css} +0 -0
  456. /package/build/bosun-app/frontend/client/_app/immutable/assets/{ReadOnlyMonacoDiff.iiWNRlR-.css.br → Modal.iiWNRlR-.css.br} +0 -0
  457. /package/build/bosun-app/frontend/client/_app/immutable/assets/{ReadOnlyMonacoDiff.iiWNRlR-.css.gz → Modal.iiWNRlR-.css.gz} +0 -0
@@ -1,5 +1,6 @@
1
- import { o as object, s as string, a as array, n as number, u as union, b as any, l as literal, c as boolean, d as discriminatedUnion } from './schemas.js-W-DP3mDr.js';
1
+ import { o as object, s as string, a as array, n as number, r as record, u as union, b as boolean, _ as _enum, c as any, l as literal, d as discriminatedUnion } from './schemas.js-b9Mui_5N.js';
2
2
 
3
+ const AnalyticsScalarSchema = union([boolean(), number(), string()]);
3
4
  const TranscriptSegmentSchema = object({
4
5
  text: string(),
5
6
  role: string(),
@@ -17,13 +18,30 @@ const ConversationSchema = object({
17
18
  duration: number().optional(),
18
19
  audioUrl: string().url().optional(),
19
20
  transcript: union([string(), array(TranscriptSegmentSchema)]).optional(),
20
- createdAt: number()
21
+ createdAt: number(),
22
+ analytics: record(string(), AnalyticsScalarSchema)
21
23
  }).passthrough();
22
24
  const PaginatedConversationsResponseSchema = object({
23
25
  limit: number(),
24
26
  items: array(ConversationSchema),
25
27
  lastConversationId: string().optional()
26
28
  });
29
+ const AnalyticsFieldSchema = object({
30
+ field: string(),
31
+ type: _enum(["boolean", "number", "string"]),
32
+ distinctValueCount: number()
33
+ });
34
+ const AnalyticsFieldsResponseSchema = object({
35
+ items: array(AnalyticsFieldSchema)
36
+ });
37
+ const AnalyticsFieldValueSchema = object({
38
+ value: AnalyticsScalarSchema,
39
+ count: number()
40
+ });
41
+ const AnalyticsFieldValuesResponseSchema = object({
42
+ items: array(AnalyticsFieldValueSchema),
43
+ nextCursor: string().nullable()
44
+ });
27
45
  const LlmUsageSchema = object({
28
46
  promptTokens: number().optional(),
29
47
  completionTokens: number().optional(),
@@ -153,6 +171,9 @@ class TelescopeClient {
153
171
  searchParams.append("lastConversationId", params.lastConversationId);
154
172
  if (params.phoneNumber) searchParams.append("phoneNumber", params.phoneNumber);
155
173
  if (params.agentId) searchParams.append("agentId", params.agentId);
174
+ if (params.analyticsFilters?.length) {
175
+ searchParams.append("filters", JSON.stringify(params.analyticsFilters));
176
+ }
156
177
  const res = await this.fetch("GET", `/conversations?${searchParams.toString()}`);
157
178
  if (!res.ok) {
158
179
  throw new Error(`Error fetching conversations: ${res.status} ${res.statusText}`);
@@ -168,6 +189,23 @@ class TelescopeClient {
168
189
  }
169
190
  return PaginatedConversationsResponseSchema.parse(json);
170
191
  }
192
+ async getAnalyticsFields(agentId) {
193
+ const searchParams = new URLSearchParams({ agentId });
194
+ return this.fetch(
195
+ "GET",
196
+ `/analytics/fields?${searchParams.toString()}`,
197
+ AnalyticsFieldsResponseSchema
198
+ );
199
+ }
200
+ async getAnalyticsFieldValues(agentId, field, limit = 50, cursor) {
201
+ const searchParams = new URLSearchParams({ agentId, limit: String(limit) });
202
+ if (cursor) searchParams.set("cursor", cursor);
203
+ return this.fetch(
204
+ "GET",
205
+ `/analytics/fields/${encodeURIComponent(field)}/values?${searchParams.toString()}`,
206
+ AnalyticsFieldValuesResponseSchema
207
+ );
208
+ }
171
209
  /**
172
210
  * Get a single conversation by ID
173
211
  * @param conversationId the conversation ID
@@ -222,6 +260,11 @@ class TelescopeClient {
222
260
  }
223
261
  }
224
262
  const TELESCOPE_SOURCE_STORAGE_KEY = "bosun.traces.telescopeSourceId";
263
+ const TELESCOPE_SOURCE_QUERY_PARAM = "source";
264
+ function getTelescopeSourceIdFromUrl(url) {
265
+ const sourceId = url.searchParams.get(TELESCOPE_SOURCE_QUERY_PARAM)?.trim();
266
+ return sourceId || null;
267
+ }
225
268
  function getPersistedTelescopeSourceId() {
226
269
  if (typeof window === "undefined") return null;
227
270
  try {
@@ -239,5 +282,5 @@ function persistTelescopeSourceId(sourceId) {
239
282
  }
240
283
  }
241
284
 
242
- export { TelescopeClient as T, getPersistedTelescopeSourceId as g, persistTelescopeSourceId as p };
243
- //# sourceMappingURL=source-selection.js-Cc6RX6-m.js.map
285
+ export { TelescopeClient as T, TELESCOPE_SOURCE_QUERY_PARAM as a, getPersistedTelescopeSourceId as b, getTelescopeSourceIdFromUrl as g, persistTelescopeSourceId as p };
286
+ //# sourceMappingURL=source-selection.js-BpCr9ar-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-selection.js-BpCr9ar-.js","sources":["../../../../.svelte-kit/output/server/chunks/source-selection.js"],"sourcesContent":["import { u as union, o as object, n as number, s as string, r as record, a as array, _ as _enum, b as any, l as literal, c as boolean, d as discriminatedUnion } from \"./schemas.js\";\nconst AnalyticsScalarSchema = union([boolean(), number(), string()]);\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 analytics: record(string(), AnalyticsScalarSchema)\n}).passthrough();\nconst PaginatedConversationsResponseSchema = object({\n limit: number(),\n items: array(ConversationSchema),\n lastConversationId: string().optional()\n});\nconst AnalyticsFieldSchema = object({\n field: string(),\n type: _enum([\"boolean\", \"number\", \"string\"]),\n distinctValueCount: number()\n});\nconst AnalyticsFieldsResponseSchema = object({\n items: array(AnalyticsFieldSchema)\n});\nconst AnalyticsFieldValueSchema = object({\n value: AnalyticsScalarSchema,\n count: number()\n});\nconst AnalyticsFieldValuesResponseSchema = object({\n items: array(AnalyticsFieldValueSchema),\n nextCursor: string().nullable()\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 if (params.analyticsFilters?.length) {\n searchParams.append(\"filters\", JSON.stringify(params.analyticsFilters));\n }\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 async getAnalyticsFields(agentId) {\n const searchParams = new URLSearchParams({ agentId });\n return this.fetch(\n \"GET\",\n `/analytics/fields?${searchParams.toString()}`,\n AnalyticsFieldsResponseSchema\n );\n }\n async getAnalyticsFieldValues(agentId, field, limit = 50, cursor) {\n const searchParams = new URLSearchParams({ agentId, limit: String(limit) });\n if (cursor) searchParams.set(\"cursor\", cursor);\n return this.fetch(\n \"GET\",\n `/analytics/fields/${encodeURIComponent(field)}/values?${searchParams.toString()}`,\n AnalyticsFieldValuesResponseSchema\n );\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\";\nconst TELESCOPE_SOURCE_QUERY_PARAM = \"source\";\nfunction getTelescopeSourceIdFromUrl(url) {\n const sourceId = url.searchParams.get(TELESCOPE_SOURCE_QUERY_PARAM)?.trim();\n return sourceId || null;\n}\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 TELESCOPE_SOURCE_QUERY_PARAM as a,\n getPersistedTelescopeSourceId as b,\n getTelescopeSourceIdFromUrl as g,\n persistTelescopeSourceId as p\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { b as private_env } from './shared-server.js-DaWdgxVh.js';
2
- import { a as array, o as object, s as string } from './schemas.js-W-DP3mDr.js';
2
+ import { a as array, o as object, s as string } from './schemas.js-b9Mui_5N.js';
3
3
 
4
4
  const ZodIssueCode = {
5
5
  custom: "custom"
@@ -71,4 +71,4 @@ function getTelescopeSources() {
71
71
  }
72
72
 
73
73
  export { getTelescopeSources as g };
74
- //# sourceMappingURL=sources.server.js-B6fpC51P.js.map
74
+ //# sourceMappingURL=sources.server.js-DIj2VjCx.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sources.server.js-B6fpC51P.js","sources":["../../../../.svelte-kit/output/server/chunks/sources.server.js"],"sourcesContent":["import { a as private_env } from \"./shared-server.js\";\nimport { o as object, s as string, a as array } from \"./schemas.js\";\nconst ZodIssueCode = {\n custom: \"custom\"\n};\nconst TelescopeSourceInputSchema = object({\n id: string().optional(),\n label: string().min(1),\n // Accept either camelCase or the user-friendly names (\"url\"/\"secret\")\n baseUrl: string().optional(),\n url: string().optional(),\n apiKey: string().optional(),\n secret: string().optional()\n}).superRefine((value, ctx) => {\n const baseUrl = (value.baseUrl ?? value.url ?? \"\").trim();\n const apiKey = (value.apiKey ?? value.secret ?? \"\").trim();\n if (!baseUrl) {\n ctx.addIssue({\n code: ZodIssueCode.custom,\n path: [\"baseUrl\"],\n message: \"baseUrl/url is required\"\n });\n }\n if (!apiKey) {\n ctx.addIssue({\n code: ZodIssueCode.custom,\n path: [\"apiKey\"],\n message: \"apiKey/secret is required\"\n });\n }\n});\nconst TelescopeSourcesJsonSchema = array(TelescopeSourceInputSchema);\nfunction slugify(value) {\n return value.trim().toLowerCase().replace(/[^a-z0-9]+/g, \"-\").replace(/^-+|-+$/g, \"\");\n}\nfunction cleanBaseUrl(value) {\n return value.trim().replace(/\\/+$/, \"\");\n}\nfunction normalizeSources(inputs) {\n const usedIds = /* @__PURE__ */ new Set();\n return inputs.map((input, idx) => {\n const label = input.label.trim();\n const baseUrl = cleanBaseUrl(input.baseUrl ?? input.url ?? \"\");\n const apiKey = (input.apiKey ?? input.secret ?? \"\").trim();\n const preferred = typeof input.id === \"string\" && input.id.trim() ? input.id.trim() : label;\n let id = slugify(preferred) || `source-${idx + 1}`;\n let deduped = id;\n let i = 2;\n while (usedIds.has(deduped)) {\n deduped = `${id}-${i++}`;\n }\n id = deduped;\n usedIds.add(id);\n return { id, label, baseUrl, apiKey };\n });\n}\nfunction getTelescopeSources() {\n const rawJson = private_env.TELESCOPE_SOURCES_JSON;\n if (typeof rawJson === \"string\" && rawJson.trim()) {\n let parsed;\n try {\n parsed = JSON.parse(rawJson);\n } catch {\n throw new Error(\"TELESCOPE_SOURCES_JSON is not valid JSON\");\n }\n const inputs = TelescopeSourcesJsonSchema.parse(parsed);\n return normalizeSources(inputs);\n }\n return [];\n}\nexport {\n getTelescopeSources as g\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sources.server.js-DIj2VjCx.js","sources":["../../../../.svelte-kit/output/server/chunks/sources.server.js"],"sourcesContent":["import { a as private_env } from \"./shared-server.js\";\nimport { o as object, s as string, a as array } from \"./schemas.js\";\nconst ZodIssueCode = {\n custom: \"custom\"\n};\nconst TelescopeSourceInputSchema = object({\n id: string().optional(),\n label: string().min(1),\n // Accept either camelCase or the user-friendly names (\"url\"/\"secret\")\n baseUrl: string().optional(),\n url: string().optional(),\n apiKey: string().optional(),\n secret: string().optional()\n}).superRefine((value, ctx) => {\n const baseUrl = (value.baseUrl ?? value.url ?? \"\").trim();\n const apiKey = (value.apiKey ?? value.secret ?? \"\").trim();\n if (!baseUrl) {\n ctx.addIssue({\n code: ZodIssueCode.custom,\n path: [\"baseUrl\"],\n message: \"baseUrl/url is required\"\n });\n }\n if (!apiKey) {\n ctx.addIssue({\n code: ZodIssueCode.custom,\n path: [\"apiKey\"],\n message: \"apiKey/secret is required\"\n });\n }\n});\nconst TelescopeSourcesJsonSchema = array(TelescopeSourceInputSchema);\nfunction slugify(value) {\n return value.trim().toLowerCase().replace(/[^a-z0-9]+/g, \"-\").replace(/^-+|-+$/g, \"\");\n}\nfunction cleanBaseUrl(value) {\n return value.trim().replace(/\\/+$/, \"\");\n}\nfunction normalizeSources(inputs) {\n const usedIds = /* @__PURE__ */ new Set();\n return inputs.map((input, idx) => {\n const label = input.label.trim();\n const baseUrl = cleanBaseUrl(input.baseUrl ?? input.url ?? \"\");\n const apiKey = (input.apiKey ?? input.secret ?? \"\").trim();\n const preferred = typeof input.id === \"string\" && input.id.trim() ? input.id.trim() : label;\n let id = slugify(preferred) || `source-${idx + 1}`;\n let deduped = id;\n let i = 2;\n while (usedIds.has(deduped)) {\n deduped = `${id}-${i++}`;\n }\n id = deduped;\n usedIds.add(id);\n return { id, label, baseUrl, apiKey };\n });\n}\nfunction getTelescopeSources() {\n const rawJson = private_env.TELESCOPE_SOURCES_JSON;\n if (typeof rawJson === \"string\" && rawJson.trim()) {\n let parsed;\n try {\n parsed = JSON.parse(rawJson);\n } catch {\n throw new Error(\"TELESCOPE_SOURCES_JSON is not valid JSON\");\n }\n const inputs = TelescopeSourcesJsonSchema.parse(parsed);\n return normalizeSources(inputs);\n }\n return [];\n}\nexport {\n getTelescopeSources as g\n};\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { j as json } from '../../../../../../chunks/index3.js-WpnIn8V1.js';
2
2
  import { g as getLatencyRecording, u as updateLatencyRecordingAlignment, i as isWavBytes, s as saveLatencyRecording } from '../../../../../../chunks/latency-recordings.js-CqioXMQl.js';
3
- import { Z as ZodError, o as object, n as number } from '../../../../../../chunks/schemas.js-W-DP3mDr.js';
3
+ import { Z as ZodError, o as object, n as number } from '../../../../../../chunks/schemas.js-b9Mui_5N.js';
4
4
  import '../../../../../../chunks/utils.js-BQzn9ikS.js';
5
5
  import 'node:crypto';
6
6
  import 'node:fs/promises';
@@ -137,4 +137,4 @@ const PATCH = async ({ params, request, url }) => {
137
137
  };
138
138
 
139
139
  export { GET, PATCH, POST };
140
- //# sourceMappingURL=_server.ts.js-hHR2eFvt.js.map
140
+ //# sourceMappingURL=_server.ts.js-mL82mAit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-hHR2eFvt.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/traces/api/latency/_conversationId_/_server.ts.js"],"sourcesContent":["import { j as json } from \"../../../../../../chunks/index3.js\";\nimport { g as getLatencyRecording, u as updateLatencyRecordingAlignment, i as isWavBytes, s as saveLatencyRecording } from \"../../../../../../chunks/latency-recordings.js\";\nimport { o as object, n as number, Z as ZodError } from \"../../../../../../chunks/schemas.js\";\nconst AlignmentSchema = object({\n alignmentOffsetMs: number().finite().min(-36e5).max(36e5)\n});\nfunction sourceIdFromUrl(url) {\n const raw = url.searchParams.get(\"source\");\n if (!raw) return null;\n const trimmed = raw.trim();\n return trimmed || null;\n}\nfunction uploadFileNameFromUrl(url) {\n const raw = url.searchParams.get(\"filename\");\n const trimmed = String(raw ?? \"\").trim();\n return trimmed || \"recording.wav\";\n}\nfunction buildAudioUrl(url, conversationId) {\n const next = new URL(\n `/traces/api/latency/${encodeURIComponent(conversationId)}/audio`,\n url.origin\n );\n const sourceId = sourceIdFromUrl(url);\n if (sourceId) next.searchParams.set(\"source\", sourceId);\n return next.pathname + next.search;\n}\nfunction serializeRecording(url, recording) {\n if (!recording) {\n return {\n exists: false,\n audioUrl: null,\n fileName: null,\n mimeType: null,\n size: null,\n uploadedAt: null,\n alignmentOffsetMs: 0\n };\n }\n return {\n exists: true,\n audioUrl: buildAudioUrl(url, recording.conversationId),\n fileName: recording.fileName,\n mimeType: recording.mimeType,\n size: recording.size,\n uploadedAt: recording.uploadedAt,\n alignmentOffsetMs: recording.alignmentOffsetMs\n };\n}\nconst GET = async ({ params, url }) => {\n try {\n const conversationId = params.conversationId ?? \"\";\n if (!conversationId) {\n return json({ error: \"Conversation id is required\" }, { status: 400 });\n }\n const recording = await getLatencyRecording(conversationId, sourceIdFromUrl(url));\n return json(serializeRecording(url, recording), {\n headers: { \"cache-control\": \"no-store\" }\n });\n } catch (error) {\n console.error(\"Failed to load latency recording metadata:\", error);\n return json({ error: \"Failed to load latency recording metadata\" }, { status: 500 });\n }\n};\nconst POST = async ({ params, request, url }) => {\n try {\n const conversationId = params.conversationId ?? \"\";\n if (!conversationId) {\n return json({ error: \"Conversation id is required\" }, { status: 400 });\n }\n const contentType = (request.headers.get(\"content-type\") ?? \"\").trim();\n let bytes = new Uint8Array(0);\n let fileName = uploadFileNameFromUrl(url);\n let mimeType = contentType.split(\";\", 1)[0]?.trim() || \"audio/wav\";\n if (contentType.includes(\"multipart/form-data\")) {\n const form = await request.formData();\n const file = form.get(\"file\");\n if (!(file instanceof File)) {\n return json({ error: \"No file uploaded\" }, { status: 400 });\n }\n bytes = new Uint8Array(await file.arrayBuffer());\n fileName = file.name || fileName;\n mimeType = file.type || mimeType;\n } else {\n bytes = new Uint8Array(await request.arrayBuffer());\n }\n if (bytes.byteLength === 0) {\n return json({ error: \"No file uploaded\" }, { status: 400 });\n }\n if (!isWavBytes(bytes)) {\n return json({ error: \"Only WAV recordings are supported\" }, { status: 400 });\n }\n const recording = await saveLatencyRecording({\n conversationId,\n sourceId: sourceIdFromUrl(url),\n fileName,\n mimeType,\n bytes\n });\n return json(serializeRecording(url, recording), {\n headers: { \"cache-control\": \"no-store\" }\n });\n } catch (error) {\n console.error(\"Failed to save latency recording:\", error);\n return json({ error: \"Failed to save latency recording\" }, { status: 500 });\n }\n};\nconst PATCH = async ({ params, request, url }) => {\n try {\n const conversationId = params.conversationId ?? \"\";\n if (!conversationId) {\n return json({ error: \"Conversation id is required\" }, { status: 400 });\n }\n const payload = AlignmentSchema.parse(await request.json());\n const recording = await updateLatencyRecordingAlignment({\n conversationId,\n sourceId: sourceIdFromUrl(url),\n alignmentOffsetMs: payload.alignmentOffsetMs\n });\n if (!recording) {\n return json({ error: \"Latency recording not found\" }, { status: 404 });\n }\n return json(serializeRecording(url, recording), {\n headers: { \"cache-control\": \"no-store\" }\n });\n } catch (error) {\n if (error instanceof ZodError) {\n return json({ error: \"Invalid alignment offset\" }, { status: 400 });\n }\n console.error(\"Failed to update latency recording alignment:\", error);\n return json({ error: \"Failed to update latency recording alignment\" }, { status: 500 });\n }\n};\nexport {\n GET,\n PATCH,\n POST\n};\n"],"names":[],"mappings":";;;;;;;;AAGA,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI;AAC1D,CAAC,CAAC;AACF,SAAS,eAAe,CAAC,GAAG,EAAE;AAC9B,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5C,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,IAAI;AACvB,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE;AAC5B,EAAE,OAAO,OAAO,IAAI,IAAI;AACxB;AACA,SAAS,qBAAqB,CAAC,GAAG,EAAE;AACpC,EAAE,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;AAC9C,EAAE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;AAC1C,EAAE,OAAO,OAAO,IAAI,eAAe;AACnC;AACA,SAAS,aAAa,CAAC,GAAG,EAAE,cAAc,EAAE;AAC5C,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG;AACtB,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;AACrE,IAAI,GAAG,CAAC;AACR,GAAG;AACH,EAAE,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC;AACvC,EAAE,IAAI,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACzD,EAAE,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM;AACpC;AACA,SAAS,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE;AAC5C,EAAE,IAAI,CAAC,SAAS,EAAE;AAClB,IAAI,OAAO;AACX,MAAM,MAAM,EAAE,KAAK;AACnB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,QAAQ,EAAE,IAAI;AACpB,MAAM,IAAI,EAAE,IAAI;AAChB,MAAM,UAAU,EAAE,IAAI;AACtB,MAAM,iBAAiB,EAAE;AACzB,KAAK;AACL,EAAE;AACF,EAAE,OAAO;AACT,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,QAAQ,EAAE,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,cAAc,CAAC;AAC1D,IAAI,QAAQ,EAAE,SAAS,CAAC,QAAQ;AAChC,IAAI,QAAQ,EAAE,SAAS,CAAC,QAAQ;AAChC,IAAI,IAAI,EAAE,SAAS,CAAC,IAAI;AACxB,IAAI,UAAU,EAAE,SAAS,CAAC,UAAU;AACpC,IAAI,iBAAiB,EAAE,SAAS,CAAC;AACjC,GAAG;AACH;AACK,MAAC,GAAG,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AACvC,EAAE,IAAI;AACN,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE;AACtD,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC5E,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC;AACrF,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE;AACpD,MAAM,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU;AAC5C,KAAK,CAAC;AACN,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,4CAA4C,EAAE,KAAK,CAAC;AACtE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,2CAA2C,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACxF,EAAE;AACF;AACK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK;AACjD,EAAE,IAAI;AACN,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE;AACtD,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC5E,IAAI;AACJ,IAAI,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;AAC1E,IAAI,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC;AACjC,IAAI,IAAI,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC;AAC7C,IAAI,IAAI,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,WAAW;AACtE,IAAI,IAAI,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;AACrD,MAAM,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AAC3C,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;AACnC,MAAM,IAAI,EAAE,IAAI,YAAY,IAAI,CAAC,EAAE;AACnC,QAAQ,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACnE,MAAM;AACN,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ;AACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ;AACtC,IAAI,CAAC,MAAM;AACX,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;AACzD,IAAI;AACJ,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE;AAChC,MAAM,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACjE,IAAI;AACJ,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;AAC5B,MAAM,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAClF,IAAI;AACJ,IAAI,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC;AACjD,MAAM,cAAc;AACpB,MAAM,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC;AACpC,MAAM,QAAQ;AACd,MAAM,QAAQ;AACd,MAAM;AACN,KAAK,CAAC;AACN,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE;AACpD,MAAM,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU;AAC5C,KAAK,CAAC;AACN,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC;AAC7D,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC/E,EAAE;AACF;AACK,MAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK;AAClD,EAAE,IAAI;AACN,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,EAAE;AACtD,IAAI,IAAI,CAAC,cAAc,EAAE;AACzB,MAAM,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC5E,IAAI;AACJ,IAAI,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;AAC/D,IAAI,MAAM,SAAS,GAAG,MAAM,+BAA+B,CAAC;AAC5D,MAAM,cAAc;AACpB,MAAM,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC;AACpC,MAAM,iBAAiB,EAAE,OAAO,CAAC;AACjC,KAAK,CAAC;AACN,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,MAAM,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC5E,IAAI;AACJ,IAAI,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE;AACpD,MAAM,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU;AAC5C,KAAK,CAAC;AACN,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,IAAI,KAAK,YAAY,QAAQ,EAAE;AACnC,MAAM,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzE,IAAI;AACJ,IAAI,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC;AACzE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,8CAA8C,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC3F,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts.js-mL82mAit.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/traces/api/latency/_conversationId_/_server.ts.js"],"sourcesContent":["import { j as json } from \"../../../../../../chunks/index3.js\";\nimport { g as getLatencyRecording, u as updateLatencyRecordingAlignment, i as isWavBytes, s as saveLatencyRecording } from \"../../../../../../chunks/latency-recordings.js\";\nimport { o as object, n as number, Z as ZodError } from \"../../../../../../chunks/schemas.js\";\nconst AlignmentSchema = object({\n alignmentOffsetMs: number().finite().min(-36e5).max(36e5)\n});\nfunction sourceIdFromUrl(url) {\n const raw = url.searchParams.get(\"source\");\n if (!raw) return null;\n const trimmed = raw.trim();\n return trimmed || null;\n}\nfunction uploadFileNameFromUrl(url) {\n const raw = url.searchParams.get(\"filename\");\n const trimmed = String(raw ?? \"\").trim();\n return trimmed || \"recording.wav\";\n}\nfunction buildAudioUrl(url, conversationId) {\n const next = new URL(\n `/traces/api/latency/${encodeURIComponent(conversationId)}/audio`,\n url.origin\n );\n const sourceId = sourceIdFromUrl(url);\n if (sourceId) next.searchParams.set(\"source\", sourceId);\n return next.pathname + next.search;\n}\nfunction serializeRecording(url, recording) {\n if (!recording) {\n return {\n exists: false,\n audioUrl: null,\n fileName: null,\n mimeType: null,\n size: null,\n uploadedAt: null,\n alignmentOffsetMs: 0\n };\n }\n return {\n exists: true,\n audioUrl: buildAudioUrl(url, recording.conversationId),\n fileName: recording.fileName,\n mimeType: recording.mimeType,\n size: recording.size,\n uploadedAt: recording.uploadedAt,\n alignmentOffsetMs: recording.alignmentOffsetMs\n };\n}\nconst GET = async ({ params, url }) => {\n try {\n const conversationId = params.conversationId ?? \"\";\n if (!conversationId) {\n return json({ error: \"Conversation id is required\" }, { status: 400 });\n }\n const recording = await getLatencyRecording(conversationId, sourceIdFromUrl(url));\n return json(serializeRecording(url, recording), {\n headers: { \"cache-control\": \"no-store\" }\n });\n } catch (error) {\n console.error(\"Failed to load latency recording metadata:\", error);\n return json({ error: \"Failed to load latency recording metadata\" }, { status: 500 });\n }\n};\nconst POST = async ({ params, request, url }) => {\n try {\n const conversationId = params.conversationId ?? \"\";\n if (!conversationId) {\n return json({ error: \"Conversation id is required\" }, { status: 400 });\n }\n const contentType = (request.headers.get(\"content-type\") ?? \"\").trim();\n let bytes = new Uint8Array(0);\n let fileName = uploadFileNameFromUrl(url);\n let mimeType = contentType.split(\";\", 1)[0]?.trim() || \"audio/wav\";\n if (contentType.includes(\"multipart/form-data\")) {\n const form = await request.formData();\n const file = form.get(\"file\");\n if (!(file instanceof File)) {\n return json({ error: \"No file uploaded\" }, { status: 400 });\n }\n bytes = new Uint8Array(await file.arrayBuffer());\n fileName = file.name || fileName;\n mimeType = file.type || mimeType;\n } else {\n bytes = new Uint8Array(await request.arrayBuffer());\n }\n if (bytes.byteLength === 0) {\n return json({ error: \"No file uploaded\" }, { status: 400 });\n }\n if (!isWavBytes(bytes)) {\n return json({ error: \"Only WAV recordings are supported\" }, { status: 400 });\n }\n const recording = await saveLatencyRecording({\n conversationId,\n sourceId: sourceIdFromUrl(url),\n fileName,\n mimeType,\n bytes\n });\n return json(serializeRecording(url, recording), {\n headers: { \"cache-control\": \"no-store\" }\n });\n } catch (error) {\n console.error(\"Failed to save latency recording:\", error);\n return json({ error: \"Failed to save latency recording\" }, { status: 500 });\n }\n};\nconst PATCH = async ({ params, request, url }) => {\n try {\n const conversationId = params.conversationId ?? \"\";\n if (!conversationId) {\n return json({ error: \"Conversation id is required\" }, { status: 400 });\n }\n const payload = AlignmentSchema.parse(await request.json());\n const recording = await updateLatencyRecordingAlignment({\n conversationId,\n sourceId: sourceIdFromUrl(url),\n alignmentOffsetMs: payload.alignmentOffsetMs\n });\n if (!recording) {\n return json({ error: \"Latency recording not found\" }, { status: 404 });\n }\n return json(serializeRecording(url, recording), {\n headers: { \"cache-control\": \"no-store\" }\n });\n } catch (error) {\n if (error instanceof ZodError) {\n return json({ error: \"Invalid alignment offset\" }, { status: 400 });\n }\n console.error(\"Failed to update latency recording alignment:\", error);\n return json({ error: \"Failed to update latency recording alignment\" }, { status: 500 });\n }\n};\nexport {\n GET,\n PATCH,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { g as getTelescopeSources } from '../../../../../../chunks/sources.server.js-B6fpC51P.js';
1
+ import { g as getTelescopeSources } from '../../../../../../chunks/sources.server.js-DIj2VjCx.js';
2
2
  import '../../../../../../chunks/shared-server.js-DaWdgxVh.js';
3
- import '../../../../../../chunks/schemas.js-W-DP3mDr.js';
3
+ import '../../../../../../chunks/schemas.js-b9Mui_5N.js';
4
4
 
5
5
  const SOURCE_HEADER = "x-bosun-telescope-source";
6
- const GET = async ({ params, url, request, fetch }) => {
6
+ const forward = async ({ params, url, request, fetch }) => {
7
7
  const path = params["path"] ?? "";
8
8
  let sources;
9
9
  try {
@@ -26,18 +26,25 @@ const GET = async ({ params, url, request, fetch }) => {
26
26
  const source = sources.find((s) => s.id === requestedSourceId) ?? sources[0];
27
27
  const targetUrl = `${source.baseUrl}/${path}${url.search}`;
28
28
  try {
29
+ const headers = new Headers({ authorization: `Bearer ${source.apiKey}` });
30
+ const contentType = request.headers.get("content-type");
31
+ if (contentType) headers.set("content-type", contentType);
29
32
  const resp = await fetch(targetUrl, {
30
- headers: { authorization: `Bearer ${source.apiKey}` }
33
+ method: request.method,
34
+ headers,
35
+ body: request.method === "POST" ? await request.arrayBuffer() : void 0
31
36
  });
32
- const headers = new Headers(resp.headers);
33
- headers.delete("content-encoding");
34
- headers.delete("content-length");
35
- return new Response(resp.body, { status: resp.status, headers });
37
+ const responseHeaders = new Headers(resp.headers);
38
+ responseHeaders.delete("content-encoding");
39
+ responseHeaders.delete("content-length");
40
+ return new Response(resp.body, { status: resp.status, headers: responseHeaders });
36
41
  } catch (e) {
37
42
  console.error(`Error in ${url}; source: ${targetUrl}`, e);
38
43
  return new Response(JSON.stringify({ error: String(e) }), { status: 500 });
39
44
  }
40
45
  };
46
+ const GET = forward;
47
+ const POST = forward;
41
48
  const OPTIONS = async () => new Response(null, {
42
49
  status: 204,
43
50
  headers: {
@@ -47,5 +54,5 @@ const OPTIONS = async () => new Response(null, {
47
54
  }
48
55
  });
49
56
 
50
- export { GET, OPTIONS };
51
- //# sourceMappingURL=_server.ts.js-CHrOiduq.js.map
57
+ export { GET, OPTIONS, POST };
58
+ //# sourceMappingURL=_server.ts.js-DDDiZFhL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_server.ts.js-DDDiZFhL.js","sources":["../../../../../../../../../.svelte-kit/output/server/entries/endpoints/traces/api/proxy/_...path_/_server.ts.js"],"sourcesContent":["import { g as getTelescopeSources } from \"../../../../../../chunks/sources.server.js\";\nconst SOURCE_HEADER = \"x-bosun-telescope-source\";\nconst forward = async ({ params, url, request, fetch }) => {\n const path = params[\"path\"] ?? \"\";\n let sources;\n try {\n sources = getTelescopeSources();\n } catch (error) {\n console.error(\"Failed to parse Telescope sources:\", error);\n return new Response(\n JSON.stringify({ error: \"Telescope sources are not configured correctly\" }),\n {\n status: 500\n }\n );\n }\n if (!sources.length) {\n return new Response(JSON.stringify({ error: \"No Telescope sources are configured\" }), {\n status: 500\n });\n }\n const requestedSourceId = request.headers.get(SOURCE_HEADER) ?? \"\";\n const source = sources.find((s) => s.id === requestedSourceId) ?? sources[0];\n const targetUrl = `${source.baseUrl}/${path}${url.search}`;\n try {\n const headers = new Headers({ authorization: `Bearer ${source.apiKey}` });\n const contentType = request.headers.get(\"content-type\");\n if (contentType) headers.set(\"content-type\", contentType);\n const resp = await fetch(targetUrl, {\n method: request.method,\n headers,\n body: request.method === \"POST\" ? await request.arrayBuffer() : void 0\n });\n const responseHeaders = new Headers(resp.headers);\n responseHeaders.delete(\"content-encoding\");\n responseHeaders.delete(\"content-length\");\n return new Response(resp.body, { status: resp.status, headers: responseHeaders });\n } catch (e) {\n console.error(`Error in ${url}; source: ${targetUrl}`, e);\n return new Response(JSON.stringify({ error: String(e) }), { status: 500 });\n }\n};\nconst GET = forward;\nconst POST = forward;\nconst OPTIONS = async () => new Response(null, {\n status: 204,\n headers: {\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Methods\": \"GET, POST, PUT, DELETE, OPTIONS\",\n \"Access-Control-Allow-Headers\": \"Content-Type, Authorization, x-bosun-telescope-source\"\n }\n});\nexport {\n GET,\n OPTIONS,\n POST\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { g as getTelescopeSources } from '../../../../../chunks/sources.server.js-B6fpC51P.js';
1
+ import { g as getTelescopeSources } from '../../../../../chunks/sources.server.js-DIj2VjCx.js';
2
2
  import { j as json } from '../../../../../chunks/index3.js-WpnIn8V1.js';
3
3
  import '../../../../../chunks/shared-server.js-DaWdgxVh.js';
4
- import '../../../../../chunks/schemas.js-W-DP3mDr.js';
4
+ import '../../../../../chunks/schemas.js-b9Mui_5N.js';
5
5
  import '../../../../../chunks/utils.js-BQzn9ikS.js';
6
6
 
7
7
  const GET = async () => {
@@ -21,4 +21,4 @@ const GET = async () => {
21
21
  };
22
22
 
23
23
  export { GET };
24
- //# sourceMappingURL=_server.ts.js-C2FIU8Kr.js.map
24
+ //# sourceMappingURL=_server.ts.js-D_UoR_Ph.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_server.ts.js-C2FIU8Kr.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/traces/api/sources/_server.ts.js"],"sourcesContent":["import { g as getTelescopeSources } from \"../../../../../chunks/sources.server.js\";\nimport { j as json } from \"../../../../../chunks/index3.js\";\nconst GET = async () => {\n try {\n const sources = getTelescopeSources();\n if (!sources.length) {\n return json({ error: \"No Telescope sources are configured\" }, { status: 500 });\n }\n return json(\n sources.map(({ id, label }) => ({ id, label })),\n { headers: { \"cache-control\": \"no-store\" } }\n );\n } catch (error) {\n console.error(\"Failed to load Telescope sources:\", error);\n return json({ error: \"Failed to load Telescope sources\" }, { status: 500 });\n }\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;AAEK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,IAAI;AACN,IAAI,MAAM,OAAO,GAAG,mBAAmB,EAAE;AACzC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACzB,MAAM,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpF,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACrD,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE;AAChD,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC;AAC7D,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC/E,EAAE;AACF;;;;"}
1
+ {"version":3,"file":"_server.ts.js-D_UoR_Ph.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/traces/api/sources/_server.ts.js"],"sourcesContent":["import { g as getTelescopeSources } from \"../../../../../chunks/sources.server.js\";\nimport { j as json } from \"../../../../../chunks/index3.js\";\nconst GET = async () => {\n try {\n const sources = getTelescopeSources();\n if (!sources.length) {\n return json({ error: \"No Telescope sources are configured\" }, { status: 500 });\n }\n return json(\n sources.map(({ id, label }) => ({ id, label })),\n { headers: { \"cache-control\": \"no-store\" } }\n );\n } catch (error) {\n console.error(\"Failed to load Telescope sources:\", error);\n return json({ error: \"Failed to load Telescope sources\" }, { status: 500 });\n }\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;AAEK,MAAC,GAAG,GAAG,YAAY;AACxB,EAAE,IAAI;AACN,IAAI,MAAM,OAAO,GAAG,mBAAmB,EAAE;AACzC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACzB,MAAM,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpF,IAAI;AACJ,IAAI,OAAO,IAAI;AACf,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AACrD,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE;AAChD,KAAK;AACL,EAAE,CAAC,CAAC,OAAO,KAAK,EAAE;AAClB,IAAI,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC;AAC7D,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,kCAAkC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC/E,EAAE;AACF;;;;"}
@@ -2,7 +2,7 @@ import { a8 as escape_html, R as derived, ao as ensure_array_like, af as attr_st
2
2
  import { o as onDestroy } from '../../../../../../chunks/index-server.js-CALBgpac.js';
3
3
  import { p as page } from '../../../../../../chunks/index2.js-DYVLcO2-.js';
4
4
  import { B as Button } from '../../../../../../chunks/Button.js-IbO6ojjD.js';
5
- import { g as getPersistedTelescopeSourceId, T as TelescopeClient } from '../../../../../../chunks/source-selection.js-Cc6RX6-m.js';
5
+ import { g as getTelescopeSourceIdFromUrl, b as getPersistedTelescopeSourceId, T as TelescopeClient } from '../../../../../../chunks/source-selection.js-BpCr9ar-.js';
6
6
  import { i as isMainStepName } from '../../../../../../chunks/steps.js-DzZCg39h.js';
7
7
  import { b as buildResponseLatencySpans, f as findResponseLatencyUserTurn, R as RESPONSE_LATENCY_THRESHOLD_MS } from '../../../../../../chunks/latency.js--f3JYIRg.js';
8
8
  import { g as getConversationViewMemory, c as conversationViewMemoryKey } from '../../../../../../chunks/conversation-view-memory.js-DjOFeigb.js';
@@ -12,7 +12,7 @@ import '../../../../../../chunks/exports.js-8HOoaa4e.js';
12
12
  import '../../../../../../chunks/event.js-BfLhxAp5.js';
13
13
  import '../../../../../../chunks/root.js-CJvqqGUj.js';
14
14
  import '../../../../../../chunks/utils.js-BQzn9ikS.js';
15
- import '../../../../../../chunks/schemas.js-W-DP3mDr.js';
15
+ import '../../../../../../chunks/schemas.js-b9Mui_5N.js';
16
16
 
17
17
  function _page($$renderer, $$props) {
18
18
  $$renderer.component(($$renderer2) => {
@@ -241,7 +241,7 @@ function _page($$renderer, $$props) {
241
241
  };
242
242
  }
243
243
  const viewMemory = getConversationViewMemory();
244
- const initialSourceId = getPersistedTelescopeSourceId() ?? "";
244
+ const initialSourceId = getTelescopeSourceIdFromUrl(page.url) ?? getPersistedTelescopeSourceId() ?? "";
245
245
  const initialConversationId = page.params.conversationId ?? "";
246
246
  const initialMemoryKey = conversationViewMemoryKey(initialConversationId, initialSourceId);
247
247
  const initialMemory = viewMemory.latency.get(initialMemoryKey);
@@ -434,7 +434,7 @@ function _page($$renderer, $$props) {
434
434
  };
435
435
  viewMemory.latency.set(key, memory);
436
436
  const cid = conversationId();
437
- const currentSourceId = getPersistedTelescopeSourceId() ?? "";
437
+ const currentSourceId = sourceId;
438
438
  if (cid && currentSourceId && key === conversationViewMemoryKey(cid, "")) {
439
439
  viewMemory.latency.set(conversationViewMemoryKey(cid, currentSourceId), memory);
440
440
  }
@@ -1818,4 +1818,4 @@ function _page($$renderer, $$props) {
1818
1818
  }
1819
1819
 
1820
1820
  export { _page as default };
1821
- //# sourceMappingURL=_page.svelte.js-tdUdTo4m.js.map
1821
+ //# sourceMappingURL=_page.svelte.js-DXMXSrkC.js.map