@recombine-ai/platform 0.7.1 → 0.8.0-test.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{BIw8uAaF.js → BQp5YAqD.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BQp5YAqD.js.br +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BQp5YAqD.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{BQ3yDyvG.js → BlTslKm7.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BlTslKm7.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BlTslKm7.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{w5wDAux2.js → D-4Ey2_P.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D-4Ey2_P.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D-4Ey2_P.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{Cne85Fwj.js → DJZ0DOZH.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DJZ0DOZH.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/DJZ0DOZH.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/{D8eqW0v8.js → cfnMwBdU.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/cfnMwBdU.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/cfnMwBdU.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/{app.B4Iq75JM.js → app.CfZbUifO.js} +2 -2
- package/build/bosun-app/frontend/client/_app/immutable/entry/app.CfZbUifO.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/app.CfZbUifO.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.vKo0OydA.js +1 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.vKo0OydA.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.vKo0OydA.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{0.CAVlu721.js → 0.fB_OSEbp.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/0.fB_OSEbp.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/0.fB_OSEbp.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{1.Cxqvn2wE.js → 1.I7Jn_FwZ.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/1.I7Jn_FwZ.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/1.I7Jn_FwZ.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{10.Dn02cin5.js → 10.C04lNSXR.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/10.C04lNSXR.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/10.C04lNSXR.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{17.C548yNfC.js → 17.hA31wf9E.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/17.hA31wf9E.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/17.hA31wf9E.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{18.CPsiVqMF.js → 18.Bk41N8NH.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/18.Bk41N8NH.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/18.Bk41N8NH.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{2.BY8p5jEf.js → 2.D5UhxpHo.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/2.D5UhxpHo.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{2.BY8p5jEf.js.gz → 2.D5UhxpHo.js.gz} +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{3.B3lu37hD.js → 3.BFiUkcO5.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/3.BFiUkcO5.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/3.BFiUkcO5.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{4.iAjuEgOs.js → 4.D67yRs5Q.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/4.D67yRs5Q.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/4.D67yRs5Q.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{5.CUPROXEY.js → 5.BFEBpdQZ.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/5.BFEBpdQZ.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/5.BFEBpdQZ.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{6.BzcnL7E9.js → 6.CEspKSiu.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/6.CEspKSiu.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/6.CEspKSiu.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{8.DUdaFoV4.js → 8.BRkLZxKp.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/8.BRkLZxKp.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/8.BRkLZxKp.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/{9.RxYkUz3_.js → 9.v6CS5Oc0.js} +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/nodes/9.v6CS5Oc0.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/9.v6CS5Oc0.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-CQw0SwRG.js → internal.js-BU6EUtW2.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/chunks/{internal.js-CQw0SwRG.js.map → internal.js-BU6EUtW2.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/{handler-XNGfQK-6.js → handler-Fh8vCWCo.js} +3 -3
- package/build/bosun-app/frontend/server/chunks/{handler-XNGfQK-6.js.map → handler-Fh8vCWCo.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/{index.js-2wpHFJWj.js → index.js-C60-rd6c.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/{index.js-2wpHFJWj.js.map → index.js-C60-rd6c.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/{manifest.js-CalXtYRD.js → manifest.js-B2MfTC-V.js} +14 -14
- package/build/bosun-app/frontend/server/chunks/{manifest.js-CalXtYRD.js.map → manifest.js-B2MfTC-V.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{0.js-DPY50161.js → 0.js-BXC5iWJR.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{0.js-DPY50161.js.map → 0.js-BXC5iWJR.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{1.js-ByOhSAZI.js → 1.js-8YWrbnbw.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{1.js-ByOhSAZI.js.map → 1.js-8YWrbnbw.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{10.js-vAjor0xB.js → 10.js-BnhXiW4-.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{10.js-vAjor0xB.js.map → 10.js-BnhXiW4-.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{17.js-AKT9QY40.js → 17.js-XV_GDk9o.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{17.js-AKT9QY40.js.map → 17.js-XV_GDk9o.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{18.js-U4bY9U5p.js → 18.js-zAQDSPXp.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{18.js-U4bY9U5p.js.map → 18.js-zAQDSPXp.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{2.js-Cr-8wg2Y.js → 2.js-vsBanU1I.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{2.js-Cr-8wg2Y.js.map → 2.js-vsBanU1I.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{3.js-BY2GASM1.js → 3.js-DgyUo3ki.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{3.js-BY2GASM1.js.map → 3.js-DgyUo3ki.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{4.js-DQTQ16D0.js → 4.js-BizSom6c.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{4.js-DQTQ16D0.js.map → 4.js-BizSom6c.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{5.js-CsVIy1Nv.js → 5.js-C0nvhu2n.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{5.js-CsVIy1Nv.js.map → 5.js-C0nvhu2n.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{6.js-CGvSdPmi.js → 6.js-3NXZlSSm.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{6.js-CGvSdPmi.js.map → 6.js-3NXZlSSm.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{8.js-DQbgZYYv.js → 8.js-BineOMSn.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{8.js-DQbgZYYv.js.map → 8.js-BineOMSn.js.map} +1 -1
- package/build/bosun-app/frontend/server/chunks/nodes/{9.js-C9bATG9N.js → 9.js-hoismT55.js} +2 -2
- package/build/bosun-app/frontend/server/chunks/nodes/{9.js-C9bATG9N.js.map → 9.js-hoismT55.js.map} +1 -1
- package/build/call-control/call-control.d.ts.map +1 -1
- package/build/call-control/call-control.js +2 -0
- package/build/call-control/index.d.ts +1 -0
- package/build/call-control/index.d.ts.map +1 -1
- package/build/call-control/index.js +1 -0
- package/build/call-control/schemas.generated.d.ts +1 -2
- package/build/call-control/schemas.generated.d.ts.map +1 -1
- package/build/call-control/schemas.generated.js +4 -4
- package/build/call-control/types.d.ts +3 -156
- package/build/call-control/types.d.ts.map +1 -1
- package/build/call-control/types.js +3 -3
- package/build/call-control/voice-agent-config.d.ts +155 -0
- package/build/call-control/voice-agent-config.d.ts.map +1 -0
- package/build/call-control/voice-agent-config.js +53 -0
- package/build/voice-agent-api/voice-http.d.ts.map +1 -1
- package/build/voice-agent-api/voice-http.js +4 -0
- package/package.json +1 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BIw8uAaF.js.br +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BIw8uAaF.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BQ3yDyvG.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/BQ3yDyvG.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Cne85Fwj.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/Cne85Fwj.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D8eqW0v8.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/D8eqW0v8.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/w5wDAux2.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/chunks/w5wDAux2.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/app.B4Iq75JM.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/app.B4Iq75JM.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.BtbKGMrb.js +0 -1
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.BtbKGMrb.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/entry/start.BtbKGMrb.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/0.CAVlu721.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/0.CAVlu721.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/1.Cxqvn2wE.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/1.Cxqvn2wE.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/10.Dn02cin5.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/10.Dn02cin5.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/17.C548yNfC.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/17.C548yNfC.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CPsiVqMF.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/18.CPsiVqMF.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/2.BY8p5jEf.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B3lu37hD.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/3.B3lu37hD.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/4.iAjuEgOs.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/4.iAjuEgOs.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/5.CUPROXEY.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/5.CUPROXEY.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/6.BzcnL7E9.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/6.BzcnL7E9.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/8.DUdaFoV4.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/8.DUdaFoV4.js.gz +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/9.RxYkUz3_.js.br +0 -0
- package/build/bosun-app/frontend/client/_app/immutable/nodes/9.RxYkUz3_.js.gz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-control.d.ts","sourceRoot":"","sources":["../../src/call-control/call-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAqB,MAAM,oBAAoB,CAAA;AAG7E,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,KAAK,EACR,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EAMjB,MAAM,EACN,OAAO,EAEP,UAAU,EACV,YAAY,EACZ,cAAc,EAEd,gBAAgB,EACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAsD,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"call-control.d.ts","sourceRoot":"","sources":["../../src/call-control/call-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAqB,MAAM,oBAAoB,CAAA;AAG7E,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,KAAK,EACR,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EAMjB,MAAM,EACN,OAAO,EAEP,UAAU,EACV,YAAY,EACZ,cAAc,EAEd,gBAAgB,EACnB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAkB,MAAM,SAAS,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAsD,MAAM,SAAS,CAAA;AAG9F,eAAO,MAAM,mBAAmB,EAAG,MAAe,CAAA;AAKlD,qBAAa,WAAW;IACpB,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,OAAO,CAAiC;IAEhD,SAAS,CAAC,IAAI,0BAAgC;IACvC,OAAO,EAAE,kBAAkB,CAAA;IAClC,OAAO,CAAC,oBAAoB,CAAC,CAAsB;IACnD,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,MAAM,CAAQ;gBAGlB,EAAE,OAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,EAAE,kBAAkB,EAChF,MAAM,GAAE,MAAgB;YAWd,KAAK;IAyBnB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,gBAAgB;IAOlB,gBAAgB,CAClB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,iBAAiB,EACzB,UAAU,GAAE,eAA0C,EACtD,KAAK,GAAE,aAAyC,GACjD,OAAO,CAAC,IAAI,CAAC;IAKV,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa3E,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAW3D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAO3D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrC,QAAQ,CACV,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,GAAE,cAA6B,EACrC,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,GAAE,MAAY,GACzB,OAAO,CAAC,IAAI,CAAC;IAoCV,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAI3D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;YAUvB,aAAa;YAkBb,eAAe;CAUhC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { NoopCallDetailsStorage } from './call-details/noop-storage';
|
|
|
3
3
|
import { SipManager } from './sip';
|
|
4
4
|
import { CallDataTopic, CallSignalType } from './types';
|
|
5
5
|
import { CallControlError, getCallIdFromRoomName, getLiveKitConnectionOptions } from './utils';
|
|
6
|
+
import { validateVoiceAgentTurnDetectionSettings } from './voice-agent-config';
|
|
6
7
|
export const DEFAULT_ROOM_PREFIX = 'call';
|
|
7
8
|
const STALE_FREEZE_MS = 30 * 60 * 1000;
|
|
8
9
|
export class CallControl {
|
|
@@ -67,6 +68,7 @@ export class CallControl {
|
|
|
67
68
|
await this.roomService.sendData(room.name, data, packetType, { topic });
|
|
68
69
|
}
|
|
69
70
|
async setVoiceSettings(callId, settings) {
|
|
71
|
+
validateVoiceAgentTurnDetectionSettings(settings);
|
|
70
72
|
await this.sendSignalToRoom(await this.getRoomByCallId(callId), {
|
|
71
73
|
signal: CallSignalType.UpdateSettings,
|
|
72
74
|
payload: settings,
|
|
@@ -3,5 +3,6 @@ export type { AddMessagePayload, CallControlOptions, CallDetails, CallDetailsSto
|
|
|
3
3
|
export type { ICallControl } from './port';
|
|
4
4
|
export { NoopCallDetailsStorage } from './call-details';
|
|
5
5
|
export { SipManager, SipError } from './sip';
|
|
6
|
+
export { validateVoiceAgentTurnDetectionSettings } from './voice-agent-config';
|
|
6
7
|
export { CallControl, CallControl as default, DEFAULT_ROOM_PREFIX, CallControlError, } from './call-control';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/call-control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,IAAI,EACJ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,sBAAsB,EACtB,uBAAuB,GAC1B,MAAM,SAAS,CAAA;AAChB,YAAY,EACR,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,aAAa,EACb,wBAAwB,EACxB,+BAA+B,EAC/B,MAAM,EACN,OAAO,EACP,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,SAAS,EACT,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACxB,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EACH,WAAW,EACX,WAAW,IAAI,OAAO,EACtB,mBAAmB,EACnB,gBAAgB,GACnB,MAAM,gBAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/call-control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,EACf,IAAI,EACJ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,sBAAsB,EACtB,uBAAuB,GAC1B,MAAM,SAAS,CAAA;AAChB,YAAY,EACR,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,SAAS,EACT,aAAa,EACb,wBAAwB,EACxB,+BAA+B,EAC/B,MAAM,EACN,OAAO,EACP,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,SAAS,EACT,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,qBAAqB,GACxB,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,uCAAuC,EAAE,MAAM,sBAAsB,CAAA;AAC9E,OAAO,EACH,WAAW,EACX,WAAW,IAAI,OAAO,EACtB,mBAAmB,EACnB,gBAAgB,GACnB,MAAM,gBAAgB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { CallDataTopic, CallSignalType, IncludeHeaders, MediaEncryption, Room, SipDispatchRule, SipInboundTrunk, SipOutboundTrunk, Transport, voiceAgentConfigSchema, voiceAgentDefaultConfig, } from './types';
|
|
2
2
|
export { NoopCallDetailsStorage } from './call-details';
|
|
3
3
|
export { SipManager, SipError } from './sip';
|
|
4
|
+
export { validateVoiceAgentTurnDetectionSettings } from './voice-agent-config';
|
|
4
5
|
export { CallControl, CallControl as default, DEFAULT_ROOM_PREFIX, CallControlError, } from './call-control';
|
|
@@ -5,8 +5,7 @@ export declare const configSchema: z.ZodObject<{
|
|
|
5
5
|
session_turn_detection: z.ZodDefault<z.ZodEnum<{
|
|
6
6
|
stt: "stt";
|
|
7
7
|
vad: "vad";
|
|
8
|
-
|
|
9
|
-
model_en: "model_en";
|
|
8
|
+
model: "model";
|
|
10
9
|
}>>;
|
|
11
10
|
session_allow_interruptions: z.ZodDefault<z.ZodBoolean>;
|
|
12
11
|
agent_dynamic_interruption_escalation: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.generated.d.ts","sourceRoot":"","sources":["../../src/call-control/schemas.generated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"schemas.generated.d.ts","sourceRoot":"","sources":["../../src/call-control/schemas.generated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmTvB,CAAA"}
|
|
@@ -3,9 +3,9 @@ export const configSchema = z.object({
|
|
|
3
3
|
agent_background_audio_volume: z.number().default(0.2),
|
|
4
4
|
agent_background_audio_autopause: z.boolean().default(false),
|
|
5
5
|
session_turn_detection: z
|
|
6
|
-
.enum(['stt', 'vad', '
|
|
7
|
-
.describe("Strategy for deciding when the user has finished speaking. 'stt' relies on speech-to-text end-of-utterance cues, 'vad' relies on Voice Activity Detection start/stop cues,
|
|
8
|
-
.default('
|
|
6
|
+
.enum(['stt', 'vad', 'model'])
|
|
7
|
+
.describe("Strategy for deciding when the user has finished speaking. 'stt' relies on speech-to-text end-of-utterance cues, 'vad' relies on Voice Activity Detection start/stop cues, and 'model' uses the audio turn detector")
|
|
8
|
+
.default('model'),
|
|
9
9
|
session_allow_interruptions: z
|
|
10
10
|
.boolean()
|
|
11
11
|
.describe('Whether the user can interrupt the agent mid-utterance')
|
|
@@ -41,7 +41,7 @@ export const configSchema = z.object({
|
|
|
41
41
|
.default(0.02),
|
|
42
42
|
vad_min_silence_duration: z
|
|
43
43
|
.number()
|
|
44
|
-
.describe('At the end of each speech, wait this duration in seconds before ending the speech')
|
|
44
|
+
.describe('At the end of each speech, wait this duration in seconds before ending the speech. The audio turn detector requires at least 0.25 seconds')
|
|
45
45
|
.default(1),
|
|
46
46
|
vad_prefix_padding_duration: z
|
|
47
47
|
.number()
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Room, SIPDispatchRuleInfo as SipDispatchRule, SIPInboundTrunkInfo as SipInboundTrunk, SIPOutboundTrunkInfo as SipOutboundTrunk } from 'livekit-server-sdk';
|
|
2
2
|
import zod from 'zod';
|
|
3
3
|
import type { ConversationalTracer, EventTracer } from '../telescope';
|
|
4
|
-
import * as schemas from './schemas.generated';
|
|
5
4
|
import type { WithRequiredFields } from './utils';
|
|
5
|
+
import { voiceAgentConfigSchema } from './voice-agent-config';
|
|
6
6
|
export { Room, SipDispatchRule, SipInboundTrunk, SipOutboundTrunk };
|
|
7
7
|
export declare const MediaEncryption: {
|
|
8
8
|
readonly DISABLE: 0;
|
|
@@ -191,161 +191,8 @@ export interface Logger {
|
|
|
191
191
|
warn: (...args: unknown[]) => void;
|
|
192
192
|
error: (...args: unknown[]) => void;
|
|
193
193
|
}
|
|
194
|
-
export
|
|
195
|
-
|
|
196
|
-
agent_background_audio_autopause: zod.ZodDefault<zod.ZodBoolean>;
|
|
197
|
-
session_turn_detection: zod.ZodDefault<zod.ZodEnum<{
|
|
198
|
-
stt: "stt";
|
|
199
|
-
vad: "vad";
|
|
200
|
-
model_multi: "model_multi";
|
|
201
|
-
model_en: "model_en";
|
|
202
|
-
}>>;
|
|
203
|
-
session_allow_interruptions: zod.ZodDefault<zod.ZodBoolean>;
|
|
204
|
-
agent_dynamic_interruption_escalation: zod.ZodDefault<zod.ZodBoolean>;
|
|
205
|
-
session_min_interruption_words: zod.ZodDefault<zod.ZodNumber>;
|
|
206
|
-
session_min_interruption_duration: zod.ZodDefault<zod.ZodNumber>;
|
|
207
|
-
session_min_endpointing_delay: zod.ZodDefault<zod.ZodNumber>;
|
|
208
|
-
session_max_endpointing_delay: zod.ZodDefault<zod.ZodNumber>;
|
|
209
|
-
session_preemptive_generation: zod.ZodDefault<zod.ZodBoolean>;
|
|
210
|
-
vad_min_speech_duration: zod.ZodDefault<zod.ZodNumber>;
|
|
211
|
-
vad_min_silence_duration: zod.ZodDefault<zod.ZodNumber>;
|
|
212
|
-
vad_prefix_padding_duration: zod.ZodDefault<zod.ZodNumber>;
|
|
213
|
-
vad_max_buffered_speech: zod.ZodDefault<zod.ZodNumber>;
|
|
214
|
-
vad_activation_threshold: zod.ZodDefault<zod.ZodNumber>;
|
|
215
|
-
vad_deactivation_threshold: zod.ZodDefault<zod.ZodUnion<readonly [zod.ZodNumber, zod.ZodNull]>>;
|
|
216
|
-
vad_sample_rate: zod.ZodDefault<zod.ZodUnion<readonly [zod.ZodLiteral<8000>, zod.ZodLiteral<16000>]>>;
|
|
217
|
-
stt_api_version: zod.ZodDefault<zod.ZodUnion<readonly [zod.ZodLiteral<1>, zod.ZodLiteral<2>]>>;
|
|
218
|
-
stt_model: zod.ZodDefault<zod.ZodUnion<readonly [zod.ZodLiteral<"flux-general-en">, zod.ZodEnum<{
|
|
219
|
-
"nova-general": "nova-general";
|
|
220
|
-
"nova-phonecall": "nova-phonecall";
|
|
221
|
-
"nova-meeting": "nova-meeting";
|
|
222
|
-
"nova-2-general": "nova-2-general";
|
|
223
|
-
"nova-2-meeting": "nova-2-meeting";
|
|
224
|
-
"nova-2-phonecall": "nova-2-phonecall";
|
|
225
|
-
"nova-2-finance": "nova-2-finance";
|
|
226
|
-
"nova-2-conversationalai": "nova-2-conversationalai";
|
|
227
|
-
"nova-2-voicemail": "nova-2-voicemail";
|
|
228
|
-
"nova-2-video": "nova-2-video";
|
|
229
|
-
"nova-2-medical": "nova-2-medical";
|
|
230
|
-
"nova-2-drivethru": "nova-2-drivethru";
|
|
231
|
-
"nova-2-automotive": "nova-2-automotive";
|
|
232
|
-
"nova-3": "nova-3";
|
|
233
|
-
"nova-3-general": "nova-3-general";
|
|
234
|
-
"nova-3-medical": "nova-3-medical";
|
|
235
|
-
"enhanced-general": "enhanced-general";
|
|
236
|
-
"enhanced-meeting": "enhanced-meeting";
|
|
237
|
-
"enhanced-phonecall": "enhanced-phonecall";
|
|
238
|
-
"enhanced-finance": "enhanced-finance";
|
|
239
|
-
base: "base";
|
|
240
|
-
meeting: "meeting";
|
|
241
|
-
phonecall: "phonecall";
|
|
242
|
-
finance: "finance";
|
|
243
|
-
conversationalai: "conversationalai";
|
|
244
|
-
voicemail: "voicemail";
|
|
245
|
-
video: "video";
|
|
246
|
-
"whisper-tiny": "whisper-tiny";
|
|
247
|
-
"whisper-base": "whisper-base";
|
|
248
|
-
"whisper-small": "whisper-small";
|
|
249
|
-
"whisper-medium": "whisper-medium";
|
|
250
|
-
"whisper-large": "whisper-large";
|
|
251
|
-
}>]>>;
|
|
252
|
-
stt_language: zod.ZodDefault<zod.ZodEnum<{
|
|
253
|
-
no: "no";
|
|
254
|
-
zh: "zh";
|
|
255
|
-
"zh-CN": "zh-CN";
|
|
256
|
-
"zh-TW": "zh-TW";
|
|
257
|
-
da: "da";
|
|
258
|
-
nl: "nl";
|
|
259
|
-
en: "en";
|
|
260
|
-
"en-US": "en-US";
|
|
261
|
-
"en-AU": "en-AU";
|
|
262
|
-
"en-GB": "en-GB";
|
|
263
|
-
"en-NZ": "en-NZ";
|
|
264
|
-
"en-IN": "en-IN";
|
|
265
|
-
fr: "fr";
|
|
266
|
-
"fr-CA": "fr-CA";
|
|
267
|
-
de: "de";
|
|
268
|
-
hi: "hi";
|
|
269
|
-
"hi-Latn": "hi-Latn";
|
|
270
|
-
pt: "pt";
|
|
271
|
-
"pt-BR": "pt-BR";
|
|
272
|
-
es: "es";
|
|
273
|
-
"es-419": "es-419";
|
|
274
|
-
it: "it";
|
|
275
|
-
ja: "ja";
|
|
276
|
-
ko: "ko";
|
|
277
|
-
pl: "pl";
|
|
278
|
-
"es-LATAM": "es-LATAM";
|
|
279
|
-
sv: "sv";
|
|
280
|
-
ta: "ta";
|
|
281
|
-
taq: "taq";
|
|
282
|
-
uk: "uk";
|
|
283
|
-
tr: "tr";
|
|
284
|
-
id: "id";
|
|
285
|
-
ru: "ru";
|
|
286
|
-
th: "th";
|
|
287
|
-
multi: "multi";
|
|
288
|
-
}>>;
|
|
289
|
-
stt_detect_language: zod.ZodDefault<zod.ZodBoolean>;
|
|
290
|
-
stt_interim_results: zod.ZodDefault<zod.ZodBoolean>;
|
|
291
|
-
stt_punctuate: zod.ZodDefault<zod.ZodBoolean>;
|
|
292
|
-
stt_smart_format: zod.ZodDefault<zod.ZodBoolean>;
|
|
293
|
-
stt_sample_rate: zod.ZodDefault<zod.ZodNumber>;
|
|
294
|
-
stt_no_delay: zod.ZodDefault<zod.ZodBoolean>;
|
|
295
|
-
stt_endpointing_ms: zod.ZodDefault<zod.ZodNumber>;
|
|
296
|
-
stt_filler_words: zod.ZodDefault<zod.ZodBoolean>;
|
|
297
|
-
stt_keyterms: zod.ZodDefault<zod.ZodArray<zod.ZodString>>;
|
|
298
|
-
stt_tags: zod.ZodDefault<zod.ZodArray<zod.ZodString>>;
|
|
299
|
-
stt_profanity_filter: zod.ZodDefault<zod.ZodBoolean>;
|
|
300
|
-
stt_eager_eot_threshold: zod.ZodDefault<zod.ZodUnion<readonly [zod.ZodNumber, zod.ZodNull]>>;
|
|
301
|
-
stt_eot_threshold: zod.ZodDefault<zod.ZodNumber>;
|
|
302
|
-
stt_eot_timeout_ms: zod.ZodDefault<zod.ZodNumber>;
|
|
303
|
-
tts_voice_id: zod.ZodDefault<zod.ZodString>;
|
|
304
|
-
tts_voice_similarity_boost: zod.ZodDefault<zod.ZodNumber>;
|
|
305
|
-
tts_voice_stability: zod.ZodDefault<zod.ZodNumber>;
|
|
306
|
-
tts_voice_speed: zod.ZodDefault<zod.ZodNumber>;
|
|
307
|
-
tts_voice_style: zod.ZodDefault<zod.ZodNumber>;
|
|
308
|
-
tts_voice_use_speaker_boost: zod.ZodDefault<zod.ZodBoolean>;
|
|
309
|
-
tts_model: zod.ZodDefault<zod.ZodEnum<{
|
|
310
|
-
eleven_monolingual_v1: "eleven_monolingual_v1";
|
|
311
|
-
eleven_multilingual_v1: "eleven_multilingual_v1";
|
|
312
|
-
eleven_multilingual_v2: "eleven_multilingual_v2";
|
|
313
|
-
eleven_turbo_v2: "eleven_turbo_v2";
|
|
314
|
-
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
315
|
-
eleven_flash_v2_5: "eleven_flash_v2_5";
|
|
316
|
-
eleven_flash_v2: "eleven_flash_v2";
|
|
317
|
-
eleven_v3: "eleven_v3";
|
|
318
|
-
}>>;
|
|
319
|
-
tts_inactivity_timeout: zod.ZodDefault<zod.ZodNumber>;
|
|
320
|
-
tts_enable_ssml_parsing: zod.ZodDefault<zod.ZodBoolean>;
|
|
321
|
-
tts_streaming_latency: zod.ZodDefault<zod.ZodNumber>;
|
|
322
|
-
tts_auto_mode: zod.ZodDefault<zod.ZodBoolean>;
|
|
323
|
-
tts_encoding: zod.ZodDefault<zod.ZodEnum<{
|
|
324
|
-
mp3_22050_32: "mp3_22050_32";
|
|
325
|
-
mp3_24000_48: "mp3_24000_48";
|
|
326
|
-
mp3_44100: "mp3_44100";
|
|
327
|
-
mp3_44100_32: "mp3_44100_32";
|
|
328
|
-
mp3_44100_64: "mp3_44100_64";
|
|
329
|
-
mp3_44100_96: "mp3_44100_96";
|
|
330
|
-
mp3_44100_128: "mp3_44100_128";
|
|
331
|
-
mp3_44100_192: "mp3_44100_192";
|
|
332
|
-
opus_48000_32: "opus_48000_32";
|
|
333
|
-
opus_48000_64: "opus_48000_64";
|
|
334
|
-
opus_48000_96: "opus_48000_96";
|
|
335
|
-
opus_48000_128: "opus_48000_128";
|
|
336
|
-
opus_48000_192: "opus_48000_192";
|
|
337
|
-
pcm_8000: "pcm_8000";
|
|
338
|
-
pcm_16000: "pcm_16000";
|
|
339
|
-
pcm_22050: "pcm_22050";
|
|
340
|
-
pcm_24000: "pcm_24000";
|
|
341
|
-
pcm_32000: "pcm_32000";
|
|
342
|
-
pcm_44100: "pcm_44100";
|
|
343
|
-
pcm_48000: "pcm_48000";
|
|
344
|
-
}>>;
|
|
345
|
-
tts_chunk_length_schedule: zod.ZodDefault<zod.ZodArray<zod.ZodNumber>>;
|
|
346
|
-
tts_language: zod.ZodDefault<zod.ZodString>;
|
|
347
|
-
}, zod.core.$strip>;
|
|
348
|
-
type VoiceAgentConfigBase = zod.input<typeof schemas.configSchema>;
|
|
194
|
+
export { voiceAgentConfigSchema };
|
|
195
|
+
type VoiceAgentConfigBase = zod.input<typeof voiceAgentConfigSchema>;
|
|
349
196
|
export type VoiceAgentConfig = WithRequiredFields<VoiceAgentConfigBase, 'stt_endpointing_ms' | 'stt_interim_results' | 'stt_keyterms' | 'stt_language' | 'stt_model' | 'stt_no_delay' | 'stt_profanity_filter' | 'stt_punctuate' | 'stt_sample_rate' | 'stt_smart_format' | 'session_allow_interruptions' | 'session_max_endpointing_delay' | 'session_min_endpointing_delay' | 'session_min_interruption_duration' | 'session_min_interruption_words' | 'session_preemptive_generation' | 'session_turn_detection' | 'vad_activation_threshold' | 'vad_max_buffered_speech' | 'vad_min_silence_duration' | 'vad_min_speech_duration' | 'vad_prefix_padding_duration' | 'vad_sample_rate' | 'tts_auto_mode' | 'tts_chunk_length_schedule' | 'tts_enable_ssml_parsing' | 'tts_encoding' | 'tts_inactivity_timeout' | 'tts_language' | 'tts_model' | 'tts_streaming_latency' | 'tts_voice_id' | 'tts_voice_similarity_boost' | 'tts_voice_speed' | 'tts_voice_stability' | 'tts_voice_style' | 'tts_voice_use_speaker_boost'>;
|
|
350
197
|
export type VoiceAgentConfigField = keyof VoiceAgentConfig;
|
|
351
198
|
export declare const voiceAgentDefaultConfig: VoiceAgentConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/call-control/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,IAAI,EACJ,mBAAmB,IAAI,eAAe,EACtC,mBAAmB,IAAI,eAAe,EACtC,oBAAoB,IAAI,gBAAgB,EAC3C,MAAM,oBAAoB,CAAA;AAC3B,OAAO,GAAG,MAAM,KAAK,CAAA;AAErB,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/call-control/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Room, SIPDispatchRuleInfo as SipDispatchRule, SIPInboundTrunkInfo as SipInboundTrunk, SIPOutboundTrunkInfo as SipOutboundTrunk, } from 'livekit-server-sdk';
|
|
2
|
-
import
|
|
2
|
+
import { voiceAgentConfigSchema } from './voice-agent-config';
|
|
3
3
|
export { Room, SipDispatchRule, SipInboundTrunk, SipOutboundTrunk };
|
|
4
4
|
export const MediaEncryption = { DISABLE: 0, ALLOW: 1, REQUIRE: 2 };
|
|
5
5
|
export const Transport = { AUTO: 0, UDP: 1, TCP: 2, TLS: 3 };
|
|
@@ -19,8 +19,8 @@ export var CallDataTopic;
|
|
|
19
19
|
(function (CallDataTopic) {
|
|
20
20
|
CallDataTopic["AgentSignal"] = "agent-signal";
|
|
21
21
|
})(CallDataTopic || (CallDataTopic = {}));
|
|
22
|
-
export
|
|
23
|
-
const _defaults =
|
|
22
|
+
export { voiceAgentConfigSchema };
|
|
23
|
+
const _defaults = voiceAgentConfigSchema.parse({});
|
|
24
24
|
const _defaultsExcluded = [
|
|
25
25
|
'vad_deactivation_threshold',
|
|
26
26
|
'stt_eager_eot_threshold',
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
export declare const voiceAgentConfigSchema: import("zod").ZodObject<{
|
|
2
|
+
agent_background_audio_volume: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
3
|
+
agent_background_audio_autopause: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
4
|
+
session_turn_detection: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
5
|
+
stt: "stt";
|
|
6
|
+
vad: "vad";
|
|
7
|
+
model: "model";
|
|
8
|
+
}>>;
|
|
9
|
+
session_allow_interruptions: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
10
|
+
agent_dynamic_interruption_escalation: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
11
|
+
session_min_interruption_words: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
12
|
+
session_min_interruption_duration: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
13
|
+
session_min_endpointing_delay: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
14
|
+
session_max_endpointing_delay: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
15
|
+
session_preemptive_generation: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
16
|
+
vad_min_speech_duration: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
17
|
+
vad_min_silence_duration: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
18
|
+
vad_prefix_padding_duration: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
19
|
+
vad_max_buffered_speech: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
20
|
+
vad_activation_threshold: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
21
|
+
vad_deactivation_threshold: import("zod").ZodDefault<import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodNull]>>;
|
|
22
|
+
vad_sample_rate: import("zod").ZodDefault<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<8000>, import("zod").ZodLiteral<16000>]>>;
|
|
23
|
+
stt_api_version: import("zod").ZodDefault<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<1>, import("zod").ZodLiteral<2>]>>;
|
|
24
|
+
stt_model: import("zod").ZodDefault<import("zod").ZodUnion<readonly [import("zod").ZodLiteral<"flux-general-en">, import("zod").ZodEnum<{
|
|
25
|
+
"nova-general": "nova-general";
|
|
26
|
+
"nova-phonecall": "nova-phonecall";
|
|
27
|
+
"nova-meeting": "nova-meeting";
|
|
28
|
+
"nova-2-general": "nova-2-general";
|
|
29
|
+
"nova-2-meeting": "nova-2-meeting";
|
|
30
|
+
"nova-2-phonecall": "nova-2-phonecall";
|
|
31
|
+
"nova-2-finance": "nova-2-finance";
|
|
32
|
+
"nova-2-conversationalai": "nova-2-conversationalai";
|
|
33
|
+
"nova-2-voicemail": "nova-2-voicemail";
|
|
34
|
+
"nova-2-video": "nova-2-video";
|
|
35
|
+
"nova-2-medical": "nova-2-medical";
|
|
36
|
+
"nova-2-drivethru": "nova-2-drivethru";
|
|
37
|
+
"nova-2-automotive": "nova-2-automotive";
|
|
38
|
+
"nova-3": "nova-3";
|
|
39
|
+
"nova-3-general": "nova-3-general";
|
|
40
|
+
"nova-3-medical": "nova-3-medical";
|
|
41
|
+
"enhanced-general": "enhanced-general";
|
|
42
|
+
"enhanced-meeting": "enhanced-meeting";
|
|
43
|
+
"enhanced-phonecall": "enhanced-phonecall";
|
|
44
|
+
"enhanced-finance": "enhanced-finance";
|
|
45
|
+
base: "base";
|
|
46
|
+
meeting: "meeting";
|
|
47
|
+
phonecall: "phonecall";
|
|
48
|
+
finance: "finance";
|
|
49
|
+
conversationalai: "conversationalai";
|
|
50
|
+
voicemail: "voicemail";
|
|
51
|
+
video: "video";
|
|
52
|
+
"whisper-tiny": "whisper-tiny";
|
|
53
|
+
"whisper-base": "whisper-base";
|
|
54
|
+
"whisper-small": "whisper-small";
|
|
55
|
+
"whisper-medium": "whisper-medium";
|
|
56
|
+
"whisper-large": "whisper-large";
|
|
57
|
+
}>]>>;
|
|
58
|
+
stt_language: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
59
|
+
no: "no";
|
|
60
|
+
zh: "zh";
|
|
61
|
+
"zh-CN": "zh-CN";
|
|
62
|
+
"zh-TW": "zh-TW";
|
|
63
|
+
da: "da";
|
|
64
|
+
nl: "nl";
|
|
65
|
+
en: "en";
|
|
66
|
+
"en-US": "en-US";
|
|
67
|
+
"en-AU": "en-AU";
|
|
68
|
+
"en-GB": "en-GB";
|
|
69
|
+
"en-NZ": "en-NZ";
|
|
70
|
+
"en-IN": "en-IN";
|
|
71
|
+
fr: "fr";
|
|
72
|
+
"fr-CA": "fr-CA";
|
|
73
|
+
de: "de";
|
|
74
|
+
hi: "hi";
|
|
75
|
+
"hi-Latn": "hi-Latn";
|
|
76
|
+
pt: "pt";
|
|
77
|
+
"pt-BR": "pt-BR";
|
|
78
|
+
es: "es";
|
|
79
|
+
"es-419": "es-419";
|
|
80
|
+
it: "it";
|
|
81
|
+
ja: "ja";
|
|
82
|
+
ko: "ko";
|
|
83
|
+
pl: "pl";
|
|
84
|
+
"es-LATAM": "es-LATAM";
|
|
85
|
+
sv: "sv";
|
|
86
|
+
ta: "ta";
|
|
87
|
+
taq: "taq";
|
|
88
|
+
uk: "uk";
|
|
89
|
+
tr: "tr";
|
|
90
|
+
id: "id";
|
|
91
|
+
ru: "ru";
|
|
92
|
+
th: "th";
|
|
93
|
+
multi: "multi";
|
|
94
|
+
}>>;
|
|
95
|
+
stt_detect_language: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
96
|
+
stt_interim_results: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
97
|
+
stt_punctuate: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
98
|
+
stt_smart_format: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
99
|
+
stt_sample_rate: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
100
|
+
stt_no_delay: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
101
|
+
stt_endpointing_ms: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
102
|
+
stt_filler_words: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
103
|
+
stt_keyterms: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
|
|
104
|
+
stt_tags: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
|
|
105
|
+
stt_profanity_filter: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
106
|
+
stt_eager_eot_threshold: import("zod").ZodDefault<import("zod").ZodUnion<readonly [import("zod").ZodNumber, import("zod").ZodNull]>>;
|
|
107
|
+
stt_eot_threshold: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
108
|
+
stt_eot_timeout_ms: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
109
|
+
tts_voice_id: import("zod").ZodDefault<import("zod").ZodString>;
|
|
110
|
+
tts_voice_similarity_boost: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
111
|
+
tts_voice_stability: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
112
|
+
tts_voice_speed: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
113
|
+
tts_voice_style: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
114
|
+
tts_voice_use_speaker_boost: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
115
|
+
tts_model: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
116
|
+
eleven_monolingual_v1: "eleven_monolingual_v1";
|
|
117
|
+
eleven_multilingual_v1: "eleven_multilingual_v1";
|
|
118
|
+
eleven_multilingual_v2: "eleven_multilingual_v2";
|
|
119
|
+
eleven_turbo_v2: "eleven_turbo_v2";
|
|
120
|
+
eleven_turbo_v2_5: "eleven_turbo_v2_5";
|
|
121
|
+
eleven_flash_v2_5: "eleven_flash_v2_5";
|
|
122
|
+
eleven_flash_v2: "eleven_flash_v2";
|
|
123
|
+
eleven_v3: "eleven_v3";
|
|
124
|
+
}>>;
|
|
125
|
+
tts_inactivity_timeout: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
126
|
+
tts_enable_ssml_parsing: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
127
|
+
tts_streaming_latency: import("zod").ZodDefault<import("zod").ZodNumber>;
|
|
128
|
+
tts_auto_mode: import("zod").ZodDefault<import("zod").ZodBoolean>;
|
|
129
|
+
tts_encoding: import("zod").ZodDefault<import("zod").ZodEnum<{
|
|
130
|
+
mp3_22050_32: "mp3_22050_32";
|
|
131
|
+
mp3_24000_48: "mp3_24000_48";
|
|
132
|
+
mp3_44100: "mp3_44100";
|
|
133
|
+
mp3_44100_32: "mp3_44100_32";
|
|
134
|
+
mp3_44100_64: "mp3_44100_64";
|
|
135
|
+
mp3_44100_96: "mp3_44100_96";
|
|
136
|
+
mp3_44100_128: "mp3_44100_128";
|
|
137
|
+
mp3_44100_192: "mp3_44100_192";
|
|
138
|
+
opus_48000_32: "opus_48000_32";
|
|
139
|
+
opus_48000_64: "opus_48000_64";
|
|
140
|
+
opus_48000_96: "opus_48000_96";
|
|
141
|
+
opus_48000_128: "opus_48000_128";
|
|
142
|
+
opus_48000_192: "opus_48000_192";
|
|
143
|
+
pcm_8000: "pcm_8000";
|
|
144
|
+
pcm_16000: "pcm_16000";
|
|
145
|
+
pcm_22050: "pcm_22050";
|
|
146
|
+
pcm_24000: "pcm_24000";
|
|
147
|
+
pcm_32000: "pcm_32000";
|
|
148
|
+
pcm_44100: "pcm_44100";
|
|
149
|
+
pcm_48000: "pcm_48000";
|
|
150
|
+
}>>;
|
|
151
|
+
tts_chunk_length_schedule: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodNumber>>;
|
|
152
|
+
tts_language: import("zod").ZodDefault<import("zod").ZodString>;
|
|
153
|
+
}, import("zod/v4/core").$strip>;
|
|
154
|
+
export declare function validateVoiceAgentTurnDetectionSettings(settings: unknown): void;
|
|
155
|
+
//# sourceMappingURL=voice-agent-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-agent-config.d.ts","sourceRoot":"","sources":["../../src/call-control/voice-agent-config.ts"],"names":[],"mappings":"AAyDA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAGjC,CAAA;AAEF,wBAAgB,uCAAuC,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAK/E"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { configSchema } from './schemas.generated';
|
|
2
|
+
const TURN_DETECTION_MODES = new Set(['model', 'stt', 'vad']);
|
|
3
|
+
const TURN_DETECTOR_MIN_SILENCE_DURATION = 0.25;
|
|
4
|
+
function getTurnDetectionSettingsIssue(settings) {
|
|
5
|
+
if (typeof settings !== 'object' || settings === null || Array.isArray(settings)) {
|
|
6
|
+
return {
|
|
7
|
+
message: 'Voice agent settings must be an object',
|
|
8
|
+
path: [],
|
|
9
|
+
type: 'type',
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
const values = settings;
|
|
13
|
+
const mode = values.session_turn_detection;
|
|
14
|
+
if (mode !== undefined && (typeof mode !== 'string' || !TURN_DETECTION_MODES.has(mode))) {
|
|
15
|
+
return {
|
|
16
|
+
message: 'Turn detection must use model, STT, or VAD mode',
|
|
17
|
+
path: ['session_turn_detection'],
|
|
18
|
+
type: 'type',
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const minSilence = values.vad_min_silence_duration;
|
|
22
|
+
if (minSilence !== undefined &&
|
|
23
|
+
(typeof minSilence !== 'number' || !Number.isFinite(minSilence))) {
|
|
24
|
+
return {
|
|
25
|
+
message: 'The minimum VAD silence duration must be a finite number',
|
|
26
|
+
path: ['vad_min_silence_duration'],
|
|
27
|
+
type: 'type',
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
if (minSilence !== undefined &&
|
|
31
|
+
minSilence < TURN_DETECTOR_MIN_SILENCE_DURATION &&
|
|
32
|
+
(mode === undefined || mode === 'model')) {
|
|
33
|
+
return {
|
|
34
|
+
message: 'Audio turn detection requires at least 0.25 seconds of VAD silence',
|
|
35
|
+
path: ['vad_min_silence_duration'],
|
|
36
|
+
type: 'range',
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
export const voiceAgentConfigSchema = configSchema.superRefine((settings, context) => {
|
|
42
|
+
const issue = getTurnDetectionSettingsIssue(settings);
|
|
43
|
+
if (issue)
|
|
44
|
+
context.addIssue({ code: 'custom', message: issue.message, path: issue.path });
|
|
45
|
+
});
|
|
46
|
+
export function validateVoiceAgentTurnDetectionSettings(settings) {
|
|
47
|
+
const issue = getTurnDetectionSettingsIssue(settings);
|
|
48
|
+
if (!issue)
|
|
49
|
+
return;
|
|
50
|
+
if (issue.type === 'range')
|
|
51
|
+
throw new RangeError(issue.message);
|
|
52
|
+
throw new TypeError(issue.message);
|
|
53
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voice-http.d.ts","sourceRoot":"","sources":["../../src/voice-agent-api/voice-http.ts"],"names":[],"mappings":"AAGA,OAAgB,EAAgB,cAAc,EAAE,MAAM,SAAS,CAAA;AAG/D,OAAO,EAAY,UAAU,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"voice-http.d.ts","sourceRoot":"","sources":["../../src/voice-agent-api/voice-http.ts"],"names":[],"mappings":"AAGA,OAAgB,EAAgB,cAAc,EAAE,MAAM,SAAS,CAAA;AAG/D,OAAO,EAAY,UAAU,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,KAAK,WAAW,MAAM,iBAAiB,CAAA;AAE9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAA;AAOrE,OAAO,QAAQ,SAAS,CAAC;IACrB,UAAU,cAAc;QACpB,MAAM,EAAE,MAAM,CAAA;QACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC3B,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,MAAM,CAAA;QACjB,WAAW,CAAC,EAAE,MAAM,CAAA;KACvB;CACJ;AAED,MAAM,WAAW,iBAAiB,CAAC,KAAK;IACpC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IAChE,SAAS,EAAE,UAAU,CAAA;IAErB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,KAAK,CAAA;IAE5D,mBAAmB,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK;QACzD,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,WAAW,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;IAED,WAAW,EAAE,WAAW,CAAA;IACxB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;IAEtF,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,EACpC,aAAa,EACb,SAAS,EACT,OAAO,EACP,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,GACnB,EAAE,iBAAiB,CAAC,KAAK,CAAC;;EAic1B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as dns from 'node:dns';
|
|
2
2
|
import { promisify } from 'node:util';
|
|
3
3
|
import Fastify from 'fastify';
|
|
4
|
+
import { validateVoiceAgentTurnDetectionSettings } from '../call-control';
|
|
4
5
|
import { loggerContext } from '../dockyard';
|
|
5
6
|
import { LATENCY_EVENT_SCHEMA, LATENCY_EVENT_TYPES } from '../telescope';
|
|
6
7
|
import { fail, isRecoverableError, mapFromOpenAiMessages } from './http-helpers';
|
|
@@ -87,6 +88,9 @@ export function voiceHttpConnect({ getVoiceAgent, telescope, onStart, hostsToPre
|
|
|
87
88
|
const agent = await getAgent(req);
|
|
88
89
|
await telescope.runObservation(async () => {
|
|
89
90
|
const response = await agent.onCallStart(reqToCallInfo(req));
|
|
91
|
+
if (response.initialSettings) {
|
|
92
|
+
validateVoiceAgentTurnDetectionSettings(response.initialSettings);
|
|
93
|
+
}
|
|
90
94
|
res.status(200);
|
|
91
95
|
res.send(response);
|
|
92
96
|
}, { conversationId: req.callId, agentId: agent.name });
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@recombine-ai/platform",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.8.0-test.0",
|
|
5
5
|
"description": "The Recombine platform: engine, telescope, dockyard, call control, the voice agent API, and the Bosun bindings in one package",
|
|
6
6
|
"license": "EULA",
|
|
7
7
|
"author": "recombine.ai",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1@de[���d�L#�Q�Tk��Q�����1��m�Q��J[�-�I4�� ^a��~Q��B�v��g��ۀ�\t�R����l�[��6��7��O��KD2�d"�� ��u�H$m�[\�[|�W�=������vu�����>�~
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as r}from"../chunks/w5wDAux2.js";import{y as t}from"../chunks/BQ3yDyvG.js";export{t as load_css,r as start};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|