@recombine-ai/platform 0.5.0-test.0 → 0.6.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 (469) hide show
  1. package/README.md +0 -1
  2. package/build/agent/index.d.ts +0 -1
  3. package/build/agent/index.d.ts.map +1 -1
  4. package/build/agent/text-agent.d.ts +3 -4
  5. package/build/agent/text-agent.d.ts.map +1 -1
  6. package/build/agent/text-agent.js +1 -8
  7. package/build/agent/voice-agent.d.ts +3 -4
  8. package/build/agent/voice-agent.d.ts.map +1 -1
  9. package/build/agent/voice-agent.js +1 -8
  10. package/build/bosun/std-mocks/platform.d.ts.map +1 -1
  11. package/build/bosun/std-mocks/platform.js +0 -2
  12. package/build/bosun/test-agent.d.ts.map +1 -1
  13. package/build/bosun/test-agent.js +1 -2
  14. package/build/bosun-app/backend/server.js +1 -1
  15. package/build/bosun-app/backend/server.js.map +2 -2
  16. package/build/bosun-app/frontend/client/_app/immutable/assets/0.B5fEz2jr.css +1 -0
  17. package/build/bosun-app/frontend/client/_app/immutable/assets/0.B5fEz2jr.css.br +0 -0
  18. package/build/bosun-app/frontend/client/_app/immutable/assets/0.B5fEz2jr.css.gz +0 -0
  19. package/build/bosun-app/frontend/client/_app/immutable/chunks/9mOMnnWN.js +1 -0
  20. package/build/bosun-app/frontend/client/_app/immutable/chunks/9mOMnnWN.js.br +0 -0
  21. package/build/bosun-app/frontend/client/_app/immutable/chunks/9mOMnnWN.js.gz +0 -0
  22. package/build/bosun-app/frontend/client/_app/immutable/chunks/B0nqNj93.js +2 -0
  23. package/build/bosun-app/frontend/client/_app/immutable/chunks/B0nqNj93.js.br +0 -0
  24. package/build/bosun-app/frontend/client/_app/immutable/chunks/B0nqNj93.js.gz +0 -0
  25. package/build/bosun-app/frontend/client/_app/immutable/chunks/B1dhmiqQ.js +1 -0
  26. package/build/bosun-app/frontend/client/_app/immutable/chunks/B1dhmiqQ.js.br +0 -0
  27. package/build/bosun-app/frontend/client/_app/immutable/chunks/B1dhmiqQ.js.gz +0 -0
  28. package/build/bosun-app/frontend/client/_app/immutable/chunks/{B9e8MCJ2.js → B9pMb6OP.js} +1 -1
  29. package/build/bosun-app/frontend/client/_app/immutable/chunks/B9pMb6OP.js.br +0 -0
  30. package/build/bosun-app/frontend/client/_app/immutable/chunks/B9pMb6OP.js.gz +0 -0
  31. package/build/bosun-app/frontend/client/_app/immutable/chunks/{NwoUwoIi.js → BBk8_Xpk.js} +2 -2
  32. package/build/bosun-app/frontend/client/_app/immutable/chunks/BBk8_Xpk.js.br +0 -0
  33. package/build/bosun-app/frontend/client/_app/immutable/chunks/BBk8_Xpk.js.gz +0 -0
  34. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BDIIq0ko.js → BEdAvgYp.js} +1 -1
  35. package/build/bosun-app/frontend/client/_app/immutable/chunks/BEdAvgYp.js.br +0 -0
  36. package/build/bosun-app/frontend/client/_app/immutable/chunks/BEdAvgYp.js.gz +0 -0
  37. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DsRUoWL6.js → BJ9KKLWf.js} +1 -1
  38. package/build/bosun-app/frontend/client/_app/immutable/chunks/BJ9KKLWf.js.br +0 -0
  39. package/build/bosun-app/frontend/client/_app/immutable/chunks/BJ9KKLWf.js.gz +0 -0
  40. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BZeEhZ9x.js → BQIf5msi.js} +1 -1
  41. package/build/bosun-app/frontend/client/_app/immutable/chunks/BQIf5msi.js.br +1 -0
  42. package/build/bosun-app/frontend/client/_app/immutable/chunks/BQIf5msi.js.gz +0 -0
  43. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DOVgTfHj.js → BW6P0Ecp.js} +1 -1
  44. package/build/bosun-app/frontend/client/_app/immutable/chunks/BW6P0Ecp.js.br +0 -0
  45. package/build/bosun-app/frontend/client/_app/immutable/chunks/BW6P0Ecp.js.gz +0 -0
  46. package/build/bosun-app/frontend/client/_app/immutable/chunks/{D6r2pB3T.js → BcbX6huO.js} +1 -1
  47. package/build/bosun-app/frontend/client/_app/immutable/chunks/BcbX6huO.js.br +0 -0
  48. package/build/bosun-app/frontend/client/_app/immutable/chunks/BcbX6huO.js.gz +0 -0
  49. package/build/bosun-app/frontend/client/_app/immutable/chunks/BoX_BZZY.js +1 -0
  50. package/build/bosun-app/frontend/client/_app/immutable/chunks/BoX_BZZY.js.br +0 -0
  51. package/build/bosun-app/frontend/client/_app/immutable/chunks/BoX_BZZY.js.gz +0 -0
  52. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BHwgmBN2.js → Bp8N7Z1t.js} +1 -1
  53. package/build/bosun-app/frontend/client/_app/immutable/chunks/Bp8N7Z1t.js.br +0 -0
  54. package/build/bosun-app/frontend/client/_app/immutable/chunks/Bp8N7Z1t.js.gz +0 -0
  55. package/build/bosun-app/frontend/client/_app/immutable/chunks/{9pOOTteE.js → C0rPkxmP.js} +1 -1
  56. package/build/bosun-app/frontend/client/_app/immutable/chunks/C0rPkxmP.js.br +0 -0
  57. package/build/bosun-app/frontend/client/_app/immutable/chunks/C0rPkxmP.js.gz +0 -0
  58. package/build/bosun-app/frontend/client/_app/immutable/chunks/C3cROXCy.js +9 -0
  59. package/build/bosun-app/frontend/client/_app/immutable/chunks/C3cROXCy.js.br +0 -0
  60. package/build/bosun-app/frontend/client/_app/immutable/chunks/C3cROXCy.js.gz +0 -0
  61. package/build/bosun-app/frontend/client/_app/immutable/chunks/{VLxbY_3V.js → C9yBjdYI.js} +1 -1
  62. package/build/bosun-app/frontend/client/_app/immutable/chunks/C9yBjdYI.js.br +0 -0
  63. package/build/bosun-app/frontend/client/_app/immutable/chunks/C9yBjdYI.js.gz +0 -0
  64. package/build/bosun-app/frontend/client/_app/immutable/chunks/{D24F_tet.js → CCYriF4C.js} +1 -1
  65. package/build/bosun-app/frontend/client/_app/immutable/chunks/CCYriF4C.js.br +0 -0
  66. package/build/bosun-app/frontend/client/_app/immutable/chunks/CCYriF4C.js.gz +0 -0
  67. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHCMKZAC.js +1 -0
  68. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHCMKZAC.js.br +0 -0
  69. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHCMKZAC.js.gz +0 -0
  70. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR-uVjxM.js +1 -0
  71. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR-uVjxM.js.br +0 -0
  72. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR-uVjxM.js.gz +0 -0
  73. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR5IRTqC.js +1 -0
  74. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR5IRTqC.js.br +0 -0
  75. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR5IRTqC.js.gz +0 -0
  76. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DJFKRYxi.js → ClLUwVGq.js} +1 -1
  77. package/build/bosun-app/frontend/client/_app/immutable/chunks/ClLUwVGq.js.br +0 -0
  78. package/build/bosun-app/frontend/client/_app/immutable/chunks/ClLUwVGq.js.gz +0 -0
  79. package/build/bosun-app/frontend/client/_app/immutable/chunks/{4OgEIyh1.js → DEz15oJb.js} +1 -1
  80. package/build/bosun-app/frontend/client/_app/immutable/chunks/DEz15oJb.js.br +0 -0
  81. package/build/bosun-app/frontend/client/_app/immutable/chunks/DEz15oJb.js.gz +0 -0
  82. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BtJ1grIE.js → DJnDF3d9.js} +1 -1
  83. package/build/bosun-app/frontend/client/_app/immutable/chunks/DJnDF3d9.js.br +0 -0
  84. package/build/bosun-app/frontend/client/_app/immutable/chunks/DJnDF3d9.js.gz +0 -0
  85. package/build/bosun-app/frontend/client/_app/immutable/chunks/DLoeuYMu.js +1 -0
  86. package/build/bosun-app/frontend/client/_app/immutable/chunks/DLoeuYMu.js.br +0 -0
  87. package/build/bosun-app/frontend/client/_app/immutable/chunks/DLoeuYMu.js.gz +0 -0
  88. package/build/bosun-app/frontend/client/_app/immutable/chunks/{D35JKLYq.js → DNvczHUR.js} +1 -1
  89. package/build/bosun-app/frontend/client/_app/immutable/chunks/DNvczHUR.js.br +0 -0
  90. package/build/bosun-app/frontend/client/_app/immutable/chunks/DNvczHUR.js.gz +0 -0
  91. package/build/bosun-app/frontend/client/_app/immutable/chunks/DXsF11_5.js +1 -0
  92. package/build/bosun-app/frontend/client/_app/immutable/chunks/DXsF11_5.js.br +2 -0
  93. package/build/bosun-app/frontend/client/_app/immutable/chunks/DXsF11_5.js.gz +0 -0
  94. package/build/bosun-app/frontend/client/_app/immutable/chunks/D_AUB_Y_.js +3 -0
  95. package/build/bosun-app/frontend/client/_app/immutable/chunks/D_AUB_Y_.js.br +0 -0
  96. package/build/bosun-app/frontend/client/_app/immutable/chunks/D_AUB_Y_.js.gz +0 -0
  97. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dba0_Upf.js +1 -0
  98. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dba0_Upf.js.br +2 -0
  99. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dba0_Upf.js.gz +0 -0
  100. package/build/bosun-app/frontend/client/_app/immutable/chunks/{FLx39vZ1.js → DjujL8K1.js} +1 -1
  101. package/build/bosun-app/frontend/client/_app/immutable/chunks/DjujL8K1.js.br +0 -0
  102. package/build/bosun-app/frontend/client/_app/immutable/chunks/DjujL8K1.js.gz +0 -0
  103. package/build/bosun-app/frontend/client/_app/immutable/chunks/{BHU9AXbn.js → DnMQeiTY.js} +1 -1
  104. package/build/bosun-app/frontend/client/_app/immutable/chunks/DnMQeiTY.js.br +0 -0
  105. package/build/bosun-app/frontend/client/_app/immutable/chunks/DnMQeiTY.js.gz +0 -0
  106. package/build/bosun-app/frontend/client/_app/immutable/chunks/DuQdgMax.js +1 -0
  107. package/build/bosun-app/frontend/client/_app/immutable/chunks/DuQdgMax.js.br +0 -0
  108. package/build/bosun-app/frontend/client/_app/immutable/chunks/DuQdgMax.js.gz +0 -0
  109. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dz3Q78XL.js +1 -0
  110. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dz3Q78XL.js.br +0 -0
  111. package/build/bosun-app/frontend/client/_app/immutable/chunks/Dz3Q78XL.js.gz +0 -0
  112. package/build/bosun-app/frontend/client/_app/immutable/chunks/{CINamuM5.js → DzLW1Mkz.js} +1 -1
  113. package/build/bosun-app/frontend/client/_app/immutable/chunks/DzLW1Mkz.js.br +0 -0
  114. package/build/bosun-app/frontend/client/_app/immutable/chunks/DzLW1Mkz.js.gz +0 -0
  115. package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js +64 -0
  116. package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js.br +0 -0
  117. package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js.gz +0 -0
  118. package/build/bosun-app/frontend/client/_app/immutable/chunks/WoyQSrjz.js +1 -0
  119. package/build/bosun-app/frontend/client/_app/immutable/chunks/WoyQSrjz.js.br +0 -0
  120. package/build/bosun-app/frontend/client/_app/immutable/chunks/WoyQSrjz.js.gz +0 -0
  121. package/build/bosun-app/frontend/client/_app/immutable/chunks/ddC1NP9R.js +2 -0
  122. package/build/bosun-app/frontend/client/_app/immutable/chunks/ddC1NP9R.js.br +0 -0
  123. package/build/bosun-app/frontend/client/_app/immutable/chunks/ddC1NP9R.js.gz +0 -0
  124. package/build/bosun-app/frontend/client/_app/immutable/chunks/{Csai_DUZ.js → joiJcRPz.js} +1 -1
  125. package/build/bosun-app/frontend/client/_app/immutable/chunks/joiJcRPz.js.br +0 -0
  126. package/build/bosun-app/frontend/client/_app/immutable/chunks/joiJcRPz.js.gz +0 -0
  127. package/build/bosun-app/frontend/client/_app/immutable/chunks/{DSFEfk-V.js → ouMvMh56.js} +1 -1
  128. package/build/bosun-app/frontend/client/_app/immutable/chunks/ouMvMh56.js.br +0 -0
  129. package/build/bosun-app/frontend/client/_app/immutable/chunks/ouMvMh56.js.gz +0 -0
  130. package/build/bosun-app/frontend/client/_app/immutable/chunks/qiSVE_6c.js +1 -0
  131. package/build/bosun-app/frontend/client/_app/immutable/chunks/qiSVE_6c.js.br +0 -0
  132. package/build/bosun-app/frontend/client/_app/immutable/chunks/qiSVE_6c.js.gz +0 -0
  133. package/build/bosun-app/frontend/client/_app/immutable/chunks/{CkCJ1-zx.js → sKHuRf4Z.js} +1 -1
  134. package/build/bosun-app/frontend/client/_app/immutable/chunks/sKHuRf4Z.js.br +0 -0
  135. package/build/bosun-app/frontend/client/_app/immutable/chunks/sKHuRf4Z.js.gz +0 -0
  136. package/build/bosun-app/frontend/client/_app/immutable/entry/app.tlZ6ECO2.js +2 -0
  137. package/build/bosun-app/frontend/client/_app/immutable/entry/app.tlZ6ECO2.js.br +0 -0
  138. package/build/bosun-app/frontend/client/_app/immutable/entry/app.tlZ6ECO2.js.gz +0 -0
  139. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CFPAx99R.js +1 -0
  140. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CFPAx99R.js.br +0 -0
  141. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CFPAx99R.js.gz +0 -0
  142. package/build/bosun-app/frontend/client/_app/immutable/nodes/{0.sWxZKx1V.js → 0.My9Ge0mp.js} +1 -1
  143. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.My9Ge0mp.js.br +0 -0
  144. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.My9Ge0mp.js.gz +0 -0
  145. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.8soRNXH1.js +1 -0
  146. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.8soRNXH1.js.br +0 -0
  147. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.8soRNXH1.js.gz +0 -0
  148. package/build/bosun-app/frontend/client/_app/immutable/nodes/{10.BP2gctlm.js → 10.Dvsr2_-z.js} +7 -7
  149. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.Dvsr2_-z.js.br +0 -0
  150. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.Dvsr2_-z.js.gz +0 -0
  151. package/build/bosun-app/frontend/client/_app/immutable/nodes/{15.D4h0JT65.js → 15.drIyAxl2.js} +1 -1
  152. package/build/bosun-app/frontend/client/_app/immutable/nodes/15.drIyAxl2.js.br +1 -0
  153. package/build/bosun-app/frontend/client/_app/immutable/nodes/15.drIyAxl2.js.gz +0 -0
  154. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.COoRz9YL.js +3 -0
  155. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.COoRz9YL.js.br +0 -0
  156. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.COoRz9YL.js.gz +0 -0
  157. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.BU9ol_TM.js +11 -0
  158. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.BU9ol_TM.js.br +0 -0
  159. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.BU9ol_TM.js.gz +0 -0
  160. package/build/bosun-app/frontend/client/_app/immutable/nodes/{2.DaZm8LbH.js → 2.BaCFGeUG.js} +3 -3
  161. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.BaCFGeUG.js.br +0 -0
  162. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.BaCFGeUG.js.gz +0 -0
  163. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B2QuAahv.js +1 -0
  164. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B2QuAahv.js.br +0 -0
  165. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B2QuAahv.js.gz +0 -0
  166. package/build/bosun-app/frontend/client/_app/immutable/nodes/{4.BWY-PEkr.js → 4.XVLuiibs.js} +1 -1
  167. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.XVLuiibs.js.br +0 -0
  168. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.XVLuiibs.js.gz +0 -0
  169. package/build/bosun-app/frontend/client/_app/immutable/nodes/{5.Cl70jzrZ.js → 5.BV6hbTfJ.js} +1 -1
  170. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.BV6hbTfJ.js.br +0 -0
  171. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.BV6hbTfJ.js.gz +0 -0
  172. package/build/bosun-app/frontend/client/_app/immutable/nodes/{6.Cfkc99si.js → 6.cTvJXuC_.js} +1 -1
  173. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.cTvJXuC_.js.br +0 -0
  174. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.cTvJXuC_.js.gz +0 -0
  175. package/build/bosun-app/frontend/client/_app/immutable/nodes/{8.CmB3ZvKy.js → 8.4WVQLKHf.js} +1 -1
  176. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.4WVQLKHf.js.br +0 -0
  177. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.4WVQLKHf.js.gz +0 -0
  178. package/build/bosun-app/frontend/client/_app/immutable/nodes/{9.8UAsXj0n.js → 9.DDtd23BC.js} +1 -1
  179. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.DDtd23BC.js.br +0 -0
  180. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.DDtd23BC.js.gz +0 -0
  181. package/build/bosun-app/frontend/client/_app/version.json +1 -1
  182. package/build/bosun-app/frontend/client/_app/version.json.br +0 -0
  183. package/build/bosun-app/frontend/client/_app/version.json.gz +0 -0
  184. package/build/bosun-app/frontend/handler.js +4 -4
  185. package/build/bosun-app/frontend/index.js +4 -4
  186. package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-BYUssiWE.js → internal.js-Bbhicye1.js} +2 -2
  187. package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-BYUssiWE.js.map → internal.js-Bbhicye1.js.map} +1 -1
  188. package/build/bosun-app/frontend/server/chunks/chunks/{schemas.js-b9Mui_5N.js → schemas.js-W-DP3mDr.js} +2 -187
  189. package/build/bosun-app/frontend/server/chunks/chunks/schemas.js-W-DP3mDr.js.map +1 -0
  190. package/build/bosun-app/frontend/server/chunks/chunks/{source-selection.js-BpCr9ar-.js → source-selection.js-Cc6RX6-m.js} +4 -47
  191. package/build/bosun-app/frontend/server/chunks/chunks/source-selection.js-Cc6RX6-m.js.map +1 -0
  192. package/build/bosun-app/frontend/server/chunks/chunks/{sources.server.js-DIj2VjCx.js → sources.server.js-B6fpC51P.js} +2 -2
  193. package/build/bosun-app/frontend/server/chunks/chunks/{sources.server.js-DIj2VjCx.js.map → sources.server.js-B6fpC51P.js.map} +1 -1
  194. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/latency/_conversationId_/{_server.ts.js-mL82mAit.js → _server.ts.js-hHR2eFvt.js} +2 -2
  195. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/latency/_conversationId_/{_server.ts.js-mL82mAit.js.map → _server.ts.js-hHR2eFvt.js.map} +1 -1
  196. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/proxy/_...path_/{_server.ts.js-DDDiZFhL.js → _server.ts.js-CHrOiduq.js} +10 -17
  197. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/proxy/_...path_/_server.ts.js-CHrOiduq.js.map +1 -0
  198. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/sources/{_server.ts.js-D_UoR_Ph.js → _server.ts.js-C2FIU8Kr.js} +3 -3
  199. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/sources/{_server.ts.js-D_UoR_Ph.js.map → _server.ts.js-C2FIU8Kr.js.map} +1 -1
  200. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/latency/{_page.svelte.js-DXMXSrkC.js → _page.svelte.js-tdUdTo4m.js} +5 -5
  201. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/latency/_page.svelte.js-tdUdTo4m.js.map +1 -0
  202. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/{_page.svelte.js-CZkbHRGl.js → _page.svelte.js-Ca79DBzJ.js} +9 -28
  203. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/_page.svelte.js-Ca79DBzJ.js.map +1 -0
  204. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/{_layout.svelte.js-B4Yws-GS.js → _layout.svelte.js-Dvn3tfM7.js} +35 -328
  205. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_layout.svelte.js-Dvn3tfM7.js.map +1 -0
  206. package/build/bosun-app/frontend/server/chunks/{handler-B-UxYyko.js → handler-B9pVHSE7.js} +3 -3
  207. package/build/bosun-app/frontend/server/chunks/{handler-B-UxYyko.js.map → handler-B9pVHSE7.js.map} +1 -1
  208. package/build/bosun-app/frontend/server/chunks/{index.js-CleJzVFo.js → index.js-yM54Kd2A.js} +2 -2
  209. package/build/bosun-app/frontend/server/chunks/{index.js-CleJzVFo.js.map → index.js-yM54Kd2A.js.map} +1 -1
  210. package/build/bosun-app/frontend/server/chunks/{manifest.js-C8NquSUu.js → manifest.js-DolFIESH.js} +18 -18
  211. package/build/bosun-app/frontend/server/chunks/{manifest.js-C8NquSUu.js.map → manifest.js-DolFIESH.js.map} +1 -1
  212. package/build/bosun-app/frontend/server/chunks/nodes/0.js-Dq2ecpF9.js +9 -0
  213. package/build/bosun-app/frontend/server/chunks/nodes/0.js-Dq2ecpF9.js.map +1 -0
  214. package/build/bosun-app/frontend/server/chunks/nodes/1.js-DL4KxCNs.js +9 -0
  215. package/build/bosun-app/frontend/server/chunks/nodes/{1.js-BKMg62KW.js.map → 1.js-DL4KxCNs.js.map} +1 -1
  216. package/build/bosun-app/frontend/server/chunks/nodes/10.js-LOiFsxCJ.js +9 -0
  217. package/build/bosun-app/frontend/server/chunks/nodes/10.js-LOiFsxCJ.js.map +1 -0
  218. package/build/bosun-app/frontend/server/chunks/nodes/{15.js-nE6nl5S8.js → 15.js-cNd06B9T.js} +2 -2
  219. package/build/bosun-app/frontend/server/chunks/nodes/{15.js-nE6nl5S8.js.map → 15.js-cNd06B9T.js.map} +1 -1
  220. package/build/bosun-app/frontend/server/chunks/nodes/17.js-DMA8sOmE.js +9 -0
  221. package/build/bosun-app/frontend/server/chunks/nodes/17.js-DMA8sOmE.js.map +1 -0
  222. package/build/bosun-app/frontend/server/chunks/nodes/18.js-uFmm-sPa.js +9 -0
  223. package/build/bosun-app/frontend/server/chunks/nodes/18.js-uFmm-sPa.js.map +1 -0
  224. package/build/bosun-app/frontend/server/chunks/nodes/2.js-TSnVvl3L.js +9 -0
  225. package/build/bosun-app/frontend/server/chunks/nodes/2.js-TSnVvl3L.js.map +1 -0
  226. package/build/bosun-app/frontend/server/chunks/nodes/3.js-C-mekp3u.js +9 -0
  227. package/build/bosun-app/frontend/server/chunks/nodes/3.js-C-mekp3u.js.map +1 -0
  228. package/build/bosun-app/frontend/server/chunks/nodes/4.js-CKl_EX8L.js +9 -0
  229. package/build/bosun-app/frontend/server/chunks/nodes/4.js-CKl_EX8L.js.map +1 -0
  230. package/build/bosun-app/frontend/server/chunks/nodes/5.js-BWmqvxt2.js +9 -0
  231. package/build/bosun-app/frontend/server/chunks/nodes/{5.js-CqRWSoO5.js.map → 5.js-BWmqvxt2.js.map} +1 -1
  232. package/build/bosun-app/frontend/server/chunks/nodes/6.js-CjKPGJGt.js +9 -0
  233. package/build/bosun-app/frontend/server/chunks/nodes/6.js-CjKPGJGt.js.map +1 -0
  234. package/build/bosun-app/frontend/server/chunks/nodes/8.js-CpjYLyJe.js +9 -0
  235. package/build/bosun-app/frontend/server/chunks/nodes/8.js-CpjYLyJe.js.map +1 -0
  236. package/build/bosun-app/frontend/server/chunks/nodes/9.js-BLYfNmUw.js +9 -0
  237. package/build/bosun-app/frontend/server/chunks/nodes/9.js-BLYfNmUw.js.map +1 -0
  238. package/build/build/build.d.ts.map +1 -1
  239. package/build/build/build.js +1 -3
  240. package/build/build/common.d.ts +0 -1
  241. package/build/build/common.d.ts.map +1 -1
  242. package/build/build/common.js +0 -12
  243. package/build/call-control/types.d.ts +1 -1
  244. package/build/call-control/types.d.ts.map +1 -1
  245. package/build/core/get-text-platform.d.ts +15 -0
  246. package/build/core/get-text-platform.d.ts.map +1 -0
  247. package/build/core/{make-text-platform.js → get-text-platform.js} +8 -6
  248. package/build/core/{make-voice-platform.d.ts → get-voice-platform.d.ts} +4 -6
  249. package/build/core/get-voice-platform.d.ts.map +1 -0
  250. package/build/core/{make-voice-platform.js → get-voice-platform.js} +8 -6
  251. package/build/core/index.d.ts +4 -4
  252. package/build/core/index.d.ts.map +1 -1
  253. package/build/core/index.js +2 -2
  254. package/build/core/platform.d.ts +0 -2
  255. package/build/core/platform.d.ts.map +1 -1
  256. package/build/engine/interfaces/other.d.ts +1 -1
  257. package/build/engine/interfaces/other.d.ts.map +1 -1
  258. package/build/engine/stream/get-client.d.ts.map +1 -1
  259. package/build/engine/stream/get-client.js +8 -102
  260. package/build/text-agent-handlers/incoming-message.d.ts +4 -2
  261. package/build/text-agent-handlers/incoming-message.d.ts.map +1 -1
  262. package/build/text-agent-handlers/incoming-message.js +31 -14
  263. package/build/text-agent-handlers/index.d.ts +1 -1
  264. package/build/text-agent-handlers/index.d.ts.map +1 -1
  265. package/build/text-agent-handlers/instrument.d.ts +0 -1
  266. package/build/text-agent-handlers/instrument.d.ts.map +1 -1
  267. package/build/text-agent-handlers/instrument.js +5 -5
  268. package/build/text-agent-handlers/jobs-handler.d.ts +3 -2
  269. package/build/text-agent-handlers/jobs-handler.d.ts.map +1 -1
  270. package/build/text-agent-handlers/jobs-handler.js +12 -9
  271. package/build/text-agent-handlers/jobs.d.ts +1 -1
  272. package/build/text-agent-handlers/jobs.d.ts.map +1 -1
  273. package/build/text-agent-handlers/ports.d.ts +3 -4
  274. package/build/text-agent-handlers/ports.d.ts.map +1 -1
  275. package/build/text-agent-handlers/ports.js +12 -0
  276. package/build/voice-agent-api/voice-http.d.ts +1 -3
  277. package/build/voice-agent-api/voice-http.d.ts.map +1 -1
  278. package/build/voice-agent-api/voice-http.js +16 -53
  279. package/package.json +1 -5
  280. package/build/agent/agent-analytics.d.ts +0 -14
  281. package/build/agent/agent-analytics.d.ts.map +0 -1
  282. package/build/agent/agent-analytics.js +0 -29
  283. package/build/analytics/analytics.d.ts +0 -49
  284. package/build/analytics/analytics.d.ts.map +0 -1
  285. package/build/analytics/analytics.js +0 -223
  286. package/build/analytics/index.d.ts +0 -7
  287. package/build/analytics/index.d.ts.map +0 -1
  288. package/build/analytics/index.js +0 -3
  289. package/build/analytics/postgres-analytics-query.d.ts +0 -117
  290. package/build/analytics/postgres-analytics-query.d.ts.map +0 -1
  291. package/build/analytics/postgres-analytics-query.js +0 -504
  292. package/build/analytics/postgres-analytics.d.ts +0 -33
  293. package/build/analytics/postgres-analytics.d.ts.map +0 -1
  294. package/build/analytics/postgres-analytics.js +0 -310
  295. package/build/bosun-app/frontend/client/_app/immutable/assets/0.BhaOIA8N.css +0 -1
  296. package/build/bosun-app/frontend/client/_app/immutable/assets/0.BhaOIA8N.css.br +0 -0
  297. package/build/bosun-app/frontend/client/_app/immutable/assets/0.BhaOIA8N.css.gz +0 -0
  298. package/build/bosun-app/frontend/client/_app/immutable/chunks/-ZTJLlC3.js +0 -2
  299. package/build/bosun-app/frontend/client/_app/immutable/chunks/-ZTJLlC3.js.br +0 -0
  300. package/build/bosun-app/frontend/client/_app/immutable/chunks/-ZTJLlC3.js.gz +0 -0
  301. package/build/bosun-app/frontend/client/_app/immutable/chunks/0Q6TVg1G.js +0 -1
  302. package/build/bosun-app/frontend/client/_app/immutable/chunks/0Q6TVg1G.js.br +0 -0
  303. package/build/bosun-app/frontend/client/_app/immutable/chunks/0Q6TVg1G.js.gz +0 -0
  304. package/build/bosun-app/frontend/client/_app/immutable/chunks/4OgEIyh1.js.br +0 -0
  305. package/build/bosun-app/frontend/client/_app/immutable/chunks/4OgEIyh1.js.gz +0 -0
  306. package/build/bosun-app/frontend/client/_app/immutable/chunks/8bHWYDyT.js +0 -1
  307. package/build/bosun-app/frontend/client/_app/immutable/chunks/8bHWYDyT.js.br +0 -0
  308. package/build/bosun-app/frontend/client/_app/immutable/chunks/8bHWYDyT.js.gz +0 -0
  309. package/build/bosun-app/frontend/client/_app/immutable/chunks/9pOOTteE.js.br +0 -0
  310. package/build/bosun-app/frontend/client/_app/immutable/chunks/9pOOTteE.js.gz +0 -0
  311. package/build/bosun-app/frontend/client/_app/immutable/chunks/AlWqjAqK.js +0 -1
  312. package/build/bosun-app/frontend/client/_app/immutable/chunks/AlWqjAqK.js.br +0 -0
  313. package/build/bosun-app/frontend/client/_app/immutable/chunks/AlWqjAqK.js.gz +0 -0
  314. package/build/bosun-app/frontend/client/_app/immutable/chunks/B9e8MCJ2.js.br +0 -0
  315. package/build/bosun-app/frontend/client/_app/immutable/chunks/B9e8MCJ2.js.gz +0 -0
  316. package/build/bosun-app/frontend/client/_app/immutable/chunks/BDIIq0ko.js.br +0 -0
  317. package/build/bosun-app/frontend/client/_app/immutable/chunks/BDIIq0ko.js.gz +0 -0
  318. package/build/bosun-app/frontend/client/_app/immutable/chunks/BFiP5U7M.js +0 -3
  319. package/build/bosun-app/frontend/client/_app/immutable/chunks/BFiP5U7M.js.br +0 -0
  320. package/build/bosun-app/frontend/client/_app/immutable/chunks/BFiP5U7M.js.gz +0 -0
  321. package/build/bosun-app/frontend/client/_app/immutable/chunks/BHU9AXbn.js.br +0 -0
  322. package/build/bosun-app/frontend/client/_app/immutable/chunks/BHU9AXbn.js.gz +0 -0
  323. package/build/bosun-app/frontend/client/_app/immutable/chunks/BHwgmBN2.js.br +0 -0
  324. package/build/bosun-app/frontend/client/_app/immutable/chunks/BHwgmBN2.js.gz +0 -0
  325. package/build/bosun-app/frontend/client/_app/immutable/chunks/BOlSQbHE.js +0 -2
  326. package/build/bosun-app/frontend/client/_app/immutable/chunks/BOlSQbHE.js.br +0 -0
  327. package/build/bosun-app/frontend/client/_app/immutable/chunks/BOlSQbHE.js.gz +0 -0
  328. package/build/bosun-app/frontend/client/_app/immutable/chunks/BXO2WwQx.js +0 -1
  329. package/build/bosun-app/frontend/client/_app/immutable/chunks/BXO2WwQx.js.br +0 -0
  330. package/build/bosun-app/frontend/client/_app/immutable/chunks/BXO2WwQx.js.gz +0 -0
  331. package/build/bosun-app/frontend/client/_app/immutable/chunks/BZeEhZ9x.js.br +0 -0
  332. package/build/bosun-app/frontend/client/_app/immutable/chunks/BZeEhZ9x.js.gz +0 -0
  333. package/build/bosun-app/frontend/client/_app/immutable/chunks/BbB1C_YH.js +0 -1
  334. package/build/bosun-app/frontend/client/_app/immutable/chunks/BbB1C_YH.js.br +0 -0
  335. package/build/bosun-app/frontend/client/_app/immutable/chunks/BbB1C_YH.js.gz +0 -0
  336. package/build/bosun-app/frontend/client/_app/immutable/chunks/BtJ1grIE.js.br +0 -0
  337. package/build/bosun-app/frontend/client/_app/immutable/chunks/BtJ1grIE.js.gz +0 -0
  338. package/build/bosun-app/frontend/client/_app/immutable/chunks/C5z36vOP.js +0 -8
  339. package/build/bosun-app/frontend/client/_app/immutable/chunks/C5z36vOP.js.br +0 -0
  340. package/build/bosun-app/frontend/client/_app/immutable/chunks/C5z36vOP.js.gz +0 -0
  341. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHNsNZYZ.js +0 -1
  342. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHNsNZYZ.js.br +0 -0
  343. package/build/bosun-app/frontend/client/_app/immutable/chunks/CHNsNZYZ.js.gz +0 -0
  344. package/build/bosun-app/frontend/client/_app/immutable/chunks/CINamuM5.js.br +0 -1
  345. package/build/bosun-app/frontend/client/_app/immutable/chunks/CINamuM5.js.gz +0 -0
  346. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR6hF_YT.js +0 -1
  347. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR6hF_YT.js.br +0 -0
  348. package/build/bosun-app/frontend/client/_app/immutable/chunks/CR6hF_YT.js.gz +0 -0
  349. package/build/bosun-app/frontend/client/_app/immutable/chunks/CbXT0Qet.js +0 -1
  350. package/build/bosun-app/frontend/client/_app/immutable/chunks/CbXT0Qet.js.br +0 -0
  351. package/build/bosun-app/frontend/client/_app/immutable/chunks/CbXT0Qet.js.gz +0 -0
  352. package/build/bosun-app/frontend/client/_app/immutable/chunks/CkCJ1-zx.js.br +0 -0
  353. package/build/bosun-app/frontend/client/_app/immutable/chunks/CkCJ1-zx.js.gz +0 -0
  354. package/build/bosun-app/frontend/client/_app/immutable/chunks/Cm25Ihk6.js +0 -1
  355. package/build/bosun-app/frontend/client/_app/immutable/chunks/Cm25Ihk6.js.br +0 -0
  356. package/build/bosun-app/frontend/client/_app/immutable/chunks/Cm25Ihk6.js.gz +0 -0
  357. package/build/bosun-app/frontend/client/_app/immutable/chunks/CmJrlnQL.js +0 -64
  358. package/build/bosun-app/frontend/client/_app/immutable/chunks/CmJrlnQL.js.br +0 -0
  359. package/build/bosun-app/frontend/client/_app/immutable/chunks/CmJrlnQL.js.gz +0 -0
  360. package/build/bosun-app/frontend/client/_app/immutable/chunks/CofRL0YY.js +0 -2
  361. package/build/bosun-app/frontend/client/_app/immutable/chunks/CofRL0YY.js.br +0 -0
  362. package/build/bosun-app/frontend/client/_app/immutable/chunks/CofRL0YY.js.gz +0 -0
  363. package/build/bosun-app/frontend/client/_app/immutable/chunks/Csai_DUZ.js.br +0 -6
  364. package/build/bosun-app/frontend/client/_app/immutable/chunks/Csai_DUZ.js.gz +0 -0
  365. package/build/bosun-app/frontend/client/_app/immutable/chunks/D24F_tet.js.br +0 -0
  366. package/build/bosun-app/frontend/client/_app/immutable/chunks/D24F_tet.js.gz +0 -0
  367. package/build/bosun-app/frontend/client/_app/immutable/chunks/D35JKLYq.js.br +0 -0
  368. package/build/bosun-app/frontend/client/_app/immutable/chunks/D35JKLYq.js.gz +0 -0
  369. package/build/bosun-app/frontend/client/_app/immutable/chunks/D6r2pB3T.js.br +0 -0
  370. package/build/bosun-app/frontend/client/_app/immutable/chunks/D6r2pB3T.js.gz +0 -0
  371. package/build/bosun-app/frontend/client/_app/immutable/chunks/DJFKRYxi.js.br +0 -0
  372. package/build/bosun-app/frontend/client/_app/immutable/chunks/DJFKRYxi.js.gz +0 -0
  373. package/build/bosun-app/frontend/client/_app/immutable/chunks/DOVgTfHj.js.br +0 -0
  374. package/build/bosun-app/frontend/client/_app/immutable/chunks/DOVgTfHj.js.gz +0 -0
  375. package/build/bosun-app/frontend/client/_app/immutable/chunks/DPfKTQVx.js +0 -1
  376. package/build/bosun-app/frontend/client/_app/immutable/chunks/DPfKTQVx.js.br +0 -0
  377. package/build/bosun-app/frontend/client/_app/immutable/chunks/DPfKTQVx.js.gz +0 -0
  378. package/build/bosun-app/frontend/client/_app/immutable/chunks/DSFEfk-V.js.br +0 -0
  379. package/build/bosun-app/frontend/client/_app/immutable/chunks/DSFEfk-V.js.gz +0 -0
  380. package/build/bosun-app/frontend/client/_app/immutable/chunks/DbY589nb.js +0 -1
  381. package/build/bosun-app/frontend/client/_app/immutable/chunks/DbY589nb.js.br +0 -2
  382. package/build/bosun-app/frontend/client/_app/immutable/chunks/DbY589nb.js.gz +0 -0
  383. package/build/bosun-app/frontend/client/_app/immutable/chunks/DfEgi1lN.js +0 -1
  384. package/build/bosun-app/frontend/client/_app/immutable/chunks/DfEgi1lN.js.br +0 -0
  385. package/build/bosun-app/frontend/client/_app/immutable/chunks/DfEgi1lN.js.gz +0 -0
  386. package/build/bosun-app/frontend/client/_app/immutable/chunks/DsRUoWL6.js.br +0 -0
  387. package/build/bosun-app/frontend/client/_app/immutable/chunks/DsRUoWL6.js.gz +0 -0
  388. package/build/bosun-app/frontend/client/_app/immutable/chunks/FLx39vZ1.js.br +0 -0
  389. package/build/bosun-app/frontend/client/_app/immutable/chunks/FLx39vZ1.js.gz +0 -0
  390. package/build/bosun-app/frontend/client/_app/immutable/chunks/NwoUwoIi.js.br +0 -0
  391. package/build/bosun-app/frontend/client/_app/immutable/chunks/NwoUwoIi.js.gz +0 -0
  392. package/build/bosun-app/frontend/client/_app/immutable/chunks/VLxbY_3V.js.br +0 -0
  393. package/build/bosun-app/frontend/client/_app/immutable/chunks/VLxbY_3V.js.gz +0 -0
  394. package/build/bosun-app/frontend/client/_app/immutable/chunks/uEzaTD9T.js +0 -1
  395. package/build/bosun-app/frontend/client/_app/immutable/chunks/uEzaTD9T.js.br +0 -2
  396. package/build/bosun-app/frontend/client/_app/immutable/chunks/uEzaTD9T.js.gz +0 -0
  397. package/build/bosun-app/frontend/client/_app/immutable/entry/app.fITODAfp.js +0 -2
  398. package/build/bosun-app/frontend/client/_app/immutable/entry/app.fITODAfp.js.br +0 -0
  399. package/build/bosun-app/frontend/client/_app/immutable/entry/app.fITODAfp.js.gz +0 -0
  400. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CuqUO5EQ.js +0 -1
  401. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CuqUO5EQ.js.br +0 -0
  402. package/build/bosun-app/frontend/client/_app/immutable/entry/start.CuqUO5EQ.js.gz +0 -0
  403. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.sWxZKx1V.js.br +0 -0
  404. package/build/bosun-app/frontend/client/_app/immutable/nodes/0.sWxZKx1V.js.gz +0 -0
  405. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.PQXY4edq.js +0 -1
  406. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.PQXY4edq.js.br +0 -0
  407. package/build/bosun-app/frontend/client/_app/immutable/nodes/1.PQXY4edq.js.gz +0 -0
  408. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.BP2gctlm.js.br +0 -0
  409. package/build/bosun-app/frontend/client/_app/immutable/nodes/10.BP2gctlm.js.gz +0 -0
  410. package/build/bosun-app/frontend/client/_app/immutable/nodes/15.D4h0JT65.js.br +0 -0
  411. package/build/bosun-app/frontend/client/_app/immutable/nodes/15.D4h0JT65.js.gz +0 -0
  412. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.D5wsHo5R.js +0 -3
  413. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.D5wsHo5R.js.br +0 -0
  414. package/build/bosun-app/frontend/client/_app/immutable/nodes/17.D5wsHo5R.js.gz +0 -0
  415. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CZp-IBH8.js +0 -11
  416. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CZp-IBH8.js.br +0 -0
  417. package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CZp-IBH8.js.gz +0 -0
  418. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.DaZm8LbH.js.br +0 -0
  419. package/build/bosun-app/frontend/client/_app/immutable/nodes/2.DaZm8LbH.js.gz +0 -0
  420. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.Bk3buFqf.js +0 -1
  421. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.Bk3buFqf.js.br +0 -0
  422. package/build/bosun-app/frontend/client/_app/immutable/nodes/3.Bk3buFqf.js.gz +0 -0
  423. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.BWY-PEkr.js.br +0 -0
  424. package/build/bosun-app/frontend/client/_app/immutable/nodes/4.BWY-PEkr.js.gz +0 -0
  425. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.Cl70jzrZ.js.br +0 -0
  426. package/build/bosun-app/frontend/client/_app/immutable/nodes/5.Cl70jzrZ.js.gz +0 -0
  427. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.Cfkc99si.js.br +0 -0
  428. package/build/bosun-app/frontend/client/_app/immutable/nodes/6.Cfkc99si.js.gz +0 -0
  429. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.CmB3ZvKy.js.br +0 -0
  430. package/build/bosun-app/frontend/client/_app/immutable/nodes/8.CmB3ZvKy.js.gz +0 -0
  431. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.8UAsXj0n.js.br +0 -0
  432. package/build/bosun-app/frontend/client/_app/immutable/nodes/9.8UAsXj0n.js.gz +0 -0
  433. package/build/bosun-app/frontend/server/chunks/chunks/schemas.js-b9Mui_5N.js.map +0 -1
  434. package/build/bosun-app/frontend/server/chunks/chunks/source-selection.js-BpCr9ar-.js.map +0 -1
  435. package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/proxy/_...path_/_server.ts.js-DDDiZFhL.js.map +0 -1
  436. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/latency/_page.svelte.js-DXMXSrkC.js.map +0 -1
  437. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/_page.svelte.js-CZkbHRGl.js.map +0 -1
  438. package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_layout.svelte.js-B4Yws-GS.js.map +0 -1
  439. package/build/bosun-app/frontend/server/chunks/nodes/0.js-BUVJh5Uv.js +0 -9
  440. package/build/bosun-app/frontend/server/chunks/nodes/0.js-BUVJh5Uv.js.map +0 -1
  441. package/build/bosun-app/frontend/server/chunks/nodes/1.js-BKMg62KW.js +0 -9
  442. package/build/bosun-app/frontend/server/chunks/nodes/10.js-Bz0enUzA.js +0 -9
  443. package/build/bosun-app/frontend/server/chunks/nodes/10.js-Bz0enUzA.js.map +0 -1
  444. package/build/bosun-app/frontend/server/chunks/nodes/17.js-CplX6Ruz.js +0 -9
  445. package/build/bosun-app/frontend/server/chunks/nodes/17.js-CplX6Ruz.js.map +0 -1
  446. package/build/bosun-app/frontend/server/chunks/nodes/18.js-cGVVSoEn.js +0 -9
  447. package/build/bosun-app/frontend/server/chunks/nodes/18.js-cGVVSoEn.js.map +0 -1
  448. package/build/bosun-app/frontend/server/chunks/nodes/2.js-CliMdUrH.js +0 -9
  449. package/build/bosun-app/frontend/server/chunks/nodes/2.js-CliMdUrH.js.map +0 -1
  450. package/build/bosun-app/frontend/server/chunks/nodes/3.js-BQpmmrUv.js +0 -9
  451. package/build/bosun-app/frontend/server/chunks/nodes/3.js-BQpmmrUv.js.map +0 -1
  452. package/build/bosun-app/frontend/server/chunks/nodes/4.js-BgSyMW3D.js +0 -9
  453. package/build/bosun-app/frontend/server/chunks/nodes/4.js-BgSyMW3D.js.map +0 -1
  454. package/build/bosun-app/frontend/server/chunks/nodes/5.js-CqRWSoO5.js +0 -9
  455. package/build/bosun-app/frontend/server/chunks/nodes/6.js-CrEQ411L.js +0 -9
  456. package/build/bosun-app/frontend/server/chunks/nodes/6.js-CrEQ411L.js.map +0 -1
  457. package/build/bosun-app/frontend/server/chunks/nodes/8.js-CiOj2-c5.js +0 -9
  458. package/build/bosun-app/frontend/server/chunks/nodes/8.js-CiOj2-c5.js.map +0 -1
  459. package/build/bosun-app/frontend/server/chunks/nodes/9.js-BMwqRSfy.js +0 -9
  460. package/build/bosun-app/frontend/server/chunks/nodes/9.js-BMwqRSfy.js.map +0 -1
  461. package/build/core/make-text-platform.d.ts +0 -17
  462. package/build/core/make-text-platform.d.ts.map +0 -1
  463. package/build/core/make-voice-platform.d.ts.map +0 -1
  464. package/build/voice-agent-api/call-end.d.ts +0 -19
  465. package/build/voice-agent-api/call-end.d.ts.map +0 -1
  466. package/build/voice-agent-api/call-end.js +0 -58
  467. /package/build/bosun-app/frontend/client/_app/immutable/assets/{Modal.iiWNRlR-.css → ReadOnlyMonacoDiff.iiWNRlR-.css} +0 -0
  468. /package/build/bosun-app/frontend/client/_app/immutable/assets/{Modal.iiWNRlR-.css.br → ReadOnlyMonacoDiff.iiWNRlR-.css.br} +0 -0
  469. /package/build/bosun-app/frontend/client/_app/immutable/assets/{Modal.iiWNRlR-.css.gz → ReadOnlyMonacoDiff.iiWNRlR-.css.gz} +0 -0
@@ -0,0 +1,15 @@
1
+ import type nunjucks from 'nunjucks';
2
+ import { ContextCache } from '../context-cache';
3
+ import { LlmAdapter, Scheduler } from '../engine';
4
+ import type { ITelescope } from '../telescope';
5
+ import { IModels, TextPlatform } from './platform';
6
+ export interface TextPlatformOptions<TContext extends object> {
7
+ telescope: ITelescope;
8
+ scheduler: Scheduler;
9
+ promptBasePath: string;
10
+ slotBookerAdapter: LlmAdapter;
11
+ contextCache?: ContextCache<TContext>;
12
+ nunjucksEnv?: nunjucks.Environment;
13
+ }
14
+ export declare function getTextPlatform<TContext extends object, TModels extends IModels>(models: TModels, options: TextPlatformOptions<TContext>): TextPlatform<TContext, TModels>;
15
+ //# sourceMappingURL=get-text-platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-text-platform.d.ts","sourceRoot":"","sources":["../../src/core/get-text-platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAA;AAEpC,OAAO,EAAE,YAAY,EAAuB,MAAM,kBAAkB,CAAA;AAEpE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAiC,MAAM,WAAW,CAAA;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAIlD,MAAM,WAAW,mBAAmB,CAAC,QAAQ,SAAS,MAAM;IACxD,SAAS,EAAE,UAAU,CAAA;IAErB,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IAEtB,iBAAiB,EAAE,UAAU,CAAA;IAE7B,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAErC,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAA;CACrC;AAUD,wBAAgB,eAAe,CAAC,QAAQ,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO,EAC5E,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GACvC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAGjC"}
@@ -1,14 +1,17 @@
1
- import { createInMemoryAnalytics } from '../analytics';
2
1
  import { createInMemoryCache } from '../context-cache';
3
2
  import createLogger from '../dockyard';
4
3
  import { createAIEngine, createLocalFS } from '../engine';
5
4
  import { createSlotBooker } from '../steps';
6
5
  const logger = createLogger();
7
- export function makeTextPlatform(models, options) {
8
- const { telescope, analytics = createInMemoryAnalytics(), scheduler, promptBasePath, slotBookerAdapter, contextCache = createInMemoryCache(), nunjucksEnv, } = options;
9
- const platform = {
6
+ let platform;
7
+ export function getTextPlatform(models, options) {
8
+ platform ??= makeTextPlatform(models, options);
9
+ return platform;
10
+ }
11
+ function makeTextPlatform(models, options) {
12
+ const { telescope, scheduler, promptBasePath, slotBookerAdapter, contextCache = createInMemoryCache(), nunjucksEnv, } = options;
13
+ return {
10
14
  scheduler,
11
- analytics,
12
15
  contextCache,
13
16
  ai: createAIEngine({
14
17
  logger,
@@ -25,5 +28,4 @@ export function makeTextPlatform(models, options) {
25
28
  }),
26
29
  ...models,
27
30
  };
28
- return platform;
29
31
  }
@@ -1,18 +1,16 @@
1
- import { type AnalyticsStore } from '../analytics';
2
1
  import type CallControl from '../call-control';
3
2
  import { ContextCache } from '../context-cache';
4
3
  import { LlmAdapter } from '../engine';
5
4
  import type { ITelescope } from '../telescope';
6
5
  import { TimeoutsState } from '../timeout-manager';
7
- import type { IModels, VoicePlatform } from './platform';
8
- export interface MakeVoicePlatformOptions<TContext extends object> {
6
+ import { IModels, VoicePlatform } from './platform';
7
+ export interface VoicePlatformOptions<TContext extends object> {
9
8
  telescope: ITelescope;
10
- analytics?: AnalyticsStore;
11
9
  callControl: CallControl;
12
10
  slotBookerAdapter: LlmAdapter;
13
11
  contextCache?: ContextCache<TContext>;
14
12
  timeoutsCache?: ContextCache<TimeoutsState>;
15
13
  promptBasePath?: string;
16
14
  }
17
- export declare function makeVoicePlatform<TContext extends object, TModels extends IModels>(models: TModels, options: MakeVoicePlatformOptions<TContext>): VoicePlatform<TContext, TModels>;
18
- //# sourceMappingURL=make-voice-platform.d.ts.map
15
+ export declare function getVoicePlatform<TContext extends object, TModels extends IModels>(models: TModels, options: VoicePlatformOptions<TContext>): VoicePlatform<TContext, TModels>;
16
+ //# sourceMappingURL=get-voice-platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-voice-platform.d.ts","sourceRoot":"","sources":["../../src/core/get-voice-platform.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,WAAW,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAuB,MAAM,kBAAkB,CAAA;AAEpE,OAAO,EAAE,UAAU,EAAgE,MAAM,WAAW,CAAA;AAEpG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAkB,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAInD,MAAM,WAAW,oBAAoB,CAAC,QAAQ,SAAS,MAAM;IACzD,SAAS,EAAE,UAAU,CAAA;IAErB,WAAW,EAAE,WAAW,CAAA;IAExB,iBAAiB,EAAE,UAAU,CAAA;IAE7B,YAAY,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IAErC,aAAa,CAAC,EAAE,YAAY,CAAC,aAAa,CAAC,CAAA;IAE3C,cAAc,CAAC,EAAE,MAAM,CAAA;CAC1B;AAUD,wBAAgB,gBAAgB,CAAC,QAAQ,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO,EAC7E,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GACxC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAGlC"}
@@ -1,13 +1,17 @@
1
1
  import path from 'node:path';
2
- import { createInMemoryAnalytics } from '../analytics';
3
2
  import { createInMemoryCache } from '../context-cache';
4
3
  import createLogger from '../dockyard';
5
4
  import { createAIEngine, createAIStreamEngine, createLocalFS } from '../engine';
6
5
  import { createSlotBooker } from '../steps';
7
6
  import { TimeoutManager } from '../timeout-manager';
8
7
  const logger = createLogger();
9
- export function makeVoicePlatform(models, options) {
10
- const { telescope, analytics = createInMemoryAnalytics(), callControl, slotBookerAdapter, contextCache = createInMemoryCache(), timeoutsCache = createInMemoryCache(), promptBasePath = path.join(process.cwd(), '/src/agents'), } = options;
8
+ let platform;
9
+ export function getVoicePlatform(models, options) {
10
+ platform ??= makeVoicePlatform(models, options);
11
+ return platform;
12
+ }
13
+ function makeVoicePlatform(models, options) {
14
+ const { telescope, callControl, slotBookerAdapter, contextCache = createInMemoryCache(), timeoutsCache = createInMemoryCache(), promptBasePath = path.join(process.cwd(), '/src/agents'), } = options;
11
15
  const streamAi = createAIStreamEngine({
12
16
  stepRegistry: { addStep: () => { } },
13
17
  logger,
@@ -24,9 +28,8 @@ export function makeVoicePlatform(models, options) {
24
28
  specificInstructionsBasePath: promptBasePath,
25
29
  llmAdapter: slotBookerAdapter,
26
30
  });
27
- const platform = {
31
+ return {
28
32
  ai,
29
- analytics,
30
33
  fs: createLocalFS({ basePath: promptBasePath }),
31
34
  logger,
32
35
  callControl,
@@ -37,7 +40,6 @@ export function makeVoicePlatform(models, options) {
37
40
  telescope,
38
41
  ...models,
39
42
  };
40
- return platform;
41
43
  }
42
44
  const loggingStepRegistry = {
43
45
  addStep: (step) => {
@@ -1,6 +1,6 @@
1
1
  export type { BasePlatform, IModels, OmnichannelPlatform, TextPlatform, VoicePlatform, } from './platform';
2
- export { makeVoicePlatform } from './make-voice-platform';
3
- export type { MakeVoicePlatformOptions } from './make-voice-platform';
4
- export { makeTextPlatform } from './make-text-platform';
5
- export type { MakeTextPlatformOptions } from './make-text-platform';
2
+ export { getVoicePlatform } from './get-voice-platform';
3
+ export type { VoicePlatformOptions } from './get-voice-platform';
4
+ export { getTextPlatform } from './get-text-platform';
5
+ export type { TextPlatformOptions } from './get-text-platform';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,YAAY,EACZ,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,aAAa,GAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,YAAY,EACZ,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,aAAa,GAChB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -1,2 +1,2 @@
1
- export { makeVoicePlatform } from './make-voice-platform';
2
- export { makeTextPlatform } from './make-text-platform';
1
+ export { getVoicePlatform } from './get-voice-platform';
2
+ export { getTextPlatform } from './get-text-platform';
@@ -1,4 +1,3 @@
1
- import type { AnalyticsStore } from '../analytics';
2
1
  import type CallControl from '../call-control';
3
2
  import { ContextCache } from '../context-cache';
4
3
  import { AIEngine, AIStreamEngine, LlmAdapter, LlmStreamAdapter, Logger, PromptFS, Scheduler } from '../engine';
@@ -16,7 +15,6 @@ export interface BasePlatform<TContext extends object, TModels extends IModels>
16
15
  contextCache: ContextCache<TContext>;
17
16
  logger: Logger;
18
17
  slotBooker: SlotBooker;
19
- analytics: AnalyticsStore;
20
18
  models: TModels['models'];
21
19
  }
22
20
  export interface VoicePlatform<TContext extends object, TModels extends IModels> extends BasePlatform<TContext, TModels> {
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/core/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,WAAW,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EACH,QAAQ,EACR,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,SAAS,EACZ,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,WAAW,OAAO;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAClC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACpD;AAED,MAAM,WAAW,YAAY,CAAC,QAAQ,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO;IAE1E,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEtB,EAAE,EAAE,QAAQ,CAAA;IACZ,SAAS,EAAE,UAAU,CAAA;IACrB,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,cAAc,CAAA;IAEzB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,aAAa,CAC1B,QAAQ,SAAS,MAAM,EACvB,OAAO,SAAS,OAAO,CACzB,SAAQ,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;IAErC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAElC,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;IAE9B,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,YAAY,CACzB,QAAQ,SAAS,MAAM,EACvB,OAAO,SAAS,OAAO,CACzB,SAAQ,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrC,SAAS,EAAE,SAAS,CAAA;CACvB;AAED,MAAM,MAAM,mBAAmB,CAAC,QAAQ,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO,IAAI,YAAY,CAC5F,QAAQ,EACR,OAAO,CACV,GACG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GACtF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/core/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EACH,QAAQ,EACR,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,MAAM,EACN,QAAQ,EACR,SAAS,EACZ,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,MAAM,WAAW,OAAO;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IAClC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CACpD;AAED,MAAM,WAAW,YAAY,CAAC,QAAQ,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO;IAE1E,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAEtB,EAAE,EAAE,QAAQ,CAAA;IACZ,SAAS,EAAE,UAAU,CAAA;IACrB,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;IACpC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IAEtB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,aAAa,CAC1B,QAAQ,SAAS,MAAM,EACvB,OAAO,SAAS,OAAO,CACzB,SAAQ,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;IAErC,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAA;IAElC,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;IAE9B,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;CAC9C;AAED,MAAM,WAAW,YAAY,CACzB,QAAQ,SAAS,MAAM,EACvB,OAAO,SAAS,OAAO,CACzB,SAAQ,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC;IACrC,SAAS,EAAE,SAAS,CAAA;CACvB;AAED,MAAM,MAAM,mBAAmB,CAAC,QAAQ,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO,IAAI,YAAY,CAC5F,QAAQ,EACR,OAAO,CACV,GACG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GACtF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA"}
@@ -1,7 +1,7 @@
1
1
  export type { Logger } from '../../dockyard';
2
2
  export type ScheduleAction = (delay: Date, phone: string) => Promise<void>;
3
3
  export interface Scheduler {
4
- registerAction: (actionName: string, action: (phone: string) => Promise<unknown>) => ScheduleAction;
4
+ registerAction: (agentId: string, actionName: string, action: (phone: string) => Promise<unknown>) => ScheduleAction;
5
5
  clearAllPendingActions: (phone: string) => Promise<unknown>;
6
6
  }
7
7
  //# sourceMappingURL=other.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"other.d.ts","sourceRoot":"","sources":["../../../src/engine/interfaces/other.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAQ5C,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAE1E,MAAM,WAAW,SAAS;IAOtB,cAAc,EAAE,CACZ,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,KAC1C,cAAc,CAAA;IAKnB,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9D"}
1
+ {"version":3,"file":"other.d.ts","sourceRoot":"","sources":["../../../src/engine/interfaces/other.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAQ5C,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAG1E,MAAM,WAAW,SAAS;IAQtB,cAAc,EAAE,CACZ,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,KAC1C,cAAc,CAAA;IAKnB,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9D"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-client.d.ts","sourceRoot":"","sources":["../../../src/engine/stream/get-client.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,YAAY;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,eASjE;AACD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,UAMnE"}
1
+ {"version":3,"file":"get-client.d.ts","sourceRoot":"","sources":["../../../src/engine/stream/get-client.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAG5C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC,UAAU,WAAW;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,YAAY;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAeD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,eASjE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,UAMnE"}
@@ -1,5 +1,10 @@
1
1
  import OpenAI, { AzureOpenAI } from 'openai';
2
- import { Client as HttpClient } from 'undici';
2
+ import { Agent } from 'undici';
3
+ const dispatcher = new Agent({
4
+ keepAliveTimeout: 120_000,
5
+ headersTimeout: 30_000,
6
+ bodyTimeout: 60_000,
7
+ });
3
8
  export function getAzureClient(logger, config) {
4
9
  logger.debug(`getting azure client: ${config.endpoint}, v: ${config.apiVersion}`);
5
10
  return new AzureOpenAI({
@@ -7,112 +12,13 @@ export function getAzureClient(logger, config) {
7
12
  apiVersion: config.apiVersion,
8
13
  endpoint: config.endpoint,
9
14
  deployment: config.deployment,
10
- fetch: getOptimizedFetch(logger, new URL(config.endpoint).origin),
15
+ fetchOptions: { dispatcher },
11
16
  });
12
17
  }
13
18
  export function getOpenAiClient(logger, config) {
14
19
  logger.debug(`getting OpenAi client.`);
15
20
  return new OpenAI({
16
21
  apiKey: config.apiKey,
17
- fetch: getOptimizedFetch(logger, 'https://api.openai.com'),
22
+ fetchOptions: { dispatcher },
18
23
  });
19
24
  }
20
- function getOptimizedFetch(logger, url) {
21
- const defaultHeaders = {
22
- 'content-type': 'application/json',
23
- accept: 'application/json',
24
- connection: 'keep-alive',
25
- };
26
- const httpClient = new HttpClient(url, {
27
- keepAliveTimeout: 120_000,
28
- keepAliveMaxTimeout: 300_000,
29
- pipelining: 10,
30
- connect: {
31
- noDelay: true,
32
- keepAlive: true,
33
- rejectUnauthorized: false,
34
- },
35
- maxCachedSessions: 100,
36
- headersTimeout: 30000,
37
- bodyTimeout: 60000,
38
- });
39
- process.on('SIGTERM', () => {
40
- void httpClient.close();
41
- });
42
- process.on('SIGINT', () => {
43
- void httpClient.close();
44
- });
45
- async function customFetch(url, options = {}) {
46
- const requestUrl = url instanceof Request ? url.url : url.toString();
47
- const method = options.method || 'GET';
48
- logger.debug('Optimized Fetch', { method, url });
49
- const originalHeaders = options.headers instanceof Headers
50
- ? Object.fromEntries(options.headers.entries())
51
- : options.headers;
52
- const headers = {
53
- ...defaultHeaders,
54
- ...(originalHeaders || {}),
55
- };
56
- const response = await httpClient.request({
57
- path: new URL(requestUrl).pathname + new URL(requestUrl).search,
58
- method,
59
- headers,
60
- body: options.body,
61
- origin: new URL(requestUrl).origin,
62
- });
63
- const responseHeaders = new Headers();
64
- Object.entries(response.headers).forEach(([key, value]) => {
65
- if (Array.isArray(value)) {
66
- value.forEach((v) => responseHeaders.append(key, v));
67
- }
68
- else if (value !== undefined) {
69
- responseHeaders.append(key, value);
70
- }
71
- });
72
- if (response.statusCode === 429) {
73
- logger.debug('LLM provider returned 429', { url: requestUrl });
74
- }
75
- let canceled = false;
76
- return new Response(new ReadableStream({
77
- cancel() {
78
- canceled = true;
79
- },
80
- start(controller) {
81
- response.body.on('data', (chunk) => {
82
- if (canceled)
83
- return;
84
- try {
85
- controller.enqueue(chunk);
86
- }
87
- catch (e) {
88
- logger.error(e);
89
- }
90
- });
91
- response.body.on('end', () => {
92
- if (canceled)
93
- return;
94
- try {
95
- controller.close();
96
- }
97
- catch (e) {
98
- logger.error(e);
99
- }
100
- });
101
- response.body.on('error', (err) => {
102
- if (canceled)
103
- return;
104
- try {
105
- controller.error(err);
106
- }
107
- catch (e) {
108
- logger.error(e);
109
- }
110
- });
111
- },
112
- }), {
113
- status: response.statusCode,
114
- headers: responseHeaders,
115
- });
116
- }
117
- return customFetch;
118
- }
@@ -1,16 +1,18 @@
1
1
  import type { Logger } from '../dockyard';
2
2
  import type { Event } from './event';
3
- import type { AgentCreator, AgentRegistry, ChatLockStore } from './ports';
3
+ import type { AgentRegistry, ChatLockStore, GetTextAgent, JobRunner } from './ports';
4
4
  export interface IncomingMessageOptions<TMeta> {
5
5
  registry: AgentRegistry;
6
6
  chatLocks: ChatLockStore;
7
- getAgentCreator: (agentId: string) => AgentCreator<TMeta> | null;
7
+ scheduler: JobRunner;
8
+ getTextAgent: GetTextAgent<TMeta>;
8
9
  parseMetadata: (event: Event) => Event<TMeta>;
9
10
  logger: Logger;
10
11
  delays?: {
11
12
  messageSeconds?: number;
12
13
  webchatSeconds?: number;
13
14
  timeLimitSeconds?: number;
15
+ staleGraceSeconds?: number;
14
16
  };
15
17
  }
16
18
  export declare function createIncomingMessageHandler<TMeta>(options: IncomingMessageOptions<TMeta>): (event: Event) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"incoming-message.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/incoming-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAY,aAAa,EAAE,MAAM,SAAS,CAAA;AAYnF,MAAM,WAAW,sBAAsB,CAAC,KAAK;IACzC,QAAQ,EAAE,aAAa,CAAA;IACvB,SAAS,EAAE,aAAa,CAAA;IACxB,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAChE,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAC3F;AAOD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,IAuI1C,OAAO,KAAK,KAAG,OAAO,CAAC,IAAI,CAAC,CAW3E"}
1
+ {"version":3,"file":"incoming-message.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/incoming-message.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAY,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAc9F,MAAM,WAAW,sBAAsB,CAAC,KAAK;IACzC,QAAQ,EAAE,aAAa,CAAA;IACvB,SAAS,EAAE,aAAa,CAAA;IAExB,SAAS,EAAE,SAAS,CAAA;IAEpB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IACjC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAA;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE;QACL,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,cAAc,CAAC,EAAE,MAAM,CAAA;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAA;QAEzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAC7B,CAAA;CACJ;AAOD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,sBAAsB,CAAC,KAAK,CAAC,IA2J1C,OAAO,KAAK,KAAG,OAAO,CAAC,IAAI,CAAC,CAW3E"}
@@ -1,32 +1,32 @@
1
+ import { cacheTextAgents } from './ports';
1
2
  const DEFAULT_MESSAGE_DELAY_SECONDS = 60;
2
3
  const DEFAULT_WEBCHAT_DELAY_SECONDS = 30;
3
4
  const DEFAULT_TIME_LIMIT_SECONDS = 14 * 60;
5
+ const DEFAULT_STALE_GRACE_SECONDS = 30;
4
6
  const addSeconds = (date, seconds) => new Date(date.getTime() + seconds * 1000);
5
7
  const isAfter = (date, dateToCompare) => date.getTime() > dateToCompare.getTime();
6
8
  const differenceInMilliseconds = (later, earlier) => later.getTime() - earlier.getTime();
7
9
  const differenceInSeconds = (later, earlier) => Math.trunc(differenceInMilliseconds(later, earlier) / 1000);
8
10
  export function createIncomingMessageHandler(options) {
9
- const { registry, chatLocks, getAgentCreator, parseMetadata, logger, delays = {} } = options;
11
+ const { registry, chatLocks, scheduler, parseMetadata, logger, delays = {} } = options;
12
+ const getTextAgent = cacheTextAgents(options.getTextAgent);
10
13
  const messageDelaySeconds = delays.messageSeconds ?? DEFAULT_MESSAGE_DELAY_SECONDS;
11
14
  const webchatDelaySeconds = delays.webchatSeconds ?? DEFAULT_WEBCHAT_DELAY_SECONDS;
12
15
  const timeLimitSeconds = delays.timeLimitSeconds ?? DEFAULT_TIME_LIMIT_SECONDS;
13
- async function createAgent(conversationId) {
16
+ const staleGraceSeconds = delays.staleGraceSeconds ?? DEFAULT_STALE_GRACE_SECONDS;
17
+ async function getAgent(conversationId) {
14
18
  const agentRecord = await registry.getAgent(conversationId);
15
19
  if (!agentRecord) {
16
20
  throw new Error(`incoming-message, agent not found for ${conversationId}`);
17
21
  }
18
- const agentCreator = getAgentCreator(agentRecord.agentId);
19
- if (!agentCreator) {
20
- throw new Error(`incoming-message, agent creator not found for ${agentRecord.agentId}`);
21
- }
22
- const { agent, scheduler } = await agentCreator(conversationId, agentRecord.agentId);
23
- return { agent, scheduler, agentRecord };
22
+ const agent = await getTextAgent(agentRecord.agentId);
23
+ return { agent, agentRecord };
24
24
  }
25
25
  async function handleChatMessage(event) {
26
26
  logger.debug('incoming-message.handleChatMessage, handling message', {
27
27
  conversationId: event.conversationId,
28
28
  });
29
- const { agent, scheduler, agentRecord } = await createAgent(event.conversationId);
29
+ const { agent, agentRecord } = await getAgent(event.conversationId);
30
30
  let shouldContinue = true;
31
31
  try {
32
32
  if (!(await agent.isAssigned(event.conversationId))) {
@@ -58,19 +58,36 @@ export function createIncomingMessageHandler(options) {
58
58
  successfullyLocked,
59
59
  conversationId: event.conversationId,
60
60
  });
61
- if (!successfullyLocked) {
62
- const newExpiration = addSeconds(currentDate, delaySeconds);
63
- await chatLocks.updateLockExpiration(event.conversationId, newExpiration);
61
+ if (successfullyLocked || (await takeOverStaleLock(newLock))) {
62
+ await handleMessageOnLockRelease(event, newLock);
64
63
  return;
65
64
  }
66
- await handleMessageOnLockRelease(event, newLock);
65
+ const newExpiration = addSeconds(currentDate, delaySeconds);
66
+ await chatLocks.updateLockExpiration(event.conversationId, newExpiration);
67
+ }
68
+ async function takeOverStaleLock(newLock) {
69
+ const current = await chatLocks.getChatLock(newLock.conversationId);
70
+ if (!current) {
71
+ return false;
72
+ }
73
+ const staleBefore = addSeconds(newLock.createdAt, -staleGraceSeconds);
74
+ if (!isAfter(staleBefore, current.expiresAt)) {
75
+ return false;
76
+ }
77
+ const takenOver = await chatLocks.takeOverLock(newLock, current);
78
+ logger.debug('incoming-message, stale chat lock takeover', {
79
+ takenOver,
80
+ conversationId: newLock.conversationId,
81
+ staleExpiresAt: current.expiresAt,
82
+ });
83
+ return takenOver;
67
84
  }
68
85
  async function handleMessageOnLockRelease(event, chatLock) {
69
86
  logger.debug('incoming-message.handleMessageOnLockRelease, handling message', {
70
87
  conversationId: event.conversationId,
71
88
  });
72
89
  const currentLock = chatLock ?? (await chatLocks.getChatLock(event.conversationId));
73
- const { agent, scheduler, agentRecord } = await createAgent(event.conversationId);
90
+ const { agent, agentRecord } = await getAgent(event.conversationId);
74
91
  if (currentLock)
75
92
  logger.debug('incoming-message.handleMessageOnLockRelease, is chat lock expired', {
76
93
  isExpired: isAfter(new Date(), currentLock.expiresAt),
@@ -1,7 +1,7 @@
1
1
  export { CHANNEL_TYPES } from './event';
2
2
  export type { ChannelType, Event } from './event';
3
3
  export type { Job, JobInput, JobsPersistence } from './jobs';
4
- export type { AgentCreator, AgentRecord, AgentRegistry, ChatLock, ChatLockStore, HandlerResponse, JobRunner, } from './ports';
4
+ export type { AgentRecord, AgentRegistry, ChatLock, ChatLockStore, GetTextAgent, HandlerResponse, JobRunner, } from './ports';
5
5
  export { createIncomingMessageHandler } from './incoming-message';
6
6
  export type { IncomingMessageOptions } from './incoming-message';
7
7
  export { createJobsHandler } from './jobs-handler';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACjD,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAC5D,YAAY,EACR,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,aAAa,EACb,eAAe,EACf,SAAS,GACZ,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AACjE,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AACnE,YAAY,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,YAAY,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACvC,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACjD,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAC5D,YAAY,EACR,WAAW,EACX,aAAa,EACb,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,eAAe,EACf,SAAS,GACZ,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AACjE,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAA;AACnE,YAAY,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,YAAY,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAA"}
@@ -4,7 +4,6 @@ import type { Event } from './event';
4
4
  export interface InstrumentTextAgentOptions<TMeta> {
5
5
  telescope: ITelescope;
6
6
  agent: TextAgent<TMeta>;
7
- fallbackConversationId: string;
8
7
  messagingProvider?: MonitoringProvider;
9
8
  onEvent?: (event: Event<TMeta>) => Promise<void>;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/instrument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAElE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,MAAM,WAAW,0BAA0B,CAAC,KAAK;IAC7C,SAAS,EAAE,UAAU,CAAA;IACrB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IAEvB,sBAAsB,EAAE,MAAM,CAAA;IAE9B,iBAAiB,CAAC,EAAE,kBAAkB,CAAA;IAEtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD;AAaD,wBAAgB,mBAAmB,CAAC,KAAK,EACrC,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,GAC3C,SAAS,CAAC,KAAK,CAAC,CAiDlB"}
1
+ {"version":3,"file":"instrument.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/instrument.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAElE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,MAAM,WAAW,0BAA0B,CAAC,KAAK;IAC7C,SAAS,EAAE,UAAU,CAAA;IACrB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IAEvB,iBAAiB,CAAC,EAAE,kBAAkB,CAAA;IAEtC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACnD;AAaD,wBAAgB,mBAAmB,CAAC,KAAK,EACrC,OAAO,EAAE,0BAA0B,CAAC,KAAK,CAAC,GAC3C,SAAS,CAAC,KAAK,CAAC,CAoClB"}
@@ -1,11 +1,11 @@
1
1
  import { emitConversationalTrace, textEventTrace } from '../telescope';
2
2
  export function instrumentTextAgent(options) {
3
- const { telescope, agent, fallbackConversationId, messagingProvider, onEvent } = options;
3
+ const { telescope, agent, messagingProvider, onEvent } = options;
4
4
  const observation = (conversationId) => ({ conversationId, messagingProvider });
5
5
  async function traceReceivedMessage(event) {
6
6
  if (event.kind !== 'message')
7
7
  return;
8
- await emitConversationalTrace(telescope.getConversationalTracer(), textEventTrace(event.conversationId || fallbackConversationId, 'received-message', event.body ?? ''));
8
+ await emitConversationalTrace(telescope.getConversationalTracer(), textEventTrace(event.conversationId, 'received-message', event.body ?? ''));
9
9
  }
10
10
  return {
11
11
  name: agent.name,
@@ -15,13 +15,13 @@ export function instrumentTextAgent(options) {
15
15
  await onEvent?.(event);
16
16
  await traceReceivedMessage(event);
17
17
  return agent.reactOnMessage(event);
18
- }, observation(event.conversationId || fallbackConversationId)),
18
+ }, observation(event.conversationId)),
19
19
  onChatReady: async (id, meta) => telescope.runObservation(() => agent.onChatReady(id, meta), observation(id)),
20
20
  respondToMessage: async (event) => telescope.runObservation(async () => {
21
21
  await onEvent?.(event);
22
22
  return agent.respondToMessage(event);
23
- }, observation(event.conversationId || fallbackConversationId)),
23
+ }, observation(event.conversationId)),
24
24
  isAssigned: async (id) => telescope.runObservation(() => agent.isAssigned(id), observation(id)),
25
- onFatalError: async (error, id) => telescope.runObservation(() => agent.onFatalError(error, id), observation(id || fallbackConversationId)),
25
+ onFatalError: async (error, id) => telescope.runObservation(() => agent.onFatalError(error, id), observation(id)),
26
26
  };
27
27
  }
@@ -1,9 +1,10 @@
1
1
  import type { Logger } from '../dockyard';
2
2
  import type { JobInput } from './jobs';
3
- import type { AgentCreator, AgentRegistry, HandlerResponse } from './ports';
3
+ import type { AgentRegistry, GetTextAgent, HandlerResponse, JobRunner } from './ports';
4
4
  export interface JobsHandlerOptions<TMeta> {
5
5
  registry: AgentRegistry;
6
- getAgentCreator: (agentId: string) => AgentCreator<TMeta> | null;
6
+ scheduler: JobRunner;
7
+ getTextAgent: GetTextAgent<TMeta>;
7
8
  logger: Logger;
8
9
  }
9
10
  export declare function createJobsHandler<TMeta>(options: JobsHandlerOptions<TMeta>): (input: JobInput) => Promise<HandlerResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"jobs-handler.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/jobs-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG3E,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACrC,QAAQ,EAAE,aAAa,CAAA;IACvB,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAChE,MAAM,EAAE,MAAM,CAAA;CACjB;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAGvC,OAAO,QAAQ,KAAG,OAAO,CAAC,eAAe,CAAC,CAuB7E"}
1
+ {"version":3,"file":"jobs-handler.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/jobs-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGtF,MAAM,WAAW,kBAAkB,CAAC,KAAK;IACrC,QAAQ,EAAE,aAAa,CAAA;IAEvB,SAAS,EAAE,SAAS,CAAA;IAEpB,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,EAAE,MAAM,CAAA;CACjB;AAMD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,KAAK,CAAC,IAIvC,OAAO,QAAQ,KAAG,OAAO,CAAC,eAAe,CAAC,CAuB7E"}
@@ -1,13 +1,16 @@
1
- import { handlerResponse } from './ports';
1
+ import { cacheTextAgents, handlerResponse } from './ports';
2
2
  export function createJobsHandler(options) {
3
- const { registry, getAgentCreator, logger } = options;
3
+ const { registry, scheduler, logger } = options;
4
+ const getTextAgent = cacheTextAgents(options.getTextAgent);
4
5
  return async function handleJob(input) {
5
- const agentCreator = getAgentCreator(input.workflowId);
6
- if (!agentCreator) {
7
- logger.error('jobs, unknown workflowId', { workflowId: input.workflowId });
8
- return handlerResponse(400, { message: `Unknown workflowId: ${input.workflowId}` });
6
+ let agent;
7
+ try {
8
+ agent = await getTextAgent(input.agentId);
9
+ }
10
+ catch (err) {
11
+ logger.error('jobs, unknown agentId', { agentId: input.agentId, err });
12
+ return handlerResponse(400, { message: `Unknown agentId: ${input.agentId}` });
9
13
  }
10
- const { scheduler, agent } = await agentCreator(input.conversationId, input.workflowId);
11
14
  if (await agent.isAssigned(input.conversationId)) {
12
15
  try {
13
16
  await scheduler.runJob(input);
@@ -15,11 +18,11 @@ export function createJobsHandler(options) {
15
18
  catch (err) {
16
19
  await agent.onFatalError(String(err), input.conversationId);
17
20
  await scheduler.clearAllPendingActions(input.conversationId);
18
- await registry.deleteAgent(input.conversationId, input.workflowId);
21
+ await registry.deleteAgent(input.conversationId, input.agentId);
19
22
  }
20
23
  }
21
24
  else {
22
- await registry.deleteAgent(input.conversationId, input.workflowId);
25
+ await registry.deleteAgent(input.conversationId, input.agentId);
23
26
  await scheduler.clearAllPendingActions(input.conversationId);
24
27
  }
25
28
  return handlerResponse(200, { message: 'OK' });
@@ -5,7 +5,7 @@ export interface Job {
5
5
  }
6
6
  export interface JobInput {
7
7
  jobId: string;
8
- workflowId: string;
8
+ agentId: string;
9
9
  conversationId: string;
10
10
  handlerId: string;
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/jobs.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,GAAG;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACtB;AAKD,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAC5B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACvC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,uBAAuB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;CACtE"}
1
+ {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/jobs.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,GAAG;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACtB;AAKD,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;IAC5B,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACvC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,uBAAuB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;CACtE"}
@@ -18,16 +18,15 @@ export interface ChatLock {
18
18
  export interface ChatLockStore {
19
19
  getChatLock(conversationId: string): Promise<ChatLock | null>;
20
20
  lockChat(lock: ChatLock): Promise<boolean>;
21
+ takeOverLock(lock: ChatLock, current: ChatLock): Promise<boolean>;
21
22
  updateLockExpiration(conversationId: string, expiresAt: Date): Promise<unknown>;
22
23
  releaseLock(conversationId: string): Promise<unknown>;
23
24
  }
24
25
  export interface JobRunner extends Scheduler {
25
26
  runJob(input: JobInput): Promise<unknown>;
26
27
  }
27
- export type AgentCreator<TMeta> = (conversationId: string, agentId: string) => Promise<{
28
- agent: TextAgent<TMeta>;
29
- scheduler: JobRunner;
30
- }>;
28
+ export type GetTextAgent<TMeta> = (agentId: string) => Promise<TextAgent<TMeta>>;
29
+ export declare function cacheTextAgents<TMeta>(getTextAgent: GetTextAgent<TMeta>): GetTextAgent<TMeta>;
31
30
  export type HandlerResponse = {
32
31
  statusCode: number;
33
32
  body: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGtC,MAAM,WAAW,WAAW;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAClB;AAGD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC7D,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtE;AAGD,MAAM,WAAW,QAAQ;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1C,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/E,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACxD;AAGD,MAAM,WAAW,SAAU,SAAQ,SAAS;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC5C;AAGD,MAAM,MAAM,YAAY,CAAC,KAAK,IAAI,CAC9B,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,KACd,OAAO,CAAC;IAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC,CAAA;AAG/D,MAAM,MAAM,eAAe,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAElE,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,eAAe,CAEjB"}
1
+ {"version":3,"file":"ports.d.ts","sourceRoot":"","sources":["../../src/text-agent-handlers/ports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAGtC,MAAM,WAAW,WAAW;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAClB;AAGD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC7D,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtE;AAGD,MAAM,WAAW,QAAQ;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,IAAI,CAAA;IACf,SAAS,EAAE,IAAI,CAAA;CAClB;AAED,MAAM,WAAW,aAAa;IAC1B,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAA;IAE7D,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE1C,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjE,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/E,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CACxD;AAGD,MAAM,WAAW,SAAU,SAAQ,SAAS;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC5C;AAGD,MAAM,MAAM,YAAY,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;AAGhF,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAW7F;AAGD,MAAM,MAAM,eAAe,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAElE,wBAAgB,eAAe,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,eAAe,CAEjB"}
@@ -1,3 +1,15 @@
1
+ export function cacheTextAgents(getTextAgent) {
2
+ const agents = new Map();
3
+ return (agentId) => {
4
+ let agent = agents.get(agentId);
5
+ if (!agent) {
6
+ agent = getTextAgent(agentId);
7
+ agents.set(agentId, agent);
8
+ agent.catch(() => agents.delete(agentId));
9
+ }
10
+ return agent;
11
+ };
12
+ }
1
13
  export function handlerResponse(statusCode, body) {
2
14
  return { statusCode, body: JSON.stringify(body) };
3
15
  }