@zhivex-ai/openai 0.8.1 → 0.9.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,CAAC,EAAE,MAAM,KAAK,CAAC;AAStC,OAAO,EA2BL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAQ5B,KAAK,SAAS,EAKd,KAAK,eAAe,EAEpB,KAAK,yBAAyB,EAO9B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EAGzB,MAAM,iBAAiB,CAAC;AAOzB,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,gGAAgG;IAChG,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,+FAA+F;IAC/F,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AA6BD,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACvC;AAED,MAAM,WAAW,6BAA6B;IAC5C,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mDAAmD;IACnD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;IAC3D,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,YAAY,GAAG,uBAAuB,CAAC;IAC9C,mBAAmB,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACpE,aAAa,CAAC,EAAE;QACd,IAAI,EAAE,aAAa,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;KAC5B,CAAC;IACF,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,EAAE,GAAG,mBAAmB,CAAC;AACnE,MAAM,MAAM,wBAAwB,GAChC,OAAO,GACP,QAAQ,GACR;IACE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AAEN,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,iBAAiB,GACjB,0BAA0B,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,2BAA2B,GAC3B,wBAAwB,GACxB,sBAAsB,CAAC;AAE3B,KAAK,+BAA+B,GAAG;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,eAAe,CAAC,EAAE,4BAA4B,EAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC,CAAC,+BAA+B,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC,GACF,CAAC,+BAA+B,GAAG;IACjC,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,YAAY,EAAE,iBAAiB,CAAC;CACjC,CAAC,CAAC;AAEP,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,SAAS,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,qBAAqB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,CACP,KAAK,EAAE,uBAAuB,KAC3B,OAAO,CAAC,8BAA8B,CAAC,GAAG,8BAA8B,CAAC;CAC/E;AAED,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EACL,MAAM,GACN;QACE,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;QAC3C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACN,eAAe,CAAC,EAAE,4BAA4B,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAChD,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,OAAO,CAAC,EAAE,CACR,KAAK,EAAE,oBAAoB,KACxB,OAAO,CAAC,qBAAqB,GAAG,qBAAqB,EAAE,CAAC,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,CAAC;CACjH;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC3F,cAAc,CAAC,EAAE,8BAA8B,CAAC;CACjD,GACD;IACE,IAAI,EAAE,qBAAqB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC,CAAC;IAC3F,cAAc,CAAC,EAAE,8BAA8B,CAAC;CACjD,CAAC;AAEN,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,WAAW,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtE;AAED,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,GAAG,2BAA2B,CAAC;AAEhG,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,4BAA4B,CAAC;IAC1C,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAChD,cAAc,EAAE,CAAC,SAAS,EAAE,yBAAyB,KAAK,OAAO,CAAC,0BAA0B,CAAC,GAAG,0BAA0B,CAAC;CAC5H;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,yBAAyB,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,4BAA4B,GAAG,QAAQ,GAAG,cAAc,CAAC;AAErE,MAAM,WAAW,6BAA6B;IAC5C,cAAc,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAChD,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC;IAC/B,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAoCD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;CAC5E;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,eAAO,MAAM,4BAA4B,wBAAwB,CAAC;AAElE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,gBAAgB,GAAG,sBAAsB,GAAG,uBAAuB,GAAG,UAAU,CAAC;IACvF,MAAM,EACF,aAAa,GACb,WAAW,GACX,QAAQ,GACR,mBAAmB,GACnB,UAAU,GACV,UAAU,GACV,iBAAiB,GACjB,gBAAgB,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,sCAAsC;IACrD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,yBAAyB,CAAC;IAChC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GACtB,wBAAwB,GACxB,yBAAyB,GACzB,aAAa,GACb,kBAAkB,GAClB,+BAA+B,GAC/B,yBAAyB,CAAC;AAE9B,MAAM,WAAW,0BAA0B;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,wBAAwB,CAAC;IAChD,sBAAsB,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAC7C,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EACR,MAAM,GACN,MAAM,GACN,UAAU,GACV;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAChD;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAClC;QAAE,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC;IACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAkwFD,eAAO,MAAM,YAAY,GACvB,UAAS,qBAA0B,KAClC,uBAAuB,GAAG,eAAe,GAAG;IAAE,QAAQ,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CA+BjF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAQ,yBAA8B,8DAOtE,CAAC;AAEL,eAAO,MAAM,oBAAoB,GAAI,SAAQ,0BAA+B,8DAOxE,CAAC;AAEL,eAAO,MAAM,yBAAyB,GAAI,QAAQ,+BAA+B,8DAO7E,CAAC;AAEL,eAAO,MAAM,oBAAoB,GAAI,SAAQ,0BAA+B,8DAOxE,CAAC;AAEL,eAAO,MAAM,iCAAiC,iEAM1C,CAAC;AAEL,eAAO,MAAM,sBAAsB,GAAI,OAAO,SAAS,CAAC,CAAC,UAAU,EAAE,OAAO,EAC1E,YAAY,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,EAC5C,UAAS,6BAAkC,KAC1C,cAAc,CAAC,OAAO,EAAE,OAAO,CAShC,CAAC;AAEH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,yBAAyB,8DAQjE,CAAC;AAEL,eAAO,MAAM,yBAAyB,GAAI,UAAU,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,0CAIvF,CAAC;AAEL,eAAO,MAAM,+BAA+B,GAC1C,UAAU,sCAAsC,KAC/C,mBAmBD,CAAC;AAEH,eAAO,MAAM,2BAA2B,6CAIpC,CAAC;AAEL,eAAO,MAAM,qBAAqB,GAAI,QAAQ,2BAA2B,8DAOrE,CAAC;AAEL,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,wBAAwB,KAC/B,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAkB7D,CAAC;AAwEH,eAAO,MAAM,qBAAqB,GAAI,QAAQ,2BAA2B,8DAUrE,CAAC;AAEL,eAAO,MAAM,eAAe,GAAI,SAAQ,qBAA0B,KAAG,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,SAAS,CA2B5H,CAAC;AAaH,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,0BAA0B,KACjC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,SAAS,CAoB/D,CAAC;AAEH,cAAc,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,22 @@
1
1
  import { toJSONSchema, z } from "zod";
2
- import { CallbackRealtimeSession, ConfigurationError, ProviderHTTPError, readBodyWithLimit, readErrorBodyWithLimit, readJsonWithLimit, resolveAudioResponseLimits, openWebSocketConnection, hostedTool, providerDataPart, UnsupportedFeatureError, createProviderAdapter, encodeAudioFrame, encodeMediaFrame, isCallableToolDefinition, isHostedToolDefinition, normalizeFinishReason, streamSSE, toToolSet, toolResultPayload, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
2
+ import { createOpenAIImageGenerationModel, normalizeOpenAIImageGenerationCall, normalizeOpenAIImageGenerationPartialImage } from "./image-generation.js";
3
+ import { CallbackRealtimeSession, ConfigurationError, ProviderHTTPError, ProviderResponseTooLargeError, readBodyWithLimit, readErrorBodyWithLimit, readJsonWithLimit, resolveAudioResponseLimits, openWebSocketConnection, hostedTool, providerDataPart, UnsupportedFeatureError, createProviderAdapter, encodeAudioFrame, encodeMediaFrame, isCallableToolDefinition, isHostedToolDefinition, normalizeFinishReason, streamSSE, toToolSet, toolResultPayload, withRetry, withTimeoutSignal } from "@zhivex-ai/core";
4
+ const MIB = 1024 * 1024;
5
+ const DEFAULT_HOSTED_IMAGE_EVENT_BYTES = 32 * MIB;
6
+ const DEFAULT_HOSTED_IMAGE_TOTAL_BYTES = 128 * MIB;
7
+ const HOSTED_IMAGE_EVENT_JSON_OVERHEAD_CHARS = MIB;
8
+ const normalizeOpenAIResponseLimit = (value, fallback, name) => {
9
+ const resolved = value ?? fallback;
10
+ if (!Number.isSafeInteger(resolved) || resolved <= 0) {
11
+ throw new ConfigurationError(`The "${name}" response limit must be a positive safe integer.`);
12
+ }
13
+ return resolved;
14
+ };
15
+ const resolveOpenAIResponseLimits = (limits = {}) => ({
16
+ ...resolveAudioResponseLimits(limits),
17
+ hostedImageEventBytes: normalizeOpenAIResponseLimit(limits.hostedImageEventBytes, DEFAULT_HOSTED_IMAGE_EVENT_BYTES, "hostedImageEventBytes"),
18
+ hostedImageTotalBytes: normalizeOpenAIResponseLimit(limits.hostedImageTotalBytes, DEFAULT_HOSTED_IMAGE_TOTAL_BYTES, "hostedImageTotalBytes")
19
+ });
3
20
  const openAIResponsesToolMetadataKey = "openai.responses_tool_type";
4
21
  const openAIResponsesFunctionConfigMetadataKey = "openai.responses_function_config";
5
22
  const openAIResponsesFunctionConfig = (tool) => {
@@ -27,6 +44,7 @@ const assertOpenAIToolPathInsideRoot = async (rootDir, targetPath, label) => {
27
44
  }
28
45
  return target;
29
46
  };
47
+ export const openAIRealtimeMcpMetadataKey = "openai.realtime_mcp";
30
48
  const capabilities = {
31
49
  streaming: true,
32
50
  tools: true,
@@ -154,17 +172,38 @@ const inferOpenAIRealtimeMode = (modelId, mode) => {
154
172
  }
155
173
  return "conversation";
156
174
  };
157
- const openAIRealtimeSupportsImageInput = (modelId) => /^(?:gpt-realtime|gpt-realtime-mini|gpt-realtime-1\.5|gpt-realtime-2)(?:-\d{4}-\d{2}-\d{2}|@.*)?$/.test(modelId);
175
+ const isOpenAIRealtimeReasoningModel = (modelId) => /^gpt-realtime-2(?:\.1(?:-mini)?)?(?:-\d{4}-\d{2}-\d{2}|@.*)?$/.test(modelId);
176
+ const openAIRealtimeSupportsImageInput = (modelId) => /^(?:gpt-realtime|gpt-realtime-mini|gpt-realtime-1\.5|gpt-realtime-2(?:\.1(?:-mini)?)?)(?:-\d{4}-\d{2}-\d{2}|@.*)?$/.test(modelId);
158
177
  const realtimeCapabilities = (modelId) => ({
159
178
  ...capabilities,
160
179
  streaming: false,
180
+ structuredOutput: false,
181
+ jsonMode: false,
182
+ embeddings: false,
161
183
  audioInput: true,
162
184
  audioOutput: !isOpenAIRealtimeTranscriptionModel(modelId),
163
185
  tools: !isOpenAIRealtimeTranslationModel(modelId) && !isOpenAIRealtimeTranscriptionModel(modelId),
164
186
  toolChoice: !isOpenAIRealtimeTranslationModel(modelId) && !isOpenAIRealtimeTranscriptionModel(modelId),
165
187
  parallelToolCalls: !isOpenAIRealtimeTranslationModel(modelId) && !isOpenAIRealtimeTranscriptionModel(modelId),
166
188
  vision: openAIRealtimeSupportsImageInput(modelId),
167
- reasoning: /^gpt-realtime-2(?:[-@]|$)/.test(modelId),
189
+ reasoning: isOpenAIRealtimeReasoningModel(modelId),
190
+ webSearch: false,
191
+ agentCapabilities: {
192
+ ...capabilities.agentCapabilities,
193
+ supportTier: isOpenAIRealtimeTranslationModel(modelId) || isOpenAIRealtimeTranscriptionModel(modelId) ? "tier-c" : "tier-a",
194
+ toolChoiceNone: !isOpenAIRealtimeTranslationModel(modelId) && !isOpenAIRealtimeTranscriptionModel(modelId),
195
+ approvalRequests: !isOpenAIRealtimeTranslationModel(modelId) && !isOpenAIRealtimeTranscriptionModel(modelId),
196
+ hostedWebSearch: false,
197
+ hostedFileSearch: false,
198
+ remoteMcp: !isOpenAIRealtimeTranslationModel(modelId) && !isOpenAIRealtimeTranscriptionModel(modelId),
199
+ computerUse: false,
200
+ codeExecution: false,
201
+ shell: false,
202
+ applyPatch: false,
203
+ toolSearch: false,
204
+ skills: false,
205
+ toolsets: false
206
+ },
168
207
  realtime: {
169
208
  sessions: true,
170
209
  audioInput: true,
@@ -178,6 +217,28 @@ const jsonHeaders = (apiKey) => ({
178
217
  "content-type": "application/json",
179
218
  authorization: `Bearer ${apiKey}`
180
219
  });
220
+ const resolveOpenAIRealtimeHeaders = (apiKey, providerOptions, includeContentType = false) => {
221
+ const rawHeaders = providerOptions?.headers;
222
+ const customHeaders = rawHeaders && typeof rawHeaders === "object" && !Array.isArray(rawHeaders)
223
+ ? { ...rawHeaders }
224
+ : {};
225
+ const safetyIdentifier = providerOptions?.safety_identifier;
226
+ for (const key of Object.keys(customHeaders)) {
227
+ const normalizedKey = key.toLowerCase();
228
+ if (normalizedKey === "authorization" ||
229
+ normalizedKey === "content-type" ||
230
+ (typeof safetyIdentifier === "string" && safetyIdentifier && normalizedKey === "openai-safety-identifier")) {
231
+ delete customHeaders[key];
232
+ }
233
+ }
234
+ return {
235
+ ...(includeContentType ? jsonHeaders(apiKey) : { authorization: `Bearer ${apiKey}` }),
236
+ ...customHeaders,
237
+ ...(typeof safetyIdentifier === "string" && safetyIdentifier
238
+ ? { "OpenAI-Safety-Identifier": safetyIdentifier }
239
+ : {})
240
+ };
241
+ };
181
242
  const resolveOpenAILanguageRequestOptions = (providerOptions, apiKey) => {
182
243
  const bodyOptions = { ...(providerOptions ?? {}) };
183
244
  const apiMode = bodyOptions.apiMode ?? "auto";
@@ -391,6 +452,25 @@ const localResponsesTools = (tools) => new Map(Object.values(tools ?? {})
391
452
  .filter(isCallableToolDefinition)
392
453
  .map((tool) => [openAILocalResponsesToolType(tool), tool.name])
393
454
  .filter((entry) => Boolean(entry[0])));
455
+ const responsesImageGenerationConfig = (tools, limits) => {
456
+ const definition = Object.values(tools ?? {}).find((tool) => isHostedToolDefinition(tool) && tool.provider === "openai" && tool.type === "image_generation");
457
+ if (!definition || !isHostedToolDefinition(definition)) {
458
+ return undefined;
459
+ }
460
+ const outputFormat = definition.config && typeof definition.config === "object" &&
461
+ ["png", "jpeg", "webp"].includes(String(definition.config.output_format))
462
+ ? definition.config.output_format
463
+ : "png";
464
+ return {
465
+ outputFormat,
466
+ ...(limits
467
+ ? {
468
+ eventMaxBytes: limits.hostedImageEventBytes,
469
+ totalMaxBytes: limits.hostedImageTotalBytes
470
+ }
471
+ : {})
472
+ };
473
+ };
394
474
  const assertResponsesToolsSupported = (modelId, tools) => {
395
475
  const currentCapabilities = modelCapabilities(modelId).agentCapabilities;
396
476
  for (const definition of Object.values(tools ?? {})) {
@@ -449,6 +529,28 @@ const mapTools = (input) => input
449
529
  };
450
530
  })
451
531
  : undefined;
532
+ const mapRealtimeTools = (input) => input
533
+ ? Object.values(input).map((tool) => {
534
+ if (isCallableToolDefinition(tool)) {
535
+ return {
536
+ type: "function",
537
+ name: tool.name,
538
+ description: tool.description,
539
+ parameters: toJSONSchema(tool.schema)
540
+ };
541
+ }
542
+ if (tool.provider && tool.provider !== "openai") {
543
+ throw new UnsupportedFeatureError(`Provider "openai" does not support hosted tools declared for provider "${tool.provider}".`);
544
+ }
545
+ if (tool.type !== "mcp") {
546
+ throw new UnsupportedFeatureError(`Provider "openai" Realtime does not support the hosted tool type "${tool.type}". Use function or MCP tools.`);
547
+ }
548
+ return {
549
+ type: tool.type,
550
+ ...(tool.config && typeof tool.config === "object" ? tool.config : {})
551
+ };
552
+ })
553
+ : undefined;
452
554
  const mapResponsesTools = (input) => input
453
555
  ? Object.values(input).map((tool) => {
454
556
  if (isCallableToolDefinition(tool)) {
@@ -499,11 +601,20 @@ const mapResponsesToolChoice = (toolChoice) => {
499
601
  name: toolChoice.toolName
500
602
  };
501
603
  };
604
+ const mapRealtimeToolChoice = (toolChoice) => {
605
+ if (!toolChoice || typeof toolChoice === "string") {
606
+ return toolChoice;
607
+ }
608
+ return {
609
+ type: "function",
610
+ name: toolChoice.toolName
611
+ };
612
+ };
502
613
  const mapRealtimeProviderOptions = (providerOptions) => {
503
614
  if (!providerOptions) {
504
615
  return {};
505
616
  }
506
- return Object.fromEntries(Object.entries(providerOptions).filter(([key]) => !["headers", "realtime_url", "realtime_query", "expires_after"].includes(key)));
617
+ return Object.fromEntries(Object.entries(providerOptions).filter(([key]) => !["headers", "safety_identifier", "realtime_url", "realtime_query", "expires_after"].includes(key)));
507
618
  };
508
619
  const mapRealtimeAudioFormat = (mediaType, sampleRateHz) => mediaType || sampleRateHz
509
620
  ? {
@@ -513,7 +624,7 @@ const mapRealtimeAudioFormat = (mediaType, sampleRateHz) => mediaType || sampleR
513
624
  : undefined;
514
625
  const mapRealtimeSessionConfig = (config, modelId) => {
515
626
  const mode = inferOpenAIRealtimeMode(modelId ?? "", config.mode);
516
- const tools = mapTools(toToolSet(config.tools));
627
+ const tools = mapRealtimeTools(toToolSet(config.tools));
517
628
  const audio = {
518
629
  input: {
519
630
  format: mapRealtimeAudioFormat(config.inputAudioMediaType, config.inputSampleRateHz),
@@ -543,7 +654,7 @@ const mapRealtimeSessionConfig = (config, modelId) => {
543
654
  instructions: config.translation?.instructions ?? config.instructions,
544
655
  output_modalities: mode === "transcription" ? undefined : config.outputAudioMediaType || config.voice || mode === "translation" ? ["audio"] : ["text"],
545
656
  tools: mode === "conversation" ? tools : undefined,
546
- tool_choice: mode === "conversation" && config.toolChoice ? mapToolChoice(config.toolChoice) : undefined,
657
+ tool_choice: mode === "conversation" && config.toolChoice ? mapRealtimeToolChoice(config.toolChoice) : undefined,
547
658
  reasoning: mode === "conversation" && config.reasoning?.effort
548
659
  ? {
549
660
  effort: config.reasoning.effort
@@ -581,11 +692,124 @@ const openAIRealtimeURL = (baseURL, modelId, mode, providerOptions) => {
581
692
  return url.toString();
582
693
  };
583
694
  const parseRealtimeProviderMetadata = (payload) => payload;
695
+ const parseRealtimeJsonValue = (value) => {
696
+ if (typeof value === "string") {
697
+ try {
698
+ return JSON.parse(value);
699
+ }
700
+ catch {
701
+ return value;
702
+ }
703
+ }
704
+ return value == null ? null : value;
705
+ };
706
+ const openAIRealtimeMcpProviderDataEvent = (payload, data) => [
707
+ {
708
+ type: "realtime-provider-data",
709
+ provider: "openai",
710
+ data: {
711
+ ...data,
712
+ raw_event: payload
713
+ }
714
+ }
715
+ ];
716
+ const openAIRealtimeMcpCommonData = (payload, item) => {
717
+ const itemId = typeof payload.item_id === "string" ? payload.item_id : typeof item?.id === "string" ? item.id : undefined;
718
+ const serverLabel = typeof payload.server_label === "string"
719
+ ? payload.server_label
720
+ : typeof item?.server_label === "string"
721
+ ? item.server_label
722
+ : undefined;
723
+ const name = typeof payload.name === "string" ? payload.name : typeof item?.name === "string" ? item.name : undefined;
724
+ return {
725
+ ...(itemId ? { item_id: itemId } : {}),
726
+ ...(serverLabel ? { server_label: serverLabel } : {}),
727
+ ...(name ? { name } : {})
728
+ };
729
+ };
584
730
  const parseOpenAIRealtimeEvent = (payload) => {
585
731
  const type = String(payload.type ?? "");
586
732
  if (type === "session.created" || type === "session.updated") {
587
733
  return [];
588
734
  }
735
+ if (type === "mcp_list_tools.in_progress" || type === "mcp_list_tools.completed" || type === "mcp_list_tools.failed") {
736
+ const status = type.slice("mcp_list_tools.".length);
737
+ return openAIRealtimeMcpProviderDataEvent(payload, {
738
+ type: "mcp_list_tools",
739
+ status,
740
+ ...openAIRealtimeMcpCommonData(payload),
741
+ ...(payload.error !== undefined ? { error: parseRealtimeJsonValue(payload.error) } : {})
742
+ });
743
+ }
744
+ if (type === "conversation.item.done") {
745
+ const item = payload.item && typeof payload.item === "object" ? payload.item : undefined;
746
+ if (item?.type === "mcp_list_tools") {
747
+ return openAIRealtimeMcpProviderDataEvent(payload, {
748
+ type: "mcp_list_tools",
749
+ status: "completed",
750
+ ...openAIRealtimeMcpCommonData(payload, item),
751
+ ...(item.tools !== undefined ? { tools: parseRealtimeJsonValue(item.tools) } : {})
752
+ });
753
+ }
754
+ if (item?.type === "mcp_approval_request") {
755
+ const approvalRequestId = typeof item.id === "string" ? item.id : undefined;
756
+ return openAIRealtimeMcpProviderDataEvent(payload, {
757
+ type: "mcp_approval_request",
758
+ status: "approval_required",
759
+ ...openAIRealtimeMcpCommonData(payload, item),
760
+ ...(approvalRequestId ? { approval_request_id: approvalRequestId } : {}),
761
+ ...(item.arguments !== undefined ? { arguments: parseRealtimeJsonValue(item.arguments) } : {})
762
+ });
763
+ }
764
+ if (item?.type === "mcp_approval_response") {
765
+ const approve = item.approve === true;
766
+ return openAIRealtimeMcpProviderDataEvent(payload, {
767
+ type: "mcp_approval_response",
768
+ status: approve ? "approved" : "rejected",
769
+ approve,
770
+ ...openAIRealtimeMcpCommonData(payload, item),
771
+ ...(typeof item.approval_request_id === "string" ? { approval_request_id: item.approval_request_id } : {}),
772
+ ...(typeof item.reason === "string" ? { reason: item.reason } : {})
773
+ });
774
+ }
775
+ }
776
+ if (type === "response.mcp_call_arguments.delta" || type === "response.mcp_call_arguments.done") {
777
+ const isDone = type.endsWith(".done");
778
+ return openAIRealtimeMcpProviderDataEvent(payload, {
779
+ type: "mcp_call",
780
+ status: isDone ? "arguments_done" : "arguments_delta",
781
+ ...openAIRealtimeMcpCommonData(payload),
782
+ ...(isDone && payload.arguments !== undefined
783
+ ? { arguments: parseRealtimeJsonValue(payload.arguments) }
784
+ : payload.delta !== undefined
785
+ ? { delta: parseRealtimeJsonValue(payload.delta) }
786
+ : {})
787
+ });
788
+ }
789
+ if (type === "response.mcp_call.in_progress" || type === "response.mcp_call.completed" || type === "response.mcp_call.failed") {
790
+ const status = type.slice("response.mcp_call.".length);
791
+ return openAIRealtimeMcpProviderDataEvent(payload, {
792
+ type: "mcp_call",
793
+ status,
794
+ ...openAIRealtimeMcpCommonData(payload),
795
+ ...(payload.output !== undefined ? { output: parseRealtimeJsonValue(payload.output) } : {}),
796
+ ...(payload.error !== undefined ? { error: parseRealtimeJsonValue(payload.error) } : {})
797
+ });
798
+ }
799
+ if (type === "response.output_item.done") {
800
+ const item = payload.item && typeof payload.item === "object" ? payload.item : undefined;
801
+ if (item?.type === "mcp_call") {
802
+ return openAIRealtimeMcpProviderDataEvent(payload, {
803
+ type: "mcp_call",
804
+ status: item.status === "failed" ? "failed" : "completed",
805
+ ...openAIRealtimeMcpCommonData(payload, item),
806
+ ...(item.arguments !== undefined ? { arguments: parseRealtimeJsonValue(item.arguments) } : {}),
807
+ ...(item.output !== undefined ? { output: parseRealtimeJsonValue(item.output) } : {}),
808
+ ...(item.error !== undefined ? { error: parseRealtimeJsonValue(item.error) } : {}),
809
+ ...(typeof item.approval_request_id === "string" ? { approval_request_id: item.approval_request_id } : {})
810
+ });
811
+ }
812
+ }
589
813
  if (type === "response.text.delta" || type === "response.output_text.delta") {
590
814
  return [
591
815
  {
@@ -915,7 +1139,7 @@ const parseResponsesProviderData = (item) => {
915
1139
  }
916
1140
  const typedItem = item;
917
1141
  if (typeof typedItem.type !== "string" ||
918
- ["message", "function_call"].includes(typedItem.type)) {
1142
+ ["message", "function_call", "image_generation_call"].includes(typedItem.type)) {
919
1143
  return undefined;
920
1144
  }
921
1145
  return item;
@@ -1159,6 +1383,10 @@ const parseResponsesAssistantMessage = (json, multiAgentEnabled = false, localTo
1159
1383
  parts
1160
1384
  };
1161
1385
  };
1386
+ const extractResponsesImageOutputs = (response, outputFormat = "png") => (Array.isArray(response.output) ? response.output : []).flatMap((item) => {
1387
+ const normalized = normalizeOpenAIImageGenerationCall(item, outputFormat);
1388
+ return normalized?.image ? [normalized.image] : [];
1389
+ });
1162
1390
  const normalizeResponsesFinishReason = (status, hasToolCalls, hasRefusal = false) => {
1163
1391
  if (hasToolCalls) {
1164
1392
  return "tool-calls";
@@ -1209,11 +1437,26 @@ const addTokenUsage = (left, right) => {
1209
1437
  totalTokens: sum(left.totalTokens, right.totalTokens)
1210
1438
  };
1211
1439
  };
1212
- const streamResponses = async function* (response, multiAgentEnabled = false, localTools = new Map()) {
1440
+ const streamResponses = async function* (response, multiAgentEnabled = false, localTools = new Map(), imageGeneration) {
1213
1441
  const toolBuffers = new Map();
1214
1442
  const outputAgents = new Map();
1443
+ const hostedImageEventMaxBytes = imageGeneration?.eventMaxBytes ?? DEFAULT_HOSTED_IMAGE_EVENT_BYTES;
1444
+ const hostedImageTotalMaxBytes = imageGeneration?.totalMaxBytes ?? DEFAULT_HOSTED_IMAGE_TOTAL_BYTES;
1445
+ let hostedImageBytes = 0;
1215
1446
  let sawToolCalls = false;
1216
1447
  let sawRefusal = false;
1448
+ const recordHostedImageBytes = (image) => {
1449
+ const receivedBytes = hostedImageBytes + (image.data?.byteLength ?? 0);
1450
+ if (receivedBytes > hostedImageTotalMaxBytes) {
1451
+ throw new ProviderResponseTooLargeError({
1452
+ maxBytes: hostedImageTotalMaxBytes,
1453
+ receivedBytes,
1454
+ provider: "openai",
1455
+ endpoint: "hosted image generation stream"
1456
+ });
1457
+ }
1458
+ hostedImageBytes = receivedBytes;
1459
+ };
1217
1460
  const emitToolCall = (key) => {
1218
1461
  const toolCall = toolBuffers.get(key);
1219
1462
  if (!toolCall || toolCall.emitted || !toolCall.name) {
@@ -1231,12 +1474,31 @@ const streamResponses = async function* (response, multiAgentEnabled = false, lo
1231
1474
  }
1232
1475
  };
1233
1476
  };
1234
- for await (const event of streamSSE(response)) {
1477
+ const maxHostedImageEventChars = Math.min(Number.MAX_SAFE_INTEGER, 4 * Math.ceil(hostedImageEventMaxBytes / 3) + HOSTED_IMAGE_EVENT_JSON_OVERHEAD_CHARS);
1478
+ for await (const event of streamSSE(response, imageGeneration
1479
+ ? { maxEventChars: maxHostedImageEventChars, maxBufferChars: maxHostedImageEventChars }
1480
+ : undefined)) {
1235
1481
  if (event.data === "[DONE]") {
1236
1482
  return;
1237
1483
  }
1238
1484
  const json = JSON.parse(event.data);
1239
1485
  const type = json.type;
1486
+ if (type === "response.image_generation_call.partial_image") {
1487
+ const normalized = normalizeOpenAIImageGenerationPartialImage(json, imageGeneration?.outputFormat ?? "png", hostedImageEventMaxBytes);
1488
+ if (normalized) {
1489
+ recordHostedImageBytes(normalized.image);
1490
+ yield {
1491
+ type: "image-generation",
1492
+ provider: "openai",
1493
+ image: normalized.image,
1494
+ partial: true,
1495
+ id: normalized.callId,
1496
+ index: normalized.partialImageIndex,
1497
+ providerMetadata: normalized.providerMetadata
1498
+ };
1499
+ }
1500
+ continue;
1501
+ }
1240
1502
  if (type === "error") {
1241
1503
  throw new ProviderHTTPError(`OpenAI Responses stream failed: ${json.error?.message ?? json.message ?? "unknown error"}`, 500, { responseBody: JSON.stringify(json) });
1242
1504
  }
@@ -1258,6 +1520,20 @@ const streamResponses = async function* (response, multiAgentEnabled = false, lo
1258
1520
  if (type === "response.output_item.added" || type === "response.output_item.done") {
1259
1521
  const item = json.item;
1260
1522
  let handledLocalToolCall = false;
1523
+ if (item?.type === "image_generation_call" && type === "response.output_item.done") {
1524
+ const normalized = normalizeOpenAIImageGenerationCall(item, imageGeneration?.outputFormat ?? "png", hostedImageEventMaxBytes);
1525
+ if (normalized?.image) {
1526
+ recordHostedImageBytes(normalized.image);
1527
+ yield {
1528
+ type: "image-generation",
1529
+ provider: "openai",
1530
+ image: normalized.image,
1531
+ partial: false,
1532
+ id: normalized.id,
1533
+ providerMetadata: normalized.providerMetadata
1534
+ };
1535
+ }
1536
+ }
1261
1537
  if (typeof json.output_index === "number" && item?.type === "message") {
1262
1538
  outputAgents.set(json.output_index, {
1263
1539
  agentName: item.agent?.agent_name
@@ -1414,6 +1690,14 @@ const streamGenerateResult = async function* (result) {
1414
1690
  }
1415
1691
  }
1416
1692
  }
1693
+ for (const image of result.images ?? []) {
1694
+ yield {
1695
+ type: "image-generation",
1696
+ provider: "openai",
1697
+ image,
1698
+ partial: false
1699
+ };
1700
+ }
1417
1701
  yield {
1418
1702
  type: "finish",
1419
1703
  finishReason: result.finishReason,
@@ -1452,13 +1736,15 @@ class OpenAILanguageModel {
1452
1736
  apiKey;
1453
1737
  baseURL;
1454
1738
  fetcher;
1739
+ responseLimits;
1455
1740
  provider = "openai";
1456
1741
  capabilities;
1457
- constructor(modelId, apiKey, baseURL, fetcher) {
1742
+ constructor(modelId, apiKey, baseURL, fetcher, responseLimits) {
1458
1743
  this.modelId = modelId;
1459
1744
  this.apiKey = apiKey;
1460
1745
  this.baseURL = baseURL;
1461
1746
  this.fetcher = fetcher;
1747
+ this.responseLimits = responseLimits;
1462
1748
  this.capabilities = modelCapabilities(modelId);
1463
1749
  }
1464
1750
  usesResponsesAPI(input, options) {
@@ -1534,6 +1820,7 @@ class OpenAILanguageModel {
1534
1820
  messages: [assistantMessage],
1535
1821
  text: extractMessageText(assistantMessage),
1536
1822
  audio: extractAudioOutputs(assistantMessage),
1823
+ images: extractResponsesImageOutputs(json, responsesImageGenerationConfig(input.tools)?.outputFormat),
1537
1824
  finishReason: normalizeResponsesFinishReason(json.status, hasToolCalls, hasRefusal),
1538
1825
  providerFinishReason: json.status,
1539
1826
  usage: accumulatedUsage,
@@ -1633,9 +1920,10 @@ class OpenAILanguageModel {
1633
1920
  stream: true
1634
1921
  })
1635
1922
  }), input);
1923
+ const imageGeneration = responsesImageGenerationConfig(input.tools, this.responseLimits);
1636
1924
  return (async function* () {
1637
1925
  try {
1638
- yield* streamResponses(response, options.multiAgentEnabled, localResponsesTools(input.tools));
1926
+ yield* streamResponses(response, options.multiAgentEnabled, localResponsesTools(input.tools), imageGeneration);
1639
1927
  }
1640
1928
  finally {
1641
1929
  cleanup();
@@ -1948,11 +2236,10 @@ class OpenAIRealtimeModel {
1948
2236
  }
1949
2237
  async connect(config = {}, options) {
1950
2238
  const initialConfig = this.resolveConfig(config);
1951
- const headers = {
1952
- authorization: `Bearer ${this.apiKey}`
1953
- };
2239
+ const providerOptions = initialConfig.providerOptions;
2240
+ const headers = resolveOpenAIRealtimeHeaders(this.apiKey, providerOptions);
1954
2241
  const connection = await (this.connectionFactory ?? openWebSocketConnection)(this.realtimeURL ??
1955
- openAIRealtimeURL(this.baseURL, this.modelId, inferOpenAIRealtimeMode(this.modelId, initialConfig.mode), initialConfig.providerOptions), headers, options);
2242
+ openAIRealtimeURL(this.baseURL, this.modelId, inferOpenAIRealtimeMode(this.modelId, initialConfig.mode), providerOptions), headers, options);
1956
2243
  const session = new CallbackRealtimeSession({
1957
2244
  provider: this.provider,
1958
2245
  modelId: this.modelId,
@@ -2025,6 +2312,26 @@ class OpenAIRealtimeModel {
2025
2312
  if (mode !== "conversation") {
2026
2313
  throw new UnsupportedFeatureError(`Provider "openai" model "${this.modelId}" does not support realtime tools in ${mode} mode.`);
2027
2314
  }
2315
+ const mcpMetadata = result.providerMetadata?.[openAIRealtimeMcpMetadataKey];
2316
+ if (mcpMetadata && typeof mcpMetadata === "object" && !Array.isArray(mcpMetadata)) {
2317
+ const approval = mcpMetadata;
2318
+ if (approval.type === "mcp_approval_response" &&
2319
+ typeof approval.approval_request_id === "string" &&
2320
+ typeof approval.approve === "boolean") {
2321
+ return [
2322
+ {
2323
+ type: "conversation.item.create",
2324
+ item: {
2325
+ ...(typeof approval.id === "string" ? { id: approval.id } : {}),
2326
+ type: "mcp_approval_response",
2327
+ approval_request_id: approval.approval_request_id,
2328
+ approve: approval.approve,
2329
+ ...(typeof approval.reason === "string" ? { reason: approval.reason } : {})
2330
+ }
2331
+ }
2332
+ ];
2333
+ }
2334
+ }
2028
2335
  const payloads = [
2029
2336
  {
2030
2337
  type: "conversation.item.create",
@@ -2064,7 +2371,7 @@ class OpenAIRealtimeModel {
2064
2371
  delete providerOptions.expires_after;
2065
2372
  const response = await withRetry(() => this.fetcher(this.browserTokenURL ?? `${this.baseURL}/realtime/client_secrets`, {
2066
2373
  method: "POST",
2067
- headers: jsonHeaders(this.apiKey),
2374
+ headers: resolveOpenAIRealtimeHeaders(this.apiKey, providerOptions, true),
2068
2375
  body: JSON.stringify({
2069
2376
  ...(expiresAfter ? { expires_after: expiresAfter } : {}),
2070
2377
  session: mapRealtimeSessionConfig({
@@ -2106,13 +2413,14 @@ export const createOpenAI = (options = {}) => {
2106
2413
  }
2107
2414
  const baseURL = options.baseURL ?? "https://api.openai.com/v1";
2108
2415
  const fetcher = options.fetch ?? globalThis.fetch;
2109
- const responseLimits = resolveAudioResponseLimits(options.responseLimits);
2416
+ const responseLimits = resolveOpenAIResponseLimits(options.responseLimits);
2110
2417
  return createProviderAdapter({
2111
2418
  name: "openai",
2112
- languageModel: (modelId) => new OpenAILanguageModel(modelId, apiKey, baseURL, fetcher),
2419
+ languageModel: (modelId) => new OpenAILanguageModel(modelId, apiKey, baseURL, fetcher, responseLimits),
2113
2420
  embeddingModel: (modelId) => new OpenAIEmbeddingModel(modelId, apiKey, baseURL, fetcher),
2114
2421
  transcriptionModel: (modelId) => new OpenAITranscriptionModel(modelId, apiKey, baseURL, fetcher, responseLimits),
2115
2422
  speechModel: (modelId) => new OpenAISpeechModel(modelId, apiKey, baseURL, fetcher, responseLimits),
2423
+ imageGenerationModel: (modelId) => createOpenAIImageGenerationModel({ modelId, apiKey, baseURL, fetch: fetcher }),
2116
2424
  realtimeModel: (modelId) => new OpenAIRealtimeModel(modelId, apiKey, baseURL, fetcher, options.realtimeConnectionFactory, options.realtimeURL, options.browserTokenURL),
2117
2425
  groundedLanguageModel: (modelId) => new OpenAIGroundedLanguageModel(modelId, apiKey, baseURL, fetcher),
2118
2426
  rawFetch: fetcher
@@ -2174,6 +2482,26 @@ export const openAIMcpApprovalResponse = (response) => providerDataPart("openai"
2174
2482
  type: "mcp_approval_response",
2175
2483
  ...response
2176
2484
  });
2485
+ export const openAIRealtimeMcpApprovalResult = (response) => ({
2486
+ toolCallId: response.approvalRequestId,
2487
+ toolName: response.name,
2488
+ output: {
2489
+ type: "mcp_approval_response",
2490
+ approve: response.approve,
2491
+ ...(response.reason ? { reason: response.reason } : {})
2492
+ },
2493
+ isError: false,
2494
+ providerMetadata: {
2495
+ [openAIRealtimeMcpMetadataKey]: {
2496
+ type: "mcp_approval_response",
2497
+ status: response.approve ? "approved" : "rejected",
2498
+ approval_request_id: response.approvalRequestId,
2499
+ approve: response.approve,
2500
+ ...(response.itemId ? { id: response.itemId } : {}),
2501
+ ...(response.reason ? { reason: response.reason } : {})
2502
+ }
2503
+ }
2504
+ });
2177
2505
  export const openAIPromptCacheBreakpoint = () => providerDataPart("openai", {
2178
2506
  type: "prompt_cache_breakpoint",
2179
2507
  mode: "explicit"
@@ -2322,4 +2650,5 @@ export const openAIApplyPatchTool = (config) => ({
2322
2650
  }),
2323
2651
  execute: async ({ operation }) => applyOpenAIPatchOperation(operation, config)
2324
2652
  });
2653
+ export * from "./image-generation.js";
2325
2654
  //# sourceMappingURL=index.js.map