@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,21 +1,22 @@
1
- import { ap as head, ao as ensure_array_like, a8 as escape_html, R as derived, a9 as attr_class, ae as attr } from '../../../../chunks/index.js-DczFGj-7.js';
1
+ import { ap as head, ao as ensure_array_like, a8 as escape_html, ae as attr, a9 as attr_class, R as derived, ad as bind_props } from '../../../../chunks/index.js-DczFGj-7.js';
2
2
  import { g as goto } from '../../../../chunks/client.js-C_B2rv3r.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
5
  import { I as Icon } from '../../../../chunks/Icon.js-DzsiLkia.js';
6
6
  import { I as Input } from '../../../../chunks/Input.js-V9tWKRFS.js';
7
- import { p as persistTelescopeSourceId, T as TelescopeClient } from '../../../../chunks/source-selection.js-Cc6RX6-m.js';
7
+ import { p as persistTelescopeSourceId, T as TelescopeClient, a as TELESCOPE_SOURCE_QUERY_PARAM } from '../../../../chunks/source-selection.js-BpCr9ar-.js';
8
8
  import { T as Tabs, a as Tab } from '../../../../chunks/Tab.js-DpBcUmVx.js';
9
9
  import { A as AgentSidebar } from '../../../../chunks/AgentSidebar.js-CFHwsTeS.js';
10
10
  import { g as getAgentsContext } from '../../../../chunks/agents-context.js-DdI5kzRS.js';
11
11
  import '../../../../chunks/trpc-client.js-zIPF9ytu.js';
12
+ import { M as Modal } from '../../../../chunks/Modal.js-BUDSUOER.js';
12
13
  import '../../../../chunks/uneval.js-5Y6J9rDU.js';
13
14
  import '../../../../chunks/exports.js-8HOoaa4e.js';
14
15
  import '../../../../chunks/utils.js-BQzn9ikS.js';
15
16
  import '../../../../chunks/event.js-BfLhxAp5.js';
16
17
  import '../../../../chunks/root.js-CJvqqGUj.js';
17
18
  import '../../../../chunks/state.svelte.js-DDOPLPl-.js';
18
- import '../../../../chunks/schemas.js-W-DP3mDr.js';
19
+ import '../../../../chunks/schemas.js-b9Mui_5N.js';
19
20
  import '../../../../chunks/index4.js-C9gg2iSH.js';
20
21
  import '../../../../chunks/index-server.js-CALBgpac.js';
21
22
  import '../../../../chunks/shared-server.js-DaWdgxVh.js';
@@ -37,7 +38,8 @@ class MockGenerator {
37
38
  medium: i % 2 === 0 ? "phone" : "whatsapp",
38
39
  phoneNumber: `+44 7700 ${String(1e3 + i % 90).padStart(4, "0")}`,
39
40
  duration: Math.floor(Math.random() * 600),
40
- createdAt: now - i * 36e5
41
+ createdAt: now - i * 36e5,
42
+ analytics: {}
41
43
  });
42
44
  }
43
45
  let filtered = items;
@@ -134,6 +136,179 @@ function mulberry32(seed) {
134
136
  };
135
137
  }
136
138
  const mockGenerator = new MockGenerator();
139
+ const ANALYTICS_FILTERS_QUERY_PARAM = "filters";
140
+ function withAnalyticsFilters(url, filters) {
141
+ const nextUrl = new URL(url);
142
+ if (filters.length === 0) {
143
+ nextUrl.searchParams.delete(ANALYTICS_FILTERS_QUERY_PARAM);
144
+ } else {
145
+ nextUrl.searchParams.set(ANALYTICS_FILTERS_QUERY_PARAM, JSON.stringify(filters));
146
+ }
147
+ return nextUrl;
148
+ }
149
+ function AnalyticsFilterDialog($$renderer, $$props) {
150
+ $$renderer.component(($$renderer2) => {
151
+ let { open = false, fields, getValues, onAdd } = $$props;
152
+ let fieldName = "";
153
+ let values = [];
154
+ let selectedValues = [];
155
+ let freeformValue = "";
156
+ const selectedField = derived(() => fields.find((field) => field.field === fieldName));
157
+ const usesFreeform = derived(() => (selectedField()?.distinctValueCount ?? 0) > 50);
158
+ const parsedFreeformValue = derived(() => {
159
+ const field = selectedField();
160
+ const value = String(freeformValue).trim();
161
+ if (!field || !value) return void 0;
162
+ if (field.type === "number") {
163
+ const number = Number(value);
164
+ return Number.isFinite(number) ? number : void 0;
165
+ }
166
+ if (field.type === "boolean") {
167
+ if (value.toLowerCase() === "true") return true;
168
+ if (value.toLowerCase() === "false") return false;
169
+ return void 0;
170
+ }
171
+ return value;
172
+ });
173
+ const canAdd = derived(() => !!selectedField() && true && true && (usesFreeform() ? parsedFreeformValue() !== void 0 : selectedValues.length > 0));
174
+ function selectField(event) {
175
+ fieldName = event.currentTarget.value;
176
+ selectedValues = [];
177
+ freeformValue = "";
178
+ }
179
+ function sameValue(left, right) {
180
+ return typeof left === typeof right && left === right;
181
+ }
182
+ function isSelected(value) {
183
+ return selectedValues.some((selected) => sameValue(selected, value));
184
+ }
185
+ function formatValue(value) {
186
+ if (typeof value === "boolean") return value ? "Yes" : "No";
187
+ return String(value);
188
+ }
189
+ function addFilter() {
190
+ const field = selectedField();
191
+ if (!field || !canAdd()) return;
192
+ onAdd({
193
+ field: field.field,
194
+ operator: "in",
195
+ values: usesFreeform() ? [parsedFreeformValue()] : selectedValues
196
+ });
197
+ open = false;
198
+ }
199
+ let $$settled = true;
200
+ let $$inner_renderer;
201
+ function $$render_inner($$renderer3) {
202
+ {
203
+ let children = function($$renderer4) {
204
+ $$renderer4.push(`<div class="flex flex-col gap-4">`);
205
+ if (fields.length === 0) {
206
+ $$renderer4.push("<!--[0-->");
207
+ $$renderer4.push(`<p class="text-sm text-rc-gray-200">There are no more analytics fields to filter.</p>`);
208
+ } else {
209
+ $$renderer4.push("<!--[-1-->");
210
+ $$renderer4.push(`<label class="flex flex-col gap-1.5 text-sm text-rc-gray-200"><span>Field</span> `);
211
+ $$renderer4.select(
212
+ {
213
+ class: "rounded-lg border border-rc-gray-500 bg-rc-gray-900 px-3 py-2 text-rc-gray-100 focus:border-rc-gray-400 focus:outline-none focus:ring-0",
214
+ value: fieldName,
215
+ onchange: selectField
216
+ },
217
+ ($$renderer5) => {
218
+ $$renderer5.push(`<!--[-->`);
219
+ const each_array = ensure_array_like(fields);
220
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
221
+ let field = each_array[$$index];
222
+ $$renderer5.option({ value: field.field }, ($$renderer6) => {
223
+ $$renderer6.push(`${escape_html(field.field)}`);
224
+ });
225
+ }
226
+ $$renderer5.push(`<!--]-->`);
227
+ }
228
+ );
229
+ $$renderer4.push(`</label> `);
230
+ if (selectedField()) {
231
+ $$renderer4.push("<!--[0-->");
232
+ if (usesFreeform()) {
233
+ $$renderer4.push("<!--[0-->");
234
+ $$renderer4.push(`<label class="flex flex-col gap-1.5 text-sm text-rc-gray-200"><span>Value</span> `);
235
+ Input($$renderer4, {
236
+ type: selectedField().type === "number" ? "number" : "text",
237
+ class: "w-full !border-rc-gray-500 !bg-rc-gray-900 !py-2",
238
+ onkeydown: (event) => {
239
+ if (event.key === "Enter" && canAdd()) addFilter();
240
+ },
241
+ get value() {
242
+ return freeformValue;
243
+ },
244
+ set value($$value) {
245
+ freeformValue = $$value;
246
+ $$settled = false;
247
+ }
248
+ });
249
+ $$renderer4.push(`<!----> <span class="text-xs text-rc-gray-400">This field has ${escape_html(selectedField().distinctValueCount)} distinct values.</span></label>`);
250
+ } else {
251
+ $$renderer4.push("<!--[-1-->");
252
+ $$renderer4.push(`<fieldset class="flex flex-col gap-1.5"><legend class="mb-1 text-sm text-rc-gray-200">Values</legend> <div class="rc-scroll max-h-72 overflow-y-auto rounded-lg border border-rc-gray-600 bg-rc-gray-900 p-1"><!--[-->`);
253
+ const each_array_1 = ensure_array_like(values);
254
+ for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
255
+ let item = each_array_1[$$index_1];
256
+ $$renderer4.push(`<label class="flex cursor-pointer items-center gap-3 rounded px-3 py-2 text-sm text-rc-gray-100 hover:bg-rc-gray-700"><input type="checkbox"${attr("checked", isSelected(item.value), true)}/> <span class="min-w-0 flex-1 break-words">${escape_html(formatValue(item.value))}</span> <span class="ml-auto text-[calc(0.875rem-1pt)] tabular-nums text-rc-gray-400">${escape_html(item.count)}</span></label>`);
257
+ }
258
+ $$renderer4.push(`<!--]--></div></fieldset>`);
259
+ }
260
+ $$renderer4.push(`<!--]-->`);
261
+ } else {
262
+ $$renderer4.push("<!--[-1-->");
263
+ }
264
+ $$renderer4.push(`<!--]-->`);
265
+ }
266
+ $$renderer4.push(`<!--]--></div>`);
267
+ }, footer = function($$renderer4) {
268
+ Button($$renderer4, {
269
+ variant: "secondary",
270
+ onclick: () => open = false,
271
+ children: ($$renderer5) => {
272
+ $$renderer5.push(`<!---->Cancel`);
273
+ },
274
+ $$slots: { default: true }
275
+ });
276
+ $$renderer4.push(`<!----> `);
277
+ Button($$renderer4, {
278
+ onclick: addFilter,
279
+ disabled: !canAdd(),
280
+ children: ($$renderer5) => {
281
+ $$renderer5.push(`<!---->Add filter`);
282
+ },
283
+ $$slots: { default: true }
284
+ });
285
+ $$renderer4.push(`<!---->`);
286
+ };
287
+ Modal($$renderer3, {
288
+ title: "Add analytics filter",
289
+ class: "!max-w-lg",
290
+ get open() {
291
+ return open;
292
+ },
293
+ set open($$value) {
294
+ open = $$value;
295
+ $$settled = false;
296
+ },
297
+ children,
298
+ footer,
299
+ $$slots: { default: true, footer: true }
300
+ });
301
+ }
302
+ }
303
+ do {
304
+ $$settled = true;
305
+ $$inner_renderer = $$renderer2.copy();
306
+ $$render_inner($$inner_renderer);
307
+ } while (!$$settled);
308
+ $$renderer2.subsume($$inner_renderer);
309
+ bind_props($$props, { open });
310
+ });
311
+ }
137
312
  function _layout($$renderer, $$props) {
138
313
  $$renderer.component(($$renderer2) => {
139
314
  const client = new TelescopeClient(fetch);
@@ -150,36 +325,68 @@ function _layout($$renderer, $$props) {
150
325
  let lastConversationId = null;
151
326
  let loading = false;
152
327
  let error = null;
153
- let totalLoaded = 0;
154
328
  let telescopeSources = [];
155
329
  let telescopeSourceId = "";
330
+ let analyticsFields = [];
331
+ let activeAnalyticsFilters = [];
332
+ let analyticsFieldsLoading = false;
333
+ let analyticsFieldsError = null;
334
+ let filterDialogOpen = false;
335
+ let conversationRequestId = 0;
336
+ let analyticsFieldsRequestId = 0;
337
+ const availableAnalyticsFields = derived(() => analyticsFields.filter((field) => !activeAnalyticsFilters.some((filter) => filter.field === field.field)));
338
+ let loadedConversationFilterKey = null;
339
+ const currentConversationFilterKey = derived(() => JSON.stringify([currentAgent(), telescopeSourceId, activeAnalyticsFilters]));
340
+ const currentConversations = derived(() => loadedConversationFilterKey === currentConversationFilterKey() ? conversations : void 0);
341
+ const totalLoaded = derived(() => currentConversations()?.items.length ?? 0);
156
342
  let { useMock = false, children } = $$props;
157
343
  const { onError } = getAgentsContext();
158
344
  function fmtDate(ms) {
159
345
  return new Date(ms).toLocaleString();
160
346
  }
161
347
  function fmtDuration(sec) {
162
- const mm = Math.floor(sec / 60);
163
- const ss = sec % 60;
348
+ const totalSeconds = Math.round(sec);
349
+ const mm = Math.floor(totalSeconds / 60);
350
+ const ss = totalSeconds % 60;
164
351
  return `${mm}:${String(ss).padStart(2, "0")}`;
165
352
  }
353
+ function resetSelectionData() {
354
+ conversationRequestId += 1;
355
+ analyticsFieldsRequestId += 1;
356
+ selectedConversation = null;
357
+ conversations = void 0;
358
+ loadedConversationFilterKey = null;
359
+ analyticsFields = [];
360
+ activeAnalyticsFilters = [];
361
+ cursorStack = [];
362
+ lastConversationId = null;
363
+ loading = true;
364
+ analyticsFieldsLoading = true;
365
+ analyticsFieldsError = null;
366
+ filterDialogOpen = false;
367
+ }
166
368
  function buildAgentSearch(agentId = currentAgent(), region = agentId === currentAgent() ? currentRegion() : "") {
167
369
  const params = new URLSearchParams();
168
370
  if (agentId) params.set("agent", agentId);
169
371
  if (agentId && region) params.set("region", region);
372
+ if (telescopeSourceId) params.set(TELESCOPE_SOURCE_QUERY_PARAM, telescopeSourceId);
373
+ if (agentId === currentAgent() && activeAnalyticsFilters.length > 0) {
374
+ params.set(ANALYTICS_FILTERS_QUERY_PARAM, JSON.stringify(activeAnalyticsFilters));
375
+ }
170
376
  const search = params.toString();
171
377
  return search ? `?${search}` : "";
172
378
  }
173
379
  function buildConversationsUrl(agentId = currentAgent()) {
174
380
  return `${viewBase()}/conversations${buildAgentSearch(agentId)}`;
175
381
  }
176
- async function fetchConversationsFromApi(phoneNumber, limit = pageSize, lastConversationId2, agentId) {
382
+ async function fetchConversationsFromApi(phoneNumber, limit = pageSize, lastConversationId2, agentId, analyticsFilters = activeAnalyticsFilters) {
177
383
  if (useMock) {
178
384
  return mockGenerator.fetchConversations(limit, phoneNumber, lastConversationId2 ?? void 0);
179
385
  } else {
180
386
  return client.getConversations({
181
387
  phoneNumber,
182
388
  agentId,
389
+ analyticsFilters,
183
390
  limit: Number(limit),
184
391
  lastConversationId: lastConversationId2 ?? void 0
185
392
  });
@@ -195,36 +402,83 @@ function _layout($$renderer, $$props) {
195
402
  telescopeSourceId = next;
196
403
  persistTelescopeSourceId(next);
197
404
  client.setSourceId(next);
198
- selectedConversation = null;
405
+ resetSelectionData();
199
406
  await goto(buildConversationsUrl());
200
- await loadFirstPage();
407
+ await Promise.all([loadAnalyticsFields(), loadFirstPage()]);
201
408
  }
202
409
  async function loadPage() {
410
+ const requestId = ++conversationRequestId;
411
+ const requestedFilters = activeAnalyticsFilters.map((filter) => ({ ...filter, values: [...filter.values] }));
412
+ const requestAgent = currentAgent();
413
+ const requestFilterKey = JSON.stringify([requestAgent, telescopeSourceId, requestedFilters]);
203
414
  loading = true;
204
415
  error = null;
205
416
  try {
206
- const resp = await fetchConversationsFromApi(phoneQuery || void 0, pageSize, lastConversationId ?? void 0, currentAgent() || void 0);
207
- let filteredItems = Array.isArray(resp.items) ? resp.items.slice() : [];
208
- filteredItems = filteredItems.filter((c) => !!c?.phoneNumber);
417
+ const resp = await fetchConversationsFromApi(phoneQuery || void 0, pageSize, lastConversationId ?? void 0, requestAgent || void 0, requestedFilters);
418
+ if (requestId !== conversationRequestId || requestFilterKey !== currentConversationFilterKey()) return;
419
+ const items = Array.isArray(resp.items) ? resp.items.slice() : [];
209
420
  conversations = {
210
421
  limit: resp.limit,
211
- items: filteredItems,
422
+ items,
212
423
  lastConversationId: resp.lastConversationId
213
424
  };
214
- totalLoaded = filteredItems.length;
425
+ loadedConversationFilterKey = requestFilterKey;
215
426
  lastConversationId = resp.lastConversationId ?? null;
216
- loading = false;
217
427
  } catch (e) {
218
- loading = false;
219
- error = e.message || "Unknown error";
220
- onError(`Error loading conversations: ${error}`);
428
+ if (requestId !== conversationRequestId || requestFilterKey !== currentConversationFilterKey()) return;
429
+ error = "Conversations could not be loaded for this selection.";
430
+ onError(error);
221
431
  console.error("Load page error:", e);
432
+ } finally {
433
+ if (requestId === conversationRequestId) loading = false;
222
434
  }
223
435
  }
436
+ async function loadAnalyticsFields() {
437
+ const requestId = ++analyticsFieldsRequestId;
438
+ analyticsFieldsLoading = true;
439
+ analyticsFieldsError = null;
440
+ analyticsFields = [];
441
+ if (useMock || !currentAgent()) {
442
+ analyticsFieldsLoading = false;
443
+ return;
444
+ }
445
+ try {
446
+ const response = await client.getAnalyticsFields(currentAgent());
447
+ if (requestId !== analyticsFieldsRequestId) return;
448
+ analyticsFields = response.items;
449
+ } catch (e) {
450
+ if (requestId !== analyticsFieldsRequestId) return;
451
+ analyticsFieldsError = "Filters are unavailable for this selection.";
452
+ console.error("Failed to load analytics fields:", e);
453
+ } finally {
454
+ if (requestId === analyticsFieldsRequestId) analyticsFieldsLoading = false;
455
+ }
456
+ }
457
+ function getAnalyticsFieldValues(field, cursor) {
458
+ if (!currentAgent()) throw new Error("Select an agent before loading analytics values.");
459
+ return client.getAnalyticsFieldValues(currentAgent(), field, 50, cursor);
460
+ }
461
+ function addAnalyticsFilter(filter) {
462
+ void setAnalyticsFilters([...activeAnalyticsFilters, filter]);
463
+ }
464
+ async function setAnalyticsFilters(filters) {
465
+ activeAnalyticsFilters = filters;
466
+ JSON.stringify(filters);
467
+ const nextUrl = withAnalyticsFilters(page.url, filters);
468
+ await goto(`${nextUrl.pathname}${nextUrl.search}${nextUrl.hash}`);
469
+ await loadFirstPage();
470
+ }
471
+ function formatAnalyticsValue(value) {
472
+ if (typeof value === "boolean") return value ? "Yes" : "No";
473
+ return String(value);
474
+ }
475
+ function formatAnalyticsFilter(filter) {
476
+ return `${filter.field}: ${filter.values.map(formatAnalyticsValue).join(", ")}`;
477
+ }
224
478
  async function onNext() {
225
- if (!conversations?.lastConversationId) return;
226
- cursorStack.push(conversations.lastConversationId);
227
- lastConversationId = conversations.lastConversationId;
479
+ if (!currentConversations()?.lastConversationId) return;
480
+ cursorStack.push(currentConversations().lastConversationId);
481
+ lastConversationId = currentConversations().lastConversationId;
228
482
  await loadPage();
229
483
  }
230
484
  async function onPrev() {
@@ -237,8 +491,8 @@ function _layout($$renderer, $$props) {
237
491
  }
238
492
  function toggleSort() {
239
493
  sortDesc = !sortDesc;
240
- if (conversations?.items) {
241
- conversations.items.sort((a, b) => sortDesc ? b.createdAt - a.createdAt : a.createdAt - b.createdAt);
494
+ if (currentConversations()?.items) {
495
+ currentConversations().items.sort((a, b) => sortDesc ? b.createdAt - a.createdAt : a.createdAt - b.createdAt);
242
496
  }
243
497
  }
244
498
  function onPageSizeChange(e) {
@@ -269,13 +523,13 @@ function _layout($$renderer, $$props) {
269
523
  async function handleAgentClick(agentId, event) {
270
524
  event?.stopPropagation();
271
525
  if (agentId === currentAgent()) return;
272
- selectedConversation = null;
526
+ resetSelectionData();
273
527
  await goto(buildConversationsUrl(agentId));
274
528
  }
275
529
  async function handleAllAgentsClick(event) {
276
530
  event?.stopPropagation();
277
531
  if (!currentAgent()) return;
278
- selectedConversation = null;
532
+ resetSelectionData();
279
533
  await goto(buildConversationsUrl(""));
280
534
  }
281
535
  let $$settled = true;
@@ -386,6 +640,25 @@ function _layout($$renderer, $$props) {
386
640
  },
387
641
  $$slots: { default: true }
388
642
  });
643
+ $$renderer3.push(`<!----> <!--[-->`);
644
+ const each_array_1 = ensure_array_like(activeAnalyticsFilters);
645
+ for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
646
+ let filter = each_array_1[$$index_1];
647
+ $$renderer3.push(`<div class="flex max-w-80 items-center gap-1 rounded-lg border border-rc-gray-500 bg-rc-gray-700 py-1 pl-3 pr-1 text-sm text-rc-gray-100"${attr("title", formatAnalyticsFilter(filter))}><span class="truncate">${escape_html(formatAnalyticsFilter(filter))}</span> <button type="button" class="flex-none rounded p-1 text-rc-gray-300 hover:bg-rc-gray-600 hover:text-rc-gray-100"${attr("aria-label", `Remove ${filter.field} filter`)}>`);
648
+ Icon($$renderer3, { name: "close", width: 16, height: 16 });
649
+ $$renderer3.push(`<!----></button></div>`);
650
+ }
651
+ $$renderer3.push(`<!--]--> `);
652
+ Button($$renderer3, {
653
+ variant: "secondary",
654
+ disabled: analyticsFieldsLoading || availableAnalyticsFields().length === 0,
655
+ title: analyticsFieldsError ?? "Add analytics filter",
656
+ onclick: () => filterDialogOpen = true,
657
+ children: ($$renderer4) => {
658
+ $$renderer4.push(`<!---->Add filter`);
659
+ },
660
+ $$slots: { default: true }
661
+ });
389
662
  $$renderer3.push(`<!----></div></label></div> <div class="hidden items-center gap-2"><div class="text-rc-gray-200">Sort:</div> `);
390
663
  Button($$renderer3, {
391
664
  onclick: toggleSort,
@@ -428,25 +701,25 @@ function _layout($$renderer, $$props) {
428
701
  $$renderer3.push(`<!----> `);
429
702
  Button($$renderer3, {
430
703
  onclick: onNext,
431
- disabled: !conversations?.items.length,
704
+ disabled: !currentConversations()?.items.length,
432
705
  children: ($$renderer4) => {
433
706
  $$renderer4.push(`<!---->Next`);
434
707
  },
435
708
  $$slots: { default: true }
436
709
  });
437
- $$renderer3.push(`<!----> <div class="text-sm text-rc-gray-200">Items: ${escape_html(totalLoaded)}</div></div></div> <div class="ml-auto whitespace-nowrap text-sm"><span class="text-gray-400">API Mode:</span> <span class="font-semibold text-rc-green-200">${escape_html(useMock ? "Mock (local)" : "Live")}</span></div></div></nav> <main class="flex flex-1 overflow-hidden"><div class="flex h-full w-1/3 flex-col"><div class="flex-none border-b border-rc-gray-300/40 p-4"><h2 class="text-lg font-semibold text-rc-gray-100">Conversations</h2></div> <div class="rc-scroll min-h-0 flex-1 overflow-scroll px-3 py-4">`);
710
+ $$renderer3.push(`<!----> <div class="text-sm text-rc-gray-200">Items: ${escape_html(totalLoaded())}</div></div></div> <div class="ml-auto whitespace-nowrap text-sm"><span class="text-gray-400">API Mode:</span> <span class="font-semibold text-rc-green-200">${escape_html(useMock ? "Mock (local)" : "Live")}</span></div></div></nav> <main class="flex flex-1 overflow-hidden"><div class="flex h-full w-1/3 flex-col"><div class="flex-none border-b border-rc-gray-300/40 p-4"><h2 class="text-lg font-semibold text-rc-gray-100">Conversations</h2></div> <div class="rc-scroll min-h-0 flex-1 overflow-scroll px-3 py-4">`);
438
711
  if (loading) {
439
712
  $$renderer3.push("<!--[0-->");
440
713
  $$renderer3.push(`<p class="py-8 text-center text-rc-gray-200">Loading...</p>`);
441
- } else if (!conversations?.items?.length) {
714
+ } else if (!currentConversations()?.items?.length) {
442
715
  $$renderer3.push("<!--[1-->");
443
716
  $$renderer3.push(`<p class="py-8 text-center text-rc-gray-300">No conversations found</p>`);
444
717
  } else {
445
718
  $$renderer3.push("<!--[-1-->");
446
719
  $$renderer3.push(`<ul class="space-y-2"><!--[-->`);
447
- const each_array_1 = ensure_array_like(conversations.items);
448
- for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
449
- let conversation = each_array_1[$$index_1];
720
+ const each_array_2 = ensure_array_like(currentConversations().items);
721
+ for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {
722
+ let conversation = each_array_2[$$index_2];
450
723
  $$renderer3.push(`<li${attr_class(
451
724
  `cursor-pointer rounded-lg p-3 transition-colors ${(page.params.conversationId ? conversation.conversationId === page.params.conversationId : conversation.conversationId === selectedConversation?.conversationId) ? "bg-rc-gray-600" : "bg-rc-gray-700 hover:bg-rc-gray-650"}`,
452
725
  "svelte-1uk1thp"
@@ -457,13 +730,33 @@ function _layout($$renderer, $$props) {
457
730
  } else {
458
731
  $$renderer3.push("<!--[-1-->");
459
732
  }
460
- $$renderer3.push(`<!--]--></div> <p class="text-sm text-gray-400">Duration: ${escape_html(fmtDuration(conversation.duration ?? 0))}</p></div></div></li>`);
733
+ $$renderer3.push(`<!--]--></div> `);
734
+ if (conversation.medium === "phone" && conversation.duration !== void 0) {
735
+ $$renderer3.push("<!--[0-->");
736
+ $$renderer3.push(`<p class="text-sm text-gray-400">Duration: ${escape_html(fmtDuration(conversation.duration))}</p>`);
737
+ } else {
738
+ $$renderer3.push("<!--[-1-->");
739
+ }
740
+ $$renderer3.push(`<!--]--></div></div></li>`);
461
741
  }
462
742
  $$renderer3.push(`<!--]--></ul>`);
463
743
  }
464
744
  $$renderer3.push(`<!--]--></div></div> <div class="flex h-full w-2/3 flex-col bg-rc-gray-980">`);
465
745
  children($$renderer3);
466
- $$renderer3.push(`<!----></div></main></div></div>`);
746
+ $$renderer3.push(`<!----></div></main></div></div> `);
747
+ AnalyticsFilterDialog($$renderer3, {
748
+ fields: availableAnalyticsFields(),
749
+ getValues: getAnalyticsFieldValues,
750
+ onAdd: addAnalyticsFilter,
751
+ get open() {
752
+ return filterDialogOpen;
753
+ },
754
+ set open($$value) {
755
+ filterDialogOpen = $$value;
756
+ $$settled = false;
757
+ }
758
+ });
759
+ $$renderer3.push(`<!---->`);
467
760
  }
468
761
  do {
469
762
  $$settled = true;
@@ -475,4 +768,4 @@ function _layout($$renderer, $$props) {
475
768
  }
476
769
 
477
770
  export { _layout as default };
478
- //# sourceMappingURL=_layout.svelte.js-Dvn3tfM7.js.map
771
+ //# sourceMappingURL=_layout.svelte.js-B4Yws-GS.js.map