@openai/agents-realtime 0.11.7 → 0.12.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/dist/bundle/{agent-Dsbss3pG.mjs → agent-DHFen5Vv.mjs} +2 -2
- package/dist/bundle/index-DQNgjb-V.mjs +23143 -0
- package/dist/bundle/openai-realtime-agents.mjs +1 -1
- package/dist/bundle/openai-realtime-agents.umd.js +67 -66
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/metadata.js +2 -2
- package/dist/metadata.mjs +2 -2
- package/dist/openaiRealtimeBase.js +1 -0
- package/dist/openaiRealtimeBase.js.map +1 -1
- package/dist/openaiRealtimeBase.mjs +1 -0
- package/dist/openaiRealtimeBase.mjs.map +1 -1
- package/dist/openaiRealtimeEvents.js +7 -1
- package/dist/openaiRealtimeEvents.js.map +1 -1
- package/dist/openaiRealtimeEvents.mjs +7 -1
- package/dist/openaiRealtimeEvents.mjs.map +1 -1
- package/dist/openaiRealtimeWebRtc.js +2 -2
- package/dist/openaiRealtimeWebRtc.js.map +1 -1
- package/dist/openaiRealtimeWebRtc.mjs +2 -2
- package/dist/openaiRealtimeWebRtc.mjs.map +1 -1
- package/dist/realtimeSession.d.ts +11 -0
- package/dist/realtimeSession.js +205 -64
- package/dist/realtimeSession.js.map +1 -1
- package/dist/realtimeSession.mjs +207 -66
- package/dist/realtimeSession.mjs.map +1 -1
- package/dist/tool.d.ts +2 -1
- package/dist/tool.js +38 -0
- package/dist/tool.js.map +1 -1
- package/dist/tool.mjs +37 -0
- package/dist/tool.mjs.map +1 -1
- package/dist/transportLayerEvents.d.ts +2 -0
- package/package.json +4 -4
- package/dist/bundle/index-CNTTurUB.mjs +0 -22751
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openaiRealtimeWebRtc.mjs","sourceRoot":"","sources":["../src/openaiRealtimeWebRtc.ts"],"names":[],"mappings":"AAAA,2BAA2B;OAEpB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B;OAM1D,EAAE,SAAS,EAAE,MAAM,qBAAqB;OACxC,MAAM;OAEN,EACL,kBAAkB,GAEnB;OACM,EAAE,kBAAkB,EAAE;OACtB,EAAE,uBAAuB,EAAE;OAC3B,EAAE,OAAO,EAAE;AAElB,MAAM,qCAAqC,GAAG,IAAI,CAAC;AA4DnD;;;;;;;GAOG;AACH,MAAM,OAAO,oBACX,SAAQ,kBAAkB;IAqBG;IAlB7B,IAAI,CAAS;IACb,MAAM,GAAgB;QACpB,MAAM,EAAE,cAAc;QACtB,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,kBAAkB,CAAU;IAC5B,sBAAsB,GAAG,KAAK,CAAC;IAC/B,MAAM,GAAG,KAAK,CAAC;IACf,eAAe,CAA4B;IAC3C,iBAAiB,GAAG,CAAC,CAAC;IACtB,kCAAkC,CAA4C;IAC9E,wBAAwB,GAAG,IAAI,uBAAuB,CACpD,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EACpC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAChC,CAAC;IAEF,YAA6B,UAAuC,EAAE;QACpE,IAAI,OAAO,iBAAiB,KAAK,WAAW,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QACD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJY,YAAO,GAAP,OAAO,CAAkC;QAKpE,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,0CAA0C,CAAC;QAC1E,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAC,OAA6C;QACzD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACxC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,eAAe,CAAC;YAC9B,CAAC;YACD,MAAM,CAAC,IAAI,CACT,8DAA8D,CAC/D,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE9C,MAAM,WAAW,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,WAAW,EAAE,CAAC;YACvE,MAAM,IAAI,SAAS,CACjB,yMAAyM,CAC1M,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC;QAC3C,qDAAqD;QACrD,IAAI,CAAC,eAAe,GAAG,IAAI,OAAO,CAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YACjE,IAAI,CAAC;gBACH,MAAM,iBAAiB,GAAmC;oBACxD,GAAG,CAAC,OAAO,CAAC,oBAAoB,IAAI,EAAE,CAAC;oBACvC,KAAK,EAAE,IAAI,CAAC,YAAY;iBACzB,CAAC;gBAEF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEvC,IAAI,cAAc,GAAsB,IAAI,iBAAiB,EAAE,CAAC;gBAChE,MAAM,WAAW,GAAG,cAAc,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;gBACnE,IAAI,MAAM,GAAuB,SAAS,CAAC;gBAE3C,MAAM,4BAA4B,GAAG,CACnC,UAA6B,EAC7B,EAAE;oBACF,UAAU,CAAC,uBAAuB,GAAG,GAAG,EAAE;wBACxC,IAAI,CAAC,gCAAgC,CAAC,UAAU,CAAC,CAAC;oBACpD,CAAC,CAAC;gBACJ,CAAC,CAAC;gBACF,4BAA4B,CAAC,cAAc,CAAC,CAAC;gBAE7C,IAAI,CAAC,MAAM,GAAG;oBACZ,MAAM,EAAE,YAAY;oBACpB,cAAc;oBACd,WAAW;oBACX,MAAM;iBACP,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEnD,WAAW,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;oBACxC,IAAI,CAAC,MAAM,GAAG;wBACZ,MAAM,EAAE,YAAY;wBACpB,cAAc;wBACd,WAAW;wBACX,MAAM;qBACP,CAAC;oBAEF,uEAAuE;oBACvE,0EAA0E;oBAC1E,qEAAqE;oBACrE,IAAI,QAAQ,GAAG,KAAK,CAAC;oBACrB,mHAAmH;oBACnH,IAAI,SAAoD,CAAC;oBACzD,MAAM,MAAM,GAAG,GAAG,EAAE;wBAClB,IAAI,QAAQ;4BAAE,OAAO;wBACrB,QAAQ,GAAG,IAAI,CAAC;wBAChB,IAAI,SAAS,KAAK,SAAS;4BAAE,YAAY,CAAC,SAAS,CAAC,CAAC;wBACrD,WAAW,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;wBACxD,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;wBAClD,4DAA4D;wBAC5D,+DAA+D;wBAC/D,iEAAiE;wBACjE,IACE,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,YAAY;4BACnC,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW;4BACvC,WAAW,CAAC,UAAU,KAAK,MAAM,EACjC,CAAC;4BACD,0DAA0D;4BAC1D,yDAAyD;4BACzD,iCAAiC;4BACjC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;gCAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;4BACf,CAAC;4BACD,MAAM,CACJ,IAAI,KAAK,CACP,0DAA0D,CAC3D,CACF,CAAC;4BACF,OAAO;wBACT,CAAC;wBACD,IAAI,CAAC,MAAM,GAAG;4BACZ,MAAM,EAAE,WAAW;4BACnB,cAAc;4BACd,WAAW;4BACX,MAAM;yBACP,CAAC;wBACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACnD,IAAI,CAAC,OAAO,EAAE,CAAC;wBACf,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC;oBACF,MAAM,WAAW,GAAG,CAAC,QAAsB,EAAE,EAAE;wBAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACzC,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;4BACtC,MAAM,EAAE,CAAC;wBACX,CAAC;oBACH,CAAC,CAAC;oBACF,MAAM,OAAO,GAAG,GAAG,EAAE;wBACnB,MAAM,EAAE,CAAC;oBACX,CAAC,CAAC;oBACF,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,MAAM,CAAC,IAAI,CACT,wEAAwE,CACzE,CAAC;4BACF,MAAM,EAAE,CAAC;wBACX,CAAC;oBACH,CAAC,EAAE,IAAI,CAAC,CAAC;oBACT,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;oBACrD,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAE/C,iEAAiE;oBACjE,0DAA0D;oBAC1D,+CAA+C;oBAC/C,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;wBAChD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBACvB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAC9D,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;4BACzB,OAAO;wBACT,CAAC;wBAED,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;4BAC5B,IAAI,CAAC,wBAAwB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;wBAClE,CAAC;wBAED,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;4BACvC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;4BACnC,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,EAAE,CAAC;wBACtD,CAAC;6BAAM,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;4BAC3C,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;4BACpC,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,CAAC;wBACnD,CAAC;wBAED,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;4BACtC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;4BAC7C,yDAAyD;4BACzD,MAAM,aAAa,GACjB,OAAO,iBAAiB,CAAC,OAAO,KAAK,WAAW;gCAC9C,CAAC,CAAC,MAAM;gCACR,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC;4BAChC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;wBAC3C,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBAEH,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC,CAAC,CAAC;gBAEH,wBAAwB;gBACxB,MAAM,YAAY,GAChB,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC/D,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC7B,cAAc,CAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE;oBACjC,YAAY,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC,CAAC;gBAEF,wBAAwB;gBACxB,MAAM,MAAM,GACV,IAAI,CAAC,OAAO,CAAC,WAAW;oBACxB,CAAC,MAAM,SAAS,CAAC,YAAY,CAAC,YAAY,CAAC;wBACzC,KAAK,EAAE,IAAI;qBACZ,CAAC,CAAC,CAAC;gBACN,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEpD,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;oBACtC,MAAM,sBAAsB,GAAG,cAAc,CAAC;oBAC9C,cAAc;wBACZ,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;oBAC1D,IAAI,sBAAsB,KAAK,cAAc,EAAE,CAAC;wBAC9C,sBAAsB,CAAC,uBAAuB,GAAG,IAAI,CAAC;oBACxD,CAAC;oBACD,4BAA4B,CAAC,cAAc,CAAC,CAAC;oBAC7C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;gBACnD,CAAC;gBAED,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,CAAC;gBACjD,MAAM,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAEhD,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,CAAC;gBAED,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE;oBAC7C,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,KAAK,CAAC,GAAG;oBACf,OAAO,EAAE;wBACP,cAAc,EAAE,iBAAiB;wBACjC,aAAa,EAAE,UAAU,MAAM,EAAE;wBACjC,qBAAqB,EAAE,OAAO,CAAC,qBAAqB,CAAC;qBACtD;iBACF,CAAC,CAAC;gBAEH,MAAM,GAAG,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBAChE,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAEzC,MAAM,MAAM,GAA8B;oBACxC,IAAI,EAAE,QAAQ;oBACd,GAAG,EAAE,MAAM,WAAW,CAAC,IAAI,EAAE;iBAC9B,CAAC;gBAEF,MAAM,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrB,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,6DAA6D;YAC7D,+DAA+D;YAC/D,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;gBACzC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACnC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAA4B;QACpC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,CAAC,KAAK,EAAE;gBACzD,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACrC,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,EAAE,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAEQ,eAAe,CAAC,QAA8B;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,CACjD;YACE,IAAI,EAAE,iBAAiB;YACvB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClC,EACD,EAAE,MAAM,EAAE,QAAQ,KAAK,SAAS,EAAE,CACnC,CAAC;IACJ,CAAC;IAED,gBAAgB;QACd,IACE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW;YACxB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,KAAK,MAAM,EAC7C,CAAC;YACD,MAAM,IAAI,KAAK,CACb,6FAA6F,CAC9F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,aAAa,CAAC,KAA4B;QACxC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,WAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,gCAAgC,CAAC,UAA6B;QAC5D,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,QAAQ,UAAU,CAAC,eAAe,EAAE,CAAC;YACnC,KAAK,WAAW;gBACd,IAAI,CAAC,uCAAuC,EAAE,CAAC;gBAC/C,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,CAAC,wCAAwC,CAAC,UAAU,CAAC,CAAC;gBAC1D,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACX,IAAI,CAAC,uCAAuC,EAAE,CAAC;gBAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM;YACR,iFAAiF;QACnF,CAAC;IACH,CAAC;IAED,wCAAwC,CACtC,UAA6B;QAE7B,IAAI,CAAC,uCAAuC,EAAE,CAAC;QAC/C,IAAI,CAAC,kCAAkC,GAAG,UAAU,CAAC,GAAG,EAAE;YACxD,IACE,IAAI,CAAC,MAAM,CAAC,cAAc,KAAK,UAAU;gBACzC,UAAU,CAAC,eAAe,KAAK,cAAc,EAC7C,CAAC;gBACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;QACH,CAAC,EAAE,qCAAqC,CAAC,CAAC;IAC5C,CAAC;IAED,uCAAuC;QACrC,IAAI,IAAI,CAAC,kCAAkC,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,YAAY,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACtD,IAAI,CAAC,kCAAkC,GAAG,SAAS,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,KAAc;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAClD,cAAc,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC7C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBACjB,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEkB,oBAAoB;QACrC,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,uCAAuC,EAAE,CAAC;QAC/C,IAAI,CAAC,wBAAwB,CAAC,cAAc,EAAE,CAAC;QAC/C,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC/B,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAClD,cAAc,CAAC,uBAAuB,GAAG,IAAI,CAAC;YAC9C,cAAc,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC7C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,cAAc,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,GAAG;gBACZ,MAAM,EAAE,cAAc;gBACtB,cAAc,EAAE,SAAS;gBACzB,WAAW,EAAE,SAAS;gBACtB,MAAM,EAAE,SAAS;aAClB,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,IACE,IAAI,CAAC,sBAAsB;YAC3B,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,EAAE,EACnD,CAAC;YACD,IAAI,CAAC,aAAa,CAAC;gBACjB,IAAI,EAAE,iBAAiB;aACxB,CAAC,CAAC;YACH,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACtC,CAAC;QAED,IAAI,CAAC,aAAa,CAAC;YACjB,IAAI,EAAE,2BAA2B;SAClC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"openaiRealtimeWebRtc.mjs","sourceRoot":"","sources":["../src/openaiRealtimeWebRtc.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,13 @@ import type { ApiKey, RealtimeTransportLayer } from './transportLayer';
|
|
|
14
14
|
export type RealtimeContextData<TContext = unknown> = TContext & {
|
|
15
15
|
history: RealtimeItem[];
|
|
16
16
|
};
|
|
17
|
+
export type RealtimeToolExecutionConfig = {
|
|
18
|
+
/**
|
|
19
|
+
* Runs function tool input guardrails before emitting a pending human approval interruption.
|
|
20
|
+
* The same guardrails still run again immediately before tool execution after approval.
|
|
21
|
+
*/
|
|
22
|
+
preApprovalInputGuardrails?: boolean;
|
|
23
|
+
};
|
|
17
24
|
export type RealtimeSessionOptions<TContext = unknown> = {
|
|
18
25
|
/**
|
|
19
26
|
* The API key to use for the connection. Pass a function to lazily load the API key
|
|
@@ -43,6 +50,10 @@ export type RealtimeSessionOptions<TContext = unknown> = {
|
|
|
43
50
|
* Additional session config options. Overrides default client options.
|
|
44
51
|
*/
|
|
45
52
|
config?: Partial<RealtimeSessionConfig>;
|
|
53
|
+
/**
|
|
54
|
+
* SDK-side execution settings for local realtime tool calls.
|
|
55
|
+
*/
|
|
56
|
+
toolExecution?: RealtimeToolExecutionConfig;
|
|
46
57
|
/**
|
|
47
58
|
* Whether the history copy should include a local copy of the audio data. By default it is not
|
|
48
59
|
* included in the history to save runtime memory on the client. If you wish to keep this data
|
package/dist/realtimeSession.js
CHANGED
|
@@ -11,6 +11,7 @@ const guardrail_1 = require("./guardrail.js");
|
|
|
11
11
|
const openaiRealtimeBase_1 = require("./openaiRealtimeBase.js");
|
|
12
12
|
const openaiRealtimeWebRtc_1 = require("./openaiRealtimeWebRtc.js");
|
|
13
13
|
const openaiRealtimeWebsocket_1 = require("./openaiRealtimeWebsocket.js");
|
|
14
|
+
const realtimeAgent_1 = require("./realtimeAgent.js");
|
|
14
15
|
const utils_2 = require("./utils.js");
|
|
15
16
|
const logger_1 = __importDefault(require("./logger.js"));
|
|
16
17
|
const tool_1 = require("./tool.js");
|
|
@@ -18,7 +19,26 @@ const agents_core_2 = require("@openai/agents-core");
|
|
|
18
19
|
function cloneDefaultSessionConfig() {
|
|
19
20
|
return JSON.parse(JSON.stringify(openaiRealtimeBase_1.DEFAULT_OPENAI_REALTIME_SESSION_CONFIG));
|
|
20
21
|
}
|
|
22
|
+
function validateRealtimeToolExecutionConfig(config) {
|
|
23
|
+
if (typeof config?.preApprovalInputGuardrails !== 'undefined' &&
|
|
24
|
+
typeof config.preApprovalInputGuardrails !== 'boolean') {
|
|
25
|
+
throw new agents_core_1.UserError('toolExecution.preApprovalInputGuardrails must be a boolean when provided.');
|
|
26
|
+
}
|
|
27
|
+
return config;
|
|
28
|
+
}
|
|
21
29
|
const TOOL_APPROVAL_REJECTION_MESSAGE = 'Tool execution was not approved.';
|
|
30
|
+
function normalizeRealtimeFunctionCallId(toolCall) {
|
|
31
|
+
const callId = toolCall.callId || toolCall.id || '';
|
|
32
|
+
return callId === toolCall.callId ? toolCall : { ...toolCall, callId };
|
|
33
|
+
}
|
|
34
|
+
function getStartedResponseId(event) {
|
|
35
|
+
const response = event.providerData?.response;
|
|
36
|
+
if (typeof response !== 'object' || response === null) {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
const responseId = response.id;
|
|
40
|
+
return typeof responseId === 'string' ? responseId : undefined;
|
|
41
|
+
}
|
|
22
42
|
function toErrorMessage(error) {
|
|
23
43
|
return error instanceof Error ? error.message : String(error);
|
|
24
44
|
}
|
|
@@ -61,6 +81,9 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
61
81
|
#transport;
|
|
62
82
|
#currentAgent;
|
|
63
83
|
#currentTools;
|
|
84
|
+
#currentDispatchSnapshot;
|
|
85
|
+
#responseDispatchSnapshots = new Map();
|
|
86
|
+
#pendingFunctionCalls = new Map();
|
|
64
87
|
#context;
|
|
65
88
|
#outputGuardrails = [];
|
|
66
89
|
#outputGuardrailSettings;
|
|
@@ -81,6 +104,7 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
81
104
|
// transport defaults causing issues for integrations like Twilio.
|
|
82
105
|
#lastSessionConfig = cloneDefaultSessionConfig();
|
|
83
106
|
#automaticallyTriggerResponseForMcpToolCalls = true;
|
|
107
|
+
#toolExecution;
|
|
84
108
|
#eventListenersAttached = false;
|
|
85
109
|
constructor(initialAgent, options = {}) {
|
|
86
110
|
super();
|
|
@@ -107,6 +131,7 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
107
131
|
this.#shouldIncludeAudioData = options.historyStoreAudio ?? false;
|
|
108
132
|
this.#automaticallyTriggerResponseForMcpToolCalls =
|
|
109
133
|
options.automaticallyTriggerResponseForMcpToolCalls ?? true;
|
|
134
|
+
this.#toolExecution = validateRealtimeToolExecutionConfig(options.toolExecution);
|
|
110
135
|
}
|
|
111
136
|
/**
|
|
112
137
|
* The transport layer used by the session.
|
|
@@ -148,23 +173,52 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
148
173
|
get availableMcpTools() {
|
|
149
174
|
return this.#availableMcpTools;
|
|
150
175
|
}
|
|
151
|
-
async #
|
|
152
|
-
|
|
153
|
-
|
|
176
|
+
async #prepareAgent(agent) {
|
|
177
|
+
const [handoffs, agentTools] = await Promise.all([
|
|
178
|
+
agent.getEnabledHandoffs(this.#context),
|
|
179
|
+
agent.getAllTools(this.#context),
|
|
180
|
+
]);
|
|
154
181
|
const handoffTools = handoffs.map((handoff) => handoff.getHandoffAsFunctionTool());
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
const hasToolsDefined = typeof
|
|
159
|
-
typeof
|
|
182
|
+
const realtimeTools = agentTools.filter(tool_1.isValidRealtimeTool);
|
|
183
|
+
const functionTools = realtimeTools.filter((tool) => tool.type === 'function');
|
|
184
|
+
(0, tool_1.validateRealtimeToolNames)(functionTools, handoffs);
|
|
185
|
+
const hasToolsDefined = typeof agent.tools !== 'undefined' ||
|
|
186
|
+
typeof agent.mcpServers !== 'undefined';
|
|
160
187
|
const hasHandoffsDefined = handoffs.length > 0;
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
188
|
+
return {
|
|
189
|
+
agent,
|
|
190
|
+
toolDefinitions: hasToolsDefined || hasHandoffsDefined
|
|
191
|
+
? [...realtimeTools.map(tool_1.toRealtimeToolDefinition), ...handoffTools]
|
|
192
|
+
: undefined,
|
|
193
|
+
dispatchSnapshot: {
|
|
194
|
+
agent,
|
|
195
|
+
functionTools,
|
|
196
|
+
handoffs,
|
|
197
|
+
},
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
#applyPreparedAgent(prepared) {
|
|
201
|
+
this.#currentAgent = prepared.agent;
|
|
202
|
+
this.#currentTools = prepared.toolDefinitions;
|
|
203
|
+
this.#currentDispatchSnapshot = prepared.dispatchSnapshot;
|
|
165
204
|
// Recompute currently available MCP tools based on the new agent's active server labels.
|
|
166
205
|
this.#updateAvailableMcpTools();
|
|
167
206
|
}
|
|
207
|
+
async #setCurrentAgent(agent) {
|
|
208
|
+
const prepared = await this.#prepareAgent(agent);
|
|
209
|
+
this.#applyPreparedAgent(prepared);
|
|
210
|
+
}
|
|
211
|
+
#captureResponseDispatchSnapshot(responseId) {
|
|
212
|
+
const existingSnapshot = this.#responseDispatchSnapshots.get(responseId);
|
|
213
|
+
if (existingSnapshot) {
|
|
214
|
+
return existingSnapshot;
|
|
215
|
+
}
|
|
216
|
+
const snapshot = this.#currentDispatchSnapshot;
|
|
217
|
+
if (snapshot) {
|
|
218
|
+
this.#responseDispatchSnapshots.set(responseId, snapshot);
|
|
219
|
+
}
|
|
220
|
+
return snapshot;
|
|
221
|
+
}
|
|
168
222
|
async #getSessionConfig(additionalConfig = {}) {
|
|
169
223
|
const overridesConfig = additionalConfig ?? {};
|
|
170
224
|
const optionsConfig = this.options.config ?? {};
|
|
@@ -271,18 +325,20 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
271
325
|
}
|
|
272
326
|
}
|
|
273
327
|
async updateAgent(newAgent) {
|
|
328
|
+
const prepared = await this.#prepareAgent(newAgent);
|
|
274
329
|
this.#currentAgent.emit('agent_handoff', this.#context, newAgent);
|
|
275
330
|
this.emit('agent_handoff', this.#context, this.#currentAgent, newAgent);
|
|
276
|
-
|
|
331
|
+
this.#applyPreparedAgent(prepared);
|
|
277
332
|
await this.#transport.updateSessionConfig(await this.#getSessionConfig());
|
|
278
333
|
return newAgent;
|
|
279
334
|
}
|
|
280
|
-
async #handleHandoff(toolCall, handoff) {
|
|
335
|
+
async #handleHandoff(toolCall, handoff, sourceAgent) {
|
|
281
336
|
const newAgent = (await handoff.onInvokeHandoff(this.#context, toolCall.arguments));
|
|
282
|
-
this.#
|
|
283
|
-
|
|
337
|
+
const prepared = await this.#prepareAgent(newAgent);
|
|
338
|
+
sourceAgent.emit('agent_handoff', this.#context, newAgent);
|
|
339
|
+
this.emit('agent_handoff', this.#context, sourceAgent, newAgent);
|
|
284
340
|
// update session with new agent
|
|
285
|
-
|
|
341
|
+
this.#applyPreparedAgent(prepared);
|
|
286
342
|
await this.#transport.updateSessionConfig(await this.#getSessionConfig());
|
|
287
343
|
const output = (0, agents_core_1.getTransferMessage)(newAgent);
|
|
288
344
|
this.#transport.sendFunctionCallOutput(toolCall, output, true);
|
|
@@ -319,7 +375,8 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
319
375
|
}
|
|
320
376
|
return TOOL_APPROVAL_REJECTION_MESSAGE;
|
|
321
377
|
}
|
|
322
|
-
async #handleFunctionToolCall(
|
|
378
|
+
async #handleFunctionToolCall(incomingToolCall, tool, agent, dispatchSnapshot) {
|
|
379
|
+
const toolCall = normalizeRealtimeFunctionCallId(incomingToolCall);
|
|
323
380
|
this.#context.context.history = JSON.parse(JSON.stringify(this.#history)); // deep copy of the history
|
|
324
381
|
let parsedArgs = toolCall.arguments;
|
|
325
382
|
if (tool.parameters) {
|
|
@@ -337,39 +394,63 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
337
394
|
callId: toolCall.callId,
|
|
338
395
|
});
|
|
339
396
|
if (approval === false) {
|
|
340
|
-
this.
|
|
397
|
+
this.#pendingFunctionCalls.delete(toolCall.callId);
|
|
398
|
+
this.emit('agent_tool_start', this.#context, agent, tool, {
|
|
341
399
|
toolCall,
|
|
342
400
|
});
|
|
343
|
-
|
|
401
|
+
agent.emit('agent_tool_start', this.#context, tool, {
|
|
344
402
|
toolCall,
|
|
345
403
|
});
|
|
346
404
|
const result = await this.#resolveApprovalRejectionMessage(tool.name, toolCall.callId);
|
|
347
405
|
this.#transport.sendFunctionCallOutput(toolCall, result, true);
|
|
348
|
-
this.emit('agent_tool_end', this.#context,
|
|
349
|
-
|
|
406
|
+
this.emit('agent_tool_end', this.#context, agent, tool, result, {
|
|
407
|
+
toolCall,
|
|
408
|
+
});
|
|
409
|
+
agent.emit('agent_tool_end', this.#context, tool, result, {
|
|
350
410
|
toolCall,
|
|
351
411
|
});
|
|
352
412
|
return;
|
|
353
413
|
}
|
|
354
414
|
else if (typeof approval === 'undefined') {
|
|
355
|
-
|
|
415
|
+
if (this.#toolExecution?.preApprovalInputGuardrails === true) {
|
|
416
|
+
const inputGuardrailResult = await (0, agents_core_2.runToolInputGuardrails)({
|
|
417
|
+
guardrails: tool.inputGuardrails,
|
|
418
|
+
context: this.#context,
|
|
419
|
+
agent,
|
|
420
|
+
toolCall: toolCall,
|
|
421
|
+
});
|
|
422
|
+
if (inputGuardrailResult.type === 'reject') {
|
|
423
|
+
this.#transport.sendFunctionCallOutput(toolCall, inputGuardrailResult.message, true);
|
|
424
|
+
return;
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
const approvalItem = new agents_core_1.RunToolApprovalItem(toolCall, agent);
|
|
428
|
+
this.#pendingFunctionCalls.set(toolCall.callId, {
|
|
429
|
+
toolCall,
|
|
430
|
+
tool,
|
|
431
|
+
agent,
|
|
432
|
+
dispatchSnapshot,
|
|
433
|
+
approvalItem,
|
|
434
|
+
});
|
|
435
|
+
this.emit('tool_approval_requested', this.#context, agent, {
|
|
356
436
|
type: 'function_approval',
|
|
357
437
|
tool,
|
|
358
|
-
approvalItem
|
|
438
|
+
approvalItem,
|
|
359
439
|
});
|
|
360
440
|
return;
|
|
361
441
|
}
|
|
362
442
|
}
|
|
443
|
+
this.#pendingFunctionCalls.delete(toolCall.callId);
|
|
363
444
|
const inputGuardrailResult = await (0, agents_core_2.runToolInputGuardrails)({
|
|
364
445
|
guardrails: tool.inputGuardrails,
|
|
365
446
|
context: this.#context,
|
|
366
|
-
agent
|
|
447
|
+
agent,
|
|
367
448
|
toolCall: toolCall,
|
|
368
449
|
});
|
|
369
|
-
this.emit('agent_tool_start', this.#context,
|
|
450
|
+
this.emit('agent_tool_start', this.#context, agent, tool, {
|
|
370
451
|
toolCall,
|
|
371
452
|
});
|
|
372
|
-
|
|
453
|
+
agent.emit('agent_tool_start', this.#context, tool, {
|
|
373
454
|
toolCall,
|
|
374
455
|
});
|
|
375
456
|
this.#context.context.history = JSON.parse(JSON.stringify(this.#history)); // deep copy of the history
|
|
@@ -388,7 +469,7 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
388
469
|
: await (0, agents_core_2.runToolOutputGuardrails)({
|
|
389
470
|
guardrails: tool.outputGuardrails,
|
|
390
471
|
context: this.#context,
|
|
391
|
-
agent
|
|
472
|
+
agent,
|
|
392
473
|
toolCall: toolCall,
|
|
393
474
|
toolOutput: result,
|
|
394
475
|
});
|
|
@@ -402,32 +483,45 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
402
483
|
stringResult = (0, utils_1.toSmartString)(guardedResult);
|
|
403
484
|
this.#transport.sendFunctionCallOutput(toolCall, stringResult, true);
|
|
404
485
|
}
|
|
405
|
-
this.emit('agent_tool_end', this.#context,
|
|
406
|
-
|
|
486
|
+
this.emit('agent_tool_end', this.#context, agent, tool, stringResult, {
|
|
487
|
+
toolCall,
|
|
488
|
+
});
|
|
489
|
+
agent.emit('agent_tool_end', this.#context, tool, stringResult, {
|
|
490
|
+
toolCall,
|
|
491
|
+
});
|
|
407
492
|
}
|
|
408
|
-
async #handleFunctionCall(toolCall) {
|
|
409
|
-
const
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
493
|
+
async #handleFunctionCall(toolCall, dispatchSnapshot) {
|
|
494
|
+
const [toolEnabled, handoffEnabled] = await Promise.all([
|
|
495
|
+
Promise.all(dispatchSnapshot.functionTools.map((tool) => tool.isEnabled(this.#context, dispatchSnapshot.agent))),
|
|
496
|
+
Promise.all(dispatchSnapshot.handoffs.map((handoff) => handoff.isEnabled({
|
|
497
|
+
runContext: this.#context,
|
|
498
|
+
agent: dispatchSnapshot.agent,
|
|
499
|
+
}))),
|
|
500
|
+
]);
|
|
501
|
+
const filteredSnapshot = {
|
|
502
|
+
agent: dispatchSnapshot.agent,
|
|
503
|
+
functionTools: dispatchSnapshot.functionTools.filter((_tool, index) => toolEnabled[index]),
|
|
504
|
+
handoffs: dispatchSnapshot.handoffs.filter((_handoff, index) => handoffEnabled[index]),
|
|
505
|
+
};
|
|
506
|
+
(0, tool_1.validateRealtimeToolNames)(filteredSnapshot.functionTools, filteredSnapshot.handoffs);
|
|
507
|
+
const functionToolMap = new Map(filteredSnapshot.functionTools.map((tool) => [tool.name, tool]));
|
|
508
|
+
const handoffMap = new Map(filteredSnapshot.handoffs.map((handoff) => [handoff.toolName, handoff]));
|
|
509
|
+
const functionTool = functionToolMap.get(toolCall.name);
|
|
510
|
+
if (functionTool) {
|
|
511
|
+
await this.#handleFunctionToolCall(toolCall, functionTool, filteredSnapshot.agent, filteredSnapshot);
|
|
512
|
+
return;
|
|
513
|
+
}
|
|
413
514
|
const possibleHandoff = handoffMap.get(toolCall.name);
|
|
414
515
|
if (possibleHandoff) {
|
|
415
|
-
await this.#handleHandoff(toolCall, possibleHandoff);
|
|
416
|
-
|
|
417
|
-
else {
|
|
418
|
-
const functionTool = functionToolMap.get(toolCall.name);
|
|
419
|
-
if (functionTool && functionTool.type === 'function') {
|
|
420
|
-
await this.#handleFunctionToolCall(toolCall, functionTool);
|
|
421
|
-
}
|
|
422
|
-
else {
|
|
423
|
-
const message = `Tool ${toolCall.name} not found`;
|
|
424
|
-
this.#transport.sendFunctionCallOutput(toolCall, message, false);
|
|
425
|
-
this.emit('error', {
|
|
426
|
-
type: 'error',
|
|
427
|
-
error: new agents_core_1.ModelBehaviorError(message),
|
|
428
|
-
});
|
|
429
|
-
}
|
|
516
|
+
await this.#handleHandoff(toolCall, possibleHandoff, filteredSnapshot.agent);
|
|
517
|
+
return;
|
|
430
518
|
}
|
|
519
|
+
const message = `Tool ${toolCall.name} not found`;
|
|
520
|
+
this.#transport.sendFunctionCallOutput(toolCall, message, false);
|
|
521
|
+
this.emit('error', {
|
|
522
|
+
type: 'error',
|
|
523
|
+
error: new agents_core_1.ModelBehaviorError(message),
|
|
524
|
+
});
|
|
431
525
|
}
|
|
432
526
|
async #runOutputGuardrails(output, responseId, itemId) {
|
|
433
527
|
if (this.#outputGuardrails.length === 0) {
|
|
@@ -492,8 +586,12 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
492
586
|
}
|
|
493
587
|
this.emit('audio', event);
|
|
494
588
|
});
|
|
495
|
-
this.#transport.on('turn_started', () => {
|
|
589
|
+
this.#transport.on('turn_started', (event) => {
|
|
496
590
|
this.#audioStarted = false;
|
|
591
|
+
const responseId = getStartedResponseId(event);
|
|
592
|
+
if (responseId) {
|
|
593
|
+
this.#captureResponseDispatchSnapshot(responseId);
|
|
594
|
+
}
|
|
497
595
|
this.emit('agent_start', this.#context, this.#currentAgent);
|
|
498
596
|
this.#currentAgent.emit('agent_start', this.#context, this.#currentAgent);
|
|
499
597
|
});
|
|
@@ -518,6 +616,7 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
518
616
|
this.emit('agent_end', this.#context, this.#currentAgent, textOutput);
|
|
519
617
|
this.#currentAgent.emit('agent_end', this.#context, textOutput);
|
|
520
618
|
this.#runOutputGuardrails(textOutput, event.response.id, itemId);
|
|
619
|
+
this.#responseDispatchSnapshots.delete(event.response.id);
|
|
521
620
|
});
|
|
522
621
|
this.#transport.on('audio_done', () => {
|
|
523
622
|
if (this.#audioStarted) {
|
|
@@ -593,7 +692,14 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
593
692
|
});
|
|
594
693
|
this.#transport.on('function_call', async (event) => {
|
|
595
694
|
try {
|
|
596
|
-
|
|
695
|
+
if (!event.responseId) {
|
|
696
|
+
throw new agents_core_1.ModelBehaviorError('Realtime function call is missing a responseId and cannot be dispatched safely.');
|
|
697
|
+
}
|
|
698
|
+
const dispatchSnapshot = this.#captureResponseDispatchSnapshot(event.responseId);
|
|
699
|
+
if (!dispatchSnapshot) {
|
|
700
|
+
throw new agents_core_1.ModelBehaviorError('Realtime tool dispatch is unavailable before the session tool configuration is resolved.');
|
|
701
|
+
}
|
|
702
|
+
await this.#handleFunctionCall(event, dispatchSnapshot);
|
|
597
703
|
}
|
|
598
704
|
catch (error) {
|
|
599
705
|
logger_1.default.error('Error handling function call', error);
|
|
@@ -684,6 +790,7 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
684
790
|
* @param options - The options for the connection.
|
|
685
791
|
*/
|
|
686
792
|
async connect(options) {
|
|
793
|
+
this.#responseDispatchSnapshots.clear();
|
|
687
794
|
// makes sure the current agent is correctly set and loads the tools
|
|
688
795
|
await this.#setCurrentAgent(this.initialAgent);
|
|
689
796
|
if (!this.#eventListenersAttached) {
|
|
@@ -744,6 +851,8 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
744
851
|
*/
|
|
745
852
|
close() {
|
|
746
853
|
this.#interruptedByGuardrail = {};
|
|
854
|
+
this.#pendingFunctionCalls.clear();
|
|
855
|
+
this.#responseDispatchSnapshots.clear();
|
|
747
856
|
this.#transport.close();
|
|
748
857
|
}
|
|
749
858
|
/**
|
|
@@ -762,6 +871,40 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
762
871
|
interrupt() {
|
|
763
872
|
this.#transport.interrupt();
|
|
764
873
|
}
|
|
874
|
+
#resolvePendingFunctionCall(approvalItem) {
|
|
875
|
+
if (approvalItem.rawItem.type !== 'function_call') {
|
|
876
|
+
return undefined;
|
|
877
|
+
}
|
|
878
|
+
const rawToolCall = approvalItem.rawItem;
|
|
879
|
+
if (typeof rawToolCall.responseId !== 'string') {
|
|
880
|
+
return undefined;
|
|
881
|
+
}
|
|
882
|
+
const toolCall = normalizeRealtimeFunctionCallId(rawToolCall);
|
|
883
|
+
const pending = this.#pendingFunctionCalls.get(toolCall.callId);
|
|
884
|
+
if (pending) {
|
|
885
|
+
return pending;
|
|
886
|
+
}
|
|
887
|
+
const agent = approvalItem.agent instanceof realtimeAgent_1.RealtimeAgent
|
|
888
|
+
? approvalItem.agent
|
|
889
|
+
: this.#currentAgent;
|
|
890
|
+
const toolName = approvalItem.toolName ?? approvalItem.rawItem.name;
|
|
891
|
+
const tool = agent.tools.find((candidate) => candidate.type === 'function' && candidate.name === toolName);
|
|
892
|
+
if (!tool) {
|
|
893
|
+
return undefined;
|
|
894
|
+
}
|
|
895
|
+
const dispatchSnapshot = this.#currentDispatchSnapshot?.agent === agent
|
|
896
|
+
? this.#currentDispatchSnapshot
|
|
897
|
+
: { agent, functionTools: [tool], handoffs: [] };
|
|
898
|
+
return {
|
|
899
|
+
toolCall,
|
|
900
|
+
tool,
|
|
901
|
+
agent,
|
|
902
|
+
dispatchSnapshot,
|
|
903
|
+
approvalItem: toolCall === approvalItem.rawItem
|
|
904
|
+
? approvalItem
|
|
905
|
+
: new agents_core_1.RunToolApprovalItem(toolCall, approvalItem.agent, approvalItem.toolName),
|
|
906
|
+
};
|
|
907
|
+
}
|
|
765
908
|
/**
|
|
766
909
|
* Approve a tool call. This will also trigger the tool call to the agent.
|
|
767
910
|
* @param approvalItem - The approval item to approve.
|
|
@@ -769,13 +912,12 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
769
912
|
* @param options.alwaysApprove - Whether to always approve the tool call.
|
|
770
913
|
*/
|
|
771
914
|
async approve(approvalItem, options = { alwaysApprove: false }) {
|
|
772
|
-
this.#
|
|
915
|
+
const pending = this.#resolvePendingFunctionCall(approvalItem);
|
|
916
|
+
this.#context.approveTool(pending?.approvalItem ?? approvalItem, options);
|
|
773
917
|
const toolName = approvalItem.toolName ?? approvalItem.rawItem.name;
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
approvalItem.rawItem.type === 'function_call') {
|
|
778
|
-
await this.#handleFunctionToolCall(approvalItem.rawItem, tool);
|
|
918
|
+
if (pending) {
|
|
919
|
+
this.#pendingFunctionCalls.delete(pending.toolCall.callId);
|
|
920
|
+
await this.#handleFunctionToolCall(pending.toolCall, pending.tool, pending.agent, pending.dispatchSnapshot);
|
|
779
921
|
}
|
|
780
922
|
else if (approvalItem.rawItem.type === 'hosted_tool_call') {
|
|
781
923
|
if (options.alwaysApprove) {
|
|
@@ -799,14 +941,13 @@ class RealtimeSession extends _shims_1.RuntimeEventEmitter {
|
|
|
799
941
|
async reject(approvalItem, options = {
|
|
800
942
|
alwaysReject: false,
|
|
801
943
|
}) {
|
|
802
|
-
this.#
|
|
944
|
+
const pending = this.#resolvePendingFunctionCall(approvalItem);
|
|
945
|
+
this.#context.rejectTool(pending?.approvalItem ?? approvalItem, options);
|
|
803
946
|
// we still need to simulate a tool call to the agent to let the agent know
|
|
804
947
|
const toolName = approvalItem.toolName ?? approvalItem.rawItem.name;
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
approvalItem.rawItem.type === 'function_call') {
|
|
809
|
-
await this.#handleFunctionToolCall(approvalItem.rawItem, tool);
|
|
948
|
+
if (pending) {
|
|
949
|
+
this.#pendingFunctionCalls.delete(pending.toolCall.callId);
|
|
950
|
+
await this.#handleFunctionToolCall(pending.toolCall, pending.tool, pending.agent, pending.dispatchSnapshot);
|
|
810
951
|
}
|
|
811
952
|
else if (approvalItem.rawItem.type === 'hosted_tool_call') {
|
|
812
953
|
if (options.alwaysReject) {
|