@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.
- package/README.md +0 -1
- package/build/agent/index.d.ts +0 -1
- package/build/agent/index.d.ts.map +1 -1
- package/build/agent/text-agent.d.ts +3 -4
- package/build/agent/text-agent.d.ts.map +1 -1
- package/build/agent/text-agent.js +1 -8
- package/build/agent/voice-agent.d.ts +3 -4
- package/build/agent/voice-agent.d.ts.map +1 -1
- package/build/agent/voice-agent.js +1 -8
- package/build/bosun/std-mocks/platform.d.ts.map +1 -1
- package/build/bosun/std-mocks/platform.js +0 -2
- package/build/bosun/test-agent.d.ts.map +1 -1
- package/build/bosun/test-agent.js +1 -2
- package/build/bosun-app/backend/server.js +1 -1
- package/build/bosun-app/backend/server.js.map +2 -2
- package/build/bosun-app/frontend/client/_app/immutable/assets/0.B5fEz2jr.css +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/assets/0.B5fEz2jr.css.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/assets/0.B5fEz2jr.css.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/9mOMnnWN.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/9mOMnnWN.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/9mOMnnWN.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/B0nqNj93.js +2 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/B0nqNj93.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/B0nqNj93.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/B1dhmiqQ.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/B1dhmiqQ.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/B1dhmiqQ.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{B9e8MCJ2.js → B9pMb6OP.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/B9pMb6OP.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/B9pMb6OP.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{NwoUwoIi.js → BBk8_Xpk.js} +2 -2
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BBk8_Xpk.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BBk8_Xpk.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{BDIIq0ko.js → BEdAvgYp.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BEdAvgYp.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BEdAvgYp.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{DsRUoWL6.js → BJ9KKLWf.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BJ9KKLWf.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BJ9KKLWf.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{BZeEhZ9x.js → BQIf5msi.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BQIf5msi.js.br +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BQIf5msi.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{DOVgTfHj.js → BW6P0Ecp.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BW6P0Ecp.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BW6P0Ecp.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{D6r2pB3T.js → BcbX6huO.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BcbX6huO.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BcbX6huO.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BoX_BZZY.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BoX_BZZY.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BoX_BZZY.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{BHwgmBN2.js → Bp8N7Z1t.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Bp8N7Z1t.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Bp8N7Z1t.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{9pOOTteE.js → C0rPkxmP.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/C0rPkxmP.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/C0rPkxmP.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/C3cROXCy.js +9 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/C3cROXCy.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/C3cROXCy.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{VLxbY_3V.js → C9yBjdYI.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/C9yBjdYI.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/C9yBjdYI.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{D24F_tet.js → CCYriF4C.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CCYriF4C.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CCYriF4C.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CHCMKZAC.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CHCMKZAC.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CHCMKZAC.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CR-uVjxM.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CR-uVjxM.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CR-uVjxM.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CR5IRTqC.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CR5IRTqC.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CR5IRTqC.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{DJFKRYxi.js → ClLUwVGq.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/ClLUwVGq.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/ClLUwVGq.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{4OgEIyh1.js → DEz15oJb.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DEz15oJb.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DEz15oJb.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{BtJ1grIE.js → DJnDF3d9.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DJnDF3d9.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DJnDF3d9.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DLoeuYMu.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DLoeuYMu.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DLoeuYMu.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{D35JKLYq.js → DNvczHUR.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DNvczHUR.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DNvczHUR.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DXsF11_5.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DXsF11_5.js.br +2 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DXsF11_5.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D_AUB_Y_.js +3 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D_AUB_Y_.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D_AUB_Y_.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Dba0_Upf.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Dba0_Upf.js.br +2 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Dba0_Upf.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{FLx39vZ1.js → DjujL8K1.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DjujL8K1.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DjujL8K1.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{BHU9AXbn.js → DnMQeiTY.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DnMQeiTY.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DnMQeiTY.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DuQdgMax.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DuQdgMax.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DuQdgMax.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Dz3Q78XL.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Dz3Q78XL.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Dz3Q78XL.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{CINamuM5.js → DzLW1Mkz.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DzLW1Mkz.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DzLW1Mkz.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js +64 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/OERrxy3_.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/WoyQSrjz.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/WoyQSrjz.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/WoyQSrjz.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/ddC1NP9R.js +2 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/ddC1NP9R.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/ddC1NP9R.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{Csai_DUZ.js → joiJcRPz.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/joiJcRPz.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/joiJcRPz.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{DSFEfk-V.js → ouMvMh56.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/ouMvMh56.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/ouMvMh56.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/qiSVE_6c.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/qiSVE_6c.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/qiSVE_6c.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{CkCJ1-zx.js → sKHuRf4Z.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/sKHuRf4Z.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/sKHuRf4Z.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/app.tlZ6ECO2.js +2 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/app.tlZ6ECO2.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/app.tlZ6ECO2.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.CFPAx99R.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.CFPAx99R.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.CFPAx99R.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{0.sWxZKx1V.js → 0.My9Ge0mp.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/0.My9Ge0mp.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/0.My9Ge0mp.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/1.8soRNXH1.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/1.8soRNXH1.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/1.8soRNXH1.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{10.BP2gctlm.js → 10.Dvsr2_-z.js} +7 -7
- package/build/bosun-app/frontend/client/_app/immutable/nodes/10.Dvsr2_-z.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/10.Dvsr2_-z.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{15.D4h0JT65.js → 15.drIyAxl2.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/15.drIyAxl2.js.br +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/15.drIyAxl2.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/17.COoRz9YL.js +3 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/17.COoRz9YL.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/17.COoRz9YL.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/18.BU9ol_TM.js +11 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/18.BU9ol_TM.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/18.BU9ol_TM.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{2.DaZm8LbH.js → 2.BaCFGeUG.js} +3 -3
- package/build/bosun-app/frontend/client/_app/immutable/nodes/2.BaCFGeUG.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/2.BaCFGeUG.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B2QuAahv.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B2QuAahv.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B2QuAahv.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{4.BWY-PEkr.js → 4.XVLuiibs.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/4.XVLuiibs.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/4.XVLuiibs.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{5.Cl70jzrZ.js → 5.BV6hbTfJ.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/5.BV6hbTfJ.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/5.BV6hbTfJ.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{6.Cfkc99si.js → 6.cTvJXuC_.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/6.cTvJXuC_.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/6.cTvJXuC_.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{8.CmB3ZvKy.js → 8.4WVQLKHf.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/8.4WVQLKHf.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/8.4WVQLKHf.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{9.8UAsXj0n.js → 9.DDtd23BC.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/9.DDtd23BC.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/9.DDtd23BC.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/version.json +1 -1
- package/build/bosun-app/frontend/client/_app/version.json.br +0 -0
- package/build/bosun-app/frontend/client/_app/version.json.gz +0 -0
- package/build/bosun-app/frontend/handler.js +4 -4
- package/build/bosun-app/frontend/index.js +4 -4
- package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-BYUssiWE.js → internal.js-Bbhicye1.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-BYUssiWE.js.map → internal.js-Bbhicye1.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/chunks/{schemas.js-b9Mui_5N.js → schemas.js-W-DP3mDr.js} +2 -187
- package/build/bosun-app/frontend/server/chunks/chunks/schemas.js-W-DP3mDr.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/chunks/{source-selection.js-BpCr9ar-.js → source-selection.js-Cc6RX6-m.js} +4 -47
- package/build/bosun-app/frontend/server/chunks/chunks/source-selection.js-Cc6RX6-m.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/chunks/{sources.server.js-DIj2VjCx.js → sources.server.js-B6fpC51P.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/chunks/{sources.server.js-DIj2VjCx.js.map → sources.server.js-B6fpC51P.js.map} +1 -1
- 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
- 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
- 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
- package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/proxy/_...path_/_server.ts.js-CHrOiduq.js.map +1 -0
- 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
- 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
- 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
- package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/latency/_page.svelte.js-tdUdTo4m.js.map +1 -0
- 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
- package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/_page.svelte.js-Ca79DBzJ.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/{_layout.svelte.js-B4Yws-GS.js → _layout.svelte.js-Dvn3tfM7.js} +35 -328
- package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_layout.svelte.js-Dvn3tfM7.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/{handler-B-UxYyko.js → handler-B9pVHSE7.js} +3 -3
- package/build/bosun-app/frontend/server/chunks/{handler-B-UxYyko.js.map → handler-B9pVHSE7.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/{index.js-CleJzVFo.js → index.js-yM54Kd2A.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/{index.js-CleJzVFo.js.map → index.js-yM54Kd2A.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/{manifest.js-C8NquSUu.js → manifest.js-DolFIESH.js} +18 -18
- package/build/bosun-app/frontend/server/chunks/{manifest.js-C8NquSUu.js.map → manifest.js-DolFIESH.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/0.js-Dq2ecpF9.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/0.js-Dq2ecpF9.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/nodes/1.js-DL4KxCNs.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/{1.js-BKMg62KW.js.map → 1.js-DL4KxCNs.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/10.js-LOiFsxCJ.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/10.js-LOiFsxCJ.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/nodes/{15.js-nE6nl5S8.js → 15.js-cNd06B9T.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{15.js-nE6nl5S8.js.map → 15.js-cNd06B9T.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/17.js-DMA8sOmE.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/17.js-DMA8sOmE.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/nodes/18.js-uFmm-sPa.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/18.js-uFmm-sPa.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/nodes/2.js-TSnVvl3L.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/2.js-TSnVvl3L.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/nodes/3.js-C-mekp3u.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/3.js-C-mekp3u.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/nodes/4.js-CKl_EX8L.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/4.js-CKl_EX8L.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/nodes/5.js-BWmqvxt2.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/{5.js-CqRWSoO5.js.map → 5.js-BWmqvxt2.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/6.js-CjKPGJGt.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/6.js-CjKPGJGt.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/nodes/8.js-CpjYLyJe.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/8.js-CpjYLyJe.js.map +1 -0
- package/build/bosun-app/frontend/server/chunks/nodes/9.js-BLYfNmUw.js +9 -0
- package/build/bosun-app/frontend/server/chunks/nodes/9.js-BLYfNmUw.js.map +1 -0
- package/build/build/build.d.ts.map +1 -1
- package/build/build/build.js +1 -3
- package/build/build/common.d.ts +0 -1
- package/build/build/common.d.ts.map +1 -1
- package/build/build/common.js +0 -12
- package/build/call-control/types.d.ts +1 -1
- package/build/call-control/types.d.ts.map +1 -1
- package/build/core/get-text-platform.d.ts +15 -0
- package/build/core/get-text-platform.d.ts.map +1 -0
- package/build/core/{make-text-platform.js → get-text-platform.js} +8 -6
- package/build/core/{make-voice-platform.d.ts → get-voice-platform.d.ts} +4 -6
- package/build/core/get-voice-platform.d.ts.map +1 -0
- package/build/core/{make-voice-platform.js → get-voice-platform.js} +8 -6
- package/build/core/index.d.ts +4 -4
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +2 -2
- package/build/core/platform.d.ts +0 -2
- package/build/core/platform.d.ts.map +1 -1
- package/build/engine/interfaces/other.d.ts +1 -1
- package/build/engine/interfaces/other.d.ts.map +1 -1
- package/build/engine/stream/get-client.d.ts.map +1 -1
- package/build/engine/stream/get-client.js +8 -102
- package/build/text-agent-handlers/incoming-message.d.ts +4 -2
- package/build/text-agent-handlers/incoming-message.d.ts.map +1 -1
- package/build/text-agent-handlers/incoming-message.js +31 -14
- package/build/text-agent-handlers/index.d.ts +1 -1
- package/build/text-agent-handlers/index.d.ts.map +1 -1
- package/build/text-agent-handlers/instrument.d.ts +0 -1
- package/build/text-agent-handlers/instrument.d.ts.map +1 -1
- package/build/text-agent-handlers/instrument.js +5 -5
- package/build/text-agent-handlers/jobs-handler.d.ts +3 -2
- package/build/text-agent-handlers/jobs-handler.d.ts.map +1 -1
- package/build/text-agent-handlers/jobs-handler.js +12 -9
- package/build/text-agent-handlers/jobs.d.ts +1 -1
- package/build/text-agent-handlers/jobs.d.ts.map +1 -1
- package/build/text-agent-handlers/ports.d.ts +3 -4
- package/build/text-agent-handlers/ports.d.ts.map +1 -1
- package/build/text-agent-handlers/ports.js +12 -0
- package/build/voice-agent-api/voice-http.d.ts +1 -3
- package/build/voice-agent-api/voice-http.d.ts.map +1 -1
- package/build/voice-agent-api/voice-http.js +16 -53
- package/package.json +1 -5
- package/build/agent/agent-analytics.d.ts +0 -14
- package/build/agent/agent-analytics.d.ts.map +0 -1
- package/build/agent/agent-analytics.js +0 -29
- package/build/analytics/analytics.d.ts +0 -49
- package/build/analytics/analytics.d.ts.map +0 -1
- package/build/analytics/analytics.js +0 -223
- package/build/analytics/index.d.ts +0 -7
- package/build/analytics/index.d.ts.map +0 -1
- package/build/analytics/index.js +0 -3
- package/build/analytics/postgres-analytics-query.d.ts +0 -117
- package/build/analytics/postgres-analytics-query.d.ts.map +0 -1
- package/build/analytics/postgres-analytics-query.js +0 -504
- package/build/analytics/postgres-analytics.d.ts +0 -33
- package/build/analytics/postgres-analytics.d.ts.map +0 -1
- package/build/analytics/postgres-analytics.js +0 -310
- package/build/bosun-app/frontend/client/_app/immutable/assets/0.BhaOIA8N.css +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/assets/0.BhaOIA8N.css.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/assets/0.BhaOIA8N.css.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/-ZTJLlC3.js +0 -2
- package/build/bosun-app/frontend/client/_app/immutable/chunks/-ZTJLlC3.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/-ZTJLlC3.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/0Q6TVg1G.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/0Q6TVg1G.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/0Q6TVg1G.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/4OgEIyh1.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/4OgEIyh1.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/8bHWYDyT.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/8bHWYDyT.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/8bHWYDyT.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/9pOOTteE.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/9pOOTteE.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/AlWqjAqK.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/AlWqjAqK.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/AlWqjAqK.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/B9e8MCJ2.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/B9e8MCJ2.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BDIIq0ko.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BDIIq0ko.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BFiP5U7M.js +0 -3
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BFiP5U7M.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BFiP5U7M.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BHU9AXbn.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BHU9AXbn.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BHwgmBN2.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BHwgmBN2.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BOlSQbHE.js +0 -2
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BOlSQbHE.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BOlSQbHE.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BXO2WwQx.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BXO2WwQx.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BXO2WwQx.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BZeEhZ9x.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BZeEhZ9x.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BbB1C_YH.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BbB1C_YH.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BbB1C_YH.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BtJ1grIE.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BtJ1grIE.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/C5z36vOP.js +0 -8
- package/build/bosun-app/frontend/client/_app/immutable/chunks/C5z36vOP.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/C5z36vOP.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CHNsNZYZ.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CHNsNZYZ.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CHNsNZYZ.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CINamuM5.js.br +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CINamuM5.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CR6hF_YT.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CR6hF_YT.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CR6hF_YT.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CbXT0Qet.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CbXT0Qet.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CbXT0Qet.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CkCJ1-zx.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CkCJ1-zx.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Cm25Ihk6.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Cm25Ihk6.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Cm25Ihk6.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CmJrlnQL.js +0 -64
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CmJrlnQL.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CmJrlnQL.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CofRL0YY.js +0 -2
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CofRL0YY.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/CofRL0YY.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Csai_DUZ.js.br +0 -6
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Csai_DUZ.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D24F_tet.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D24F_tet.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D35JKLYq.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D35JKLYq.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D6r2pB3T.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D6r2pB3T.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DJFKRYxi.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DJFKRYxi.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DOVgTfHj.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DOVgTfHj.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DPfKTQVx.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DPfKTQVx.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DPfKTQVx.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DSFEfk-V.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DSFEfk-V.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DbY589nb.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DbY589nb.js.br +0 -2
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DbY589nb.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DfEgi1lN.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DfEgi1lN.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DfEgi1lN.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DsRUoWL6.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DsRUoWL6.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/FLx39vZ1.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/FLx39vZ1.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/NwoUwoIi.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/NwoUwoIi.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/VLxbY_3V.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/VLxbY_3V.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/uEzaTD9T.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/uEzaTD9T.js.br +0 -2
- package/build/bosun-app/frontend/client/_app/immutable/chunks/uEzaTD9T.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/app.fITODAfp.js +0 -2
- package/build/bosun-app/frontend/client/_app/immutable/entry/app.fITODAfp.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/app.fITODAfp.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.CuqUO5EQ.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.CuqUO5EQ.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.CuqUO5EQ.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/0.sWxZKx1V.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/0.sWxZKx1V.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/1.PQXY4edq.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/1.PQXY4edq.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/1.PQXY4edq.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/10.BP2gctlm.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/10.BP2gctlm.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/15.D4h0JT65.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/15.D4h0JT65.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/17.D5wsHo5R.js +0 -3
- package/build/bosun-app/frontend/client/_app/immutable/nodes/17.D5wsHo5R.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/17.D5wsHo5R.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CZp-IBH8.js +0 -11
- package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CZp-IBH8.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CZp-IBH8.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/2.DaZm8LbH.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/2.DaZm8LbH.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/3.Bk3buFqf.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/3.Bk3buFqf.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/3.Bk3buFqf.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/4.BWY-PEkr.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/4.BWY-PEkr.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/5.Cl70jzrZ.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/5.Cl70jzrZ.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/6.Cfkc99si.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/6.Cfkc99si.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/8.CmB3ZvKy.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/8.CmB3ZvKy.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/9.8UAsXj0n.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/9.8UAsXj0n.js.gz +0 -0
- package/build/bosun-app/frontend/server/chunks/chunks/schemas.js-b9Mui_5N.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/chunks/source-selection.js-BpCr9ar-.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/entries/endpoints/traces/api/proxy/_...path_/_server.ts.js-DDDiZFhL.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/latency/_page.svelte.js-DXMXSrkC.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_conversationId_/traces/_page.svelte.js-CZkbHRGl.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/entries/pages/traces/conversations/_layout.svelte.js-B4Yws-GS.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/nodes/0.js-BUVJh5Uv.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/0.js-BUVJh5Uv.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/nodes/1.js-BKMg62KW.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/10.js-Bz0enUzA.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/10.js-Bz0enUzA.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/nodes/17.js-CplX6Ruz.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/17.js-CplX6Ruz.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/nodes/18.js-cGVVSoEn.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/18.js-cGVVSoEn.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/nodes/2.js-CliMdUrH.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/2.js-CliMdUrH.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/nodes/3.js-BQpmmrUv.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/3.js-BQpmmrUv.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/nodes/4.js-BgSyMW3D.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/4.js-BgSyMW3D.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/nodes/5.js-CqRWSoO5.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/6.js-CrEQ411L.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/6.js-CrEQ411L.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/nodes/8.js-CiOj2-c5.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/8.js-CiOj2-c5.js.map +0 -1
- package/build/bosun-app/frontend/server/chunks/nodes/9.js-BMwqRSfy.js +0 -9
- package/build/bosun-app/frontend/server/chunks/nodes/9.js-BMwqRSfy.js.map +0 -1
- package/build/core/make-text-platform.d.ts +0 -17
- package/build/core/make-text-platform.d.ts.map +0 -1
- package/build/core/make-voice-platform.d.ts.map +0 -1
- package/build/voice-agent-api/call-end.d.ts +0 -19
- package/build/voice-agent-api/call-end.d.ts.map +0 -1
- package/build/voice-agent-api/call-end.js +0 -58
- /package/build/bosun-app/frontend/client/_app/immutable/assets/{Modal.iiWNRlR-.css → ReadOnlyMonacoDiff.iiWNRlR-.css} +0 -0
- /package/build/bosun-app/frontend/client/_app/immutable/assets/{Modal.iiWNRlR-.css.br → ReadOnlyMonacoDiff.iiWNRlR-.css.br} +0 -0
- /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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
|
8
|
-
export interface
|
|
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
|
|
18
|
-
//# sourceMappingURL=
|
|
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
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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) => {
|
package/build/core/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export type { BasePlatform, IModels, OmnichannelPlatform, TextPlatform, VoicePlatform, } from './platform';
|
|
2
|
-
export {
|
|
3
|
-
export type {
|
|
4
|
-
export {
|
|
5
|
-
export type {
|
|
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,
|
|
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"}
|
package/build/core/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export { getVoicePlatform } from './get-voice-platform';
|
|
2
|
+
export { getTextPlatform } from './get-text-platform';
|
package/build/core/platform.d.ts
CHANGED
|
@@ -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,
|
|
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;
|
|
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":"
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
3
|
+
import type { AgentRegistry, ChatLockStore, GetTextAgent, JobRunner } from './ports';
|
|
4
4
|
export interface IncomingMessageOptions<TMeta> {
|
|
5
5
|
registry: AgentRegistry;
|
|
6
6
|
chatLocks: ChatLockStore;
|
|
7
|
-
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
|
19
|
-
|
|
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,
|
|
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 (
|
|
62
|
-
|
|
63
|
-
await chatLocks.updateLockExpiration(event.conversationId, newExpiration);
|
|
61
|
+
if (successfullyLocked || (await takeOverStaleLock(newLock))) {
|
|
62
|
+
await handleMessageOnLockRelease(event, newLock);
|
|
64
63
|
return;
|
|
65
64
|
}
|
|
66
|
-
|
|
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,
|
|
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 {
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 {
|
|
3
|
+
import type { AgentRegistry, GetTextAgent, HandlerResponse, JobRunner } from './ports';
|
|
4
4
|
export interface JobsHandlerOptions<TMeta> {
|
|
5
5
|
registry: AgentRegistry;
|
|
6
|
-
|
|
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,
|
|
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,
|
|
3
|
+
const { registry, scheduler, logger } = options;
|
|
4
|
+
const getTextAgent = cacheTextAgents(options.getTextAgent);
|
|
4
5
|
return async function handleJob(input) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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.
|
|
21
|
+
await registry.deleteAgent(input.conversationId, input.agentId);
|
|
19
22
|
}
|
|
20
23
|
}
|
|
21
24
|
else {
|
|
22
|
-
await registry.deleteAgent(input.conversationId, input.
|
|
25
|
+
await registry.deleteAgent(input.conversationId, input.agentId);
|
|
23
26
|
await scheduler.clearAllPendingActions(input.conversationId);
|
|
24
27
|
}
|
|
25
28
|
return handlerResponse(200, { message: 'OK' });
|
|
@@ -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,
|
|
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
|
|
28
|
-
|
|
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;
|
|
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
|
}
|